[多图长文]接触:移动支付101_电子商务 – 支付平台_cnBeta.COM

把手机当作银行卡刷,手机里的钱是什么样的?从哪里来?到哪里去?这些问题可能你打10个955xx客服电话都搞不清,本文将抽丝拨茧地介绍手机支付的台前幕后,让你能在收银小妹面前露出神秘微笑,哔哔两下绝尘而去。

Apple Pay Samsung Pay各种Pay到底谁厉害?我的千元国产安卓也可以Pay吗?

刷信用卡有积分可以薅银行羊毛,刷手机有积分吗?我能在哪些地方刷?

签名密码加指纹,我该如何保护手机支付安全?手机掉了怎么办?

不想把精致小巧的iPhone 5/5c/5s换成单手拿不住的iPhone 6/6s,老手机有没有办法一样炫酷起来?


你可能需要有的使用经历:

校园卡或者公交卡

银行卡(储蓄卡或信用卡皆可)刷卡支付

支付宝或微信支付

在线购买电影票并在自助取票机取票


一些下面会反复提到的缩写:

SE:Secure Element,安全元件。手机中的一块独立芯片,被硬件级别的加密保护着,其中的信息无法被破解或非法读取。

NFC:Near Field Communication,近场通讯。非接触式连接技术的一种。

PAN:Primary Account Number,主账号。一般指银行卡号。

PIN:Personal Identification Number,个人身份识别码,一般指密码。

CVM:Cardholder Verification Method,持卡人身份验证手段,签名、密码、指纹等都是属于CVM。

POS:Points Of Sales,零售店电子转账终端,就是商家的刷卡机啦。每台刷卡机对应着商家在某个银行的一个账户。实际上每一笔刷卡交易银行都会收取一定比例的手续费,这也是一些商品购买时如果刷卡要多付几个百分点的原因。

Token:令牌,用于代表用户已通过身份验证的东西。比如乘火车时,乘务员会要求你出示火车票(相当于用户名)和身份证(相当于密码),确认无误会换给你一个卧铺的铁牌。持有此铁牌,就意味着乘务员已经验证过车票和身份证了。Token技术其实在互联网领域很常见,比如你用浏览器登录邮箱、微博之类的网页勾选了“记住密码”,那么服务器在验证了你的帐号和密码之后会生成一个字符串存在你的浏览器里,这个字符串就是Token。不管你刷新网页、重启浏览器甚至重启电脑,只要浏览器出示这个字符串给服务器,服务器就会认为你已经通过了账号和密码验证,允许你进行登录后的各种操作。


A.在电子世界,钱的本质只是数据库中的一个数字


在一开始,让我们假设这样一个平行宇宙,在这个宇宙的地球上只有一家银行。在这种情况下,所有消费者的信用卡、储蓄卡和所有商家的POS机都属于这家银行。而这种情况下,每个人的账户实际上是这家银行数据库中的一行,而某个账户内的余额/剩余额度则是这一行中其中一项。在这种情况下,交易的进行非常简单,当某个消费者在某个商家处买了10元钱的东西并刷卡付款时,银行只需要将该消费者账户上的数字减10,然后把这个10加到商家的账户数字上就可以了,数据库的数值之和保持不变。

信用卡交易流程

而我们身处的宇宙显然复杂得多,地球上存在着数不清的银行,每家银行都有自己独立的数据库。这时,持有A银行信用卡的消费者要在某商家消费,而该商家的POS机对应商家在B银行的账户,那么A银行就必须和B银行沟通,A银行从自己的数据库中扣掉相应的数字,然后B银行在自己的数据库中增加相应的数字,然后两家定期结算(比如一天一次),真实的钱才会在银行间转移。而地球上那么多银行,让银行彼此之间点对点地沟通显然是不科学的,于是信用卡组织这个机构充当了银行之间的交流桥梁,A银行只需要和信用卡组织沟通,然后让卡组织传达给对应的银行就可以了。常见的信用卡组织有Visa(维萨)、MasterCard(万事达)、AE(American Express,美国运通)、JCB(Japan Credit Bureau,日本信用卡株式会社)和中国的银联(UnionPay)等。

缩写说明中提到的刷卡手续费,实际上会在消费者的发卡行(A银行)、商家的POS机收单行(B银行)和卡组织之间按照一定的比例瓜分。比如刷卡手续费是0.1%,消费者刷卡1000元,商家实际上只能从银行拿到999元,剩下的一元手续费中7毛归发卡行,2毛归收单行,1毛归银联。


B.卡片的本质是虎符


银行发出的卡数量巨大,如何确定某笔交易要记在哪个人的账上呢?这就需要PAN来发挥作用,也就是你的卡号;而如何验证要求把这笔交易记在你账上的人是你本人呢?这就需要只有你知道的信息——PIN,也就是密码来验证了。这两个概念类似于QQ号和密码,在互联网时代很容易理解了。

假设不存在银行卡这种实体,那么你在消费时就要输入冗长的银行账号外加密码,不仅十分不便,更是十分不安全:银行账号作为一串信息可以很轻易地被别有用心的人记录和复制,从而发生盗用的情况。想象你身边,QQ号被盗的情况肯定不少见吧?而银行卡的意义就在于此:卡片作为实物,被盗取和复制的难度要远大于记住一串数字。制作一张银行卡,上面印有你的独一无二的PAN,那么这张卡片就成为你的账户所有人身份的实体证明。

