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.
Schlüssel importieren
Wichtig
Für Beispiele ist die neueste Version von AWS CLI V2 erforderlich. Bevor Sie beginnen, stellen Sie sicher, dass Sie auf die neueste Version aktualisiert haben.
Inhalt
Einführung in das Importieren von Schlüsseln
Anmerkung
Beim Import von Schlüsseln mithilfe X9.143 von TR-34 Schlüsselblöcken behält AWS Payment Cryptography in der Regel optionale Header bei (verwendet sie jedoch nicht). TR-31 Der HM-Header (HMAC-Hash-Typ) wird bei kryptografischen Vorgängen verwendet. Der KP-Header (KCV des Wrapping-Schlüssels) ist spezifisch für den Importvorgang und wird nicht beibehalten.
Beim Austausch von Schlüsseln mit einer Gegenpartei wird in der Regel zuerst ein Key Exchange Key (KEK) ausgetauscht. Dieser Schlüssel wird dann zum Schutz nachfolgender Schlüssel verwendet. Unter Verwendung elektronischer Formate kann der KEK mithilfe asymmetrischer Techniken wie ECDH oder TR-34 RSA Wrap ausgetauscht werden. Nachfolgende Schlüssel werden unter Verwendung eines symmetrischen Schlüsselaustauschs ausgetauscht, z. B. TR-31 Dieser KEK wird eine lange Lebensdauer haben und möglicherweise nur alle paar Jahre aktualisiert werden, je nach Richtlinie und definierter Kryptoperiode.
Wenn nur ein oder zwei Schlüssel ausgetauscht werden, können Sie auch asymmetrische Techniken verwenden, um diesen Schlüssel direkt auszutauschen, z. B. einen BDK. AWS Payment Cryptography unterstützt beide Methoden des Schlüsselaustauschs.
Symmetrische Schlüssel importieren
Schlüssel mithilfe asymmetrischer Techniken importieren () TR-34
TR-34 verwendet asymmetrische RSA-Kryptografie, um symmetrische Schlüssel für den Austausch zu verschlüsseln und zu signieren. Dadurch wird sowohl die Vertraulichkeit (Verschlüsselung) als auch die Integrität (Signatur) des verpackten Schlüssels gewährleistet.
Um Ihre eigenen Schlüssel zu importieren, schauen Sie sich das Beispielprojekt AWS Payment Cryptography unter an GitHub
-
Rufen Sie den Befehl Initialize Import auf
Rufen Sie
get-parameters-for-importauf, um den Importvorgang zu initialisieren. Diese API generiert ein Schlüsselpaar für Schlüsselimporte, signiert den Schlüssel und gibt das Zertifikat und den Zertifikatsstamm zurück. Verschlüsseln Sie den zu exportierenden Schlüssel mit diesem Schlüssel. In der TR-34 Terminologie wird dies als KRD-Zertifikat bezeichnet. Diese Zertifikate sind Base64-kodiert, kurzlebig und nur für diesen Zweck bestimmt. Speichern Sie den Wert.ImportToken$aws payment-cryptography get-parameters-for-import \--key-material-typeTR34_KEY_BLOCK \--wrapping-key-algorithmRSA_2048{ "ImportToken": "import-token-bwxli6ocftypneu5", "ParametersValidUntilTimestamp": 1698245002.065, "WrappingKeyCertificateChain": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0....", "WrappingKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0....", "WrappingKeyAlgorithm": "RSA_2048" } -
Installieren Sie das öffentliche Zertifikat auf dem Schlüsselquellsystem
Bei den meisten HSMs müssen Sie das in Schritt 1 generierte öffentliche Zertifikat installieren, laden oder als vertrauenswürdig einstufen, um Schlüssel damit zu exportieren. Dies kann je nach HSM die gesamte Zertifikatskette oder nur das Stammzertifikat aus Schritt 1 umfassen.
-
Generieren Sie das Schlüsselpaar auf dem Quellsystem und stellen Sie die Zertifikatskette bereit für AWS Kryptografie im Zahlungsverkehr
Um die Integrität der übertragenen Nutzdaten zu gewährleisten, signiert die sendende Partei (Key Distribution Host oder KDH) sie. Generieren Sie zu diesem Zweck einen öffentlichen Schlüssel und erstellen Sie ein Zertifikat für öffentliche Schlüssel (X509), um Payment Cryptography zur Verfügung zu AWS stellen.
Wenn Sie Schlüssel von einem HSM übertragen, erstellen Sie ein Schlüsselpaar auf diesem HSM. Das HSM, ein Drittanbieter oder ein Dienst wie dieser AWS Private CA kann das Zertifikat generieren.
Laden Sie das Stammzertifikat mit den AWS
importKeyBefehlen KeyMaterialType ofRootCertificatePublicKeyund KeyUsageType of in Payment Cryptography.TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATUREVerwenden Sie für Zwischenzertifikate den
importKeyBefehl mit KeyMaterialType ofTrustedCertificatePublicKeyund KeyUsageType ofTR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE. Wiederholen Sie diesen Vorgang für mehrere Zwischenzertifikate. Verwenden Sie das ZertifikatKeyArndes letzten importierten Zertifikats in der Kette als Eingabe für nachfolgende Importbefehle.Anmerkung
Importieren Sie das Leaf-Zertifikat nicht. Geben Sie es direkt während des Importbefehls an.
-
Schlüssel aus dem Quellsystem exportieren
Viele HSMs und verwandte Systeme unterstützen den Export von Schlüsseln unter Verwendung der TR-34 Norm. Geben Sie den öffentlichen Schlüssel aus Schritt 1 als KRD-Zertifikat (Verschlüsselung) und den Schlüssel aus Schritt 3 als KDH-Zertifikat (Signierung) an. Um in AWS Payment Cryptography zu importieren, geben Sie das Format als das Format mit zwei Durchläufen an, das TR-34.2012 nicht von CMS stammt. Dieses Format kann auch als Diebold-Format bezeichnet werden. TR-34
-
Rufen Sie Import Key auf
Rufen Sie die ImportKey-API mit einem KeyMaterialType von auf auf.
TR34_KEY_BLOCKVerwenden Sie den KeyArn der letzten in Schritt 3 importierten CA fürcertificate-authority-public-key-identifier, das verpackte Schlüsselmaterial aus Schritt 4 fürkey-materialund das Leaf-Zertifikat aus Schritt 3 fürsigning-key-certificate. Fügen Sie das Import-Token aus Schritt 1 hinzu.$aws payment-cryptography import-key \--key-material='{"Tr34KeyBlock": { \ "CertificateAuthorityPublicKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/zabouwe3574jysdl", \ "ImportToken": "import-token-bwxli6ocftypneu5", \ "KeyBlockFormat": "X9_TR34_2012", \ "SigningKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV2RENDQXFTZ0F3SUJ...", \ "WrappedKeyBlock": "308205A106092A864886F70D010702A08205923082058E020101310D300B0609608648016503040201308203..."} \ }'{ "Key": { "CreateTimestamp": "2023-06-13T16:52:52.859000-04:00", "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza", "KeyAttributes": { "KeyAlgorithm": "TDES_3KEY", "KeyClass": "SYMMETRIC_KEY", "KeyModesOfUse": { "Decrypt": true, "DeriveKey": false, "Encrypt": true, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": true, "Verify": false, "Wrap": true }, "KeyUsage": "TR31_K1_KEY_ENCRYPTION_KEY" }, "KeyCheckValue": "CB94A2", "KeyCheckValueAlgorithm": "ANSI_X9_24", "KeyOrigin": "EXTERNAL", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2023-06-13T16:52:52.859000-04:00" } } -
Verwenden Sie den importierten Schlüssel für kryptografische Operationen oder den nachfolgenden Import
Wenn der importierte Schlüssel TR31_K0_KEY_ENCRYPTION_KEY KeyUsage war, können Sie diesen Schlüssel für nachfolgende Schlüsselimporte verwenden. TR-31 Für andere Schlüsseltypen (wie TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY) können Sie den Schlüssel direkt für kryptografische Operationen verwenden.
Schlüssel mithilfe asymmetrischer Techniken (ECDH) importieren
Elliptic Curve Diffie-Hellman (ECDH) verwendet die asymmetrische ECC-Kryptografie, um einen gemeinsamen Schlüssel zwischen zwei Parteien zu erstellen, ohne dass zuvor Schlüssel ausgetauscht werden müssen. ECDH-Schlüssel sind kurzlebig, weshalb Payment Cryptography sie nicht speichert. AWS Bei diesem Prozess wird mithilfe von ECDH ein einmaliges Passwort KBPK/KEK abgeleitet. Dieser abgeleitete Schlüssel wird sofort zum Umschließen des eigentlichen Schlüssels verwendet, den Sie übertragen möchten. Dabei kann es sich um einen anderen KBPK-Schlüssel, einen IPEK-Schlüssel oder andere Schlüsseltypen handeln.
Beim Import wird das sendende System allgemein als Partei U (Initiator) und AWS Payment Cryptography als Party V (Responder) bezeichnet.
Anmerkung
ECDH kann zwar für den Austausch aller symmetrischen Schlüsseltypen verwendet werden, es ist jedoch die einzige Methode, mit der Schlüssel sicher übertragen werden können. AES-256
-
Generieren Sie ein ECC-Schlüsselpaar
Rufen Sie
create-keyauf, um ein ECC-Schlüsselpaar für diesen Prozess zu erstellen. Diese API generiert ein Schlüsselpaar für Schlüsselimporte oder -exporte. Geben Sie bei der Erstellung an, welche Art von Schlüsseln mit diesem ECC-Schlüssel abgeleitet werden können. Wenn Sie ECDH zum Austauschen (Umschließen) anderer Schlüssel verwenden, verwenden Sie den Wert.TR31_K1_KEY_BLOCK_PROTECTION_KEYAnmerkung
Obwohl Low-Level-ECDH einen abgeleiteten Schlüssel generiert, der für jeden Zweck verwendet werden kann, begrenzt AWS Payment Cryptography die versehentliche Wiederverwendung eines Schlüssels für mehrere Zwecke, indem ein Schlüssel nur für einen einzigen abgeleiteten Schlüsseltyp verwendet werden kann.
$aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=ECC_NIST_P256,KeyUsage=TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT,KeyClass=ASYMMETRIC_KEY_PAIR,KeyModesOfUse='{DeriveKey=true}' --derive-key-usage "TR31_K1_KEY_BLOCK_PROTECTION_KEY"{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/wc3rjsssguhxtilv", "KeyAttributes": { "KeyUsage": "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "KeyClass": "ASYMMETRIC_KEY_PAIR", "KeyAlgorithm": "ECC_NIST_P256", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": false, "Sign": false, "Verify": false, "DeriveKey": true, "NoRestrictions": false } }, "KeyCheckValue": "2432827F", "KeyCheckValueAlgorithm": "CMAC", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2025-03-28T22:03:41.087000-07:00", "UsageStartTimestamp": "2025-03-28T22:03:41.068000-07:00" } } -
Holen Sie sich das Zertifikat für einen öffentlichen Schlüssel
Rufen Sie an
get-public-key-certificate, um den öffentlichen Schlüssel als X.509 Zertifikat zu erhalten, das von der CA Ihres Kontos signiert wurde und spezifisch für AWS Zahlungskryptografie in einer bestimmten Region ist.Beispiel
$aws payment-cryptography get-public-key-certificate \--key-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/wc3rjsssguhxtilv{ "KeyCertificate": "LS0tLS1CRUdJTi...", "KeyCertificateChain": "LS0tLS1CRUdJT..." } -
Installieren Sie das öffentliche Zertifikat auf dem System der Gegenpartei (Partei U)
Bei vielen HSMs müssen Sie das in Schritt 1 generierte öffentliche Zertifikat installieren, laden oder als vertrauenswürdig einstufen, um Schlüssel damit zu exportieren. Dies kann je nach HSM die gesamte Zertifikatskette oder nur das Stammzertifikat aus Schritt 1 umfassen. Weitere Informationen finden Sie in Ihrer HSM-Dokumentation.
-
Generieren Sie das ECC-Schlüsselpaar auf dem Quellsystem und stellen Sie die Zertifikatskette bereit für AWS Kryptografie im Zahlungsverkehr
Bei ECDH generiert jede Partei ein Schlüsselpaar und einigt sich auf einen gemeinsamen Schlüssel. Damit AWS Payment Cryptography den Schlüssel ableiten kann, benötigt es den öffentlichen Schlüssel der Gegenpartei im X.509 öffentlichen Schlüsselformat.
Wenn Sie Schlüssel von einem HSM übertragen, erstellen Sie ein Schlüsselpaar auf diesem HSM. Bei HSMs, die Schlüsselblöcke unterstützen, sieht der Schlüsselheader ähnlich aus wie.
D0144K3EX00E0000Beim Erstellen des Zertifikats generieren Sie in der Regel eine CSR auf dem HSM, und dann AWS Private CA kann das HSM, ein Drittanbieter oder ein Dienst wie dieser das Zertifikat generieren.Laden Sie das Stammzertifikat mithilfe des
importKeyBefehls mit KeyMaterialType of und of in AWS Payment Cryptography.RootCertificatePublicKeyKeyUsageTypeTR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATUREVerwenden Sie für Zwischenzertifikate den
importKeyBefehl mit KeyMaterialType ofTrustedCertificatePublicKeyund KeyUsageType ofTR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE. Wiederholen Sie diesen Vorgang für mehrere Zwischenzertifikate. Verwenden Sie das ZertifikatKeyArndes letzten importierten Zertifikats in der Kette als Eingabe für nachfolgende Importbefehle.Anmerkung
Importieren Sie das Leaf-Zertifikat nicht. Geben Sie es direkt während des Importbefehls an.
-
Leiten Sie mithilfe von ECDH auf Party U HSM einen Einmalschlüssel ab
Viele HSMs und verwandte Systeme unterstützen die Erstellung von Schlüsseln mithilfe von ECDH. Geben Sie den öffentlichen Schlüssel aus Schritt 1 als öffentlichen Schlüssel und den Schlüssel aus Schritt 3 als privaten Schlüssel an. Zulässige Optionen, z. B. Ableitungsmethoden, finden Sie im API-Leitfaden.
Anmerkung
Die Ableitungsparameter wie der Hash-Typ müssen auf beiden Seiten exakt übereinstimmen. Andernfalls generieren Sie einen anderen Schlüssel.
-
Schlüssel aus dem Quellsystem exportieren
Exportieren Sie abschließend den Schlüssel, den Sie mithilfe von TR-31 Standardbefehlen an AWS Payment Cryptography übertragen möchten. Geben Sie den von ECDH abgeleiteten Schlüssel als KBPK an. Bei dem zu exportierenden Schlüssel kann es sich um einen beliebigen TDES- oder AES-Schlüssel handeln, vorbehaltlich TR-31 gültiger Kombinationen, sofern der umschließende Schlüssel mindestens so stark ist wie der zu exportierende Schlüssel.
-
Rufen Sie Import Key auf
Rufen Sie die
import-keyAPI mit einem KeyMaterialType von auf aufDiffieHellmanTr31KeyBlock. Verwenden Sie den KeyArn der zuletzt in Schritt 3 importierten CA fürcertificate-authority-public-key-identifier, das verpackte Schlüsselmaterial aus Schritt 4 fürkey-materialund das Leaf-Zertifikat aus Schritt 3 fürpublic-key-certificate. Schließen Sie den ARN des privaten Schlüssels aus Schritt 1 ein.$aws payment-cryptography import-key \--key-material='{ "DiffieHellmanTr31KeyBlock": { "CertificateAuthorityPublicKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/swseahwtq2oj6zi5", "DerivationData": { "SharedInformation": "1234567890" }, "DeriveKeyAlgorithm": "AES_256", "KeyDerivationFunction": "NIST_SP800", "KeyDerivationHashAlgorithm": "SHA_256", "PrivateKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/wc3rjsssguhxtilv", "PublicKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN....", "WrappedKeyBlock": "D0112K1TB00E0000D603CCA8ACB71517906600FF8F0F195A38776A7190A0EF0024F088A5342DB98E2735084A7841CB00E16D373A70857E9A" } }'{ "Key": { "CreateTimestamp": "2025-03-13T16:52:52.859000-04:00", "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza", "KeyAttributes": { "KeyAlgorithm": "TDES_3KEY", "KeyClass": "SYMMETRIC_KEY", "KeyModesOfUse": { "Decrypt": true, "DeriveKey": false, "Encrypt": true, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": true, "Verify": false, "Wrap": true }, "KeyUsage": "TR31_K1_KEY_ENCRYPTION_KEY" }, "KeyCheckValue": "CB94A2", "KeyCheckValueAlgorithm": "ANSI_X9_24", "KeyOrigin": "EXTERNAL", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2025-03-13T16:52:52.859000-04:00" } } -
Verwenden Sie den importierten Schlüssel für kryptografische Operationen oder den nachfolgenden Import
Wenn der importierte Schlüssel TR31_K0_KEY_ENCRYPTION_KEY KeyUsage war, können Sie diesen Schlüssel für nachfolgende Schlüsselimporte verwenden. TR-31 Für andere Schlüsseltypen (wie TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY) können Sie den Schlüssel direkt für kryptografische Operationen verwenden.
Importieren Sie Schlüssel mithilfe asymmetrischer Techniken (RSA Unwrap)
Überblick: AWS Payment Cryptography unterstützt RSA wrap/unwrap für den Schlüsselaustausch, wenn dies nicht möglich ist. TR-34 Ebenso verwendet diese Technik asymmetrische RSA-Kryptografie TR-34, um symmetrische Schlüssel für den Austausch zu verschlüsseln. Im Gegensatz zu TR-34 dieser Methode muss der Absender die Nutzlast jedoch nicht signieren. Außerdem gewährleistet diese RSA-Wrap-Technik nicht die Integrität der Schlüsselmetadaten während der Übertragung, da sie keine Schlüsselblöcke enthält.
Anmerkung
Sie können RSA-Wrap verwenden, um TDES und Schlüssel zu importieren oder zu exportieren. AES-128
-
Rufen Sie den Befehl Initialize Import auf
Rufen Sie get-parameters-for-import auf, um den Importvorgang mit einem
KeyMaterialTypevon zu initialisieren.KEY_CRYPTOGRAMWrappingKeyAlgorithmWird beim Austausch von TDES-Schlüsseln verwendetRSA_2048. Verwenden SieRSA_3072oderRSA_4096beim Austausch von TDES oder AES-128 Schlüsseln. Diese API generiert ein Schlüsselpaar für Schlüsselimporte, signiert den Schlüssel mithilfe eines Zertifikatsstamms und gibt sowohl das Zertifikat als auch den Zertifikatsstamm zurück. Verschlüsseln Sie den zu exportierenden Schlüssel mit diesem Schlüssel. Diese Zertifikate sind kurzlebig und nur für diesen Zweck bestimmt.$aws payment-cryptography get-parameters-for-import \--key-material-typeKEY_CRYPTOGRAM \--wrapping-key-algorithmRSA_4096{ "ImportToken": "import-token-bwxli6ocftypneu5", "ParametersValidUntilTimestamp": 1698245002.065, "WrappingKeyCertificateChain": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0....", "WrappingKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0....", "WrappingKeyAlgorithm": "RSA_4096" } -
Installieren Sie das öffentliche Zertifikat auf dem Schlüsselquellsystem
Bei vielen HSMs müssen Sie das in Schritt 1 generierte öffentliche Zertifikat (and/orsein Stammzertifikat) installieren, laden oder als vertrauenswürdig einstufen, um Schlüssel damit zu exportieren.
-
Schlüssel aus dem Quellsystem exportieren
Viele HSMs und verwandte Systeme unterstützen den Export von Schlüsseln mithilfe von RSA Wrap. Geben Sie den öffentlichen Schlüssel aus Schritt 1 als Verschlüsselungszertifikat () an.
WrappingKeyCertificateWenn Sie die Vertrauenskette benötigen, verwenden Sie dieWrappingKeyCertificateChainaus Schritt 1. Wenn Sie den Schlüssel aus Ihrem HSM exportieren, geben Sie das Format als RSA mit Padding Mode = PKCS #1 v2.2 OAEP (mit SHA 256 oder SHA 512) an. -
Rufen Sie Schlüssel importieren
Rufen Sie die import-key API mit einem
KeyMaterialTypevon auf.KeyMaterialSie benötigen dasImportTokenaus Schritt 1 und daskey-material(verpackte Schlüsselmaterial) aus Schritt 3. Geben Sie die Schlüsselparameter (z. B. Key Usage) an, da RSA Wrap keine Schlüsselblöcke verwendet.$cat import-key-cryptogram.json{ "KeyMaterial": { "KeyCryptogram": { "Exportable": true, "ImportToken": "import-token-bwxli6ocftypneu5", "KeyAttributes": { "KeyAlgorithm": "AES_128", "KeyClass": "SYMMETRIC_KEY", "KeyModesOfUse": { "Decrypt": true, "DeriveKey": false, "Encrypt": true, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": true, "Verify": false, "Wrap": true }, "KeyUsage": "TR31_K0_KEY_ENCRYPTION_KEY" }, "WrappedKeyCryptogram": "18874746731....", "WrappingSpec": "RSA_OAEP_SHA_256" } } }$aws payment-cryptography import-key--cli-input-jsonfile://import-key-cryptogram.json{ "Key": { "KeyOrigin": "EXTERNAL", "Exportable": true, "KeyCheckValue": "DA1ACF", "UsageStartTimestamp": 1697643478.92, "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/kwapwa6qaifllw2h", "CreateTimestamp": 1697643478.92, "KeyState": "CREATE_COMPLETE", "KeyAttributes": { "KeyAlgorithm": "AES_128", "KeyModesOfUse": { "Encrypt": true, "Unwrap": true, "Verify": false, "DeriveKey": false, "Decrypt": true, "NoRestrictions": false, "Sign": false, "Wrap": true, "Generate": false }, "KeyUsage": "TR31_K0_KEY_ENCRYPTION_KEY", "KeyClass": "SYMMETRIC_KEY" }, "KeyCheckValueAlgorithm": "CMAC" } } -
Verwenden Sie den importierten Schlüssel für kryptografische Operationen oder nachfolgende Importe
Wenn der importierte Schlüssel
TR31_K0_KEY_ENCRYPTION_KEYoderKeyUsagewarTR31_K1_KEY_BLOCK_PROTECTION_KEY, können Sie diesen Schlüssel für nachfolgende Schlüsselimporte verwenden TR-31. Wenn der Schlüsseltyp ein anderer Typ war (z. B.TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY), können Sie den Schlüssel direkt für kryptografische Operationen verwenden.
Importieren Sie symmetrische Schlüssel mithilfe eines vorab festgelegten Schlüsselaustauschschlüssels () TR-31
Wenn mehrere Schlüssel ausgetauscht werden oder die Schlüsselrotation unterstützt wird, tauschen die Partner in der Regel zuerst einen Initial Key Encryption Key (KEK) aus. Sie können KEK gegen AWS Payment Cryptography austauschen, indem Sie Techniken wie TR-34 oder Physischer Schlüsselaustausch verwenden.
Nachdem Sie einen KEK eingerichtet haben, können Sie ihn für den Transport nachfolgender Schlüssel (einschließlich anderer KEKs) verwenden. AWS Payment Cryptography unterstützt diesen Schlüsselaustausch mithilfe von ANSI TR-31, das von HSM-Anbietern häufig verwendet und unterstützt wird.
-
Schlüsselverschlüsselungsschlüssel (KEK) importieren
Stellen Sie sicher, dass Sie Ihren KEK bereits importiert haben und KeyArn (oder KeyAlias) verfügbar haben.
-
Erstellen Sie den Schlüssel auf der Quellplattform
Wenn der Schlüssel nicht existiert, erstellen Sie ihn auf der Quellplattform. Alternativ können Sie den Schlüssel auf AWS Payment Cryptography erstellen und den export Befehl verwenden.
-
Exportieren Sie den Schlüssel von der Quellplattform
Geben Sie beim Exportieren das Exportformat als an TR-31. Die Quellplattform fragt nach dem zu exportierenden Schlüssel und dem zu verwendenden Schlüsselverschlüsselungsschlüssel.
-
Importiere in AWS Kryptografie im Zahlungsverkehr
Verwenden Sie beim Aufrufen des import-key Befehls den KeyArn (oder Alias) Ihres Schlüsselverschlüsselungsschlüssels für.
WrappingKeyIdentifierVerwenden Sie die Ausgabe der Quellplattform fürWrappedKeyBlock.Beispiel
$aws payment-cryptography import-key \--key-material='{"Tr31KeyBlock": { \ "WrappingKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza", \ "WrappedKeyBlock": "D0112B0AX00E00002E0A3D58252CB67564853373D1EBCC1E23B2ADE7B15E967CC27B85D5999EF58E11662991FF5EB1381E987D744334B99D"} \ }'{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/kwapwa6qaifllw2h", "KeyAttributes": { "KeyUsage": "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "AES_128", "KeyModesOfUse": { "Encrypt": true, "Decrypt": true, "Wrap": true, "Unwrap": true, "Generate": false, "Sign": false, "Verify": false, "DeriveKey": false, "NoRestrictions": false } }, "KeyCheckValue": "0A3674", "KeyCheckValueAlgorithm": "CMAC", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "EXTERNAL", "CreateTimestamp": "2023-06-02T07:38:14.913000-07:00", "UsageStartTimestamp": "2023-06-02T07:38:14.857000-07:00" } }
Import asymmetrischer (RSA, ECC) öffentlicher Schlüssel
Alle importierten Zertifikate müssen mindestens so stark sein wie das ausstellende (Vorgänger-) Zertifikat in der Kette. Das bedeutet, dass eine RSA_2048-CA nur zum Schutz eines RSA_2048-Blattzertifikats verwendet werden kann und ein ECC-Zertifikat durch ein anderes ECC-Zertifikat gleicher Stärke geschützt werden muss. Ein ECC P384-Zertifikat kann nur von einer P384- oder P521-CA ausgestellt werden. Alle Zertifikate müssen zum Zeitpunkt des Imports noch nicht abgelaufen sein.
Öffentliche RSA-Schlüssel importieren
AWS Payment Cryptography unterstützt den Import von öffentlichen RSA-Schlüsseln als Zertifikate. X.509 Um ein Zertifikat zu importieren, importieren Sie zuerst das Stammzertifikat. Alle Zertifikate müssen zum Zeitpunkt des Imports noch nicht abgelaufen sein. Das Zertifikat sollte im PEM-Format vorliegen und Base64-kodiert sein.
-
Importieren Sie das Stammzertifikat in AWS Kryptografie im Zahlungsverkehr
Verwenden Sie den folgenden Befehl, um das Stammzertifikat zu importieren:
Beispiel
$aws payment-cryptography import-key \--key-material='{"RootCertificatePublicKey": { \ "KeyAttributes": { \ "KeyAlgorithm": "RSA_2048", \ "KeyClass": "PUBLIC_KEY", \ "KeyModesOfUse": { \ "Verify": true}, \ "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE"}, \ "PublicKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKVENDQWcyZ0F3SUJBZ0lCWkRBTkJna3Foa2lHOXcwQkFR..."} \ }'{ "Key": { "CreateTimestamp": "2023-08-08T18:52:01.023000+00:00", "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/zabouwe3574jysdl", "KeyAttributes": { "KeyAlgorithm": "RSA_2048", "KeyClass": "PUBLIC_KEY", "KeyModesOfUse": { "Decrypt": false, "DeriveKey": false, "Encrypt": false, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": false, "Verify": true, "Wrap": false }, "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" }, "KeyOrigin": "EXTERNAL", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2023-08-08T18:52:01.023000+00:00" } } -
Importieren Sie das Public-Key-Zertifikat in AWS Kryptografie im Zahlungsverkehr
Sie können jetzt einen öffentlichen Schlüssel importieren. Da TR-34 ECDH darauf angewiesen sind, das Leaf-Zertifikat zur Laufzeit zu übergeben, wird diese Option nur verwendet, wenn Daten mit einem öffentlichen Schlüssel aus einem anderen System verschlüsselt werden. KeyUsage wird auf TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION gesetzt.
Beispiel
$aws payment-cryptography import-key \--key-material='{"Tr31KeyBlock": { \ "WrappingKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza", \ "WrappedKeyBlock": "D0112B0AX00E00002E0A3D58252CB67564853373D1EBCC1E23B2ADE7B15E967CC27B85D5999EF58E11662991FF5EB1381E987D744334B99D"} \ }'{ "Key": { "CreateTimestamp": "2023-08-08T18:55:46.815000+00:00", "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/4kd6xud22e64wcbk", "KeyAttributes": { "KeyAlgorithm": "RSA_4096", "KeyClass": "PUBLIC_KEY", "KeyModesOfUse": { "Decrypt": false, "DeriveKey": false, "Encrypt": false, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": false, "Verify": true, "Wrap": false }, "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" }, "KeyOrigin": "EXTERNAL", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2023-08-08T18:55:46.815000+00:00" } }
Öffentliche ECC-Schlüssel importieren
AWS Payment Cryptography unterstützt den Import von öffentlichen ECC-Schlüsseln als Zertifikate. X.509 Um ein Zertifikat zu importieren, importieren Sie zuerst das Root-CA-Zertifikat und alle Zwischenzertifikate. Alle Zertifikate müssen zum Zeitpunkt des Imports noch nicht abgelaufen sein. Das Zertifikat sollte im PEM-Format vorliegen und Base64-kodiert sein.
-
Importieren Sie das ECC-Root-Zertifikat in AWS Kryptografie im Zahlungsverkehr
Verwenden Sie den folgenden Befehl, um das Stammzertifikat zu importieren:
Beispiel
$aws payment-cryptography import-key \--key-material='{"RootCertificatePublicKey": { \ "KeyAttributes": { \ "KeyAlgorithm": "ECC_NIST_P521", \ "KeyClass": "PUBLIC_KEY", \ "KeyModesOfUse": { \ "Verify": true}, \ "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE"}, \ "PublicKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNQekNDQWFDZ0F3SUJBZ0lDSjNVd0NnWUlLb1pJemowRUF3UXdNakVlTUJ3R0ExVUVDd3dWVTJWc1psTnAKWjI1bFpFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUREQWRMUkVnZ1EwRXhNQjRYRFRJMU1ETXlPREF3TURBdwpNRm9YRFRJMk1ETXlPREF3TURBd01Gb3dNakVlTUJ3R0ExVUVDd3dWVTJWc1psTnBaMjVsWkVObGNuUnBabWxqCllYUmxNUkF3RGdZRFZRUUREQWRMUkVnZ1EwRXhNSUdiTUJBR0J5cUdTTTQ5QWdFR0JTdUJCQUFqQTRHR0FBUUEKRDVEUXc5RW1Tb1lJVkRnbUpmRm1wL1pzMXp1M0ZobThrdUdkYlA4NWgwNTdydkhHZ3VISW03V3N1aTlpdXNvNApFWEZnV3ZUdy85amhZcVJrMi9yY1RHb0JrS2NpV3Q2UHMxVmpSUVZhVEZmbmxPdjRNTURQUEFEUWthVU45cVNNCkF5MTF0RklKNlFGWDR0aGx3RzBaZkFwd0NMV1ZyMzFrRU45RDJhVUh6Mjg5WlM2all6QmhNQjhHQTFVZEl3UVkKTUJhQUZFMjhnay9QZnZ3NklsNm9yQzNwRmJtK280emxNQjBHQTFVZERnUVdCQlJOdklKUHozNzhPaUplcUt3dAo2Ulc1dnFPTTVUQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lDeERBS0JnZ3Foa2pPClBRUURCQU9CakFBd2dZZ0NRZ0ZRRit5VUVSYTZoQ0RwSDVHeVhlaVFYYU0wc25Fd3o2TmlmOHlSTlF1dzJ5MUoKdTNoKzZYa2N6Y3lVT01NSzhaRnhBVDhFOERMVUtpdjM1VmdzSkFDN09RSkNBSWMzdEVNV01tZTVCV3ZXTFVxSQpnV3h5U3UxWDdRSTJrR2dUK1FqRGlhQ2E4b091NVlJTmZscW4reUswR29yNGJzMTBZaUh4SHhpV2t0UVRSdVp4CkhIU3UKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo="} \ }'{ "Key": { "CreateTimestamp": "2023-08-08T18:52:01.023000+00:00", "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/wv4gb6h3xcqjk6sm", "KeyAttributes": { "KeyAlgorithm": "ECC_NIST_P521", "KeyClass": "PUBLIC_KEY", "KeyModesOfUse": { "Decrypt": false, "DeriveKey": false, "Encrypt": false, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": false, "Verify": true, "Wrap": false }, "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" }, "KeyOrigin": "EXTERNAL", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2025-03-08T18:52:01.023000+00:00" } } -
Importieren Sie das Zwischenzertifikat AWS Kryptografie im Zahlungsverkehr
Verwenden Sie den folgenden Befehl, um ein Zwischenzertifikat zu importieren:
Beispiel
$aws payment-cryptography import-key \--key-material='{"TrustedCertificatePublicKey": { \--certificate-authority-public-key-identifier='"arn:aws:payment-cryptography:us-east-2:111122223333:key/wv4gb6h3xcqjk6sm" \ "KeyAttributes": { \ "KeyAlgorithm": "ECC_NIST_P521", \ "KeyClass": "PUBLIC_KEY", \ "KeyModesOfUse": { \ "Verify": true}, \ "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE"}, \ "PublicKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNLekNDQVkyZ0F3SUJBZ0lDVDAwd0NnWUlLb1pJemowRUF3UXdNakVlTUJ3R0ExVUVDd3dWVTJWc1psTnAKWjI1bFpFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUREQWRMUkVnZ1EwRXhNQjRYRFRJMU1ETXlPREF3TURBdwpNRm9YRFRJMk1ETXlPREF3TURBd01Gb3dNREVlTUJ3R0ExVUVBd3dWUzBSSUlFbHVkR1Z5YldWa2FXRjBaU0JEClFTQXhNUTR3REFZRFZRUUZFd1V4TURJd01UQ0JtekFRQmdjcWhrak9QUUlCQmdVcmdRUUFJd09CaGdBRUFPOGwKZFM4c09YQlNWQlVINWxmRWZkNTZxYVVIenExZVN3VGZKdnI5eEFmb2hRNTNWZ2hLUlZoNzhNR2tJTjVCNTBJTAozbmhaU1JnUnRoS20xNkxwc084NEFGa1Z0ZEpOaEJpYUlQZlRlYXltOHh6OU44KzFWZ3RMTDZBcTBtNkwwMUFwCkUvUmxzUUJ3NWxoakM4VHVOWU1QaUpMYUNPbjJrZVh6SU5SSm01SjJtR3Q1bzFJd1VEQWZCZ05WSFNNRUdEQVcKZ0JSbklBNi9Vc3RMYUpzTzlpYjg1Zm9DWEcwRk96QWRCZ05WSFE0RUZnUVVaeUFPdjFMTFMyaWJEdlltL09YNgpBbHh0QlRzd0RnWURWUjBQQVFIL0JBUURBZ2JBTUFvR0NDcUdTTTQ5QkFNRUE0R0xBRENCaHdKQ0FmTnJjdXBkClpQd3ZqTGdVeFZiN1NtSXNhY2Z6MVZrNWZFYXZHNlVzdU95Y1lGbHlQQTlJZGgyK0lOcW5jSVg4VEo2cDFJRWkKN3RCTHpPb1l0ZWd2Q1dsL0FrRkRzWHFsWkI5bU93WnNEQy9HZEpEcm5uQ0ZkR29hM1NwZytqbGdhOGdQTmxLbAo1dE9IU0lVZnZxcFhEcWYrdXV6SEc1Z3FjdUhnQU8wOUhuMloyNUc4eVE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="} \ }'{ "Key": { "CreateTimestamp": "2025-03-20T18:52:01.023000+00:00", "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/swseahwtq2oj6zi5", "KeyAttributes": { "KeyAlgorithm": "ECC", "KeyClass": "PUBLIC_KEY", "KeyModesOfUse": { "Decrypt": false, "DeriveKey": false, "Encrypt": false, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": false, "Verify": true, "Wrap": false }, "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" }, "KeyOrigin": "EXTERNAL", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2025-03-25T18:52:01.023000+00:00" } } -
Importieren Sie das Public-Key-Zertifikat (Leaf) in AWS Kryptografie im Zahlungsverkehr
Obwohl Sie ein ECC-Leaf-Zertifikat importieren können, gibt es in AWS Payment Cryptography derzeit außer der Speicherung keine definierten Funktionen dafür. Das liegt daran, dass bei der Verwendung von ECDH-Funktionen das Leaf-Zertifikat zur Laufzeit übergeben wird.