0

据我们所知,智能卡使用相互身份验证方法来阐明卡和读卡器之间的安全性。

我想知道,密码操作在哪里完成?(除了在卡中)在读卡器还是在计算机中?

我的意思是,读者是否会做任何密码学操作?还是只是将 USB / COM 协议转换为卡用于传输数据的协议?

换句话说,我可以使用读卡器连接的计算机 USB 端口上的嗅探器检索卡和读卡器之间传输的 [加密] 数据吗?(确实,我需要从我在嗅探中看到的头部和尾部删除一些字节。但我还需要做任何加密功能吗?)

请注意,我需要在卡和读卡器之间传输的相同数据。而且我不想解密数据。

4

3 回答 3

3

那要看。对于基于内存的卡,可以在读卡器中完成很多事情。但是,如果通过 PCSC / ISO 7816-4 兼容的 APDU 访问卡,则所有加密通常由应用程序执行(这可能适用于您的情况)。

如果您想在不弄乱 USB 本身的情况下捕获这些东西,我建议将您的应用程序连接到虚拟智能卡读卡器,然后将 APDU 再次转发给真正的读卡器。您可以在此处获得有关如何执行此操作的提示。

于 2014-10-25T14:35:19.093 回答
2

我还没有遇到过做密码学的读者(除了 Mifare 和类似的),即使可能有专门的设备在做一些。我也不认为这是一个缺点,原因有两个:

  • 正如您所提到的,在您的应用程序中进行加密可确保易受攻击的设备通信仍然受到保护(除了中间人攻击类型)
  • Mutual Authenticate 通常不仅执行身份验证,而且还协商从交换的随机数派生的会话密钥。因为存在很多不同的方法,我不会在屏住呼吸的同时依赖制造商在固件中加入正确的变体。
于 2014-10-25T15:02:43.447 回答
0

事实上,有智能卡读卡器在做密码学。例如,Reiner SCT 舒适型能够在智能卡和智能卡读卡器之间创建一些安全消息传递(PACE,用于身份证和一些护照),使用自己的密码键盘从卡中收集凭证(某些密码的值)持有者。所以......有密码键盘智能卡读卡器做一些加密。

于 2017-01-31T23:06:32.343 回答