智能卡读卡器是否具有加密功能?

时间:2014-10-25 07:32:53

标签: smartcard javacard smartcard-reader contactless-smartcard

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

我想知道,加密操作在哪里完成?(卡片除外)在阅读器或计算机中?

我的意思是,读者是否进行加密操作?或者它只是USB / COM协议的转换器,用于卡用于传输数据的协议?

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

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

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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

  • 正如您所提到的,在您的应用程序中进行加密可确保易受攻击的设备通信仍然受到保护(除了处于中间攻击类型的人之外)
  • 通常Mutual Authenticate不仅可以执行身份验证,还可以协商从交换的随机数派生的会话密钥。因为存在相当多的不同方法,我不会依赖于制造商在屏蔽时加入正确的固件变体。

答案 2 :(得分:0)

事实上,有智能卡读卡器正在进行加密。例如,Reiner SCT舒适性能够在智能卡和智能卡读卡器之间创建一些安全消息(PACE,用于身份证和一些护照),使用自己的针垫从卡中收集凭证(某些针的值)持有人。所以...有针脚智能卡读卡器做一些加密。