마스터카드 특정 함수 - AWS 결제 암호화

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

마스터카드 특정 함수

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를 검증합니다. ATC는 11의 카운터가 000B로 표시되는 경우 16진수로 제공되어야 합니다. 서비스에는 3자리 DCVC3가 필요하므로 4(또는 5)자리 값을 저장한 경우 3자리가 될 때까지 왼쪽 문자를 잘라내기만 하면 됩니다(예: 15321의 경우 validation-data 값이 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 메서드를 활용합니다. 정확한 트랜잭션 데이터는이 두 가지 방법에 따라 다릅니다. 트랜잭션 데이터 필드 구성에 대한 자세한 내용은 체계 설명서를 참조하세요.

ARQC - CVN12/CVN13

CVN12 및 CVN13은 예측할 수 없는 숫자를 트랜잭션별 파생에 통합하고 다른 페이로드를 사용하는 EMV 트랜잭션을 위한 이전 마스터카드별 메서드입니다. 페이로드 콘텐츠에 대한 자세한 내용은 스키마에 문의하십시오.

키 생성

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