View a markdown version of this page

Validação do KEK - AWS Payment Cryptography

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Validação do KEK

Exemplo de diagrama de rede de alto nível para aplicativos de PIN usando criptografia AWS de pagamento

Quando seu serviço (node1) se conecta ao node2, cada lado garante que eles estejam usando a mesma KEK para operações subsequentes usando um processo chamado Validação KEK.

1. Etapas para validar a primeira chave

1.1 Receba KRs

O Node2 gerará um KRs e o enviará para você como parte do processo de login. Eles podem usar a criptografia de AWS pagamento para gerar esse valor ou outra solução.

1.2 Gerar resposta de validação KEK

Seu nó gerará uma resposta de validação de KEK com entradas como KEK (r) e KRs fornecidas na etapa 1.

exemplo
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 Retorno calculado em KrR

Retorne o kRR calculado para node2. Esse nó o comparará com o valor calculado da etapa 1.

2.Etapas para validar a segunda chave

2.1 Gere KRr e KRs

Seu node gerará um valor aleatório e uma cópia invertida (invertida) desse valor usando a criptografia de AWS pagamento. O serviço produzirá esses dois valores agrupados pelo (s) KEK (s). Eles são conhecidos como KR (s) e KR (r).

exemplo
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 Envie KRs para o node2

Envie os KRs para o node2. Guarde o KrR para posterior validação.

2.3 O Node2 gera resposta de validação KEK

O Node2 usa o KeKr e o KRs, gera o KrR e o envia de volta ao seu serviço.

2.4 Validar a resposta

Compare o KrR da etapa 1 e o valor retornado da etapa 3. Se eles coincidirem, prossiga.