기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Payment Cryptography 시작하기
AWS Payment Cryptography를 시작하려면 먼저 키를 생성한 다음 다양한 암호화 작업에 사용해야 합니다. 아래 자습서에서는 CVV2 값을 생성/확인하는 데 사용할 키를 생성하는 간단한 사용 사례를 제공합니다. 다른 예제를 시도하고 AWS 내에서 배포 패턴을 탐색하려면 다음 AWS Payment Cryptography 워크숍
이 자습서에서는 단일 키를 만들고 키를 사용하여 암호화 작업을 수행하는 방법을 안내합니다. 그런 다음 더 이상 필요하지 않을 경우 키를 삭제하면 키 수명 주기가 완료됩니다.
주의
이 사용 설명서의 예제에서는 샘플 값을 사용할 수 있습니다. 키 일련 번호와 같은 프로덕션 환경에서는 샘플 값을 사용하지 않는 것이 좋습니다.
사전 조건
시작하기 전에 다음을 확인하세요.
1단계: 키 생성
첫 번째 단계는 키를 만드는 것입니다. 이 자습서에서는 CVV/CVV2 값을 생성하고 확인하기 위한 CVK 이중 길이 3DES(2KEY TDES) 키를 생성합니다.
$
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}'
응답은 후속 호출을 위한 ARN과 키 검사 값(KCV)을 포함한 요청 파라미터를 다시 반영합니다.
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "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": "CADDA1", "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" } }
키를 나타내는 KeyArn
에 주의하세요(예: arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi). 다음 단계에서 이 작업을 수행합니다.
2단계: 키를 사용하여 CVV2 값 생성
이 단계에서는 1단계의 키를 사용하여 지정된 PAN
및 만료일에 대한 CVV2를 생성합니다.
$
aws payment-cryptography-data generate-card-validation-data \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \ --primary-account-number=171234567890123 \ --generation-attributes CardVerificationValue2={CardExpiryDate=0123}
{ "CardDataGenerationKeyCheckValue": "CADDA1", "CardDataGenerationKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "CardDataType": "CARD_VERIFICATION_VALUE_2", "CardDataValue": "144" }
cardDataValue
(이 경우 3자리 숫자 144)를 기록해 두세요. 다음 단계에서 이 작업을 수행합니다.
3단계: 2단계에서 생성된 값 확인
이 예시에서는 1단계에서 생성한 키를 사용하여 2단계의 CVV2를 검증합니다.
다음 명령을 실행하여 CVV2를 검증합니다.
$
aws payment-cryptography-data verify-card-validation-data \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \ --primary-account-number=171234567890123 \ --verification-attributes CardVerificationValue2={CardExpiryDate=0123} \ --validation-data 144
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "CADDA1" }
이 서비스는 CVV2를 검증했음을 나타내는 HTTP 응답 200을 반환합니다.
4단계: 네거티브 테스트 수행
이 단계에서는 CVV2가 올바르지 않고 검증되지 않는 음성 테스트를 생성합니다. 1단계에서 만든 키를 사용하여 잘못된 CVV2을 검증하려고 합니다. 예를 들어 카드 소유자가 결제 시 잘못된 CVV2를 입력한 경우, 이 작업은 필요한 작업입니다.
$
aws payment-cryptography-data verify-card-validation-data \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \ --primary-account-number=171234567890123 \ --verification-attributes CardVerificationValue2={CardExpiryDate=0123} \ --validation-data 999
Card validation data verification failed.
이 서비스는 “카드 검증 데이터 확인에 실패했습니다”라는 메시지와 INVALID_VALIDATION_DATA라는 사유와 함께 400의 HTTP 응답을 반환합니다.
5단계: (선택 사항) 정리
이제 1단계에서 생성한 키를 삭제할 수 있습니다. 복구할 수 없는 변경 사항을 최소화하기 위한 기본 키 삭제 기간은 7일입니다.
$
aws payment-cryptography delete-key \ --key-identifier=arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi
{ "Key": { "CreateTimestamp": "2022-10-27T08:27:51.795000-07:00", "DeletePendingTimestamp": "2022-11-03T13:37:12.114000-07:00", "Enabled": true, "Exportable": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyAttributes": { "KeyAlgorithm": "TDES_3KEY", "KeyClass": "SYMMETRIC_KEY", "KeyModesOfUse": { "Decrypt": true, "DeriveKey": false, "Encrypt": true, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": true, "Verify": false, "Wrap": true }, "KeyUsage": "TR31_C0_CARD_VERIFICATION_KEY" }, "KeyCheckValue": "CADDA1", "KeyCheckValueAlgorithm": "ANSI_X9_24", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "KeyState": "DELETE_PENDING", "UsageStartTimestamp": "2022-10-27T08:27:51.753000-07:00" } }
출력의 두 필드를 기록해 두세요. deletePendingTimestamp
는 기본적으로 향후 7일로 설정되어 있습니다. keyState는 DELETE_PENDING
로 설정되어 있습니다. restore-key
를 호출하여 예정된 삭제 시간 전에 언제든지 이 삭제를 취소할 수 있습니다.