View a markdown version of this page

Creazione di chiavi - AWS Crittografia dei pagamenti

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di chiavi

Puoi creare chiavi AWS di crittografia dei pagamenti utilizzando l'operazione CreateKey API. Quando crei una chiave, specifichi attributi come l'algoritmo della chiave, l'utilizzo della chiave, le operazioni consentite e se è esportabile. Non puoi modificare queste proprietà dopo aver creato la chiave AWS di crittografia dei pagamenti.

Nota

Se Multi-Region la replica delle chiavi è abilitata Account AWS e crei una chiave di crittografia di pagamento, questa chiave diventerà automaticamente una chiave regionale primaria (PRK). PRK viene replicato anche se non si specifica il parametro nel --replication-regions comando. CreateKey Per ulteriori informazioni, consulta Come funziona la replica delle chiavi Multi-Region.

Creazione di una chiave di derivazione di base 3KEY TDES

Esempio

Questo comando crea una chiave di derivazione 3KEY TDES che verrà replicata nelle regioni Stati Uniti orientali (Ohio) e Stati Uniti occidentali (Oregon). La risposta include i parametri di richiesta, un Amazon Resource Name (ARN) per le chiamate successive e un Key Check Value (KCV).

$ aws payment-cryptography create-key --exportable --key-attributes \ "KeyUsage=TR31_B0_BASE_DERIVATION_KEY, \ KeyClass=SYMMETRIC_KEY,KeyAlgorithm=TDES_3KEY, \ KeyModesOfUse={NoRestrictions=true}" \ --replication-regions us-east-2 --region us-west-2

Output di esempio:

