기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
EMV MAC 생성 및 확인
EMV MAC은 EMV 파생 키의 입력을 사용한 다음 결과 데이터에 대해 ISO9797-3(소매) MAC을 수행하는 MAC입니다. EMV MAC은 일반적으로 스크립트 차단 해제와 같은 명령을 EMV 카드에 전송하는 데 사용됩니다.
참고
AWS Payment Cryptography는 스크립트의 내용을 검증하지 않습니다. 포함할 특정 명령에 대한 자세한 내용은 스키마 또는 카드 설명서를 참조하세요.
자세한 내용은 API 가이드의 MacAlgorithmEmv를 참조하세요.
키 생성
$
aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_E2_EMV_MKEY_INTEGRITY,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{DeriveKey=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"CVN18"},{"Key":"CARD_BIN","Value":"12345678"}]'
응답은 후속 호출을 위한 ARN과 키 검사 값(KCV)을 포함한 요청 파라미터를 다시 반영합니다.
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/pw3s6nl62t5ushfk", "KeyAttributes": { "KeyUsage": "TR31_E2_EMV_MKEY_INTEGRITY", "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
나타내는를 기록해 둡니다. 다음 단계에서 이 작업을 수행합니다.
EMV MAC 생성
일반적인 흐름은 백엔드 프로세스가 EMV 스크립트(예: 카드 차단 해제)를 생성하고,이 명령(특정 카드 하나에 특정한 일회성 키를 생성함)을 사용하여 서명한 다음 MAC를 반환하는 것입니다. 그런 다음 명령 + MAC가 카드에 전송되어 적용됩니다. 카드에 명령을 보내는 것은 AWS Payment Cryptography 범위를 벗어납니다.
참고
이 명령은 암호화된 데이터(예: PIN)가 전송되지 않는 명령을 위한 것입니다. 이 명령을 호출하기 전에 EMV 암호화를이 명령과 결합하여 암호화된 데이터를 발급자 스크립트에 추가할 수 있습니다.
- 메시지 데이터
메시지 데이터에는 APDU 헤더와 명령이 포함됩니다. 구현에 따라 다를 수 있지만이 예제는 차단 해제를 위한 APDU 헤더(84 24 00 00 08) 다음에 ATC(0007)가 오는 다음 이전 트랜잭션의 ARQC(999E57FD0F47CACE)입니다. 서비스는이 필드의 내용을 검증하지 않습니다.
- 세션 키 파생 모드
이 필드는 세션 키 생성 방법을 정의합니다. EMV_COMMON_SESSION_KEY는 일반적으로 새 구현에 사용되는 반면, EMV2000 | AMEX | MASTERCARD_SESSION_KEY | VISA도 사용할 수 있습니다.
- MajorKeyDerivationMode
EMV 정의 모드 A, B 또는 C. 모드 A가 가장 일반적이며 AWS Payment Cryptography는 현재 모드 A 또는 모드 B를 지원합니다.
- PAN
일반적으로 칩 필드 5A 또는 ISO8583 필드 2에서 사용할 수 있지만 카드 시스템에서 검색할 수도 있는 계정 번호입니다.
- PSN
카드 시퀀스 번호입니다. 사용하지 않는 경우 00을 입력합니다.
- SessionKeyDerivationValue
세션별 파생 데이터입니다. 파생 체계에 따라 필드 9F26의 마지막 ARQC(ApplicationCryptogram) 또는 9F36의 마지막 ATC일 수 있습니다.
- 패딩
패딩은 자동으로 적용되며 ISO/IEC 9797-1 패딩 방법 2를 사용합니다.
$
aws payment-cryptography-data generate-mac --message-data 84240000080007999E57FD0F47CACE --key-identifier arn:aws:payment-cryptography:us-east-2::key/pw3s6nl62t5ushfk --message-data 8424000008999E57FD0F47CACE0007 --generation-attributes EmvMac="{MajorKeyDerivationMode=EMV_OPTION_A,PanSequenceNumber='00',PrimaryAccountNumber='2235521304123282',SessionKeyDerivationMode=EMV_COMMON_SESSION_KEY,SessionKeyDerivationValue={ApplicationCryptogram='999E57FD0F47CACE'}}"
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4", "Mac":"5652EEDF83EA0D84" }