Fungsi khusus Mastercard - 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 Mastercard

DCVC3

DCVC3 mendahului CVN12 skema EMV CSK dan Mastercard dan merupakan pendekatan lain untuk memanfaatkan kunci dinamis. Kadang-kadang digunakan kembali untuk kasus penggunaan lain juga. Dalam skema ini, inputnya adalah data PAN, PSN, Track1/Track2, nomor tak terduga dan penghitung transaksi (ATC).

Buat kunci

$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{DeriveKey=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"DCVC3"},{"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/hrh6qgbi3sk4y3wq", "KeyAttributes": { "KeyUsage": "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "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/hrh6qgbi3sk4y3wq. Anda membutuhkannya di langkah berikutnya.

Menghasilkan DCVC3

contoh

Meskipun DCVC3 biasanya dihasilkan oleh kartu chip, itu juga dapat dibuat secara manual seperti dalam contoh ini

$ aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk --primary-account-number=5413123456784808 --generation-attributes DynamicCardVerificationCode='{ApplicationTransactionCounter=0000,TrackData=5241060000000069D13052020000000000003F,PanSequenceNumber=00,UnpredictableNumber=00000000}''
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4", "ValidationData": "865" }

Validasi DCVC3

contoh

Dalam contoh ini, kami akan memvalidasi. DCVC3 Perhatikan bahwa ATC harus disediakan sebagai nomor hex misalnya penghitung 11 harus direpresentasikan sebagai 000B. Layanan mengharapkan 3 digit DCVC3, jadi jika Anda telah menyimpan nilai 4 (atau 5) digit, cukup potong karakter kiri hingga Anda memiliki 3 digit (misalnya 15321 akan menghasilkan nilai validasi-data 321).

Jika Kriptografi AWS Pembayaran dapat memvalidasi, http/200 dikembalikan. Jika nilai tidak divalidasi, itu akan mengembalikan respon http/400.

$ aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk --primary-account-number=5413123456784808 --verification-attributes DynamicCardVerificationCode='{ApplicationTransactionCounter=000B,TrackData=5241060000000069D13052020000000000003F,PanSequenceNumber=00,UnpredictableNumber=00000001}' --validation-data 398
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4" }

ARQC -/ CVN14CVN15

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

ARQC -/ CVN12CVN13

CVN12 dan CVN13 merupakan metode khusus Mastercard yang lebih tua untuk transaksi EMV yang menggabungkan angka tak terduga ke dalam derivasi per transaksi dan juga menggunakan muatan yang berbeda. Untuk informasi tentang isi muatan, silakan hubungi skema.

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":"CVN12"},{"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

contoh

Dalam contoh ini, kami akan memvalidasi ARQC yang dihasilkan menggunakan Mastercard. CVN12

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 31BE5D49F14A5F01 \ --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='{"MastercardSessionKey":{"ApplicationTransactionCounter":"000B","PanSequenceNumber":"01","PrimaryAccountNumber":"5413123456784808","UnpredictableNumber":"00000001"}}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4" }

3DS AAV SPA2

SPA2 AAV (Account Authentication Value) digunakan untuk transaksi Mastercard 3DS (juga dikenal sebagai Mastercard Idenity Check). Ini menyediakan otentikasi kriptografi untuk transaksi e-commerce menggunakan generasi MAC berbasis HMAC. AAV dihasilkan menggunakan data spesifik transaksi dan kunci rahasia bersama.

Buat kunci

$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=HMAC_SHA256,KeyUsage=TR31_M7_HMAC_KEY,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{Generate=true,Verify=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"SPA2_AAV"},{"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-west-2:111122223333:key/q5vjtshsg67cz5gn", "KeyAttributes": { "KeyUsage": "TR31_M7_HMAC_KEY", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "HMAC_SHA256", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": true, "Sign": false, "Verify": true, "DeriveKey": false, "NoRestrictions": false } }, "KeyCheckValue": "C661F9", "KeyCheckValueAlgorithm": "HMAC", "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 KeyArn yang mewakili kunci, misalnya arn:aws:payment-cryptography:us-west- 2:111122223333:key/q5vjtshsg67cz5gn. Anda membutuhkannya di langkah berikutnya.

Hasilkan SPA2 AAV

contoh

Dalam contoh ini, kami akan menghasilkan komponen Nilai Otentikasi Penerbit (IAV) dari SPA2 AAV menggunakan generasi MAC HMAC. Data pesan berisi informasi spesifik transaksi yang akan diautentikasi. Format data pesan harus mengikuti SPA2 spesifikasi Mastercard dan tidak tercakup dalam contoh ini.

catatan

Harap tinjau spesifikasi Mastercard Anda untuk pemformatan untuk memasukkan IAV ke dalam nilai AAV.

$ aws payment-cryptography-data generate-mac --key-identifier arn:aws:payment-cryptography:us-west-2:111122223333:key/q5vjtshsg67cz5gn --message-data "2226400099919520FFFFd8b448be65694fe7b42f836bad396e9d" --generation-attributes Algorithm=HMAC --region us-west-2
{ "KeyArn": "arn:aws:payment-cryptography:us-west-2:111122223333:key/q5vjtshsg67cz5gn", "KeyCheckValue": "C661F9", "Mac": "6FB2405E9D8A4C1F7B173F73ADD1A6DC358531CAB0E9994FC5B62012ADDE91FC" }

Verifikasi SPA2 AAV

contoh

Dalam contoh ini, kami akan memverifikasi SPA2 AAV. Data pesan dan nilai MAC yang sama disediakan untuk verifikasi.

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

$ aws payment-cryptography-data verify-mac --key-identifier arn:aws:payment-cryptography:us-west-2:111122223333:key/q5vjtshsg67cz5gn --message-data "2226400099919520FFFFd8b448be65694fe7b42f836bad396e9d" --mac "6FB2405E9D8A4C1F7B173F73ADD1A6DC358531CAB0E9994FC5B62012ADDE91FC" --verification-attributes Algorithm=HMAC --region us-west-2
{ "KeyArn": "arn:aws:payment-cryptography:us-west-2:111122223333:key/q5vjtshsg67cz5gn", "KeyCheckValue": "C661F9" }