手工压单机

手工压单的账单

在最开始,银行卡的使用并不是刷卡的。没有磁条的时代,银行卡只是一个塑料片,上面有凸起的卡号。消费时,商家把卡片放在自带复写性的账单下用机器压过,卡片上突起的卡号就会拓印在账单上,经由持卡人签名后账单即生效,商家拿带有签名的账单去持卡人的开户行就可以换成钱了。这也是为什么现在大部分银行卡都用印刷卡号取代了凸起的卡号,因为手工压单的记账方式已经被淘汰啦。

既然银行卡代表了账户所有权,那么保证这张卡片的唯一性和不可复制性就变得非常重要了。实体的塑料片虽然不那么容易复制,但也并不是完全不可能的(只要做出对应的模具就可以了),而卡号信息就明明白白的在卡上呢。于是紧接着,磁条卡取代了这种银行卡。

磁条信息存储格式

就像磁带一样,磁条用磁迹代表信息,比如某个位点上有磁性是1,没有磁性是0,那么一连串10组成的二进制字符就可以用来存储信息了,上面就是我国磁条卡存储信息的格式,其中的主帐号就是最重要的PAN啦。银行卡的磁条需要对应的刷卡机才能读取,因此大大增加了卡片的复制难度。但道高一尺魔高一丈,市面上又出现了磁条复制器,它同样可以读取磁条信息,将读取的信息按照相同的规则写到空白磁条中,一张复制卡就被制造出来了。现在ATM机的插卡口都装有一个奇怪的嘴巴,就是为了避免坏人在上面安装磁条复制器盗取消费者的银行卡信息。

芯片卡标准样式

技术继续进步,半导体技术的发展使得集成电路越做越小,小到可以做成一张小小的金属芯片贴在卡片上,这就是IC卡(Integrated Circuit Card,集成电路卡),上面的金属片实际上是一个微型计算单元,可以像计算机一样进行一些简单的运算。IC卡的应用相当广泛,最典型的比如SIM卡就是其中一种。IC卡这种形式也很快造福了银行业,Visa、MasterCard等卡组织联合起来制定了新的银行卡标准,名为EMV(EMV是当初参与制定标准的三家卡组织首字母缩写:Europay、MasterCard、Visa)。在国内,银联也推出了类似的自主标准,名称为PBOC(中文名叫《中国金融集成电路(IC)卡规范》,大概是The People’s Bank of China 中国人民银行的缩写?),这种IC银行卡在国内被称为「芯片卡」。

由于芯片是计算单元,因此可以在内部定制一些算法,在每次交易的时候生成一个一次性的随机数,当作加密PAN的密钥。这种算法由于是固化在芯片上的电子线路,每张卡片都不同,并且只有发卡的银行才知道。进行交易的时候,加密后的PAN传输到银行,银行会用相同的算法生成密钥,把加密信息解码转换成真实的卡号。得益于加密和动态随机数,EMV芯片卡几乎无法被破解、复制,达到了相当安全的程度。

挥卡闪付示意图

既然芯片上是一个拥有计算功能的单元,那么就可以用它实现更多的功能,就像智能手机可以装很多App一样。在EMV和PBOC中都规定了芯片卡的更多用法,比如芯片中可以同时存储多个卡号,除了银行卡PAN之外还可以记录社保帐号、医保帐号等,甚至可以用作门禁卡。银联在最开始推出的「挥卡闪付」,实际上就是在芯片中设立一个单独的子账户,银行允许POS在读写这个子账户的时候不必与银联进行通讯验证(即离线交易),因此这个子账户没有密码,也因此有额度限制(子账户上最多可以放1000块)。钱从银行账户转到这个子账户上需要通过ATM圈存,就像你把银行卡里的钱圈存进校园卡或者公交卡一样,圈存的时候需要在ATM上输入交易密码。之后就可以在支持NFC的POS机上像刷公交卡一样刷卡付费,钱会直接从这个子账户扣除,不需要密码。由于子账户里的钱在圈存的时候已经验证过交易密码了,因此不存在卡丢了被别人捡到,先转到子账户再花掉的情况。你可以这样想:你的公交卡和银行卡放在一起,然后两张一起掉了,捡到的人能把银行卡里的钱转到你的公交卡里,然后刷公交卡花掉么?显然是不能的,因为别人不知道你银行卡密码呀……


C.验证持卡人身份的方式从签名进化到密码,现在又有了指纹


银行卡交易安全中有两个重要的概念,叫做“盗卡交易”和“伪卡交易”。伪卡交易指的是坏人复制并伪造别人的银行卡拿去消费,这种情况在芯片卡的安全机制下基本不可能了。而盗卡交易则是指坏人偷走消费者的银行卡,用这张真实的卡去消费。为了避免这种情况发生,银行就要求在进行交易时验证持卡人身份,这就是CVM的作用了。

信用卡背面

