5.1.1. Nonce Reuse (Nonce-Wiederverwendung)
5.1.1. Nonce Reuse (Nonce-Wiederverwendung)
Die unbeabsichtigte Wiederverwendung derselben Nonce durch zwei Aufrufe der GCM-Verschlüsselungsoperation mit demselben Schlüssel, aber unterschiedlichen Klartextwerten, untergräbt die Vertraulichkeit der in diesen beiden Aufrufen geschützten Klartexte und untergräbt den gesamten durch diesen Schlüssel bereitgestellten Authentizitäts- und Integritätsschutz. Aus diesem Grund sollte GCM nur eingesetzt werden, wenn die Eindeutigkeit der Nonce mit Sicherheit gewährleistet werden kann. Das Entwurfsmerkmal, mit dem GCM minimale Latenz erreicht, verursacht die Schwachstellen bei nachfolgenden Verwendungen des Schlüssels. Zu beachten ist, dass es zulässig ist, denselben Nonce-Wert mehrfach der Entschlüsselungsoperation zu übergeben.
Die sicherheitsrelevanten Folgen sind gravierend, wenn ein Angreifer zwei Geheimtexte beobachtet, die mit derselben Nonce und denselben Schlüsselwerten erzeugt wurden, es sei denn, die Klartext- und AD-Werte waren bei beiden Aufrufen der Verschlüsselungsoperation identisch. Erstens tritt ein Verlust der Vertraulichkeit ein, weil er das bitweise exklusive Oder (XOR) der beiden Klartextwerte rekonstruieren kann. Zweitens tritt ein Verlust der Integrität ein, weil der Angreifer den internen Hash-Schlüssel zur Datenintegrität wiederherstellen kann. Kenntnis dieses Schlüssels macht nachfolgende Fälschungen trivial.