Deterministic Authenticated Encryption with Associated Data (Deterministic Authenticated Encryption with Associated Data, deterministische AEAD-Verschlüsselung)

Deterministische AEAD bieten eine Verschlüsselung mit einer deterministischen Eigenschaft: Das Verschlüsseln derselben Daten ergibt immer den gleichen Geheimtext. Diese Art der Verschlüsselung eignet sich für das Schlüssel-Wrapping oder für einige Schemas zur Suche nach verschlüsselten Daten. Weitere Informationen finden Sie unter RFC 5297, Abschnitt 1.3. Aufgrund seiner deterministischen Eigenschaft können Implementierungen dieses Primitiven zu einem Verlust der Geheimhaltung führen, da ein Angreifer nur den Geheimtext für eine bestimmte Nachricht herausfinden muss, um andere Instanzen dieser Nachricht zu identifizieren.

Deterministische AEAD haben die folgenden Eigenschaften:

  • Geheimhaltung: Abgesehen von seiner Länge und der Gleichheit wiederholter Klartexte ist der Klartext nicht bekannt.
  • Authentizität: Der verschlüsselte Klartext, der dem Geheimtext zugrunde liegt, kann nur erkannt werden, wenn er erkannt wird.
  • Symmetrisch: Die Verschlüsselung des Klartexts und die Entschlüsselung des Geheimtexts erfolgt mit demselben Schlüssel.
  • Deterministisch: Solange der Primärschlüssel nicht geändert wird, führt die zweimalige Verschlüsselung eines Klartexts mit denselben Parametern zum gleichen Geheimtext.

Verknüpfte Daten

Deterministische AEAD können auch verwendet werden, um Geheimtext mit bestimmten verknüpften Daten zu verknüpfen. Angenommen, Sie haben eine Datenbank mit den Feldern user-id und encrypted-medical-history. In diesem Szenario kann user-id beim Verschlüsseln von encrypted-medical-history als verknüpfte Daten verwendet werden. Dies verhindert, dass ein Angreifer die Krankengeschichte von einem Benutzer zum anderen überträgt.

Schlüsseltyp auswählen

Wir empfehlen für alle Anwendungsfälle den Schlüsseltyp AES256_SIV.

Sicherheitsgarantien

  • Mindestens eine 80-Bit-Authentifizierungsstärke.
  • Der Klartext und die zugehörigen Daten können beliebige Längen haben (im Bereich von 0 bis 232 Byte).
  • 128-Bit-Sicherheitsniveau gegen Schlüsselwiederherstellungsangriffe und auch bei Angriffen mit bis zu 232 Schlüsseln – wenn ein Angreifer also 232 Geheimtext derselben Nachricht erhält, die unter 232 Schlüsseln verschlüsselt sind, muss er 2128 Berechnungen durchführen, um einen einzelnen Schlüssel zu erhalten.
  • Möglichkeit, 238 Nachrichten sicher zu verschlüsseln, sofern jede Nachricht kleiner als 1 MB ist

Anwendungsbeispiel

Weitere Informationen finden Sie unter Ich möchte Daten deterministisch verschlüsseln und Ich möchte Geheimtext an seinen Kontext binden.