Menghasilkan kunci - AWS Kriptografi Pembayaran

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menghasilkan kunci

Anda dapat membuat kunci Kriptografi AWS Pembayaran dengan menggunakan CreateKey API operasi. Selama proses ini, Anda akan menentukan berbagai atribut kunci atau output yang dihasilkan seperti algoritma kunci (misalnya, TDES _3KEY), operasi yang diizinkan KeyUsage (misalnya TR31 _P0_ _ PIN ENCRYPTION _), operasi yang diizinkan (misalnya, mengenkripsi, menandatanganiKEY) dan apakah itu dapat diekspor. Anda tidak dapat mengubah properti ini setelah kunci Kriptografi AWS Pembayaran dibuat.

Menghasilkan 2 KEY TDES kunci

Perintah ini menghasilkan KEY TDES kunci 2 untuk tujuan menghasilkan dan memverifikasiCVV/CVV2nilai. Respons menggemakan kembali parameter permintaan, termasuk ARN untuk panggilan berikutnya serta KCV (Nilai Pemeriksaan Kunci).

$ 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}'
{ "Key": { "CreateTimestamp": "2022-10-26T16:04:11.642000-07:00", "Enabled": true, "Exportable": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/hjprdg5o4jtgs5tw", "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": "B72F", "KeyCheckValueAlgorithm": "ANSI_X9_24", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2022-10-26T16:04:11.559000-07:00" } }

Menghasilkan Kunci Enkripsi Pin

contoh Menghasilkan Kunci Enkripsi Pin (PEK)

Perintah ini menghasilkan KEY TDES kunci 3 untuk tujuan mengenkripsi PIN nilai (dikenal sebagai Kunci Enkripsi Pin). Kunci ini dapat digunakan untuk mengamankan penyimpanan PINs atau untuk mendekripsi yang PINs disediakan selama upaya verifikasi, misalnya selama transaksi. Respons menggemakan kembali parameter permintaan, termasuk ARN untuk panggilan berikutnya serta KCV (Nilai Pemeriksaan Kunci).

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

Buat kunci asimetris (RSA)

Dalam contoh ini, kita akan menghasilkan key pair asimetris RSA 2048 bit baru. Kunci pribadi baru akan dihasilkan serta kunci publik yang cocok. Kunci publik dapat diambil menggunakan. getPublicCertificateAPI

$ 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}'
{ "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": "CMAC", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2022-11-15T11:15:42.182000-08:00" } }

Menghasilkan Kunci Nilai PIN Verifikasi (PVV)

Perintah ini menghasilkan KEY TDES kunci 3 untuk tujuan menghasilkan PVV nilai (dikenal sebagai Nilai Verifikasi Pin). Anda dapat menggunakan kunci ini untuk menghasilkan PVV nilai yang dapat dibandingkan dengan perhitungan berikutnyaPVV. Respons menggemakan kembali parameter permintaan, termasuk ARN untuk panggilan berikutnya serta KCV (Nilai Pemeriksaan Kunci).

$ 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}'
{ "Key": { "CreateTimestamp": "2022-10-27T10:22:59.668000-07:00", "Enabled": true, "Exportable": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/j4u4cmnzkelhc6yb", "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": "5132", "KeyCheckValueAlgorithm": "ANSI_X9_24", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2022-10-27T10:22:59.614000-07:00" } }

Menghasilkan kunci asimetris ECC

Perintah ini menghasilkan ECC key pair untuk tujuan menetapkan perjanjian kunci ECDH (Elliptic Curve Diffie-Hellman) antara dua pihak dengan menurunkan kunci bersama dari pasangan kunci publik-pribadi mereka. MenggunakanECDH, masing-masing pihak menghasilkan ECC key pair sendiri dengan tujuan utama K3 dan mode penggunaan X dan bertukar kunci publik. Kedua belah pihak kemudian menggunakan kunci pribadi mereka dan kunci publik yang diterima untuk membuat kunci turunan bersama.

Untuk mempertahankan prinsip penggunaan tunggal kunci kriptografi dalam pembayaran, disarankan untuk tidak menggunakan kembali pasangan ECC kunci untuk berbagai tujuan, seperti derivasi ECDH kunci dan penandatanganan.

$ 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}'
{ "Key": { "CreateTimestamp": "2024-10-17T01:31:55.908000+00:00", "Enabled": true, "Exportable": true, "KeyArn": "arn:aws:payment-cryptography:us-west-2:075556953750:key/xzydvquw6ejfxnwq", "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": "CMAC", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2024-10-17T01:31:55.866000+00:00" } }