如果你厌烦了随身携带公交卡的话,NFC便可轻易将你从中解脱。通过用NFC绑定手机或者智能手表,你大可轻而易举地抛弃公交卡。NFC模拟公交卡的另一大优势是,同一部设备可以通过更换内部数据,模拟成不同城市的公交卡,甚至门禁卡、饭卡等卡片,从而完成一部设备在多个城市中使用的任务,这是两种方案最简单和本质的分别。也就是说,有了NFC,你可以轻易做到“一卡在手,天下我有”。
NFC技术 认识公交一卡通的第一步
第一部搭载NFC的手机诺基亚 6131 在 2006 年发布,第一台支持NFC的安卓手机则是 2010 年发布的 Nexus S。2012 年底,国产旗舰开始慢慢搭载NFC,苹果阵营则是在 2014 的 iPhone 6 开始搭载,而国内在 2016 年开始运营的 Apple Pay、三星智付、华为 / 小米支付等服务,算是NFC这么多年来最大规模的应用。
NFC全称 Near Field Communication(近场通信),从 RFID 和互连技术演变而来,在 2003 年由飞利浦和索尼联合研发。2004 年他们和诺基亚创立了用于建立和推广NFC技术标准的NFCForum 协会。时至今日,中移动、华为中兴、小米魅族、vivo、OPPO 等厂商都已经是NFCForum 的成员。
技术特性与优势:NFC工作于 13.56MHz,最大传输速度只有 424kbit/s,有效传数据率距离只有 10cm 左右(实际上公交卡和手机的NFC距离一般连 5cm 都不到),但它的优点是不需要麻烦的配对过程,就能直接读取和交换数据,可以理解为是用传输距离 " 换 " 耗电和安全性的互联技术。此外,NFC还有绝群的配对速度,配对速度小于 0.1ms(可以提升体验和安全性),作为对比蓝牙大约是 6 秒,红外需要 0.5 秒左右。
NFC标签、公交卡 / 门禁卡等被读的对象,通过线圈感应生电产生的电力驱动,所以无需电池,体型和重量都可以做得很小。而即便是工作在读卡器,因为射频工作距离很短,其所需的电量也很低,常开的电量消耗也远比蓝牙要低。
硬件组成:NFC硬件部分由 CLF(非接前端模块)、射频天线、SE ( Secure Element 安全区域)三部分构成。使用 CLF+ 天线即可完成常见的公交卡余额读取,而如果把手机 / 手表模拟成公交卡(空中发卡和充值)就需要 SE 部分的加入。而我们在外面看到的,则是芯片 + 线圈的结构(拆开公交卡和闪付银行卡,里面也是这两个基本构成)。线圈一般会安装在背壳或贴着电池放置,一般都是通过手机背部进行NFC的感应。
工作模式与用途
NFC有主动、被动、双向 3 种工作模式,分别对应手机和智能手表 / 手环中的读卡器(如手机读取公交卡余额)、卡模拟(如手机模拟公交卡、门禁卡)、P2P(即类似蓝牙那样点对点数据传输)三种工作模式。对应NFC的 3 种工作模式,NFC的用途,按照应用范围从小到大,大概分为下面 3 大类:
双向(P2P 点对点数据传输模式):主要是点对点的数据传输,优势是近距离靠近即可完成配对,省去密码输入。在 Android 4.0 的时代加入的 Android Beam,技术原理是两部NFC手机之间,通过NFC对两部手机的蓝牙进行初始化连接(NFC基本是用来负责传输配对信息),然后相互传输网址、联系人、图片、音乐、视频等数据和文件,通过第三方 app 可以完成 wifi 密码、地址等其他类型的数据分享。
三星的 S Beam 则是通过把蓝牙传输改为 wifi 传输,虽然只能在三星手机之间使用,但速度因此大幅提高。另外一个比较特殊的用法,是索尼相机 / 音箱等产品常见的NFC配对,同样是通过NFC进行传输协议和信息的传递,以完成快速简单的配对。但无奈NFC的普及率太低,以及微信等通讯软件的强大,这个功能对于 99% 国内用户都没有实际价值。
手机查看公交卡余额的功能早在 2012 年就有了
主动(读卡器模式):NFC兼容符合 ISO7816-3 / ISO15693 / FeliCa(索尼提出的标准,日本应用较多)PBC2.0(中国人民银行的第二代金融 IC 卡规范,主要用在银行卡上,闪付卡的电子账户部分就是这种)等标准,可以读取大家常见的公交卡、卡片式的一次性车票、银行卡、门禁卡、校园卡和NFC标签等产品中未加密的余额、交易记录等信息。
现在看回来相当鸡肋的NFC标签
当中的NFC标签曾经火过一段时间,除了部分早期NFC手机会配送几块可以自行读写的NFC标签外,部分厂商甚至制作了NFC戒指等智能产品。它本质上是记录了网址、号码等简单文本信息的NFC塑料片,可以用来切换碰一碰切换手机的模式、开启某些功能、打开网址之类的。对于大多数人来说,这个读卡器模式的最大用途,只是读取公交卡余额而已。
被动(卡模拟模式):顾名思义,就是让手机 / 手表的NFC模拟 / 伪装成上面说到的各种NFC兼容标准的卡片。这也是整个NFC领域,应用最广泛、最被看好的用途,当中包括把手机 / 手表模拟成门禁卡、公交卡,进行银联闪付、Apple Pay、三星智付、华为 / 小米 Pay 等。出现时间更早,但名声要小很多的 HCE 闪付(Android 4.4+NFC+ 银行 app 即可使用)也是其中之一。
NFC模拟门禁卡等IC卡
门禁卡可以粗略分为IC卡和 ID卡两种,简单的门禁卡,手机 / 手表也能读取和NFC模拟它的 UID,就能代替卡片了。复杂的门禁卡,包含 UID、sector、keya/b、data 等数据,当中的加密内容是无法模拟的。可以配合 TagInfo 等 app 尝试读取卡片的 UID 进行尝试。
NFC模拟公交卡
为了方便,为了少带一张实体卡,我们可以选择把实体卡塞到手机壳,高端点的甚至可以肢解公交卡,再把芯片和线圈塞到手机壳或后盖里(如果手机还能开后盖的话)。而市面上有不少智能产品,也以 " 异形卡 " 的形式内置了公交卡。
2015 年集中出现过一批类似刷刷手环等支持某些城市公交卡的产品,像 StarWrist 智能手表、握奇 Sharkey 智能手表、老虎鱼手表和兴业银行推出的兴动力支付手环(它还支持闪付),估计很多人连听没听说过。这些方案的最大缺点是需要额外买个智能设备,其次是在国内这种几乎大城市都有自己的公交卡的环境下,城市间的公交卡并不通用,这直接导致这类产品有岭南通、一卡通等版本,而且无法在对方的领域使用。
而NFC模拟公交卡的优势是,同一部设备可以通过更换内部数据,模拟成不同城市的公交卡,甚至门禁卡、饭卡等卡片,从而完成一部设备在多个城市中使用的任务,这是两种方案最简单和本质的分别。但最遗憾的地方是,两种方案都得再开通一张公交卡 ……
开通虚拟公交卡后的 Ticwatch 2NFC
开通时间与费用:华为 Pay 的公交卡功能在 16 年 8 月底公测,暂时只支持上海;小米 Pay 在 9 月 1 日正式开通,宣称支持 34 个城市一卡通,是现在支持数目最大的一个,但部分标注城市和部分机型还没开通;三星智付的公交卡,在 16 年 12 月正式上线,暂时只支持北京和上海。在服务开通初期,三星和小米分别有过 1 元和免费的开卡优惠补贴,现在的开卡费用一般在 20-29 元之间。
支持设备:市面上大家看到的三星智付 / 华为 Pay/ 小米 Pay,都有公交卡的模拟能力,3 家厂商支持的手机型号可以在各自查询。最新的银行和公交卡支持一般会先在论坛和开发版系统中出现,感兴趣的用户可以去各家论坛翻看。
除此之外,一加 3 在氢 OS 公测第六版系统之后,也支持北京一卡通,它和小米用的都是雪球科技的方案。智能产品方面支持NFC模拟公交卡的,现在只有出门问问的 Ticwatch 2NFC(现只支持北京一卡通和深圳通),2 月底推出的华为 watch 2 或许也会搭载。而三星刚推出的 Gear S3 系列是支持三星智付的,但国内还没有为它开通公交卡服务。
充值与查询:这些设备模拟的公交卡,除了可以在自己的 app 上查询余额和充值外,都和实体卡一样,可以通过别的NFC手机进行读取余额和查询交易记录的操作,用深圳的 " 鹏淘 " 和北京的 "e 乐充 ",甚至支付宝的城市一卡通(但它的兼容性问题较多)进行充值。
限制与用途:出于公交卡发行商和银行那边的安全考虑,公交卡和银行卡,绑定的都是硬件,而不是用户账号。一旦开通,公交卡就和手机本体绑定了,刷机后公交卡还会在,但换机之后公交卡也无法跟着账号一起转移到新手机了。最遗憾的是,无论采用实体卡还是NFC模拟卡的方案,都无法绑定原有公交卡,得重新开通新的公交卡,而且也是不支持退卡的。
另外一个 " 限制 " 则是来自于公交卡本身,这种需要稳定快速工作的工具,充值和上车打卡时就会对内部数据进行擦写,无需联网,也无需记名认证,也没有挂失之说。它就像纸币一样,丢了就真的丢了,无论是谁,捡起来就可以直接使用。