对于我的硕士论文,我正在调查使用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相关主题的专业知识。事实上,我在这里找到了大部分信息。
由于
答案 0 :(得分:1)
为了回答1,您需要仔细检查ETSI 102 705,看看API是否允许您处理CLT事件(低级协议交换)而不是非接触式芯片。我认为这不太可能。
在选项2中肯定有一种管理内容的方法,否则提议的desfire仿真将完全没有价值,但这可能最终成为部分专有,或者需要大量加密,在这种情况下你需要获得正确的钥匙。
总而言之,如果我是你,我会使用javacard进行ISO7816(14443-4)卡仿真,并忘记所有NXP专有的东西,这是为了让你购买许可证和相关的软件解决方案。