

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

# EMV ARQC 확인 및 ARPC 생성
<a name="use-cases-issuers.generalfunctions.arqc"></a>

[ARQC](terminology.md#terms.arqc)(Authorization Request Cryptogram)는 EMV(칩) 카드에서 생성한 암호로, 트랜잭션 세부 정보와 승인된 카드 사용을 검증하는 데 사용됩니다. 카드, 터미널 및 트랜잭션 자체의 데이터를 통합합니다.

백엔드의 검증 시 동일한 입력이 AWS Payment Cryptography에 제공되고, 암호가 내부적으로 다시 생성되며, 트랜잭션과 함께 제공된 값과 비교됩니다. 이러한 의미에서 MAC와 유사합니다. [EMV 4.4 Book 2](https://www.emvco.com/specifications/?post_id=80377)는이 함수의 세 가지 측면, 즉 일회성 트랜잭션 키를 생성하기 위한 키 유도 방법(일반 세션 키 - CSK라고 함), 최소 페이로드 및 응답 생성 방법(ARPC)을 정의합니다.

 개별 카드 체계는 통합할 추가 트랜잭션 필드 또는 해당 필드가 나타나는 순서를 지정할 수 있습니다. 다른(일반적으로 더 이상 사용되지 않는) 체계별 파생 체계도 존재하며이 설명서의 다른 부분에서 다룹니다.

자세한 내용은 API 가이드의 [VerifyCardValidationData](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_VerifyCardValidationData.html)를 참조하세요.

## 키 생성
<a name="use-cases-issuers.generalfunctions.arqc.setup"></a>

```
$ 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":"CVN18"},{"Key":"CARD_BIN","Value":"12345678"}]'
```

응답은 후속 호출을 위한 ARN과 키 검사 값(KCV)을 포함한 요청 파라미터를 다시 반영합니다.

```
{
                "Key": {
                    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333: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:111122223333:key/pw3s6nl62t5ushfk*와 같이 키를 `KeyArn` 나타내는를 기록해 둡니다. 다음 단계에서 이 작업을 수행합니다.

## ARQC 생성
<a name="use-cases-issuers.generalfunctions.arqc.generate"></a>

ARQC는 EMV 카드에서만 생성됩니다. 따라서 AWS Payment Cryptography에는 이러한 페이로드를 생성할 수 있는 기능이 없습니다. 테스트 목적으로 적절한 페이로드를 생성할 수 있는 여러 라이브러리와 다양한 체계에서 일반적으로 제공하는 알려진 값을 온라인으로 사용할 수 있습니다.

## ARQC 검증
<a name="use-cases-issuers.generalfunctions.arqc.verify"></a>

**Example**  
 AWS Payment Cryptography가 ARQC를 검증할 수 있는 경우 http/200이 반환됩니다. 선택적으로 ARPC(응답)를 제공하고 ARQC가 검증된 후 응답에 포함할 수 있습니다.  

```
$ aws payment-cryptography-data verify-auth-request-cryptogram --auth-request-cryptogram 61EDCC708B4C97B4 --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk --major-key-derivation-mode EMV_OPTION_A --transaction-data 00000000170000000000000008400080008000084016051700000000093800000B1F2201030000000000000000000000000000000000000000000000000000008000000000000000 --session-key-derivation-attributes='{"EmvCommon":{"ApplicationTransactionCounter":"000B", "PanSequenceNumber":"01","PrimaryAccountNumber":"9137631040001422"}}' --auth-response-attributes='{"ArpcMethod2":{"CardStatusUpdate":"12345678"}}'
```

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk",
    "KeyCheckValue": "08D7B4",
    "AuthResponseValue":"2263AC85"
}
```