在这个安卓手机早就可以刷门禁卡的时代,为什么苹果在NFC方面一直不对外开放?会是什么原因呢?这次iOS13的升级,NFC会对外开放吗。
第一, Apple 设备上的 NFC 功能虽然不是完全开放, 但是相当一部分接口还是有的:
Apple Pay 对各个非接协议的模拟: FeliCa(ID/Suica/Octopus)/PBOC/Visa PayWave/Masterrcard/公交卡的 mifare classic
设备自身模拟 NDEF tag, 比如公司内部, 一些学校(好像重庆实验有)充当门禁卡
iPhone 7 及之后的设备在 iOS 11 可以读取 NDEF tag, iPhone 8/X 及之后的设备在 iOS 12 之后可以写入 NDEF tag, iPhone XS/XR 及之后的设备能在熄屏状态下读取 NDEF tag
至于为什么禁止所谓的小区门禁卡模拟, 原因很简单:
正常模拟 mifare classic 标签谁他妈改不可改动扇区
按照 mifare classic 的标准, 默认出厂的 tag 的 0 扇区不可更改, 这里主要保存的是 ID 之类的数据. 而因为这个扇区不可更改, 只要登记每个标签卡的 ID, 就能实现门禁卡的功能. 相对, 只要能够模拟/修改标签的 0 扇区就能成为门禁卡.
而 Android 本身 API 根本没有这种 break 标准的功能. 所以当初没这个功能的时候都是直接 hack 内核的 NFC 驱动实现的, 无非现在小米这样的厂商直接去改了驱动从而能实现这个功能的模拟...
不过说实话用 ID 卡也算是中国特色, 复制卡的成本极低, 而很多物业会收几十甚至几百的制卡费, 然而理论上这玩意成本就几毛钱一个标签, 妥妥的暴力.
如果要真的安全, 一方面我觉得小区门禁是个弱智玩意; 另外一方面用 ID 卡替代门禁钥匙意义也不是特别大, 老老实实多弄点大厦保安加强外来人员排查才是有效方法.
如果你是安卓用户,出门忘带小区门禁卡,没关系,手机NFC可以开门;坐地铁上班,发现实体卡的羊城通余额见底,不要紧,手机NFC可以充;外地出差去酒店开房,结果身份证落在家里了,不打紧,手机NFC可以证明。
既然手机NFC这么厉害,那为什么我的iPhone就不可以呢,难道苹果手机没有这项功能?
其实呢,iPhone也是有NFC的,只不过苹果没有全面开放这项功能罢了。
众所周知,安卓阵营引入NFC功能是在2010年,而苹果则是晚了4年,在2014年底才开始采用,即便如此,NFC在iPhone上也没有得到充分支持。
NFC硬件被添加到了iPhone 6和Apple Watch中,目的是为了实现苹果自己的无线支付解决方案Apple Pay,其他应用并不支持。
到了2016年,随着iPhone 7的发布,苹果才允许部分iPhone读取NFC标签,最后又花了三年时间,才在iOS 13上增加了NFC的编写功能。
这就反映了一个问题,iPhone卖这么贵,NFC已经是很成熟的技术,苹果为什么不全面开放这项功能呢?
限制NFC的开放,苹果找了个漂亮的借口
现在2019年马上就要结束了,然而iPhone和Apple Watch的NFC依然只能进行苹果支付。在国内,虽然iPhone钱包加入了北京和上海公交卡,但是其他地区并不支持。
这么多年过去了,苹果对NFC的态度让人不解。正当大家吐槽苹果封闭的时候,苹果官方给出了回应。
据外媒9to5mac报道,近日德国通过一项新法律强迫苹果开放NFC芯片。尽管法律条文上并没有提到苹果,但是条文内容有一句针对苹果Apple Pay的话,那就是“电子货币基础设施运营商应以合理的费用向竞争对手提供服务”。
上文有提到,从iPhone6和初代Apple Watch开始,苹果就将NFC芯片集成在了这两种设备中,并将NFC芯片完全锁定,只能用于Apple Pay。后来,苹果向部分第三方应用开放了NFC,但始终拒绝其他移动支付应用。