View a markdown version of this page

Validación del KEK - AWS Payment Cryptography

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Validación del KEK

Ejemplo de diagrama de red de alto nivel para aplicaciones de PIN que utilizan criptografía AWS de pago

Cuando su servicio (nodo1) se conecte al nodo2, cada parte se asegurará de utilizar la misma KEK para las operaciones posteriores mediante un proceso denominado validación de KEK.

1. Pasos para validar la primera clave

1.1 Reciba los KRs

Node2 generará un KRs y se lo enviará como parte del proceso de inicio de sesión. Pueden usar la criptografía AWS de pago para generar este valor u otra solución.

1.2 Generar una respuesta de validación de KEK

Su nodo generará una respuesta de validación de KEK con entradas como la KEK (r) y las KRs proporcionadas en el paso 1.

ejemplo
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 Devuelve el kRr calculado

Devuelve el kRr calculado al nodo 2. Ese nodo lo comparará con el valor calculado en el paso 1.

2. Pasos para validar la segunda clave

2.1 Genera KrR y KRs

Su nodo generará un valor aleatorio y una copia invertida (invertida) de este valor mediante AWS criptografía de pagos. El servicio generará ambos valores envueltos en las KEK. Se conocen como KR (s) y KR (r).

ejemplo
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 Envía los KRs al nodo 2

Envíe los KRs al nodo 2. Guarde el kRr para su posterior validación.

2.3 El nodo 2 genera una respuesta de validación KEK

El Node2 usa los KeKr y los KRs, genera el KrR y lo envía de vuelta a su servicio.

2.4 Valida la respuesta

Compare el kRR del paso 1 con el valor devuelto en el paso 3. Si coinciden, proceda.