【问题标题】:MAC variant of MSR DUKPT?MSR DUKPT 的 MAC 变体?
【发布时间】:2015-10-28 17:53:54
【问题描述】:

目前我正在研究 ChipCard EMV 设备解密。下面是我使用交易后的相关数据(TLV格式为Tag Length Value):

<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 包含以下标签:

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*/

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

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

我不知道 MAC 如何在解密中真正发挥作用....我认为 MAC 只是一个完整性检查....我正在使用从 KSN 和 BDK 生成的 3DES DUKPT 会话密钥。这适用于该设备中的其他解密,但不能解决 DFDF59(芯片卡 EMV 解密)......这就是为什么我开始怀疑我是否使用了正确的会话密钥......随意只是把想法扔在那里。谢谢!

【问题讨论】:

    标签: encryption emv msr credit-card-track-data dukpt


    【解决方案1】:

    如果您仔细查看 DUKPT 内部结构,它会根据当前未来的密钥和加密计数器生成一个事务密钥。特定 KSN 的“交易密钥”有几个变体(实际上只是您放在交易密钥上的异或掩码,以区分 PIN、MAC 请求、MAC rsp、数据加密请求和 rsp 用法)。这些变体意味着您使用不同的密钥来生成 PIN 和不同的密钥来加密数据(这样您就无法在能够任意选择数据缓冲区时解密/攻击 PINblock)。使用 MAC 变体仅意味着对于加密操作,您将为 DUKPT 交易密钥使用特定掩码。

    【讨论】:

      猜你喜欢
      • 2013-02-22
      • 2020-04-30
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 2014-02-12
      • 2015-11-02
      • 1970-01-01
      相关资源
      最近更新 更多