POS机如何验证工作密钥

2018-10-15  本文已影响0人  Jack_6a46

Pos机每次签到时,POS中心向POS终端下发新的工作密钥。
若62域的长度应该为24或40或60,否则认为格式有误。

单倍长密钥算法–域长度为24字节

对于单倍长密钥算法,前12个字节为PIN的工作密钥的密文,后12个字节为MAC的工作密钥的密文。其中,前8个字节是密文,后4个字节是checkvalue;前八个字节解出明文后,对8个数值0做单倍长密钥算法,取结果的前四位与checkvalue的值比较应该是一致的。

双倍长密钥算法–域长度为40字节

对于双倍长密钥算法,前20个字节为PIN的工作密钥的密文,后20个字节为MAC的工作密钥的密文。(16字节的密文+4字节的checkvalue);
而MAC工作密钥,前8个字节是密文,再8个字节是二进制零,后四个字节是checkvalue;前八个字节解出明文后,对8个数值0做单倍长密钥算法,取结果的前四位与checkvalue的值比较应该是一致的。

三个工作密钥–域长度为60字节

对于支持磁道加密的签到报文来说,62域的长度为60个字节,采用双倍长密钥算法,前20个字节为PIN的工作密钥的密文,中间20个字节为MAC的工作密钥,后面20个字节为TDK的工作密钥的密文。
对于“TDK工作密钥”来说,前16个字节是密文,后4个字节是checkvalue.前16个字节解出明文后,对8个数值0做双倍长密钥算法,取结果的前四位与checkvalue的值比较应该是一致的。

上一篇下一篇

猜你喜欢

热点阅读