本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
KEK 的验证
当您的服务(node1)连接到 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 返回到 node2。该节点会将其与步骤 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 向 node2 发送 KR
-
将 KR 发送到 node2。保留 KrR 以备日后验证。
- 2.3 Node2 生成 KEK 验证响应
-
Node2 使用 KeKR 和 KR,生成 KrR 并将其发送回您的服务。
- 2.4 验证响应
-
比较步骤 1 中的 KrR 和步骤 3 返回的值。如果它们匹配,请继续。