首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSR DUKPT的MAC变体?

MSR DUKPT的MAC变体?
EN

Stack Overflow用户
提问于 2015-08-05 19:30:44
回答 1查看 835关注 0票数 4

目前,我正在进行ChipCard EMV设备解密。下面是使用事务后的相关数据(TLV格式作为标记长度值):

代码语言:javascript
复制
<DFDF54> --- It means KSN
0A
950003000005282005B4 


<DFDF59>---- per instruction, it is called Encrypted Data Primative
82      ---- length of value in hex, when more than 255 degits, use 82
00D815F35E7846BF4F34E56D7A42E9D24A59CDDF8C3D565CD3D42A341D4AD84B0B7DBFC02DE72A57770D4F795FAB2CE3A1F253F22E0A8BA8E36FA3EA38EE8C95FEBA3767CDE0D3FBB6741A47BE6734046B8CBFB6044C6EE5F98C9DABCD47BC3FD371F777E7E1DCFA16EE5718FKLIOE51A749C7ECC736CB7780AC39DE062DAACC318219E9AAA26E3C2CE28B82C8D22178DA9CCAE6BBA20AC79AB985FF13611FE80E26C34D27E674C63CAC1933E3F9B1BE319A5D12D16561C334F931A5E619243AF398D9636B0A8DC2ED5C6D1C7C795C00D083C08953BC8679C60

我知道这个设备的BDK是0123456789ABCDEFFEDCBA9876543210。根据解密指令,它提到DFDF59包含以下标记:

代码语言:javascript
复制
FC<len>/* container for encrypted generic data */
    F2<len>/*container for Batch Data*/
           ... /*Batch Data tags*/
    F3<len>/*container for Reversal Data, if any*/
           ... /*Reversal Data tags*/

每条指令都提到了"MAC变体的MSR DUKPT",其中MAC表示消息认证代码,以及“通过TLV格式解析数据,对于加密的数据标签,使用TDES_Decrypt_CBC解密”。

我尝试使用3 DUKPT使用KSN、BDK和加密数据DFDF59。那是行不通的。解密领域的人能给我一些建议吗?我们的供应商非常不愿意分享他们的知识..。

我不知道MAC怎么真的在解密中扮演角色.我以为MAC只是个诚信检查..。我使用3 3DES的会话密钥,它是从KSN和BDK生成的。此方法适用于此设备中的其他解密,但不能解决DFDF59 (芯片卡EMV解密).这就是为什么我开始怀疑我是否使用了正确的会话密钥.你可以随便把想法扔出去。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-06-06 10:59:31

如果您仔细查看DUKPT内部组件,它将从当前的未来密钥和加密计数器中生成一个事务密钥。这个针对特定KSN的“事务密钥”有几个变体(这实际上只是您在事务密钥上设置的xor掩码,用于区分PIN、MAC req、MAC rsp、数据加密req和rsp用法)。这些变体意味着您使用不同的密钥来生成PIN,而使用不同的密钥来加密数据(因此不能使用ie。当能够任意选择数据缓冲区时,解密/攻击PINblock )。使用MAC变体只意味着对于加密操作,您将对DUKPT事务密钥使用特定的掩码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31841260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档