

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# KEK の検証
<a name="as2805.kekvalidation"></a>

![AWS Payment Cryptography を使用した PIN アプリケーションの高レベルネットワーク図の例](http://docs.aws.amazon.com/ja_jp/payment-cryptography/latest/userguide/images/as2805/kek_validation.png)


サービス (node1) が node2 に接続すると、各側は KEK 検証と呼ばれるプロセスを使用した後続のオペレーションに同じ KEK を使用していることを確認します。

**1. 最初のキーを検証するステップ**

**1.1 KRs受信**  
Node2 は KRs を生成し、ログオンプロセスの一環として送信します。Payment Cryptography AWS を使用して、この値または別のソリューションを生成できます。

**1.2 KEK 検証レスポンスを生成する**  
ノードは、ステップ 1 で提供された KEK(r) と KRs として入力を含む KEK 検証レスポンスを生成します。  

**Example**  

```
cat >> generate-kek-validation-response.json
{
    "KekValidationType": {
        "KekValidationResponse": {
            "RandomKeySend": "9217DC67B8763BABCFDF3DADFCD0F84A"
        }
    },
    "RandomKeySendVariantMask": "VARIANT_MASK_82",
    "KeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza"
}
```

```
$ aws payment-cryptography-data generate-as2805-kek-validation --cli-input-json file://generate-kek-validation-response.json
```

```
{
 "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza",
 "KeyCheckValue": "0A3674",
 "RandomKeyReceive": "A4B7E249C40C98178C1B856DB7FB76EB",
 "RandomKeySend": "9217DC67B8763BABCFDF3DADFCD0F84A"
}
```

**1.3 計算された KRr を返す**  
計算された KRr を node2 に返します。そのノードは、ステップ 1 の計算値と比較します。

**2.2 番目のキーを検証するステップ**

**2.1 KRr と KRs を生成する**  
Payment Cryptography を使用して、ノードはランダムな値とこの値の反転 (反転) AWS コピーを生成します。サービスは、KEK (複数可) によってラップされたこれらの値の両方を出力します。これらは KR (複数可) および KR (r) と呼ばれます。  

**Example**  

```
cat >> generate-kek-validation-request.json 
{
    "KekValidationType": {
        "KekValidationRequest": {
            "DeriveKeyAlgorithm": "TDES_2KEY"
        }
    },
"RandomKeySendVariantMask": "VARIANT_MASK_82",
    "KeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/rhfm6tenpxapkmrv"
}
```

```
$ aws payment-cryptography-data generate-as2805-kek-validation --cli-input-json file://generate-kek-validation-request.json
```

```
{
 "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/rhfm6tenpxapkmrv",
 "KeyCheckValue": "DC1081",
 "RandomKeyReceive": "A4B7E249C40C98178C1B856DB7FB76EB",
 "RandomKeySend": "9217DC67B8763BABCFDF3DADFCD0F84A"
}
```

**2.2 node2 に KRsを送信する**  
KRsします。後で検証できるように KRr を保持します。

**2.3 Node2 が KEK 検証レスポンスを生成する**  
Node2 は KEKr と KRs を使用し、KRr を生成してサービスに送り返します。

**2.4 レスポンスを検証する**  
ステップ 1 の KRr とステップ 3 から返された値を比較します。一致する場合は、続行します。