Visa 固有の関数 - AWS Payment Cryptography

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

Visa 固有の関数

ARQC - CVN18/CVN22

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

ARQC - CVN10

CVN10 は、EMV トランザクションの古い Visa メソッドで、セッション (トランザクションごと) 取得ではなく、カードキー取得ごとに を使用し、別のペイロードも使用します。ペイロードの内容の詳細については、スキームにお問い合わせください。

キーの作成

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

レスポンスには、後続の呼び出し用の 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 を検証する

この例では、Visa CVN10 を使用して生成された ARQC の検証を行います。

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

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

CAVV V7

Visa Secure (3DS) トランザクションの場合、発行者アクセスコントロールサーバー (ACS) によって CAVV (カード所有者認証検証値) が生成されます。CAVV は、カード所有者認証が行われた証拠であり、認証トランザクションごとに一意であり、アクワイアラーによって認可メッセージで提供されます。CAVV v7 は、マーチャント名、購入金額、購入日などの要素を含む、トランザクションに関する追加データを承認にバインドします。このようにして、実質的にトランザクションペイロードの暗号化ハッシュになります。

暗号的には、CAVV V7 は CVV アルゴリズムを使用しますが、入力はすべて変更/再利用されています。CAVV V7 ペイロードを生成する入力を生成する方法については、適切なサードパーティー/Visa のドキュメントを参照してください。

キーを作成する

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

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

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

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

CAVV V7 を生成する

この例では、仕様で指定された入力を持つ特定のトランザクションの CAVV V7 を生成します。このアルゴリズムでは、フィールドが再利用/再利用される可能性があるため、フィールドラベルが入力と一致すると想定しないでください。

使用可能なすべてのパラメータについては、 API リファレンスガイドの CardVerificationValue1 を参照してください。

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

CAVV V7 を検証する

検証の場合、入力は CVK、計算された入力値、検証するトランザクション中に提供された CAVV です。

使用可能なすべてのパラメータについては、 API リファレンスガイドのCardVerificationValue1」を参照してください。

注記

CAVV はユーザーが入力した値 (CVV2 など) ではありませんが、発行者 ACS によって計算されます。提供されたときに常に検証する必要があるかどうかを考慮する必要があります。

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