Unterstützte Algorithmus-Suiten in der AWS Encryption SDK - AWS Encryption SDK

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Unterstützte Algorithmus-Suiten in der AWS Encryption SDK

Ein Algorithmen-Paket ist eine Sammlung von kryptografischen Algorithmen und zugehörigen Werten. Kryptografische Systeme verwenden die Algorithmen-Implementierung, um die Verschlüsselungstext-Nachricht zu generieren.

Die AWS Encryption SDK Algorithmus-Suite verwendet den Advanced Encryption Standard (AES) -Algorithmus im Galois/Counter Mode (GCM), auch bekannt als AES-GCM, zur Verschlüsselung von Rohdaten. Der AWS Encryption SDK unterstützt 256-Bit-, 192-Bit- und 128-Bit-Verschlüsselungsschlüssel. Die Länge des Initialisierungsvektors (IV) beträgt immer 12 Bytes. Die Länge des Authentifizierungs-Tags beträgt immer 16 Bytes.

Standardmäßig AWS Encryption SDK verwendet der eine Algorithmussuite mit AES-GCM mit einer HMAC-basierten extract-and-expand Schlüsselableitungsfunktion (HKDF), Signierung und einem 256-Bit-Verschlüsselungsschlüssel. Wenn die Commitment-Richtlinie Key Commitment erfordert, AWS Encryption SDK wählt der eine Algorithmus-Suite aus, die auch Key Commitment unterstützt. Andernfalls wählt er eine Algorithmus-Suite mit Schlüsselableitung und -signierung, aber nicht mit Key Commitment.

Der AWS Encryption SDK empfiehlt eine Algorithmussuite, die einen AES-GCM-Verschlüsselungsschlüssel ableitet, indem sie der HMAC-basierten Schlüsselableitungsfunktion (HKDF) einen 256-Bit-Datenverschlüsselungsschlüssel zur Verfügung stellt. extract-and-expand Das AWS Encryption SDK fügt eine ECDSA-Signatur (Elliptic Curve Digital Signature Algorithm) hinzu. Zur Unterstützung von Key Commitment leitet diese Algorithmus-Suite auch eine Key-Commitment-Zeichenfolge ab — eine nicht geheime Datenschlüssel-ID —, die in den Metadaten der verschlüsselten Nachricht gespeichert wird. Diese Schlüsselbestätigungszeichenfolge wird ebenfalls über HKDF abgeleitet, wobei ein Verfahren verwendet wird, das dem Ableiten des Datenverschlüsselungsschlüssels ähnelt.

AWS Encryption SDK Algorithmus-Suite
Verschlüsselungsalgorithmus Länge des Datenverschlüsselungsschlüssels (in Bit) Schlüsselableitungsalgorithmus Signatur-Algorithmus Wichtiges Engagement
AES-GCM 256 HKDF mit SHA-384 ECDSA mit P-384 und SHA-384 HKDF mit SHA-512

Das HKDF hilft Ihnen, die versehentliche Wiederverwendung eines Datenverschlüsselungsschlüssels zu vermeiden und reduziert das Risiko einer übermäßigen Verwendung eines Datenschlüssels.

Zum Signieren verwendet diese Algorithmussuite ECDSA mit einem kryptografischen Hashfunktionsalgorithmus (SHA-384). ECDSA wird standardmäßig verwendet, auch wenn es nicht in der Richtlinie für den zugrundeliegenden Masterschlüssel angegeben ist. Durch das Signieren von Nachrichten wird überprüft, ob der Nachrichtenabsender berechtigt war, Nachrichten zu verschlüsseln, und gewährleistet die Nichtabstreitbarkeit. Sie ist besonders nützlich, wenn die Berechtigungsrichtlinie für einen Masterschlüssel es einer Gruppe von Benutzern erlaubt, Daten zu verschlüsseln, und einer anderen Gruppe von Benutzern, Daten zu entschlüsseln.

