

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

# 핀에 대한 IBM3624 핀 오프셋 생성
<a name="generate-ibm3624"></a>

 IBM 3624 PIN 오프셋을 IBM 메서드라고도 합니다. 이 방법은 검증 데이터(일반적으로 PAN)와 PIN 키(PVK)를 사용하여 자연/중간 PIN을 생성합니다. 자연 핀은 사실상 파생된 값이며 카드 소지자 수준에서 핀 데이터를 저장할 필요가 없으므로 발급자를 처리하는 데 매우 효율적입니다. 가장 확실한 단점은이 체계가 카드 소지자 선택 가능 핀이나 무작위 핀을 고려하지 않는다는 것입니다. 이러한 유형의 핀을 허용하기 위해 오프셋 알고리즘이 체계에 추가되었습니다. 오프셋은 선택한(또는 무작위) 핀과 자연 키 간의 차이를 나타냅니다. 오프셋 값은 카드 발급자 또는 카드 프로세서에 의해 저장됩니다. 트랜잭션 시 AWS Payment Cryptography 서비스는 내부적으로 자연 핀을 다시 계산하고 오프셋을 적용하여 핀을 찾습니다. 그런 다음 이를 트랜잭션 권한 부여에서 제공한 값과 비교합니다.

IBM3624에는 다음과 같은 몇 가지 옵션이 있습니다.
+ `Ibm3624NaturalPin`는 자연 핀과 암호화된 핀 블록을 출력합니다.
+ `Ibm3624PinFromOffset`는 오프셋을 고려하여 암호화된 핀 블록을 생성합니다.
+ `Ibm3624RandomPin`는 무작위 핀을 생성한 다음 일치하는 오프셋과 암호화된 핀 블록을 생성합니다.
+  `Ibm3624PinOffset`는 사용자가 선택한 핀을 고려하여 핀 오프셋을 생성합니다.

 AWS Payment Cryptography 내부에서 다음 단계를 수행합니다.
+ 제공된 팬을 16자로 패딩합니다. <16이 제공된 경우 제공된 패딩 문자를 사용하여 오른쪽에서 패드합니다.
+ PIN 생성 키를 사용하여 검증 데이터를 암호화합니다.
+ 소수 표를 사용하여 암호화된 데이터를 소수 자릿수화합니다. 그러면 인스턴스 'A'가 9에 매핑되고 1이 1에 매핑될 수 있는 16진수 숫자가 10진수에 매핑됩니다.
+ 출력의 16진수 표현에서 처음 4자리를 가져옵니다. 이것이 자연 핀입니다.
+ 사용자가 선택하거나 무작위 핀이 생성된 경우 모듈로에서 고객 핀으로 자연 핀을 뺍니다. 결과는 핀 오프셋입니다.

**Topics**
+ [예: 핀에 대한 IBM3624 핀 오프셋 생성](#generate-ibm3624-random-example)

## 예: 핀에 대한 IBM3624 핀 오프셋 생성
<a name="generate-ibm3624-random-example"></a>

이 예제에서는 출력이 암호화된(PinData.PinBlock) 및 `IBM3624` 오프셋 값`PIN block`(pinData.Offset).PinData.PinBlock) 입력은 `PAN`, 검증 데이터(일반적으로 팬), 패딩 문자, `Pin Verification Key`, `Pin Encryption Key` 및 입니다`PIN block format`.

 이 명령을 사용하려면 핀 생성 키가 유형이고 암호화 키가 유형이어야 `TR31_V1_IBM3624_PIN_VERIFICATION_KEY` 합니다. `TR31_P0_PIN_ENCRYPTION_KEY` 

**Example**  
다음 예제에서는 Ibm3624RandomPin을 사용하여 무작위 핀을 생성한 다음 암호화된 핀 블록과 IBM3624 오프셋 값을 출력하는 방법을 보여줍니다. Ibm3624RandomPin   

```
$ aws payment-cryptography-data generate-pin-data --generation-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0 --generation-attributes Ibm3624RandomPin="{DecimalizationTable=9876543210654321,PinValidationDataPadCharacter=D,PinValidationData=171234567890123}"
```

```
{
              "GenerationKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2",
              "GenerationKeyCheckValue": "7F2363",
              "EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt",
              "EncryptionKeyCheckValue": "7CC9E2",
              "EncryptedPinBlock": "AC17DC148BDA645E",
              "PinData": {
                  "PinOffset": "5507"
              }
          }
```