国外有着悠久的信用卡使用历史,在最开始的银行卡是没法输密码的(就是前面的手工压单啦),所以签名是主流的验证方式。这就是卡片背面那个「持卡人签名」区域的作用:办理银行卡的时候需要持卡人本人在这里签名,而持卡进行消费时,商家有责任对比账单上的签名是否和卡片背面的签名相似,如果不同商家可以拒绝接受;如果坏人盗用别人的银行卡进行消费而商家没有核对签名,持卡人在收到银行的月结账单时可以要求核对这笔交易的签名,如果签名不是自己的可以拒绝支付,银行就不会把这笔交易的钱给商家。而我国信用卡业务起步较晚,因此直接一步到位使用了密码(PIN)作为验证手段。这也是为什么各种信用卡攻略建议大家不设密码的原因,因为原则上密码是你自己设的只有你自己知道,而商家是无法在这笔交易时验证知道这个密码的人是不是你本人,所以万一被盗刷责任都是你自己哒。

支持指纹验证的ATM

而随着技术的发展,更难破解而且使用更方便的指纹也成为新的验证方式。在盗刷现象严重的巴西,指纹已经成为相当普遍的身份验证手段,成为金融安全的有力保障。详细情况可以听听第183期《IT公论》播客:http://ipn.li/itgonglun/183/ 这里需要补充的是,上一篇我说指纹其实不比密码安全,而这里又说指纹比密码更可靠的原因有二:1.手机上的指纹识别其实是把密码用指纹保护起来,最终实际的身份验证过程还是验证密码,只是增加了一道环节,而多一道环节就多一道风险;巴西的银行业则是银行端知道你的指纹信息,在交易时直接验证指纹是否相符,而银行可以使用更严格的指纹对比算法让指纹被蒙对的概率小于密码被蒙对的概率。2.密码在发生泄漏后可以修改,而指纹是不可改变的,因此一旦指纹泄漏后的损失更严重;但在ATM上盗取密码远比盗取指纹简单(安装一个针孔摄像头或者在键盘上装一个密码记录器就可以了),而一个可以高精度读取指纹同时还不影响ATM机本身指纹识别功能的指纹盗取设备制造难度非常高。


D.磁条、接触式芯片、NFC、二维码和数据线都是通讯方式


可以同时接触式与非接触式读取的芯片卡及其内部构造

三星S6有两种充电方式,可以接数据线充电,也可以用无线充电。无论哪种方式,电量都是输入到同一块内置电池中。类似的,EMV/PBOC规范中也包含了POS机与卡片中芯片通讯的两种方式:接触式的插卡读取,由读卡器直接接触芯片为其计算供电,同时与其通讯;非接触式的无线读取,读卡器产生磁场,磁场在卡片内的线圈内感应生成电流,线圈连接着芯片,电流驱动芯片进行计算,计算结果再通过操纵线圈的电流变化产生电磁波,进而与读卡器通讯。这种无线的通讯方式就是被称为NFC的技术。打开支持NFC功能的手机,你会发现它的背面同样有一些线圈,这些线圈就是用来产生与读卡时类似的电磁波,进而进行通讯的。

无论接触式还是非接触式,进行运算的是同一块芯片,因此对于银行来说是一样的。而NFC这种无线通讯方式相比之前的芯片直接接触更方便,并且可以兼容手机,因此成为新的推广热点。各大卡组织都给这种新的刷卡方式起了洋气的名字,比如Visa的叫payWave,MasterCard的叫payPass,而银联的则叫做QuickPass(闪付)。

扫扫看;)

二维码和磁条有些类似,磁条是把信息通过一定的规律变成磁迹,而二维码则是把信息变成图形。读取磁条是通过读卡器读磁迹,然后转换回原始信息,而二维码则是通过摄像头读取图形,然后转换回原始信息。这些都只是通讯的渠道而已,对安全性起决定性作用的,还是通过这些通讯渠道传输的数据是如何被保护的。


E.刷手机支付的关键是如何在手机中存储银行卡信息


用一张表格来简单总结一下前面的内容:

既然银行卡只是一个存储着PAN信息的芯片,那么只要把PAN信息存储到手机里,手机就变成银行卡了。那么问题就来了:首先为了避免PAN在传输过程中泄露,必须要将其加密,而解密的方法只能由手机和银行两方知道;其次PAN信息在手机中存放必须要保证安全,不能被别人偷走;再有就是手机内存储的PAN信息以何种方式和POS机沟通。这就是NFC大显身手的地方了。

手机NFC的三种模式

手机上的NFC功能一共有三种模式,与手机支付相关的只有一种,就是卡模拟模式(Card emulation mode) 。在这种模式下,手机会通过NFC线圈以类似NFC芯片卡的方式与POS机通讯,POS机会认为手机是一张银行卡。而用于代替银行卡芯片的,就是手机中的SE(安全元件)了。SE可以像EMV芯片一样存储PAN信息,以及在交易时生成用于加密PAN信息的动态随机数。和银行卡不同,手机的功能更丰富,也就有更多被破解(比如越狱、Root等)的可能,因此SE被设计为与手机系统完全独立而且以硬件级别的加密保护,无法被系统以任何方式读取,以此来保护其中PAN信息的安全。即使真的有人破解了SE、提取了其中的PAN信息也无法使用,因为SE生成动态随机数的算法和EMV芯片一样是固化在芯片中的电子线路,每张芯片、每块SE都不同,而且这个算法只有被银行认可才有效。而SE芯片也是要单独花钱买的,根据愿意掏钱的厂商不同,手机内置SE的方式有三种方案:

