KEK 驗證 - AWS 付款密碼編譯

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

KEK 驗證

使用 AWS 付款密碼編譯之 PIN 應用程式的高階網路圖表範例

當您的服務 (node1) 連線到 node2 時,每一端都會確保使用相同的 KEK 進行後續操作,並使用稱為 KEK 驗證的程序。

1。驗證第一個金鑰的步驟

1.1 接收 KRs

Node2 KRs,並將其作為登入程序的一部分傳送給您。他們可以使用 AWS 付款密碼編譯來產生此值或其他解決方案。

1.2 產生 KEK 驗證回應

您的節點將產生 KEK 驗證回應,並將輸入做為步驟 1 中提供的 KEK(r) 和 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 傳回至 node2。該節點會將其與步驟 1 的計算值進行比較。

2.驗證第二個金鑰的步驟

2.1 產生 KRr KRs

您的節點將使用 AWS 付款密碼編譯產生隨機值和此值的反轉 (反轉) 副本。服務會輸出這兩個由 KEK 包裝的值 (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傳送至 node2

將 KRs傳送至 node2。保留 KRr 以供稍後驗證。

2.3 Node2 產生 KEK 驗證回應

Node2 使用 KEKr KRs、產生 KRr 並將其傳回給您的服務。

2.4 驗證回應

比較步驟 1 的 KRr 和步驟 3 傳回的值。如果相符,請繼續。