Algorithmus-Suites mit Schlüsselbindung stellen sicher, dass jeder Chiffretext nur in einen Klartext entschlüsselt wird. Dazu überprüfen sie die Identität des Datenschlüssels, der als Eingabe für den Verschlüsselungsalgorithmus verwendet wird. Bei der Verschlüsselung leiten diese Algorithmus-Suites eine Schlüssel-Commitment-Zeichenfolge ab. Vor der Entschlüsselung überprüfen sie, ob der Datenschlüssel mit der Zeichenfolge für die Schlüsselzusage übereinstimmt. Ist dies nicht der Fall, schlägt der Entschlüsselungsaufruf fehl.

Andere unterstützte Algorithmen-Pakete

Der AWS Encryption SDK unterstützt aus Gründen der Abwärtskompatibilität die folgenden alternativen Algorithmus-Suiten. Im Allgemeinen empfehlen wir diese Algorithmen-Pakete nicht. Wir sind uns jedoch bewusst, dass das Signieren die Leistung erheblich beeinträchtigen kann. Deshalb bieten wir für diese Fälle eine Suite mit Schlüsselableitung an. Für Anwendungen, die größere Leistungseinbußen eingehen müssen, bieten wir weiterhin Suiten an, denen es an Signierung, Schlüsselbindung und Schlüsselableitung mangelt.

AES-GCM ohne grundlegende Verpflichtung

Algorithmus-Suites ohne Schlüsselbindung validieren den Datenschlüssel vor der Entschlüsselung nicht. Daher können diese Algorithmus-Suiten einen einzelnen Chiffretext in verschiedene Klartext-Nachrichten entschlüsseln. Da jedoch Algorithmus-Suiten mit Schlüsselbindung eine etwas größere (+30 Byte) verschlüsselte Nachricht erzeugen und ihre Verarbeitung länger dauert, sind sie möglicherweise nicht für jede Anwendung die beste Wahl.

Die AWS Encryption SDK unterstützt eine Algorithmus-Suite mit Schlüsselableitung, Schlüsselzusage und Signierung sowie eine Suite mit Schlüsselableitung und Schlüsselzusage, aber ohne Signierung. Wir raten davon ab, eine Algorithmus-Suite ohne Schlüsselbindung zu verwenden. Wenn Sie müssen, empfehlen wir eine Algorithmus-Suite mit Schlüsselableitung und Schlüsselzusage, aber ohne Signierung. Wenn Ihr Anwendungsleistungsprofil jedoch die Verwendung einer Algorithmussuite unterstützt, ist die Verwendung einer Algorithmussuite mit Schlüsselbindung, Schlüsselableitung und Signierung eine bewährte Methode.

AES-GCM ohne Signierung

Algorithmus-Suiten ohne Signatur fehlt die ECDSA-Signatur, die für Authentizität und Unwiderlegbarkeit sorgt. Verwenden Sie diese Suiten nur, wenn die Benutzer, die Daten verschlüsseln, und die Benutzer, die Daten entschlüsseln, gleichermaßen vertrauenswürdig sind.

Wenn Sie eine Algorithmus-Suite ohne Signatur verwenden, empfehlen wir Ihnen, eine Suite mit Schlüsselableitung und Schlüsselbindung zu wählen.

AES-GCM ohne Schlüsselableitung

Algorithmus-Suiten ohne Schlüsselableitung verwenden den Datenverschlüsselungsschlüssel als AES-GCM-Verschlüsselungsschlüssel, anstatt eine Schlüsselableitungsfunktion zur Ableitung eines eindeutigen Schlüssels zu verwenden. Wir raten davon ab, diese Suite zur Generierung von Chiffretext zu verwenden, sie unterstützt sie jedoch aus Kompatibilitätsgründen. AWS Encryption SDK

Weitere Informationen darüber, wie diese Pakete in der Bibliothek dargestellt und verwendet werden, finden Sie unter AWS Encryption SDK Referenz zu Algorithmen.