通过OpenNFC实现的卡模拟技术

3

我目前正在研究在支持NFC的智能手机上模拟卡片的可能性。基本上,我想做的是使用手机作为可重构物理访问系统。通过阅读API,据我所知,卡片模拟是通过智能手机的天线和操作系统工作的,而不需要使用和依赖安全元素。但实际上我对此完全不确定。

有人能够通过Open NFC软件堆栈使用卡片模拟吗?对于这个问题,我彻底迷失了,因为它有非常混乱的文档风格,并且没有提供卡片模拟案例。

另外,如果有人能够使用它,我真的很想知道是否存在必须满足的手机要求。


我偶然发现了这个问题,因为(尽管现在Android 4.4及以上版本本地支持HCE,但)我正在寻找Android 4.3及更早版本的解决方案。 - ADTC
2个回答

1
在大多数Android手机上,卡模拟将被关闭。其中一些会被指向嵌入式安全元件(Google Wallet)或SIM卡(Cityzi和Quicktap钱包)。
OpenNFC提供了通过主机进行卡模拟的可能性(理论上),但可能会出现一些性能问题。
另一个问题是,大多数当前的Android手机都包括NXP芯片组,而OpenNFC无法驱动。
如果您想执行卡模拟,可以查看EasyNFC,它可以让您在SIM卡中构建一个NFC应用程序。

EasyNFC基本上是标准Eclipse IDE的扩展,使编写和测试Javacard应用程序成为可能。虽然这确实很不错,因为它是一个免费的替代方案,但如果您没有访问安全元素的权限,它并没有真正帮助太多。如果您与某些SIM供应商签订了合同,他们通常会有自己的IDE来处理此事。一个很好的例子就是Giesecke&Devrient,他们有自己的JCS套件和Sm @ rtcaffee(或者无论如何拼写)。 - Dekker
其中一些将被定向到嵌入式安全元件(Google Wallet)或SIM卡(Cityzi和Quicktap钱包)。您的意思是您刷入的ROM会影响这个吗?由Orange提供的ROM(以启用Quicktap)是否与Google Wallet不兼容? - Sam

0

看起来似乎没有人能给出明确的答案,但至少我通过其他渠道得到了答案。以下是我发现的内容。

基本上,OpenNFC软件堆栈是设计为通过硬件抽象层与任何硬件配合使用的。目前,这个HAL仅供他们自己的SecuRead和MicroRead芯片组使用。因此,开箱即用时无法使用它。

对于Android上的卡模拟情况:正如你们中的许多人所知道的那样,通常无法在没有安全元素的帮助下使用卡模拟模式。我正在寻找一种软件卡模拟可能性。这可以通过Cyanogenmod 1(有一些夜间版本已经激活了它,您可以通过检查此项目 NFCProxy 2 获取更多信息)来提供。最近(实际上就是我问问题的那一天),这些功能被移植到最新版本的Jelly Bean中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接