Das Primitive „Deterministic Authenticated Encryption with Associated Data“ (Deterministic AEAD) bietet Verschlüsselung mit einer deterministischen Eigenschaft: Wenn dieselben Daten verschlüsselt werden, wird immer derselbe Geheimtext generiert. Diese Art der Verschlüsselung ist nützlich für das Verpacken von Schlüsseln oder für bestimmte Schemata zum Suchen in verschlüsselten Daten (weitere Informationen finden Sie in RFC 5297, Abschnitt 1.3). Aufgrund der deterministischen Eigenschaft kann die Implementierung dieses Primitivs zu einem Verlust der Vertraulichkeit führen, da ein Angreifer nur den Chiffretext für eine bestimmte Nachricht herausfinden muss, um andere Instanzen dieser Nachricht zu identifizieren.
Deterministic AEAD hat die folgenden Eigenschaften:
- Secrecy: Es ist nichts über den Klartext bekannt, außer seiner Länge und der Gleichheit wiederholter Klartexte.
- Authentizität: Es ist nicht möglich, den verschlüsselten Klartext, der dem Geheimtext zugrunde liegt, unbemerkt zu ändern.
- Symmetrisch: Der Klartext wird 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
Mit deterministischer AEAD kann Geheimtext mit bestimmten zugehörigen Daten verknüpft werden. 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. Dadurch wird verhindert, dass ein Angreifer einen medizinischen Verlauf von einem Nutzer zu einem anderen verschieben kann.
Zugehörige Daten sind optional. Wenn angegeben, ist die Entschlüsselung nur erfolgreich, wenn dieselben zugehörigen Daten an die Verschlüsselungs- und Entschlüsselungsaufrufe übergeben werden.
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-Sicherheitsniveau gegen Angriffe zur Schlüsselwiederherstellung und auch bei Angriffen mit mehreren Nutzern mit bis zu 232 Schlüsseln. Das bedeutet: Wenn ein Angreifer 232 Chiffretexte derselben Nachricht erhält, die mit 232 Schlüsseln verschlüsselt wurden, muss er 2128 Berechnungen durchführen, um einen einzelnen Schlüssel zu erhalten.
- Die Möglichkeit, 238 Nachrichten sicher zu verschlüsseln, sofern jede Nachricht weniger als 1 MB lang ist.
Anwendungsbeispiel
Weitere Informationen finden Sie unter Deterministische Verschlüsselung und Kontextbindung von Chiffretext.