翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
特定のカードの CVV を生成または検証する
CVV または CVV1 は、従来カードの磁気ストライプに埋め込まれていた値です。これは CVV2 とは異なります (カード所有者が表示でき、オンライン購入に使用できます)。
最初のステップは、キー を作成することです。このチュートリアルでは、CVK の 2 倍長 3DES (2KEY TDES) キーを作成します。
注記
CVV、CVV2、および iCVV はすべて、同一のアルゴリズムではなくても同様のアルゴリズムを使用しますが、入力データは異なります。すべて同じキータイプ TR31_C0_CARD_VERIFICATION_KEY を使用しますが、目的ごとに個別のキーを使用することをお勧めします。これらは、以下の例のようにエイリアスやタグを使用して区別できます。
キーを作成する
$
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":"CVV"},{"Key":"CARD_BIN","Value":"12345678"}]'
レスポンスには、後続の呼び出し用の ARN やキーチェック値 (KCV) などのリクエストパラメータがエコーバックされます。
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/r52o3wbqxyf6qlqr", "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": "DE89F9", "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/r52o3wbqxyf6qlqr など、キーKeyArn
を表す を書き留めます。これは次のステップで行います。
CVV の生成
この例では、 の入力、121 のサービスコード (ISO/IEC 7813 で定義)PAN
、およびカードの有効期限を使用して、特定の PAN の CVV を生成します。
使用可能なすべてのパラメータについては、 API リファレンスガイドの CardVerificationValue1 を参照してください。
$
aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2::key/r52o3wbqxyf6qlqr --primary-account-number=171234567890123 --generation-attributes CardVerificationValue1='{CardExpiryDate=1127,ServiceCode=121}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/r52o3wbqxyf6qlqr", "KeyCheckValue": "DE89F9", "ValidationData": "801" }
CVV を検証する
この例では、CVK、、121 のサービスコード、カードの有効期限、検証するトランザクション中に提供された CVV の入力を使用して、特定の PAN の CVV を検証します。 PAN
使用可能なすべてのパラメータについては、「 API リファレンスガイド」のCardVerificationValue1」を参照してください。
注記
CVV はユーザーが入力した値 (CVV2 など) ではありませんが、通常はマグストライプに埋め込まれます。提供されたときに常に検証する必要があるかどうかを考慮する必要があります。
$
aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2::key/r52o3wbqxyf6qlqr --primary-account-number=171234567890123 --verification-attributes CardVerificationValue1='{CardExpiryDate=1127,ServiceCode=121} --validation-data 801
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/r52o3wbqxyf6qlqr", "KeyCheckValue": "DE89F9", "ValidationData": "801" }