it-swarm.com.de

Was ist der Zweck der zugeordneten authentifizierten Daten in AEAD?

Authentifizierte Verschlüsselung (AE) und authentifizierte Verschlüsselung mit zugehörigen Daten (AEAD, Variante von AE) ist eine Form der Verschlüsselung, die gleichzeitig Vertraulichkeits-, Integritäts- und Authentizitätsgarantien für die Daten bietet.

Quelle : Wikipedia

Ich habe kürzlich festgestellt, dass mehrere SSL-Prüfer auf AEAD hinweisen. Was ist jedoch der Unterschied zwischen AE und AEAD und wozu dienen "zugeordnete authentifizierte Daten" einer verschlüsselten Verbindung? Warum nicht alles verschlüsseln, anstatt es nur zu "authentifizieren"?

10
Bob Ortiz

In der Regel besteht der Zweck der zugehörigen Daten (im Folgenden "AD") darin, einen Chiffretext an den Kontext zu binden, in dem er erscheinen soll, sodass Versuche, einen gültigen Chiffretext in einen anderen Kontext "auszuschneiden und einzufügen", möglich sind erkannt und abgelehnt werden.

Angenommen, ich verschlüssele die Werte, die ich in eine Schlüssel-/Wertedatenbank einfüge, und verwende den Datensatzschlüssel als AD. Was macht das? Zunächst einmal bedeutet dies mechanisch, dass ich bei jedem Entschlüsseln des Werts denselben Schlüssel wie AD vorlegen muss, da sonst die Entschlüsselung mit einem Authentizitätsfehler fehlschlägt. Daher muss meine Anwendung diesen Schritt ausführen, um die Daten korrekt zu entschlüsseln.

Zweitens, und noch tiefer, habe ich durch die Verwendung des Schlüssels als AD eine Art von Angriff vereitelt, den ein Insider - beispielsweise der Datenbankadministrator - möglicherweise gegen meine Anwendung ausführen könnte: Nehmen Sie zwei Datensätze in die Datenbank und tauschen Sie deren Werte aus . Ohne AD würde die Anwendung diese gerne entschlüsseln und blind davon ausgehen, dass sie den richtigen Wert für diese Schlüssel liest. Mit dem Schlüssel als AD würde die Anwendung stattdessen sofort feststellen, dass die Werte nicht authentisch sind - obwohl der Angreifer sie nie geändert hat -, weil sie auftreten im falschen Kontext. Dies ist nur ein Beispiel von vielen möglichen, aber Anwendungen der zugehörigen Daten haben tendenziell diesen Geschmack.

Ein wichtiges Detail, das in Beispielen häufig übersehen wird, ist, dass die zugehörigen Daten nicht unbedingt mit dem Chiffretext gespeichert oder übertragen werden müssen. Alle kontextabhängigen nicht geheimen Werte, auf die die ehrlichen Parteien beide korrekt schließen können, können als zugehörige Daten nützlich sein. Wenn die Parteien beispielsweise ein komplexes Protokoll ausführen, das in Form einer Zustandsmaschine formuliert wurde, sodass jede richtige Partei immer ihren eigenen Zustand und den Zustand, in dem sich eine ehrliche Gegenpartei befinden sollte, mitteilen kann, dann diese Zustände - auch wenn sie Das Protokoll ist implizit und kann als AD verwendet werden. Dies macht AEAD-Suiten für Entwickler von Protokollen wie TLS so attraktiv - es ist ein Tool, mit dem die Komplexität eines sicheren Protokolls verringert werden kann.

16
Luis Casillas

Von RFC 5116 - Eine Schnittstelle und Algorithmen für die authentifizierte Verschlüsselung :

Authentifizierte Verschlüsselung BN00 ist eine Form der Verschlüsselung, die neben der Vertraulichkeit des verschlüsselten Klartextes auch eine Möglichkeit bietet, seine Integrität und Authentizität zu überprüfen.

Authentifizierte Verschlüsselung mit zugehörigen Daten oder AEAD R02 , bietet die Möglichkeit, die Integrität und Authentizität einiger zugehöriger Daten (AD) zu überprüfen, die auch als "zusätzliche authentifizierte Daten" bezeichnet werden verschlüsselt.

Und von 2.1 - Authenticated Encryption:

Die zugehörigen Daten A werden zum Schutz von Informationen verwendet, die authentifiziert werden müssen, aber nicht vertraulich behandelt werden müssen. Wenn Sie beispielsweise ein AEAD zum Sichern eines Netzwerkprotokolls verwenden, kann diese Eingabe Folgendes umfassen

  • adressen,
  • häfen,
  • folgenummern,
  • protokollversionsnummern,
  • und andere Felder, die angeben, wie mit Klartext oder Chiffretext umgegangen werden soll
  • weitergeleitet
  • oder verarbeitet.

In vielen Situationen ist es wünschenswert, diese Felder zu authentifizieren, obwohl sie frei bleiben müssen , damit das Netzwerk oder System ordnungsgemäß funktioniert. Wenn diese Daten in der Eingabe A enthalten sind, wird eine Authentifizierung bereitgestellt, ohne die Daten in den Klartext zu kopieren.

Im Jahr 2002 stellte Phillip Rogaway fest:

Authentifizierte Verschlüsselung mit zugehörigen Daten

Oʀɪɢɪɴ ᴏꜰ ᴛʜᴇ ᴘʀᴏʙʟᴇᴍ. Die Notwendigkeit, mit zugehörigen Daten umzugehen, wenn ein integrierter AE-Modus verwendet wird, wurde dem Autor zuerst von Burt Kaliski [16] hervorgehoben. Mehrere weitere Personen teilten bald das gleiche Gefühl mit. Diejenigen, die auf dieses Problem eingestellt waren, waren an Standardisierungsbemühungen beteiligt, bei denen einige Klartextdaten, wie z. B. eine IP-Adresse, an einen Chiffretext gebunden werden mussten. Die Leute wollten einen billigen und sicheren Weg, dies zu tun, wenn sie einen AE-Modus wie OCB verwenden

Es ist etwas, das Sie mit den verschlüsselten Daten verwenden möchten, und stellen Sie sicher, dass es nicht geändert wurde, aber die Bedürfnisse (oder können) sichtbar bleiben.

3
Ian Boyd