Enkripsi data - AWS Kriptografi Pembayaran

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

Enkripsi data

Encrypt DataAPI 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.

Enkripsi data menggunakan kunci simetris AES

catatan

Semua contoh mengasumsikan kunci yang relevan sudah ada. Kunci dapat dibuat menggunakan CreateKeyoperasi atau diimpor menggunakan ImportKeyoperasi.

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:529027455495:key/5dza7xqd6soanjtb", "KeyCheckValue": "FF9DE9CE" }