{ "Key": { "CreateTimestamp": "2022-10-26T16:04:11.642000-07:00", "Enabled": true, "Exportable": true, "KeyArn": "FE23D3", "KeyAttributes": { "KeyAlgorithm": "TDES_3KEY", "KeyClass": "SYMMETRIC_KEY", "KeyModesOfUse": { "Decrypt": false, "DeriveKey": true, "Encrypt": false, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": false, "Verify": true, "Wrap": false }, "KeyUsage": "TR31_B0_BASE_DERIVATION_KEY" }, "KeyCheckValue": "FE23D3", "KeyCheckValueAlgorithm": "ANSI_X9_24", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2022-10-26T16:04:11.559000-07:00" }

Creazione di una chiave TDES 2KEY per CVV/CVV2

Esempio

Questo comando crea una chiave TDES 2KEY per la generazione e la verifica dei valori. CVV/CVV2 La risposta include i parametri della richiesta, un Amazon Resource Name (ARN) per le chiamate successive e un Key Check Value (KCV).

$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY, \ KeyUsage=TR31_C0_CARD_VERIFICATION_KEY,KeyClass=SYMMETRIC_KEY, \ KeyModesOfUse='{Generate=true,Verify=true}'

Output di esempio:

{ "Key": { "CreateTimestamp": "2022-10-26T16:04:11.642000-07:00", "Enabled": true, "Exportable": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/7f7g4spf3xcklhzu", "KeyAttributes": { "KeyAlgorithm": "TDES_2KEY", "KeyClass": "SYMMETRIC_KEY", "KeyModesOfUse": { "Decrypt": false, "DeriveKey": false, "Encrypt": false, "Generate": true, "NoRestrictions": false, "Sign": false, "Unwrap": false, "Verify": true, "Wrap": false }, "KeyUsage": "TR31_C0_CARD_VERIFICATION_KEY" }, "KeyCheckValue": "AEA5CD", "KeyCheckValueAlgorithm": "ANSI_X9_24", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2022-10-26T16:04:11.559000-07:00" } }

Creazione di una chiave HMAC

Esempio

Le chiavi HMAC vengono utilizzate per generare o verificare i codici di autenticazione dei messaggi hash (HMAC). Con le chiavi HMAC, il tipo di hash viene assegnato al momento della creazione della chiave (come HMAC_SHA224 e HMAC_SHA512) e non può essere modificato.

$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=HMAC_SHA512,KeyUsage=TR31_M7_HMAC_KEY,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{Generate = true,Verify = true}'

Output di esempio:

{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6", "KeyAttributes": { "KeyUsage": "TR31_M7_HMAC_KEY", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "HMAC_SHA512", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": true, "Sign": false, "Verify": true, "DeriveKey": false, "NoRestrictions": false } }, "KeyCheckValue": "2976E7", "KeyCheckValueAlgorithm": "HMAC", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2025-07-30T10:06:12.142000-07:00", "UsageStartTimestamp": "2025-07-30T10:06:12.128000-07:00" } }

Creazione di una chiave AES-256

Esempio

Questo comando crea una chiave AES-256 simmetrica per la crittografia e la decrittografia dei dati. Le chiavi AES forniscono una crittografia avanzata per i dati sensibili e sono comunemente utilizzate nell'elaborazione dei pagamenti per crittografare i dati dei titolari di carte e altre informazioni sensibili, tuttavia TDES è più comunemente usato per casi d'uso degli emittenti come EMV.

$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=AES_256,KeyUsage=TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{Encrypt=true,Decrypt=true,Wrap=true,Unwrap=true}'

Output di esempio:

{ "Key": { "CreateTimestamp": "2025-02-02T10:15:30.142000-08:00", "Enabled": true, "Exportable": true, "KeyArn": "arn:aws:payment-cryptography:us-east-1:111122223333:key/kwapwa6qaifllw2h", "KeyAttributes": { "KeyAlgorithm": "AES_256", "KeyClass": "SYMMETRIC_KEY", "KeyModesOfUse": { "Decrypt": true, "DeriveKey": false, "Encrypt": true, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": true, "Verify": false, "Wrap": true }, "KeyUsage": "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" }, "KeyCheckValue": "2976F5", "KeyCheckValueAlgorithm": "CMAC", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2025-02-02T10:15:30.128000-08:00" } }

Creazione di una chiave di crittografia PIN (PEK)

Esempio

Questo comando crea una chiave TDES 3KEY per la crittografia dei valori PIN, sebbene le chiavi pin possano anche essere AES a seconda delle esigenze di interoperabilità. È possibile utilizzare questa chiave per archiviare in modo sicuro i PIN o decrittografare i PIN durante la verifica, ad esempio in una transazione. La risposta include i parametri della richiesta, un ARN per le chiamate successive e un KCV.

$ aws payment-cryptography create-key --exportable --key-attributes \ KeyAlgorithm=TDES_3KEY,KeyUsage=TR31_P0_PIN_ENCRYPTION_KEY, \ KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{Encrypt=true,Decrypt=true,Wrap=true,Unwrap=true}'

Output di esempio:

{ "Key": { "CreateTimestamp": "2022-10-27T08:27:51.795000-07:00", "Enabled": true, "Exportable": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt", "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_P0_PIN_ENCRYPTION_KEY" }, "KeyCheckValue": "7CC9E2", "KeyCheckValueAlgorithm": "ANSI_X9_24", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2022-10-27T08:27:51.753000-07:00" } }

Creazione di una chiave asimmetrica (RSA)

Esempio

Questo comando genera una nuova coppia di chiavi RSA asimmetrica a 2048 bit. Crea una nuova chiave privata e la chiave pubblica corrispondente. Puoi recuperare la chiave pubblica utilizzando l'PublicCertificateAPI get.

$ aws payment-cryptography create-key --exportable \ --key-attributes KeyAlgorithm=RSA_2048,KeyUsage=TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION, \ KeyClass=ASYMMETRIC_KEY_PAIR,KeyModesOfUse='{Encrypt=true, Decrypt=True,Wrap=True,Unwrap=True}'

Output di esempio:

{ "Key": { "CreateTimestamp": "2022-11-15T11:15:42.358000-08:00", "Enabled": true, "Exportable": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/nsq2i3mbg6sn775f", "KeyAttributes": { "KeyAlgorithm": "RSA_2048", "KeyClass": "ASYMMETRIC_KEY_PAIR", "KeyModesOfUse": { "Decrypt": true, "DeriveKey": false, "Encrypt": true, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": true, "Verify": false, "Wrap": true }, "KeyUsage": "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION" }, "KeyCheckValue": "40AD487F", "KeyCheckValueAlgorithm": "SHA-1", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2022-11-15T11:15:42.182000-08:00" } }

Creazione di una chiave PIN Verification Value (PVV)

Esempio

Questo comando crea una chiave TDES 3KEY per la generazione di valori PVV. È possibile utilizzare questa chiave per generare un PVV che può essere confrontato con un PVV calcolato successivamente. La risposta include i parametri della richiesta, un ARN per le chiamate successive e un KCV.

$ aws payment-cryptography create-key --exportable \ --key-attributes KeyAlgorithm=TDES_3KEY,KeyUsage=TR31_V2_VISA_PIN_VERIFICATION_KEY, \ KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{Generate=true,Verify=true}'

Output di esempio:

{ "Key": { "CreateTimestamp": "2022-10-27T10:22:59.668000-07:00", "Enabled": true, "Exportable": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2", "KeyAttributes": { "KeyAlgorithm": "TDES_3KEY", "KeyClass": "SYMMETRIC_KEY", "KeyModesOfUse": { "Decrypt": false, "DeriveKey": false, "Encrypt": false, "Generate": true, "NoRestrictions": false, "Sign": false, "Unwrap": false, "Verify": true, "Wrap": false }, "KeyUsage": "TR31_V2_VISA_PIN_VERIFICATION_KEY" }, "KeyCheckValue": "7F2363", "KeyCheckValueAlgorithm": "ANSI_X9_24", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2022-10-27T10:22:59.614000-07:00" } }

Creazione di una chiave ECC asimmetrica

Esempio

Questo comando genera una coppia di chiavi ECC per stabilire un accordo chiave ECDH (Elliptic Curve Diffie-Hellman) tra due parti. Con ECDH, ciascuna parte genera la propria coppia di chiavi ECC con lo scopo chiave K3 e la modalità d'uso X e si scambia le chiavi pubbliche. Entrambe le parti utilizzano quindi la propria chiave privata e la chiave pubblica ricevuta per stabilire una chiave derivata condivisa.

Per mantenere il principio delle chiavi crittografiche monouso nei pagamenti, consigliamo di non riutilizzare le coppie di chiavi ECC per molteplici scopi, come la derivazione e la firma delle chiavi ECDH.

$ 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}'

Output di esempio:

{ "Key": { "CreateTimestamp": "2024-10-17T01:31:55.908000+00:00", "Enabled": true, "Exportable": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/wc3rjsssguhxtilv", "KeyAttributes": { "KeyAlgorithm": "ECC_NIST_P256", "KeyClass": "ASYMMETRIC_KEY_PAIR", "KeyModesOfUse": { "Decrypt": false, "DeriveKey": true, "Encrypt": false, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": false, "Verify": false, "Wrap": false }, "KeyUsage": "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT" }, "KeyCheckValue": "7E34F19F", "KeyCheckValueAlgorithm": "SHA-1", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2024-10-17T01:31:55.866000+00:00" } }