Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Enkripsi data
Encrypt Data
API digunakan untuk mengenkripsi data menggunakan kunci enkripsi data simetris dan asimetris serta kunci turunan DUKPT dan EMV. Berbagai algoritma dan variasi didukung termasukTDES
, RSA
danAES
.
Input utama adalah kunci enkripsi yang digunakan untuk mengenkripsi data, data teks biasa dalam format HexBinary yang akan dienkripsi dan atribut enkripsi seperti vektor inisialisasi dan mode untuk sandi blok seperti TDES. Data plaintext harus dalam kelipatan 8 byte untukTDES
, 16 byte untuk AES
dan panjang kunci dalam kasus. RSA
Input kunci simetris (TDES, AES, DUKPT, EMV) harus empuk dalam kasus di mana data input tidak memenuhi persyaratan ini. Tabel berikut menunjukkan panjang maksimum plaintext untuk setiap jenis kunci dan jenis padding yang Anda tentukan EncryptionAttributes
untuk kunci RSA.
Jenis bantalan | RSA_2048 | RSA_3072 | RSA_4096 |
---|---|---|---|
OAEP SHA1 |
428 | 684 | 940 |
OAEP SHA256 |
380 | 636 | 892 |
OAEP SHA512 |
252 | 508 | 764 |
PKCS1 |
488 | 744 | 1000 |
None |
488 | 744 | 1000 |
Output utama termasuk data terenkripsi sebagai ciphertext dalam format HexBinary dan nilai checksum untuk kunci enkripsi. Untuk detail tentang semua opsi yang tersedia, silakan baca Panduan API untuk Enkripsi.
Contoh
Enkripsi data menggunakan kunci simetris AES
catatan
Dalam contoh ini, kita akan mengenkripsi data plaintext menggunakan kunci simetris yang telah dibuat menggunakan CreateKeyOperasi atau diimpor menggunakan Operasi. ImportKey Untuk operasi ini, kunci harus KeyModesOfUse disetel ke Encrypt
dan KeyUsage disetel keTR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY
. Silakan lihat Kunci untuk Operasi Kriptografi untuk opsi lainnya.
$
aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 31323334313233343132333431323334 --encryption-attributes 'Symmetric={Mode=CBC}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "71D7AE", "CipherText": "33612AB9D6929C3A828EB6030082B2BD" }
Enkripsi data menggunakan kunci DUKPT
Dalam contoh ini, kita akan mengenkripsi data plaintext menggunakan kunci DUKPT. AWS Dukungan Kriptografi Pembayaran TDES
dan kunci AES
DUKPT. Untuk operasi ini, kunci harus KeyModesOfUse disetel ke DeriveKey
dan KeyUsage disetel keTR31_B0_BASE_DERIVATION_KEY
. Silakan lihat Kunci untuk Operasi Kriptografi untuk opsi lainnya.
$
aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 31323334313233343132333431323334 --encryption-attributes 'Dukpt={KeySerialNumber=FFFF9876543210E00001}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "71D7AE", "CipherText": "33612AB9D6929C3A828EB6030082B2BD" }
Enkripsi data menggunakan kunci simetris turunan EMV
Dalam contoh ini, kita akan mengenkripsi data teks yang jelas menggunakan kunci simetris turunan EMV yang telah dibuat. Anda dapat menggunakan perintah seperti ini untuk mengirim data ke kartu EMV. Untuk operasi ini, kunci harus KeyModesOfUse disetel ke Derive
dan KeyUsage disetel ke TR31_E1_EMV_MKEY_CONFIDENTIALITY
atauTR31_E6_EMV_MKEY_OTHER
. Silakan lihat Kunci untuk Operasi Kriptografi untuk lebih jelasnya.
$
aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 33612AB9D6929C3A828EB6030082B2BD --encryption-attributes 'Emv={MajorKeyDerivationMode=EMV_OPTION_A,PanSequenceNumber=27,PrimaryAccountNumber=1000000000000432,SessionDerivationData=02BB000000000000, InitializationVector=1500000000000999,Mode=CBC}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "71D7AE", "CipherText": "33612AB9D6929C3A828EB6030082B2BD" }
Enkripsi data menggunakan kunci RSA
Dalam contoh ini, kita akan mengenkripsi data plaintext menggunakan kunci publik RSA yang telah diimpor menggunakan operasi. ImportKey Untuk operasi ini, kunci harus KeyModesOfUse disetel ke Encrypt
dan KeyUsage disetel keTR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION
. Silakan lihat Kunci untuk Operasi Kriptografi untuk opsi lainnya.
Untuk PKCS #7 atau skema padding lainnya yang saat ini tidak didukung, mohon terapkan sebelum memanggil layanan dan pilih no padding dengan menghilangkan indikator padding 'Asymmetric= {} '
$
aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/thfezpmsalcfwmsg --plain-text 31323334313233343132333431323334 --encryption-attributes 'Asymmetric={PaddingType=OAEP_SHA256}'
{ "CipherText": "12DF6A2F64CC566D124900D68E8AFEAA794CA819876E258564D525001D00AC93047A83FB13 \ E73F06329A100704FA484A15A49F06A7A2E55A241D276491AA91F6D2D8590C60CDE57A642BC64A897F4832A3930 \ 0FAEC7981102CA0F7370BFBF757F271EF0BB2516007AB111060A9633D1736A9158042D30C5AE11F8C5473EC70F067 \ 72590DEA1638E2B41FAE6FB1662258596072B13F8E2F62F5D9FAF92C12BB70F42F2ECDCF56AADF0E311D4118FE3591 \ FB672998CCE9D00FFFE05D2CD154E3120C5443C8CF9131C7A6A6C05F5723B8F5C07A4003A5A6173E1B425E2B5E42AD \ 7A2966734309387C9938B029AFB20828ACFC6D00CD1539234A4A8D9B94CDD4F23A", "KeyArn": "arn:aws:payment-cryptography:us-east-1:111122223333:key/5dza7xqd6soanjtb", "KeyCheckValue": "FF9DE9CE" }