0

对于我的硕士论文,我正在研究使用支持 NFC 的手机打开离线门锁的可能性。这些锁目前适用于包含授权数据的 DESFire 卡。此外,该卡还用于更新配置和获取锁的维护消息。目标是通过手机上的应用程序更新和从锁中读取这些信息,该应用程序通过互联网与外部服务器通信,最终使这些信息的交换更加高效。

目前,我认为让卡模拟工作的最佳选择是使用带有 NFC 和安全元件的 SD 卡。这提供了两种可能性:

1) 一种可能性是实现一个定制的模拟 DESFire 卡的 java 卡小程序。理论上,这应该是可行的,因为 DESFire 卡可选地支持 APDU (ISO7816)。

2) 市场上的一些 NFC SD 卡提供 DESFire 仿真作为 ROM。

我有以下问题:

  • 对于选项 1,我想知道如果离线锁定/阅读器使用 DESFire 'native' 命令而不是 APDU 启动通信会发生什么。是否可以从 java 卡解释非 APDU 命令?如果没有,这可能意味着它不起作用?

  • 是否可以在选项 2 中管理模拟 DESFire 卡的内容?我看到的 NFC SD 卡提供了一个专有的 API 来访问安全元件。它通过收发 APDU 来实现这一点。然而,在这种情况下,模拟的 DESFire 不是 java 卡小程序,而是一个 ROM,它可能支持也可能不支持与 APDU 的这种通信。

我知道这个问题与编程并不严格相关。但我发现 stackoverflow 上有相当多的人具有 NFC 相关主题的专业知识。事实上,我在这里找到了我的大部分信息。

谢谢

4

1 回答 1

1

为了回答 1,您需要仔细检查 ETSI 102 705 并查看 API 是否允许您处理 CLT 事件(较低级别的协议交换)而不是非接触式芯片。我认为这不太可能。

在选项 2 中肯定有一种方法来管理内容,否则建议的 desfire 仿真将完全没有价值,但这可能最终是部分专有的,或者需要大量的密码学工作,在这种情况下,您需要获得正确的密钥.

总而言之,如果我是你,我会使用 javacard 进行 ISO7816 (14443-4) 卡仿真,而忘记所有 NXP 专有的东西,这些东西是为了让你购买许可证和相关的软件解决方案而构建的。

于 2013-10-30T18:13:09.763 回答