View a markdown version of this page

KEK 的验证 - AWS Payment Cryptography

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

KEK 的验证

使用 AWS 支付密码学的 PIN 应用程序的高级网络图示例

当您的服务(节点 1)连接到 node2 时,双方将使用名为 KEK 验证的过程确保在后续操作中使用相同的 KEK。

1。验证第一个密钥的步骤

1.1 收取 KR

Node2 将生成 KR 并将其作为登录过程的一部分发送给您。他们可能会使用 AWS 支付密码学来生成此值或其他解决方案。

1.2 生成 KEK 验证响应

您的节点将生成 KEK 验证响应,输入为 KEK (r),KR 在步骤 1 中提供。

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 返回到节点 2。该节点会将其与步骤 1 中的计算值进行比较。

2. 验证第二个密钥的步骤

2.1 生成 kRr 和 kR

您的节点将使用 AWS 支付密码学生成一个随机值和该值的倒置(反向)副本。该服务将输出由 KEK 封装的这两个值。它们被称为 KR (s) 和 KR (r)。

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 向节点 2 发送 KR

将 KR 发送到节点 2。保留 KrR 以备日后验证。

2.3 节点 2 生成 KEK 验证响应

Node2 使用 KekR 和 KR,生成 kRr 并将其发送回您的服务。

2.4 验证响应

比较步骤 1 中的 KrR 和步骤 3 中返回的值。如果它们匹配,请继续。