Mastercard 固有の関数 - AWS Payment Cryptography

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Mastercard 固有の関数

DCVC3

DCVC3 は EMV CSK および Mastercard CVN12 スキームより前であり、動的キーを利用する別のアプローチを表します。他のユースケースにも転用されることがあります。このスキームでは、入力は PAN、PSN、Track1/Track2 データ、予測不可能な番号、トランザクションカウンター (ATC) です。

キーの作成

$ 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"}]'

レスポンスには、後続の呼び出し用の ARN やキーチェック値 (KCV) などのリクエストパラメータがエコーバックされます。

{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2::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" } }

arn:aws:payment-cryptography:us-east-2::key/hrh6qgbi3sk4y3wq など、キーKeyArnを表す を書き留めます。これは次のステップで行います。

DCVC3 を生成する

DCVC3 はチップカードによって生成できますが、この例のように手動で生成することもできます。

$ aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2::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::key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4", "ValidationData": "865" }

DCVC3 を検証する

この例では、DCVC3 を検証します。例えば、11 のカウンターは 000B として表す必要があります。サービスは 3 桁の DCVC3 を想定しているため、4 (または 5) 桁の値を保存している場合は、3 桁になるまで左側の文字を切り捨てます (たとえば、15321 では検証データ値が 321 になります)。

AWS Payment Cryptography が検証できる場合、http/200 が返されます。値が検証されていない場合、http/400 レスポンスが返されます。

$ aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2::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::key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4" }

ARQC - CVN14/CVN15

CVN14 および CVN15 は、キー取得の EMV CSK メソッドを使用します。正確なトランザクションデータは、これら 2 つの方法によって異なります。トランザクションデータフィールドの構築の詳細については、スキームドキュメントを参照してください。

ARQC - CVN12/CVN13

CVN12 と CVN13 は、EMV トランザクション用の古い Mastercard 固有の方法で、トランザクションごとの取得に予測不可能な数値を組み込み、別のペイロードも使用します。ペイロードの内容の詳細については、 スキームにお問い合わせください。

キーの作成

$ 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"}]'

レスポンスには、後続の呼び出し用の ARN やキーチェック値 (KCV) などのリクエストパラメータがエコーバックされます。

{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2::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" } }

arn:aws:payment-cryptography:us-east-2::key/pw3s6nl62t5ushfk など、キーKeyArnを表す を書き留めます。これは次のステップで行います。

ARQC を検証する

この例では、Mastercard CVN12 を使用して生成された ARQC を検証します。

AWS Payment Cryptography が ARQC を検証できる場合、http/200 が返されます。arqc が検証されない場合、http/400 レスポンスが返されます。

$ aws payment-cryptography-data verify-auth-request-cryptogram --auth-request-cryptogram 31BE5D49F14A5F01 \ --key-identifier arn:aws:payment-cryptography:us-east-2::key/pw3s6nl62t5ushfk \ --major-key-derivation-mode EMV_OPTION_A \ --transaction-data 0000000015000000000000000840000000000008402312120197695905 \ --session-key-derivation-attributes='{"Mastercard":{"PanSequenceNumber":"01" \ ,"PrimaryAccountNumber":"9137631040001422","ApplicationTransactionCounter":"000B","UnpredictableNumber":"34343434"}}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4" }