eSE(embedded Secure Element,嵌入式安全元件)。这种方案把安全元件安装在手机内部,主板上,成本自然由手机制造商承担。Apple Pay、Samsung Pay是这个方案。银行在允许手机的eSE存储PAN信息之前,必须要检测SE的安全性是不是万无一失的,而检测结果只对单一机型有效。像Apple这种一年只一款机型的厂商还好,像三星这种采取机海战术、一年几十款新机的厂商就需要逐一送审,进程非常缓慢。(这也是为什么目前Samsung Pay只支持Galaxy S旗舰系列的两款产品的原因,其他机型要等银行慢慢审核)。

TSM(Trusted Service Manager,可信服务提供商)。这种方案把安全元件安装在可替换介质中,然后将介质插入手机。典型的介质是SIM卡和MicroSD卡。三大运营商在推广的手机钱包就是采用这种方案,印着NFC-SIM字样的SIM卡即为内置SE的SIM卡。这种方案同样需要运营商把SIM卡芯片送到银行检测,因此普及也很艰难。

HCE(Host-based Card Emulation,基于主机的卡模拟)。前面两种方案都需要银行以外的厂商参与,普及非常地缓慢和高成本。于是在Android 4.4推出的时候,Google提出了一种名为HCE的技术方案。HCE只需要银行在自己的服务器上进行技术部署,在交易时向手机的银行App下发一次性的交易信息,完全不需要手机制造商以及运营商参与,因此推广的速度和普及的成本都明显优于另外两种方案。

手机支付方案示意图

用一个粗劣的比喻来解释这些方案的原理:把PAN信息看作是一张银行卡,那么前两种方案是,在手机上绑定银行卡时,银行直接把银行卡交给SE,中间不经过任何第三方(系统也不知道银行给了SE东西);当需要进行交易时,SE会把卡放进保险箱,然后经由POS送给银行;保险箱的密码只有SE和银行知道,因此银行收到保险箱后可以打开保险箱,对银行卡进行记账操作,然后向POS机返回扣款成功的通知。而后一种方案是,在手机上绑定银行卡时,手机里的银行App在银行那里登个记,银行给App一个保险箱,系统知道这个保险箱但打不开;当需要进行交易时,银行会按照登记信息向App下发对应的一次性的临时密码用于打开保险箱,里面仍然是一个打不开的小保险箱。App把小保险箱经由POS机送给银行,银行打开这个小保险箱取出银行卡,对银行卡进行记账操作,然后向POS机返回扣款成功的通知。

由于HCE方案需要手机从银行服务器获取一次性的解密密钥,并且获取到的密钥在超出有效期后会失效(比如银行设定有效期为24小时),因此在进行交易时需要手机可以上网。不过银行也可以自行定义密钥的有效期,并且可以一次向手机发送多个一次性密钥(比如一次发送三枚密钥,有效期分别是12.24当天、12.25当天和12.26当天),那么手机就可以进行最多三次、最长3天的离线支付了。

到这个阶段为止无论是eSE、TSM还是HCE,这三种方案都只是把手机当作银行卡。在使用手机支付的时候相当于原先的刷卡支付,因此还是需要延续对应银行卡所采用的CVM(签名或者密码)。想想看这是是多麻烦的体验:消费的时候刷了手机还要在POS机上输密码,那还不如直接刷卡呢……


F.Tokenization(令牌化)拯救了手机支付


尽管芯片卡和SE几乎不存在被破解的可能,但万一真的发生了就必须作废PAN换一个新的,连带用户需要更新所有绑定了这个卡号的登记信息(比如要和公司沟通登记新的卡号作为工资转入卡、需要和水电煤公司更新账单自动扣款的卡、需要在支付宝和微信之类的支付渠道重新绑定新的卡等等)。并且在用手机支付的时候还要输密码实在太麻烦了,有没有什么方法可以保护如此重要的PAN,并且提升手机支付的便利性呢?这就轮到文章一开始说的Token出场了。

如果可以用某个特定的数字序列代替PAN+PIN,那么手机送出这串序列就会被银行认为等同于刷卡+输密码,从而不需要再在POS输入密码。银行收到这个序列会翻译成对应的PAN进行记账操作,而整个支付流程中除银行以外的环节完全无法获知真实的PAN,实现了最大限度的安全。这样同时解决了PAN和CVM两个方面,真正让手机支付变得可用。

这种技术叫做Tokenization(令牌化),是由EMVCo机构在2014年加入EMV规范的。应用这项技术之后,手机绑定银行卡时,银行向SE发送的不再是真实PAN信息,而是一个由银行生成的、价值等同于PAN+PIN的特定数字序列,这个序列就是Token(令牌)。这个序列在银行内部会被翻译成某个银行卡号,但在银行以外的环节中则只是一个无意义的数字。而由于这串序列是银行生成的,银行可以自行决定它的有效性,通过加上一系列限定来增强安全性,比如限定这串序列只在开户行所在城市的POS上有效,只能在大商场的POS机有效,只能用于线下的实体交易,有效期只有一个月过期自动失效等等,相比PAN要灵活得多。

