转换 PIN 数据 - AWS 支付密码学

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

转换 PIN 数据

转换 PIN 数据功能用于将加密的 PIN 数据从一组密钥转换为另一组密钥,而加密数据不会离开 HSM。它用于 P2PE 加密,其中工作密钥应该更改,但处理系统不需要或不允许解密数据。主要输入是加密数据、用于加密数据的加密密钥以及用于生成输入值的参数。另一组输入是请求的输出参数,例如用于加密输出的密钥和用于创建该输出的参数。主要输出是新加密的数据集以及用于生成该数据集的参数。

注意

AES 密钥类型仅支持 ISO 格式 4 pin 块

从 PEK 到 DUKPT 的 PIN

在此示例中,我们将使用 ISO 0 PIN 块将 PIN 从 PEK TDES 加密转换为使用 DUKPT 算法的 AES ISO 4 PIN 块。通常,此操作可能是反向进行的,即支付终端对 ISO 4 中的 pin 进行加密,然后将其转换回 TDES 进行下游处理。

$ aws payment-cryptography-data translate-pin-data --encrypted-pin-block "AC17DC148BDA645E" --incoming-translation-attributes=IsoFormat0='{PrimaryAccountNumber=171234567890123}' --incoming-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt --outgoing-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/4pmyquwjs3yj4vwe --outgoing-translation-attributes IsoFormat4="{PrimaryAccountNumber=171234567890123}" --outgoing-dukpt-attributes KeySerialNumber="FFFF9876543210E00008"
{ "PinBlock": "1F4209C670E49F83E75CC72E81B787D9", "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt", "KeyCheckValue": "7CC9E2" }

从 DUKPT 到 AWK 的 PIN

在此示例中,我们将 PIN 从 AES DUKPT 加密 PIN 转换为在 AWK 下加密的 PIN。从功能上讲,它与前面的示例相反。

$ aws payment-cryptography-data translate-pin-data --encrypted-pin-block "1F4209C670E49F83E75CC72E81B787D9" --outgoing-translation-attributes=IsoFormat0='{PrimaryAccountNumber=171234567890123}' --outgoing-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt --incoming-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/4pmyquwjs3yj4vwe --incoming-translation-attributes IsoFormat4="{PrimaryAccountNumber=171234567890123}" --incoming-dukpt-attributes KeySerialNumber="FFFF9876543210E00008"
{ "PinBlock": "AC17DC148BDA645E", "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt", "KeyCheckValue": "FE23D3" }