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.
AWS KMS Grundlagen der Kryptografie
AWS KMS verwendet konfigurierbare kryptografische Algorithmen, sodass das System schnell von einem zugelassenen Algorithmus oder Modus zu einem anderen migrieren kann. Der anfängliche Standardsatz kryptografischer Algorithmen wurde aufgrund seiner Sicherheitseigenschaften und Leistung aus den (vom Federal Information Processing Standard) FIPS zugelassenen Algorithmen ausgewählt.
Entropie und Zufallszahlengenerierung
AWS KMS Die Schlüsselgenerierung erfolgt in der. AWS KMS HSMs Sie HSMs implementieren einen hybriden Zufallszahlengenerator, der NIST
SP800-90A Deterministic Random Bit Generator (DRBG) CTR_DRBG using AES-256
Symmetrische Schlüsseloperationen (nur Verschlüsselung)
Alle darin verwendeten Befehle zur Verschlüsselung mit symmetrischen Schlüsseln HSMs verwenden die Advanced Encryption Standards (AES)
AES- GCM ist ein authentifiziertes Verschlüsselungsschema. Es verschlüsselt nicht nur Klartext zur Erzeugung von Chiffretext, sondern berechnet auch ein Authentifizierungs-Tag aus dem Chiffretext und allen zusätzlichen Daten, für die eine Authentifizierung erforderlich ist (zusätzlich authentifizierte Daten, oder). AAD Mithilfe des Authentifizierungs-Tags kann sichergestellt werden, dass die Daten aus der angeblichen Quelle stammen und dass der Chiffretext nicht verändert wurde. AAD
Oft wird AWS die Aufnahme von AAD in unseren Beschreibungen weggelassen, insbesondere wenn es um die Verschlüsselung von Datenschlüsseln geht. In diesen Fällen impliziert der umgebende Text, dass die zu verschlüsselnde Struktur zwischen dem zu verschlüsselnden Klartext und dem zu schützenden AAD Klartext aufgeteilt ist.
AWS KMS bietet Ihnen die Möglichkeit, Schlüsselmaterial in eine zu importieren, AWS KMS key anstatt sich auf die Generierung des Schlüsselmaterials AWS KMS zu verlassen. Dieses importierte Schlüsselmaterial kann mit RSAES-
Asymmetrische Schlüsseloperationen (Verschlüsselung, digitale Signatur und Signaturüberprüfung)
AWS KMS unterstützt die Verwendung asymmetrischer Schlüsseloperationen sowohl für die Verschlüsselung als auch für die digitale Signatur und für Schlüsselvereinbarungen. Asymmetrische Schlüsseloperationen basieren auf einem mathematisch verwandten Paar aus öffentlichem und privatem Schlüssel, das Sie zur Verschlüsselung und Entschlüsselung, Signierung und Signaturüberprüfung oder zum Ableiten gemeinsamer Geheimnisse verwenden können. Der private Schlüssel wird niemals unverschlüsselt verlassen. AWS KMS Sie können den öffentlichen Schlüssel intern verwenden, AWS KMS indem Sie die AWS KMS API Operationen aufrufen, oder Sie können den öffentlichen Schlüssel herunterladen und ihn außerhalb von AWS KMS verwenden.
AWS KMS unterstützt die folgenden asymmetrischen Chiffren.
-
RSA- OAEP (zur Verschlüsselung) & RSA - PSS und - RSA PKCS - #1 -v1_5 (zum Signieren und Überprüfen) — Unterstützt RSA Schlüssellängen (in Bit): 2048, 3072 und 4096 für unterschiedliche Sicherheitsanforderungen.
-
Elliptische Kurve (ECC) — Wird zum Signieren und Verifizieren oder zum Ableiten gemeinsamer geheimer Daten verwendet, aber nicht für beides. Unterstützt ECC Kurven: NIST P256, P384, P521, 256k1. SECP
-
SM2(Nur Regionen in China) — Wird zum Verschlüsseln und Entschlüsseln, Signieren und Verifizieren oder zum Ableiten von gemeinsamen Geheimnissen verwendet, aber Sie müssen eine Schlüsselverwendung wählen. Unterstützt SM2PKE Verschlüsselung und SM2DSA Signierung.
Schlüsselableitungsfunktionen
Eine Funktion zur Schlüsselableitung wird verwendet, um zusätzliche Schlüssel aus einem anfänglichen Geheimnis oder Schlüssel abzuleiten. AWS KMS verwendet eine Schlüsselableitungsfunktion (KDF), um Schlüssel pro Anruf für jede Verschlüsselung unter einem abzuleiten. AWS KMS keyAlle KDF Operationen verwenden den KDFIn-Counter-Modus
AWS KMS interne Verwendung digitaler Signaturen
Digitale Signaturen werden auch verwendet, um Befehle und Kommunikationen zwischen AWS KMS Entitäten zu authentifizieren. Alle Dienstentitäten haben ein key pair für den Algorithmus für digitale Signaturen mit elliptischer Kurve (ECDSA). Sie funktionieren ECDSA wie in Verwendung von Algorithmen zur Verschlüsselung mit elliptischen Kurven () in der kryptografischen Nachrichtensyntax (ECCCMS) und X9.62-2005: Kryptografie
Umschlagverschlüsselung
Wenn Sie Daten verschlüsseln, sind die Daten geschützt. Sie müssen aber jetzt den Verschlüsselungsschlüssel schützen. Eine Strategie besteht darin, ihn zu verschlüsseln. Envelope-Verschlüsselung bezeichnet das Verschlüsseln von Klartextdaten mit einem Datenschlüssel und die anschließende Verschlüsselung des Datenschlüssels mit einem anderen Schlüssel.
Sie können auch den Datenverschlüsselungsschlüssel mit einem anderen Verschlüsselungsschlüssel verschlüsseln und diesen Verschlüsselungsschlüssel mit einem weiteren Verschlüsselungsschlüssel verschlüsseln. Doch schließlich muss ein Schlüssel als Klartext verbleiben, damit Sie die Schlüssel und die Daten entschlüsseln können. Dieser Top-Level-Klartext-Verschlüsselungsschlüssel zum Verschlüsseln von Schlüsseln wird als Stammschlüssel bezeichnet.
AWS KMS hilft Ihnen dabei, Ihre Verschlüsselungsschlüssel zu schützen, indem sie sicher gespeichert und verwaltet werden. Der in AWS KMS den AWS KMS FIPSvalidierten Hardware-Sicherheitsmodulen
Eine grundlegende Konstruktion, die in vielen kryptographischen Systemen verwendet wird, ist die Envelope-Verschlüsselung. Bei der Envelope-Verschlüsselung werden zwei oder mehr kryptografische Schlüssel verwendet, um eine Nachricht zu sichern. In der Regel wird ein Schlüssel von einem längerfristigen statischen Schlüssel k abgeleitet, und ein anderer Schlüssel ist ein nachrichtenspezifischer Schlüssel msgKey, der zur Verschlüsselung der Nachricht generiert wird. Der Umschlag wird durch Verschlüsseln der Nachricht gebildet: ciphertext = Encrypt (, message). msgKey Dann wird der Nachrichtenschlüssel mit dem langfristigen statischen Schlüssel verschlüsselt: encKey = Encrypt (k,). msgKey Schließlich werden die beiden Werte (encKeyChiffretext) in einer einzigen Struktur oder einer umschlagverschlüsselten Nachricht zusammengefasst.
Der Empfänger mit Zugriff auf k kann die Envelope-Nachricht öffnen, indem er zuerst den verschlüsselten Schlüssel entschlüsselt und dann die Nachricht entschlüsselt.
AWS KMS bietet die Möglichkeit, diese längerfristigen statischen Schlüssel zu verwalten und den Prozess der Umschlagverschlüsselung Ihrer Daten zu automatisieren.
Zusätzlich zu den im AWS KMS Service bereitgestellten Verschlüsselungsfunktionen SDK bietet Encryption Bibliotheken für die clientseitige AWS Verschlüsselung von Umschlägen. Sie können diese Bibliotheken verwenden, um Ihre Daten und die Verschlüsselungsschlüssel zu schützen, die zum Verschlüsseln dieser Daten verwendet werden.
Envelope-Verschlüsselung bietet mehrere Vorteile:
-
Schutz von Datenschlüsseln
Wenn Sie einen Datenschlüssel verschlüsseln, müssen Sie sich nicht darum sorgen, wo Sie den verschlüsselten Schlüssel speichern, da die Sicherheit dieses Datenschlüssels inhärent durch Verschlüsselung geschützt ist. Sie können den verschlüsselten Datenschlüssel sicher neben den verschlüsselten Daten speichern.
-
Verschlüsselung der gleichen Daten unter mehreren Schlüsseln
Verschlüsselungsoperationen können zeitaufwendig sein, insbesondere wenn die zu verschlüsselnden Daten große Objekte sind. Statt Rohdaten mit verschiedenen Schlüsseln mehrmals neu zu verschlüsseln, können Sie einfach die Datenschlüssel, die die Rohdaten schützen, neu verschlüsseln.
-
Kombination der Stärken mehrerer Algorithmen
Im Allgemeinen sind symmetrische Schlüsselalgorithmen schneller und erzeugen kleinere Verschlüsselungstexte als öffentliche Schlüsselalgorithmen. Algorithmen mit öffentlichem Schlüssel unterstützen jedoch eine inhärente Rollentrennung und eine einfachere Schlüsselverwaltung. Die Envelope-Verschlüsselung vereint die Stärken aller Strategien.
Kryptografische Operationen
Bei AWS KMSkryptografischen Vorgängen handelt es sich um Operationen, API bei denen KMS Schlüssel zum Schutz von Daten verwendet werden. Da KMS Schlüssel im System verbleiben AWS KMS, müssen Sie bei einem kryptografischen Vorgang aufrufen, AWS KMS um einen KMS Schlüssel zu verwenden.
Um kryptografische Operationen mit KMS Schlüsseln auszuführen, verwenden Sie den AWS SDKs, AWS Command Line Interface (AWS CLI) oder den. AWS Tools for PowerShell Sie können keine kryptografischen Operationen in der AWS KMS -Konsole ausführen. Beispiele für das Aufrufen der kryptografischen Operationen in mehreren Programmiersprachen finden Sie unter Codebeispiele für die AWS KMS Verwendung AWS SDKs.
In der folgenden Tabelle sind die AWS KMS kryptografischen Operationen aufgeführt. Außerdem werden der Schlüsseltyp und die Anforderungen an die Schlüsselverwendung für die bei dem Vorgang verwendeten KMS Schlüssel aufgeführt.
Operation | Schlüsseltyp | Schlüsselnutzung |
---|---|---|
Decrypt | Symmetrisch oder asymmetrisch | ENCRYPT_DECRYPT |
DeriveSharedSecret | Asymmetrisch | KEY_AGREEMENT |
Encrypt | Symmetrisch oder asymmetrisch | ENCRYPT_DECRYPT |
GenerateDataKey | Symmetrisch | ENCRYPT_DECRYPT |
GenerateDataKeyPair | Symmetrisch [1] Wird für KMS Schlüssel in benutzerdefinierten Schlüsselspeichern nicht unterstützt. |
ENCRYPT_DECRYPT |
GenerateDataKeyPairWithoutPlaintext | Symmetrisch [1] Wird für KMS Schlüssel in benutzerdefinierten Schlüsselspeichern nicht unterstützt. |
ENCRYPT_DECRYPT |
GenerateDataKeyWithoutPlaintext | Symmetrisch | ENCRYPT_DECRYPT |
GenerateMac | HMAC | GENERATE_VERIFY_MAC |
GenerateRandom | N/A. Dieser Vorgang verwendet keinen KMS Schlüssel. | N/A |
ReEncrypt | Symmetrisch oder asymmetrisch | ENCRYPT_DECRYPT |
Sign | Asymmetrisch | SIGN_VERIFY |
Verify | Asymmetrisch | SIGN_VERIFY |
VerifyMac | HMAC | GENERATE_VERIFY_MAC |
[1] Generiert ein asymmetrisches Datenschlüsselpaar, das durch einen symmetrischen KMS Verschlüsselungsschlüssel geschützt ist.
Informationen zu den Berechtigungen für kryptografische Operationen finden Sie unter AWS KMS Berechtigungen.
Damit alle Benutzer AWS KMS schnell reagieren und einen hohen Funktionsumfang haben, werden Kontingente AWS KMS für die Anzahl der pro Sekunde aufgerufenen kryptografischen Operationen eingerichtet. Details hierzu finden Sie unter Gemeinsame Kontingente für kryptografische Operationen.