举个粗劣的例子:你用豆瓣帐号买一张电影票,得到一串序列号。在取票机上输入这串序列号,豆瓣的服务器就知道是哪个账户买了什么票,从而吐票给你,整个过程中除了你和豆瓣服务器,没有任何人知道你的豆瓣账号和密码是多少。而如果不幸这个序列号被别人知道了,你只需要联系豆瓣,豆瓣的服务器会自动作废这个序列号,并且生成新的序列号给你。同时如果你买了多张票,豆瓣也可以生成多个序列号。也就是说,一个银行账号可以对应不止一个Token,而Token的启用与作废对原卡号没有影响。

Tokenization可以和前面三种手机支付安全方案任何一种搭配,只需要银行在手机绑定银行卡的时候把下发给手机的信息从PAN换成Token就可以了。银行会把下发的Token信息和设备绑定,一个Token只有由绑定的设备送出时才会被认为有效,并且在送出前同样会经过SE产生的随机数加密,因此即使万一别人偷走了Token也完全没有任何用处。在手机新增绑定银行卡的时候,银行会通过PAN+手机号+短信验证码验证这项操作是由持卡人要求的(在支付宝、微信绑定过银行卡的你一定不会陌生这个步骤),因此安全性有保障。


G.最终的手机支付流程:与刷卡体验一致,但比刷卡支付安全


银行卡的支付流程是这样的:消费者刷A银行的卡,加密的PAN和PIN经由商家的B银行POS机传输到B银行,B银行转给卡组织,卡组织向A银行提出扣款申请,A银行确认扣款,扣款成功的信息回传给POS机,POS机打单。

而手机支付的流程是:消费者刷绑定了A银行卡的手机,手机送出来自本地SE或者云端SE的加密Token信息,经由商家的B银行POS机传输到B银行,B银行转给卡组织,卡组织将Token翻译成卡号,然后向卡号对应的A银行提出扣款申请。A银行可以直接确认扣款(或者向POS机要求PIN进行二次验证),扣款成功的信息回传给POS机,POS机打单。

而在进行交易的时候如果银行对Token的使用有质疑(比如这个Token上午10点才在上海久光用过,下午3点又通过北京国贸的POS机送过来了;或者请求一笔2000块的记账),可以要求POS机输入PIN进行二次确认。而银联给各大银行的建议是,为了方便手机支付的使用执行小额免密策略,单笔300元以下的消费可以不要求输密码(这个额度可以由各银行自行设定);而为了进一步保障手机支付的安全性,央行规定任何形式的手机支付都要设定额度上限,这就是网上流传Apple Pay单笔限额600元,单日限额3000元的由来(具体数额有待确认,Apple Pay现在还没正式启用)。同时,为了保护更易被盗窃的手机,如果手机绑定的信用卡不设密码(凭签名交易),那么在绑定时银行会要求设定一个专门用于刷手机支付的交易密码用作二次验证的PIN,以便加强保护。

手机支付这样的交易逻辑其实仍然是实体卡片的交易流程,因此只要接受银行卡的地方就是可以使用手机支付的(当然POS机需要支持NFC,而根据现有数据,全国1700万传统POS机在今年10月前已经至少有80%完成升级支持NFC了);并且由于Token在银行端会被翻译成PAN,因此你银行卡原有的刷卡优惠和积分方案都会无条件地继承到手机上,可以放心用手机薅银行羊毛啦。最重要的支付安全方面,延续自实体卡片交易的手机支付,安全性至少是不弱于当前银行卡体系的;而一张银行卡最多可以绑定三个移动设备,设备丢失或者不想再使用手机支付了,消费者随时可以致电银行卡的发卡行作废Token,手机就立即失去支付能力了。

实际上在国外有一种“无卡银行”,就是用户开卡的时候只会得到一个PAN并开通手机支付,自始至终不会有实体银行卡的存在,也就避免了卡号泄漏的风险。只可惜在国内虽然各大银行也愿意做这样的尝试,但央行叫停了无卡银行的探索……希望当手机支付普及、刷手机消费的理念深入人心之后,国家能开放更多的成长空间吧。


H.Apple Pay:移动支付的榜样(还可能是幕后推手)


Apple Pay支付界面及Wallet App界面

SE发出的Token同时代替了卡号和密码,那么如何保证手机不被别人盗用呢?这就是Touch ID发挥作用的时候了。上篇关于指纹识别的文章里已经介绍过了:手机感应到POS机的NFC信号会启动支付流程,但保存Token的SE经由Touch ID高强度保护,只有指纹验证通过才能激活SE以送出加密Token信息。这样也许比较好理解:当银行卡绑定到iPhone里的时候,就像微信账户登录到某台手机上;而要使用支付手机中的支付信息,就像使用开启了登录锁的微信,要先解除手机自身的锁定(比如指纹、锁屏密码或者解锁图案)才行。而Touch ID被破解的可能性……呵呵,做梦。

除了银行卡,Apple Pay还可以用于模拟任何基于IC芯片的NFC卡(SE性能比IC芯片强那么多,一个顶它好几个也是应该的),比如各种超市的购物卡、咖啡连锁店的储值卡等等。之前传出Apple正在与公交卡公司谈判将Apple Pay用于公交刷卡的消息,就是因为公交卡本身就是一张NFC的芯片卡。也许再过几个月你就可以刷iPhone乘地铁啦。

