使用 NFC 设备的非接触式 javacard 安全实现

Contactless javacard security implementation with NFC device

假设一名员工使用 NFC android 设备通过读取固定在墙上的非接触式 javacard 报告他的位置,每个人都可以访问。

  1. 员工用智能手机扫描 javacard,只发送一个时间戳
  2. 非接触式 javacard 接收时间戳,添加它的 UID 并使用存储的公钥加密并将其发回
  3. Android 接收加密消息并将其中继到持有私钥的服务器,(由于缺乏连接可能会留在队列中)
  4. 服务器解密消息并检查信息是否有效并返回报告。

双接口的 JCOP31 Java 卡是否足够匹配?

整个想法是不惜一切代价避免card/tag克隆。

我从未做过任何类型的 javacard 实现,很想听听您对这一系列事件和体系结构的反馈。

  1. 对于这个用例,签名实际上就足够了,因为你只需要一个真实的时间戳,但我想不需要加密。

  2. Oncard 密钥生成是执行此操作的正确方法。

  3. UID 可用于 jc-applet 中的 JCOP(jcopx,您需要询问 NXP 此功能需要哪个版本)。