Fungsi khusus visa - AWS Kriptografi Pembayaran

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

Fungsi khusus visa

ARQC -/ CVN18CVN22

CVN18 dan CVN22 memanfaatkan metode CSK derivasi kunci. Data transaksi yang tepat bervariasi antara kedua metode ini - silakan lihat dokumentasi skema untuk detail tentang pembuatan bidang data transaksi.

ARQC - 0 CVN1

CVN10 adalah metode Visa lama untuk transaksi EMV yang menggunakan derivasi kunci per kartu daripada derivasi sesi (per transaksi) dan juga menggunakan muatan yang berbeda. Untuk informasi tentang isi muatan, silakan hubungi skema untuk detailnya.

Buat kunci

$ 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":"CVN10"},{"Key":"CARD_BIN","Value":"12345678"}]'

Respons menggemakan kembali parameter permintaan, termasuk ARN untuk panggilan berikutnya serta Nilai Pemeriksaan Kunci (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.

Validasi ARQC

Dalam contoh ini, kami akan memvalidasi ARQC yang dihasilkan menggunakan Visa 0. CVN1

Jika Kriptografi AWS Pembayaran dapat memvalidasi ARQC, http/200 dikembalikan. Jika arqc tidak divalidasi, itu akan mengembalikan respons http/400.

$ aws payment-cryptography-data verify-auth-request-cryptogram --auth-request-cryptogram D791093C8A921769 \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk \ --major-key-derivation-mode EMV_OPTION_A \ --transaction-data 00000000170000000000000008400080008000084016051700000000093800000B03011203000000 \ --session-key-derivation-attributes='{"Visa":{"PanSequenceNumber":"01" \ ,"PrimaryAccountNumber":"9137631040001422"}}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4" }

CAVV V7

Untuk transaksi Visa Secure (3DS), CAVV (Nilai Verifikasi Otentikasi Pemegang Kartu) dihasilkan oleh penerbit Access Control Server (ACS). CAVV adalah bukti bahwa otentikasi pemegang kartu terjadi, unik untuk setiap transaksi otentikasi dan disediakan oleh pihak pengakuisisi dalam pesan otorisasi. CAVV v7 mengikat data tambahan tentang transaksi dengan persetujuan termasuk elemen seperti nama pedagang, jumlah pembelian, dan tanggal pembelian. Dengan cara ini, ini secara efektif merupakan hash kriptografi dari muatan transaksi.

Secara kriptografis, CAVV V7 menggunakan algoritma CVV tetapi masukannya semuanya adalah changed/repurposed. Please consult appropriate third party/Visa dokumentasi tentang cara menghasilkan input untuk menghasilkan muatan CAVV V7.

Buat kuncinya

$ 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}' --tags='[{"Key":"KEY_PURPOSE","Value":"CAVV-V7"},{"Key":"CARD_BIN","Value":"12345678"}]'

Respons menggemakan kembali parameter permintaan, termasuk ARN untuk panggilan berikutnya serta Nilai Pemeriksaan Kunci (KCV).

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

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

Hasilkan CAVV V7

Dalam contoh ini, kami akan menghasilkan CAVV V7 untuk transaksi tertentu dengan input sebagaimana ditentukan dalam spesifikasi. Perhatikan bahwa untuk algoritme ini, bidang dapat digunakan kembali/digunakan kembali, jadi tidak boleh diasumsikan bahwa label bidang cocok dengan input.

Untuk semua parameter yang tersedia, lihat CardVerificationValue1 di panduan referensi API.

$ aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk --primary-account-number=171234567890123 --generation-attributes CardVerificationValue1='{CardExpiryDate=9431,ServiceCode=431}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk", "KeyCheckValue": "F3FB13", "ValidationData": "491" }

Validasi CAVV V7

Untuk validasi, inputnya adalah CVK, nilai input yang dihitung dan CAVV yang disediakan selama transaksi untuk divalidasi.

Untuk semua parameter yang tersedia, lihat, CardVerificationValue1 di panduan referensi API.

catatan

CAVV bukan nilai yang dimasukkan pengguna (seperti CVV2) tetapi dihitung oleh penerbit ACS. Pertimbangan harus diberikan apakah harus selalu memvalidasi saat disediakan.

$ aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk --primary-account-number=171234567890123 --verification-attributes CardVerificationValue1='{CardExpiryDate=9431,ServiceCode=431} --validation-data 491
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk", "KeyCheckValue": "F3FB13", "ValidationData": "491" }