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

Das deterministische AEAD-Primitive (Deterministic Authenticated Encryption with Associated Data) bietet eine deterministische Verschlüsselung: Wenn dieselben Daten verschlüsselt werden, ergibt sich immer derselbe Geheimtext. Diese Art der Verschlüsselung eignet sich für das Schlüssel-Wrapping oder für einige Schemata zur Suche in verschlüsselten Daten. Weitere Informationen finden Sie unter RFC 5297, Abschnitt 1.3. Aufgrund ihrer deterministischen Eigenschaft können Implementierungen dieser Primitiven zum Verlust der Vertraulichkeit führen, da ein Angreifer nur den Geheimtext für eine bestimmte Nachricht herausfinden muss, um andere Instanzen dieser Nachricht zu identifizieren.

Deterministische AEAD-Algorithmen haben die folgenden Eigenschaften:

  • Secrecy Außer der Länge und der Gleichheit wiederholter Klartexte ist nichts über den Klartext bekannt.
  • Authentizität: Es ist nicht möglich, den verschlüsselten Klartext, der dem Geheimtext zugrunde liegt, unbemerkt zu ändern.
  • Symmetrisch: Der Klartext wird mit demselben Schlüssel verschlüsselt und der Geheimtext wird mit demselben Schlüssel entschlüsselt.
  • Deterministisch: Solange der Primärschlüssel nicht geändert wird, führt die zweimalige Verschlüsselung eines Klartexts mit denselben Parametern zum selben Geheimtext.

Verknüpfte Daten

Deterministische AEAD kann auch verwendet werden, um den Geheimtext mit bestimmten zugehörigen Daten zu verknüpfen. Angenommen, Sie haben eine Datenbank mit den Feldern user-id und encrypted-medical-history. In diesem Fall kann user-id beim Verschlüsseln von encrypted-medical-history als verknüpfte Daten verwendet werden. Dadurch wird verhindert, dass ein Angreifer einen medizinischen Verlauf von einem Nutzer zu einem anderen verschieben kann.

Schlüsseltyp auswählen

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

Sicherheitsgarantien

  • Mindestens 80-Bit-Authentifizierungsstärke.
  • Der Klartext und die zugehörigen Daten können eine beliebige Länge haben (im Bereich von 0 bis 232 Byte).
  • 128-Bit-Sicherheitsebene gegen Angriffe zur Schlüsselwiederherstellung und auch bei Angriffen mit mehreren Nutzern mit bis zu 232 Schlüsseln. Das bedeutet, dass ein Angreifer, der 232 Chiffrentexte derselben Nachricht erhält, die mit 232 Schlüsseln verschlüsselt sind, 2128 Berechnungen ausführen muss, um einen einzelnen Schlüssel zu erhalten.
  • Sie können 238 Nachrichten sicher verschlüsseln, sofern jede Nachricht weniger als 1 MB lang ist.

Anwendungsbeispiel

Ich möchte Daten deterministisch verschlüsseln und den Chiffretext an seinen Kontext binden.