【问题标题】:Emulate DESFire card on NFC phone在 NFC 手机上模拟 DESFire 卡
【发布时间】:2013-10-30 13:45:22
【问题描述】:

对于我的硕士论文,我正在研究使用支持 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 相关主题的专业知识。事实上,我的大部分信息都是在这里找到的。

谢谢

【问题讨论】:

    标签: nfc mifare apdu


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢。我没有正确表达我的第二个问题。当然可以管理卡的内容,但我的问题是是否可以通过手机上的软件应用程序进行管理。你对“密码学的巨大努力”是什么意思?当我购买带有 DESFire 仿真的 NFC SD 卡时,我假设我知道卡的密钥,对吗?
    猜你喜欢
    • 2023-04-11
    • 2022-01-08
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 2011-09-30
    相关资源
    最近更新 更多