实际上很可能Tokenization技术就是Apple怂恿EMVCo机构扶正的。早在2008年,苹果就提出了类似Tokenization的专利申请,并且于2011年正式通过。这些幕后消息无从验证,但在Apple Pay发布的当天Visa等6家机构就同时推出了将Token与PAN相互翻译的Visa Token Service等服务,说Apple没有和他们开小灶才奇怪吧。

Apple Pay支持的设备

特别要注明的是,Apple Watch 是可以 独立完成 移动支付的。苹果并没有把Apple Watch当作一个配件,而是一个可以独立使用的支付设备;苹果在它身上装载了SE(用于存储Token信息)、NFC(用于与POS机通讯)和佩戴者身份验证机制(防止盗用,手段包括:手表一旦被摘下就会关闭SE使其失去支付能力,重新戴上后需要输入手表的锁定密码以认证使用者身份等)。单说线下支付功能,Apple Watch和iPhone 6是完全一模一样的,这使得Apple Pay的适用范围大大拓展了:iPhone 5或者5s这种不支持Apple Pay的老机型,可以不用换手机,而是买一只Apple Watch搭配使用,支付完全使用手表来进行就是了。

单独使用手表进行支付

也许一个月之后,你出门跑步健身的时候就可以把手机留在家里,需要在便利店买水时直接刷Apple Watch了。


I.Samsung Pay的独门绝技:兼容旧式磁条卡POS机


Samsung Pay的技术原理和Apple Pay几乎是一样的,而三星则在手机和POS机的通讯方式上玩出了新花样。 Apple Pay和其他手机支付方案技术都选择了NFC,这种通讯方式需要POS机的支持(还记得前面提到卡组织给这种方式起的各种名称吗),而POS机的升级更替需要相当长的时间,很多小店(比如偏远地区的小商店、国外的各种流动餐车)不愿意掏钱更换,因此消费者在这些地方就无法使用任何需要NFC的支付手段了,而Samsung Pay正是瞄准了这个痛点。

Samsung Pay兼容老式磁条POS机

Samsung Pay 在NFC通讯之外,额外拥有一种独特的通讯技术,叫做MST(Magnetic Secure Transmission,磁性安全传输)。手机内部的元件会通过线圈产生特定的磁场,使得POS机认为这是一张磁条卡的磁迹(但是送出的信息仍然是加密的Token,因为Token翻译成PAN+PIN是POS后面的卡组织负责的嘛)从而在老式POS机上完成支付。MST并不是三星自己开发的,而是来自于其去年收购的一家叫做LoopPay的公司(话说在被收购之前,LoopPay推出的基于MST的外设实际上可以在iPhone和Android上通用……三星收购后肯定就只给自家手机用啦。当年垄断了按压式指纹识别一整年的Apple风水轮流转啊)。

进行支付的时候,Samsung Pay会同时激活NFC和MST,就看POS机接受哪种通讯方式啦。根据央行的红头文件,国内目前所有的POS机已经不能降级交易,意思是说如果POS机同时支持芯片卡和磁条卡,那么在刷卡时会拒绝读磁条强制要求插卡读芯片,除非银行卡没有芯片只有磁条。内置SE的Samsung Pay会被认为是NFC芯片卡,因此在这种情况下会优先走NFC渠道哒。

Samsung Pay同样会使用指纹或者锁屏密码来保护手机不被盗用,加上可以兼容老式刷卡机,竞争力反而超越了打头阵的Apple,后生可畏啊。


J.重在通用和普及:Android Pay和云闪付


SE作为单独的硬件,无法简单加装,那不想换手机的消费者就不能用手机支付了吗?并不是,前面介绍的HCE方案把SE转移到云端,每次支付时由设备向云端SE申请一次性支付信息的方式完全免去了设备的负担,只需要设备支持NFC就可以了——因为这是手机与POS机通讯的唯一方式。这使得所有支持NFC的手机瞬间拥有了移动支付能力,潜在用户群体远超过Apple Pay和Samsung Pay。

Google在国外推行的Android Pay可适用于任何拥有NFC功能并且系统版本在Android 4.4及以上的手机,其技术原理和银联今年双十二正式开始启用的「云闪付」都是基于HCE+Tokenization的。Google仍然被挡在国门外就不提Android Pay了。银联的云闪付则是由各家银行的App担任Android Pay app相同的功能,只是由于各家App只管自己家银行的Token信息(银联把这个一次性的Token信息称作「云卡」),因此如果消费者想在同一台手机上使用多家银行的云闪付功能就要安装多个App,相对来讲比较繁琐。

银联「云闪付」

HCE方案提出的原因是,Google假设所有Android设备都可以被Root(很有自知之明嘛),因此如果Token储存在本地无论如何都可能被读取。而通过将SE芯片转移到云端,每次支付时由App向云端服务器申请一次性的解密密钥,使得手机内存储的支付信息有效性仅限于当此支付,因此即使不幸被盗取,被盗的信息也完全没有用处。当然,为了方便使用,银行服务器可以自行指定手机获取到的临时密钥的数量及有效期,在兼顾安全性的同时是非常灵活的。


K.运营商主推的手机钱包:被遗忘的先烈


Apple Pay和Samsung Pay尚未正式开放,而银联的云闪付也仅仅开通不足半月。但实际上在大陆地区,有一种手机支付方案已经开通了两年之久,这就是移动运营商主推的手机钱包。

