本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
KEK 的验证
当您的服务(节点 1)连接到 node2 时,双方将使用名为 KEK 验证的过程确保在后续操作中使用相同的 KEK。
1。验证第一个密钥的步骤
- 1.1 接收 KRs
-
Node2 将生成一个 KRs 并将其作为登录过程的一部分发送给您。他们可能会使用 AWS 支付密码学来生成此值或其他解决方案。
- 1.2 生成 KEK 验证响应
-
您的节点将生成 KEK 验证响应,输入为 KEK (r),并在步骤 1 中 KRs 提供。
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 和 KRs
-
您的节点将使用 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 发送 KRs 到节点 2
-
将发送 KRs 到节点 2。保留以 KRr 备日后验证。
- 2.3 节点 2 生成 KEK 验证响应
-
Node2 使用 KEKr 和 KRs,生成并将其发送回您的服务。 KRr
- 2.4 验证响应
-
比较步骤 1 KRr 中的值和步骤 3 中返回的值。如果它们匹配,请继续。