HMAC-Schlüssel in AWS KMS - AWS Key Management Service

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.

HMAC-Schlüssel in AWS KMS

Hash-basierter Nachrichtenauthentifizierungscode (HMAC) KMS-Schlüssel sind symmetrische Schlüssel, mit denen Sie in AWS KMS HMACs generieren und überprüfen. Das eindeutige Schlüsselmaterial, das mit jedem HMAC-KMS-Schlüssel verbunden ist, liefert den geheimen Schlüssel, den HMAC-Algorithmen benötigen. Sie können einen HMAC-KMS-Schlüssel mit GenerateMac- und VerifyMac-Operationen verwenden, um die Integrität und Authentizität von Daten in AWS KMS zu überprüfen.

HMAC-Algorithmen kombinieren eine kryptografische Hash-Funktion und einen gemeinsamen geheimen Schlüssel. Sie nehmen eine Nachricht und einen geheimen Schlüssel wie das Schlüsselmaterial in einem HMAC-KMS-Schlüssel und geben einen eindeutigen Code mit fester Größe oder Tag zurück. Wenn sich nur ein Zeichen der Nachricht ändert oder wenn der geheime Schlüssel nicht identisch ist, ist das resultierende Tag völlig anders. Durch die Notwendigkeit eines geheimen Schlüssels bietet HMAC auch Authentizität. Es ist unmöglich, ein identisches HMAC-Tag ohne den geheimen Schlüssel zu erzeugen. HMACs werden manchmal Symmetrische Signaturen genannt, weil sie wie digitale Signaturen funktionieren, aber sowohl zum Signieren als auch zur Überprüfung einen einzigen Schlüssel verwenden.

HMAC-KMS-Schlüssel und die HMAC-Algorithmen, die AWS KMS verwendet, entsprechen den Industriestandards, die in RFC 2104 festgelegt sind. Der AWS KMS GenerateMac Vorgang generiert Standard-HMAC-Tags. Diese Schlüsselpaare werden in AWS KMS-Hardwaresicherheitsmodulen generiert, die unter dem FIPS 140-2 Cryptographic Module Validation Program zertifiziert sind (außer in den Regionen China (Peking) und China (Ningxia)) und AWS KMS niemals unverschlüsselt lassen. Um einen HMAC-KMS-Schlüssel zu verwenden, müssen Sie AWS KMS aufrufen.

Sie können HMACs verwenden, um die Echtheit einer Nachricht zu ermitteln, z. B. eines JSON-Web-Token (JWT), tokenisierter Kreditkarteninformationen oder eines übermittelten Passworts. Sie können auch als sichere Key Derivation Functions (KDFs) verwendet werden, insbesondere in Anwendungen, die deterministische Schlüssel benötigen.

HMAC-KMS-Schlüssel bieten einen Vorteil gegenüber HMACs aus Anwendungssoftware, da das Schlüsselmaterial vollständig innerhalb AWS KMS generiert und verwendet wird – vorbehaltlich der Zugriffskontrollen, die Sie für den Schlüssel festgelegt haben.

Tipp

Bewährte Methoden empfehlen, die Zeit zu beschränken, in der ein Signiermechanismus, einschließlich eines HMAC, wirksam ist. Dies schreckt einen Angriff ab, bei dem der Akteur eine signierte Nachricht verwendet, um die Gültigkeit wiederholt oder lange nach dem Ersetzen der Nachricht festzustellen. HMAC-Tags enthalten keinen Zeitstempel, aber Sie können einen Zeitstempel in das Token oder die Nachricht aufnehmen, um zu erkennen, wann es Zeit ist, den HMAC zu aktualisieren.

Autorisierte Benutzer können die HMAC-KMS-Schlüssel in Ihrem AWS-Konto erstellen, verwalten und verwenden. Dies umfasst Aktivieren und Deaktivieren von Schlüsseln, einstellen und ändern von Aliasen und Tags, und Löschen planenvon HMAC-KMS-Schlüsseln. Sie können auch IAM-Richtlinien und Erteilungen, zusammen mit Schlüsselrichtlinien, zum Steuern des Zugriffs auf Ihre HMAC-KMS-Schlüssel verwenden. Sie können alle Operationen, die Ihre HMAC-KMS-Schlüssel innerhalb von AWS nutzen oder verwalten in AWS CloudTrail-Protokollen überwachen. Sie können HMAC-KMS-Schlüssel mit importiertem Schlüsselmaterial erstellen. Sie können HMAC Multiregionale KMS-Schlüssel erstellen, die sich wie Kopien desselben HMAC-KMS-Schlüssels in mehreren AWS-Regionen verhalten.

HMAC-KMS-Schlüssel unterstützen nur die kryptografischen Operationen GenerateMac und VerifyMac. Sie können keine HMAC-KMS-Schlüssel verwenden, um Daten zu verschlüsseln oder Nachrichten zu signieren, oder eine andere Art von KMS-Schlüssel in HMAC-Operationen zu verwenden. Wenn Sie die GenerateMac-Operation verwenden, können Sie eine Meldung von bis zu 4 096 Bytes, einen HMAC-KMS-Schlüssel und den MAC-Algorithmus, der mit der HMAC-Schlüsselspezifikation kompatibel ist, bereitstellen und GenerateMac berechnet das HMAC-Tag. Um ein HMAC-Tag zu überprüfen, müssen Sie das HMAC-Tag und dieselbe Nachricht, den HMAC-KMS-Schlüssel und den MAC-Algorithmus angeben, der von GenerateMac verwendet wurde, um das ursprüngliche HMAC-Tag zu berechnen. Die VerifyMac-Operation berechnet das HMAC-Tag und überprüft, ob es mit dem bereitgestellten HMAC-Tag identisch ist. Wenn die eingegebenen und berechneten HMAC-Tags nicht identisch sind, schlägt die Überprüfung fehl.

HMAC-KMS-Schlüssel unterstützen kein(e) automatische Schlüsseldrehung und Sie können keinen HMAC-KMS-Schlüssel in einem benutzerdefinierten Schlüsselspeicher erstellen.

Wenn Sie einen KMS-Schlüssel zum Verschlüsseln von Daten in einem AWS erstellen, verwenden Sie einen symmetrischen Verschlüsselungsschlüssel. Sie können keinen HMAC-KMS-Schlüssel verwenden.

Regionen

HMAC-KMS-Schlüssel werden in allen AWS-Regionen unterstützt, die AWS KMS unterstützt.

Weitere Informationen

Schlüsselspezifikationen für HMAC-KMS-Schlüssel

AWS KMS unterstützt symmetrische HMAC-Schlüssel in unterschiedlichen Längen. Häufig wird die von Ihnen ausgewählte Schlüsselspezifikation durch Ihre Sicherheits-, gesetzliche, oder geschäftliche Anforderungen bestimmt. Die Länge des Schlüssels bestimmt den MAC-Algorithmus, der in den VerifyMac Operationen GenerateMac und verwendet wird. Im Allgemeinen sind längere Schlüssel sicherer. Verwenden Sie den längsten Schlüssel, der für Ihren Anwendungsfall praktisch ist.

HMAC-Schlüsselspezifikation MAC-Algorithmen
HMAC_224 HMAC_SHA_224
HMAC_256 HMAC_SHA_256
HMAC_384 HMAC_SHA_384
HMAC_512 HMAC_SHA_512