手机可以同时支持多种支付模式并自由切换,从上到下依次为TSM、HCE和eSE

移动、联通和电信主推的手机钱包都是基于TSM方案,即SE芯片被放置在SIM卡中,借助手机的NFC与POS机通讯。如果SIM卡是包含SE的NFC-SIM卡,那么消费者可以下载运营商的手机支付App,向SIM卡中的SE写入PAN/Token信息,即可让手机变成一张NFC芯片卡啦。 不过问题是,SE真的是不便宜的元件呀……采用这种TSM方案做得最好的是移动(客户端App叫做「和包」),获得了包括招商和浦发在内的多家银行的支持,还可以把手机当成公交卡乘坐上海的公交车和地铁。但移动正常发出的SIM卡都是不含SE的,支持SE的NFC-SIM要办理相关业务并支付额外20块的SIM卡换卡费才行,这就是为啥移动默默推广手机钱包两年了,没看到几个人在地铁刷手机的原因……

中国移动手机钱包App

说到移动的手机支付,顺带提一下移动走过的歪路吧……支持SE的NFC-SIM需要借助手机本身的NFC天线与POS机进行通讯,而一些没有NFC功能(点名小米,为了推广手环采取的去NFC策略砸了自己的脚)或者iPhone这种不允许第三方应用使用NFC的手机怎么办呢?于是移动在早期采取的方案叫做RFID-SIM(Radio Frequency IDentification,射频识别),RFID和NFC在技术上比较相似,但使用的通讯频率是2.4Ghz(NFC使用的是13.56Mhz),因此信号有很强的穿透力,而且不需要额外的天线,即使SIM卡在手机内部、手机外壳是金属壳(比如iPhone)也可以使用。深圳地铁的中国移动手机钱包专属通道闸机就支持这个频率的信号读取。但是RFID-SIM在这个好处之外有一个劣势,就是由于发射信号的频率高,需要更高的能量,因此必须要手机向SIM卡供电才行,如果手机是关机或者没电的状态就不能用了,但NFC-SIM则可以利用手机的NFC线圈从闸机读卡器上获取电能来驱动,因此无论手机是关机还是开机、亮屏还是锁屏都是可以使用的。

手机钱包的困境在于,由于是移动运营商主导的,因此运营商和银行的谈判非常艰难,而云闪付则是由银联推广,其号召力是无可比拟的。TSM方案实际上是兼顾安全性和成本的方案,但使用起来并不容易,最终落得如此下场也再次证明了,移动世界永远是用户体验为王……


L.“没有5块钱补贴撬不动的用户忠诚度”,推广挥金如土的支付宝和微信其实要取代银行


支付宝和微信支付是已经在生活中相当普及的支付手段了,由于其通讯是基于二维码,因此完全对手机没有任何硬件上的要求(什么,你还在用翻盖的非智能机?再见!),加上隔三差五的推广补贴,相信大部分人都有使用过这种支付方式的体验了。

支付宝类支付流程示意图,完全跳过了银行和卡组织

但是深究其背后,支付宝和微信这种二维码支付方案,和前面介绍的Apple Pay、Samsung Pay和云闪付支付是完全不同的。前面的几种实质上只是传统银行卡的技术改良,最终的交易流程仍然需要发卡行、卡组织和收单行的参与,而这些机构都是可以从中获利的。但支付宝和微信呢?实际上它是完全打破了这种支付流程。消费者提供二维码,商家扫描二维码,交易的金额实际上是从消费者的支付宝账户直接流向商家的支付宝账户,中间不经过任何银行和卡组织。这也是银行和银联对支付宝们百般为难、甚至曾经出现过禁止二维码支付的红头文件的原因。还记得本文最开始所假设的“全世界只有一家银行”的平行宇宙吗?支付宝们其实就是在向那种情况发展。无论钱怎么流转,都是一直留在支付宝的平台上,而即使以一个非常小的利率计算,这些留在支付宝平台上的钱也会产生巨额的利息收益,更不用说支付宝们拿走了原本属于银行们的手续费……这就是支付宝和微信肯下血本巨额补贴推广的动力所在,而他们的野望,是直接取代银行……这也是银联挑了双十二这天发布云闪付阻击扫码支付,向支付宝们宣战的原因。

从技术层面讲,支付宝和微信的安全策略要远比前面几种简单,因为前面的所有支付方案都是基于硬件的,而支付宝们仅仅是在App中内置了某个随机数生成算法而已(每个账户的算法都不同),这个算法的成果就是每分钟生成一个新随机数、随机数使用一次即失效。支付宝们的服务器端同样运行着这些算法,商家扫描到的条码形式的数字序列被送往支付宝们的服务器进行对比验证,如果一致则被认可为这是某个账户的支付凭证,进而完成支付。

微信支付界面及使用说明,早期版本自称为「刷卡」

