

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Convalida di KEK
<a name="as2805.kekvalidation"></a>

![Esempio di diagramma di rete di alto livello per applicazioni PIN che utilizzano la crittografia dei pagamenti AWS](http://docs.aws.amazon.com/it_it/payment-cryptography/latest/userguide/images/as2805/kek_validation.png)


Quando il servizio (node1) si connette al nodo2, ciascuna parte si assicurerà di utilizzare la stessa KEK per le operazioni successive utilizzando un processo chiamato KEK Validation. 

**1. Passaggi per convalidare la prima chiave**

**1.1 Ricevi KRs**  
Node2 genererà un messaggio KRs e te lo invierà come parte del processo di accesso. Possono utilizzare la crittografia dei AWS pagamenti per generare questo valore o un'altra soluzione.

**1.2 Genera una risposta di convalida KEK**  
Il nodo genererà una risposta di convalida KEK con input come KEK (r) e quelli forniti nel passaggio 1. KRs   

**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 Rendimento calcolato KRr**  
Restituisce il calcolo KRr a node2. Quel nodo lo confronterà con il valore calcolato dal passaggio 1.

**2.Passaggi per convalidare la seconda chiave**

**2.1 Generare e KRr KRs**  
Il tuo nodo genererà un valore casuale e una copia invertita (invertita) di questo valore utilizzando AWS la crittografia dei pagamenti. Il servizio emetterà entrambi questi valori racchiusi dai KEK. Questi sono noti come KR (s) e 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 Invia KRs a node2**  
Invia il a KRs node2. Conserva il codice KRr per una successiva convalida.

**2.3 Node2 genera una risposta di convalida KEK**  
Node2 utilizza KEKr e KRs, genera e lo rispedisce al servizio dell' KRr utente.

**2.4 Convalida la risposta**  
Confronta KRr il valore del passaggio 1 e il valore restituito dal passaggio 3. Se corrispondono, procedi.