生成 MAC - AWS 支付密码学

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

生成 MAC

Generate MAC API 用于验证与卡相关的数据,例如来自卡片磁条的跟踪数据,方法是使用已知的数据值生成 MAC(消息验证码),以在发送方和接收方之间进行数据验证。用于生成 MAC 的数据包括消息数据、机密 MAC 加密密钥和 MAC 算法,用于生成用于传输的唯一 MAC 值。MAC 的接收方将使用相同的 MAC 消息数据、MAC 加密密钥和算法来重现另一个 MAC 值以进行比较和数据验证。即使是消息的一个字符发生了变化,或者用于验证的 MAC 密钥不完全相同,生成的MAC 也会完全不同。该 API 支持用于此操作的 DUPKT MAC、HMAC 和 EMV MAC 加密密钥。

message-data 的输入值必须是十六进制数据。

在此示例中,我们将使用 HMAC 算法 HMAC_SHA256 和 HMAC 加密密钥生成用于卡数据身份验证的 HMAC(基于哈希的消息身份验证代码)。该密钥必须将 KeyUsage 设置为 TR31_M7_HMAC_KEY,并将 KeyModesOfUse 设置为 Generate。MAC 密钥可以使用 AWS Payment Cryptography 创建,通过调用 CreateKey 或调用 ImportKey 导入。

$ aws payment-cryptography-data generate-mac \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6 \ --message-data "3b313038383439303031303733393431353d32343038323236303030373030303f33" \ --generation-attributes Algorithm=HMAC_SHA256
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6, "KeyCheckValue": "2976E7", "Mac": "ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C" }