这种支付方式的危险性在于,首先支付码是对人可见的(显示在屏幕上呢),有被其他人获取到的可能;其次这是基于软件的算法,既然是软件层面的东西就存在着被破解的可能,电脑的计算能力比手机强那么多,能够进行的加密算法也远比手机复杂,可电脑上付费软件的算号器还是层出不穷,何况手机呢。还有一个最重要的因素是,这种支付方式的身份验证是先验的,也就是在你打开二维码支付界面之前,你已经对这个支付码的权限进行授权过了(通过账户的登录密码、通过App本身的锁定密码等),而此时你根本不知道收款方将要收取你多少钱。这相当于你开了一张空白支票给商家并提前签了字,商家是否会如实填写收款数额呢?如果商家不小心手抖点错小数点了呢?亦或者这张支票在商家填写之前被其他人偷走了呢?如果你曾经有过和支付宝、微信进行沟通的经历,相信你会明白将这些非你本意的交易取消要花多少精力。

在现在的推广阶段,云闪付的手续费要比传统刷卡支付低一些,因此可能会促进商家尽快支持;而银联同样对刷卡和手机支付给出了补贴来拉拢消费者(比如自进入12月以来银联推出的刷62开头的银行卡满20减10的活动,磁条卡、芯片卡、拍卡联机闪付还是手机云闪付都有效)。只是这样的补贴是否能说服已经非常习惯扫码支付的消费者们还有待观察,更不用说银联和银行相比支付宝们可是小气得多了……

实际上根据最新数据,我国非刷卡交易(含网上交易、扫码支付、手机支付等)的交易额仅占交易总额的10%左右,还有相当大的增长空间。像买车、买房等大宗消费仍然是以银行卡线下支付为主。希望乘着互联网+的东风,互联网商务和手机支付能尽快进入消费者们的生活,让技术真正带来便利和安全。


M.落地:移动支付的实际应用方案推荐


总结前面所有支付方式,本文可以缩略成这张最终的表格:

按照不同的用户选择,这里给出对应的方案选择推荐:

对于iPhone用户,你们唯一的选择显然就只有Apple Pay了。如果是iPhone 6/6s用户,直接使用手机即可体验Apple Pay;对于iPhone 5/5c/5s用户,只需要额外搭配一只Apple Watch同样可以实现(而且明显是刷手表比较酷吧!!!)。

对于其他Android 用户,首推选择云闪付。这种方式对手机的唯一要求就是NFC,现在不带NFC的手机都难找了吧(再次点名作茧自缚的小米)。虽然银联列出了云闪付的手机支持列表,但实际上云闪付的技术本身对支持NFC、系统版本在Android 4.4以上的手机来说是没有任何区别的,无论水货国行,无论高端低端。

对于身处三四线小城市、身边商家尚未普及闪付POS机的用户,Samsung Pay将是完美的选择,只需要记得下次手机选择最新款的三星Galaxy旗舰,或者2016版的A系列(A5、A7、A9)即可。

同时,对于打算使用移动支付的用户,建议您指定一张信用卡专门用于手机支付使用。手机支付的最佳应用情景是小额高频次消费(直击支付宝命门),因此专用的银行卡可以方便你确认交易安全性,方便排查疑问交易。

最重要的,由于手机相当于银行卡,因此请务必为手机设置锁屏密保,避免手机丢失后造成额外损失。对于密保方式,首推指纹或图案锁,方便快捷;如果你习惯使用密码,将重要的人的名字按照K9键盘(比如各种九宫格拼音输入法)转换成数字,将会是兼顾易记和安全的好密码。

日历即将翻到新的一年,赶快尝试一下刷手机支付,用新时代的方式为重要的人(或自己)买买买吧!


N.拓展阅读:


《圖解 NFC 行動支付與相關生態系 並比較 TSM、HCE 間的差異》 http://t.cn/R4GxUQJ

《HCE 基础知识》 http://blog.csdn.net/pony_maggie/article/details/49950957

《許世杰:行動支付全面解析,Apple Pay 創造新時代的真正意義》 http://punnode.com/archives/23918

《淺談 HCE 與 Tokenization 行動支付》 http://newsletter.ascc.sinica.edu.tw/news/read_news.php?nid=3419

《理解行動支付的應用及機制:VISA 圖解說明何謂 TSM、HCE、Visa Token》 http://www.techbang.com/posts/20870

《Gemalto Trusted Service Hub》(英文) http://www.gemalto.com/mobile/mcommerce/mfs/trusted-service-hub

《WHAT IS TOKENIZATION?》(英文) http://www.gemalto.com/financial/mobile-and-apps/mobile-payment/tsh/tokenization

《银行卡磁条信息格式和使用规范》 http://www.pbc.gov.cn/rhwg/20001801f201.htm

《你正在为互联网上的 “免费” 付出什么?》 http://chuansong.me/n/1849146

《谁才是移动支付最后的赢家?》 http://www.autoid-china.com.cn/zt/wangyh/yidongzhifudabipin/index.htm

《杭州:一个被阿里巴巴重塑的城市》 https://theinitium.com/article/20151111-mainland-alibaba-city-hangzhou/

《Apple Pay 究竟是什么?》 http://ksmx.me/apple-pay/

《How does Apple Pay work on the Apple Watch?》 (英文) http://www.computerworld.com/article/2895946/how-does-apple-pay-work-on-the-apple-watch.html

《标准解读:中国金融集成电路(IC)卡规范(PBOC 3.0)》(PDF文档) http://www.cspress.cn/pic/Upload/file/201506/V6357125250627097116594.pdf

(部分图片来自于网络,感谢接受采访的毛小姐沈先生和其他金融业朋友)

来源URL:http://www.cnbeta.com/articles/462951.htm