Verifikasi EMV ARQC dan hasilkan ARPC - AWS Kriptografi Pembayaran

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

Verifikasi EMV ARQC dan hasilkan ARPC

ARQC(Authorization Request Cryptogram) adalah kriptogram yang dihasilkan oleh kartu EMV (chip) dan digunakan untuk memvalidasi detail transaksi serta penggunaan kartu resmi. Ini menggabungkan data dari kartu, terminal dan transaksi itu sendiri.

Pada waktu validasi di backend, input yang sama diberikan ke Kriptografi AWS Pembayaran, kriptogram dibuat ulang secara internal dan ini dibandingkan dengan nilai yang diberikan dengan transaksi. Dalam pengertian ini, ini mirip dengan aMAC. EMV4.4 Buku 2 mendefinisikan tiga aspek fungsi ini - metode derivasi kunci (dikenal sebagai kunci sesi umum -CSK) untuk menghasilkan kunci transaksi satu kali, muatan minimum dan metode untuk menghasilkan respons (). ARPC

Skema kartu individu dapat menentukan bidang transaksional tambahan untuk dimasukkan atau urutan bidang tersebut muncul. Skema derivasi spesifik lainnya (umumnya tidak digunakan lagi) juga ada dan tercakup di tempat lain dalam dokumentasi ini.

Untuk informasi lebih lanjut, lihat VerifyCardValidationDatadi API panduan.

Buat kuncinya

$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{DeriveKey=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"CVN18"},{"Key":"CARD_BIN","Value":"12345678"}]'

Respons menggemakan kembali parameter permintaan, termasuk ARN untuk panggilan berikutnya serta Key Check Value (KCV).

{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyAttributes": { "KeyUsage": "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "TDES_2KEY", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": false, "Sign": false, "Verify": false, "DeriveKey": true, "NoRestrictions": false } }, "KeyCheckValue": "08D7B4", "KeyCheckValueAlgorithm": "ANSI_X9_24", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2024-03-07T06:41:46.648000-07:00", "UsageStartTimestamp": "2024-03-07T06:41:46.626000-07:00" } }

Perhatikan yang mewakili kunci, misalnya KeyArn arn:aws:payment-cryptography:us-east- 2:111122223333:key/pw3s6nl62t5ushfk. Anda membutuhkannya di langkah berikutnya.

Menghasilkan ARQC

ARQCItu dihasilkan secara eksklusif oleh EMV kartu. Dengan demikian, Kriptografi AWS Pembayaran tidak memiliki fasilitas untuk menghasilkan muatan seperti itu. Untuk tujuan pengujian, sejumlah perpustakaan tersedia secara online yang dapat menghasilkan muatan yang sesuai serta nilai yang diketahui yang umumnya disediakan oleh berbagai skema.

Validasi ARQC

Jika Kriptografi AWS Pembayaran dapat memvalidasiARQC, http/200 dikembalikan. ARPC(Respons) secara opsional dapat diberikan dan dimasukkan dalam respons setelah ARQC divalidasi.

$ aws payment-cryptography-data verify-auth-request-cryptogram --auth-request-cryptogram 61EDCC708B4C97B4 --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk --major-key-derivation-mode EMV_OPTION_A --transaction-data 00000000170000000000000008400080008000084016051700000000093800000B1F2201030000000000000000000000000000000000000000000000000000008000000000000000 --session-key-derivation-attributes='{"EmvCommon":{"ApplicationTransactionCounter":"000B", "PanSequenceNumber":"01","PrimaryAccountNumber":"9137631040001422"}}' --auth-response-attributes='{"ArpcMethod2":{"CardStatusUpdate":"12345678"}}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4", "AuthResponseValue":"2263AC85" }