因此,我知道,在Android中,可以将智能手机配置为模拟模式,以模拟给定的NFC标签。我好奇的是,在NFC握手过程中,是否有办法通过某种唯一的id来识别NFC阅读器。
例如,假设我在一台日常basis...say上使用了几个与NFC兼容的标签,包括燃油奖励卡、工作安全徽章和主要品牌信用卡。有没有可能根据手机检测到的读卡器自动模拟正确的标签,以便当我点击加油站时,我的燃油津贴标签被模拟,当我在工作中点击传感器时,我的徽章被模仿,当我在任何零售店点击时,我的信用卡被模仿?
发布于 2012-08-08 16:02:47
简短的回答是:可能不会。读卡器没有唯一的ID。它们发出轮询命令,这些命令是标准化和固定的。
然而,非接触式智能卡系统通常是ISO 7816-4兼容的。它们在一张卡上支持多个应用。阅读器选择他们想要与之交互的应用程序的应用程序ID。因此,如果您所有的卡都是ISO 14443-4卡,并且兼容ISO7816-4,那么(理论上)可以将它们组合成一张卡,例如在NFC电话的安全元件中。
另一个流行的非接触式系统是MIFARE Classic。您的NFC电话中的安全元素也很可能模拟MIFARE Classic卡。这些卡不符合ISO 7816-4标准,但仍具有在单个卡上组合多个应用程序的方法(使用所谓的MIFARE应用程序目录)。因此,如果您的卡是ISO 7816-4兼容卡和MIFARE Classic卡的集合,理论上可以将它们组合在安全元素中。但是,MIFARE卡的内存有限,并使用密钥进行读写访问,因此您无法读取其内容。因此,即使理论上可以组合多个应用程序,但在实践中可能仍然是不可能的。
很可能,您的一个或多个卡不符合ISO7816-4标准,也不是MIFARE Classic卡,例如MIFARE Ultralight、DESFire或ICODE (仅举几例)。你可以用TagInfo这样的安卓应用程序来检查芯片的内部。
https://stackoverflow.com/questions/11856530
复制相似问题