【发布时间】:2019-09-04 10:01:36
【问题描述】:
我使用的是泰雷兹 Payshield 9000 HSM。到目前为止,所有命令都有效,一切都达到了我想要的。
现在的问题是在尝试更改 ATM 中的密码时。检查万事达卡文档时,生成了密码更改脚本,格式看起来没问题。
我们的 PIN 更改脚本如下所示:86158424000210PPPPPPPPPPPPPPPPMMMMMMMMMMMMMMMM 其中 16 个 P 字母是 DE125 中发送的 PIN 块,16 M 个字母代表 MAC。 (我屏蔽了它们,但下面将使用示例中的数据)
有了这个脚本,我这边看起来一切正常。现在我怀疑问题出在 MAC 生成上。
要生成 MAC,我们使用以下 HSM 命令:
- HA(生成 TAK(它是一个随机密钥,每次(每次 PIN 更改操作)我都调用此命令,密钥不同)) - 输入为:
key = PVK key (U+32Hex symbols under LMK),delimiter = ';',keySchemeTmk = 'U',@987654328 @;然后收到TAK密钥 - M6(生成 MAC) - 输入为:
modeFlag = 0,inputFormatFlag = 2,macSize = 1,macAlgorithm = 3,paddingMethod = 0,keyType = '003',key = 'Tak key from HA command',messagelength = '0030',@987654337(消息为像上面的屏幕截图一样连接:命令头 + ApplicationtransactionCounter + ARQC + PIN Block)(这里的消息数据来自屏幕截图中的示例)
所以,当执行这两个命令时,我收到了我需要的 16HEX 符号 MAC。所以脚本是这样准备的:8424000210 B3E1229A502C8926 422A8FF11056ACD4:header => 8424000210,pinBlock => B3E1229A502C8926和MAC => 422A8FF11056ACD4
当我去 ATM 并更改密码时,我的密码永远不会改变,我会收到撤销消息。
任何人都可以解释这些标志是什么,我不确定我应该使用哪些标志(命令 M6):
所以问题是:
- HSM 命令 M6 是否正确命令生成用于 PIN 更改/解锁脚本的 MAC?它需要 TAK 密钥,而 MasterCard 文档明确指出应该使用 SMI 密钥完成。
- 在尝试检索 MAC 哈希时,我的 M6 命令配置是否不正确?
更新
我设法让 KU 命令工作,它给我带来了响应,但 PIN 更改本身没有成功完成。下面我将向您展示我对 KU 命令生成的请求:
{
"mode_flag": "3",
"scheme_id": "1",
"mk_smi": "U25A22A6553A7F68ABACBD1E04BBD8889",
"pan": "7891234567891200",
"integrity_session_data": "55BFDC4F2903A392",
"plaintext_message_data_length": "0018",
"plaintext_message": "8424000210345755BFDC4F2903A392B3E1229A502C892680",
"delimiter": ";",
"confidentiality_session_data": "55BFDC4F2903A392",
"offset": "000F",
"cipher_text_message_data_length": "0008",
"cipher_text_message_data": "B3E1229A502C8926",
"delimiter2": ";",
"source_pin_encryption_key_type": "0",
"source_pin_encryption_key": "UBAAAA3488AA6AA564AAC8AA3AAC1AAA2",
"source_pin_block_format_code": "01",
"destination_pin_block_format_code": "35",
"pan2": "891234567891"
}
密钥和敏感数据被屏蔽,因此此处使用 PAN:5678912345678912 和序列号 000。对于第一个 pan 参数,使用的最后 14 个 PAN 数字 + 序列号的最后两个数字。对于pan2 参数,仅使用最后 12 位 PAN 数字,不包括校验位。
我是否使用正确的偏移标志将明文数据中的 PIN 块替换为新的加密 pin 块?
【问题讨论】:
标签: cryptography hsm emv mastercard