기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Visa 특정 함수
ARQC - CVN18/CVN22
CVN18 및 CVN22는 키 파생의 CSK 메서드를 활용합니다. 정확한 트랜잭션 데이터는이 두 가지 방법에 따라 다릅니다. 트랜잭션 데이터 필드 구성에 대한 자세한 내용은 체계 설명서를 참조하세요.
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/dnaeyrjgdjjtw6dk와 같이 키를 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" }