支付常识
名詞解釋
-
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。不管你刷新網頁、重啟瀏覽器甚至重啟電腦,只要瀏覽器出示這個字符串給服務器,服務器就會認為你已經通過了賬號和密碼驗證,允許你進行登錄后的各種操作。
-
MST: Magnetic SecureTransmission,安全磁力傳輸。
是一種磁道模擬技術,三星前段時間在S6手機上加了這個功能,這個功能需要硬件的支持,手機在靠近POS機的時候會發現磁模擬信號,POS機上的磁條刷卡器會感應到,整個過程就像是刷一張磁條卡。
-
CBP:cloud basedpayments,云端SE。
傳統的CPU卡都是基于安全芯片的,這個芯片就是一個SE。HCE要模擬卡片,手機上硬件理論上也應該有這么一個SE,但是因為安卓手機的操作系統是開源的,容易被ROOT,很難在本地建立這樣的安全環境。于是有人提出了基于token技術的云端SE概念,也就是把保密的數據放在云服務器端,每次交易時都去獲取,這樣的一個云服務器端就是一個CBP。
?
?
A.在電子世界,錢的本質只是數據庫中的一個數字
?
在一開始,讓我們假設這樣一個平行宇宙,在這個宇宙中的地球上只有一家銀行。在這種情況下,所有消費者的信用卡、儲蓄卡和所有商家的POS機都屬于這家銀行。而這種情況下,每個人的賬戶實際上是這家銀行數據庫中的一行,而某個賬戶內的余額/剩余額度則是這一行中其中一項。在這種情況下,交易的進行非常簡單,當某個消費者在某個商家處買了10元錢的東西并刷卡付款時,銀行只需要將該消費者賬戶上的數字減10,然后把這個10加到商家的賬戶數字上就可以了,數據庫的數值之和保持不變。
而我們身處的宇宙顯然復雜得多,地球上存在著數不清的銀行,每家銀行都有自己獨立的數據庫。這時,持有A銀行信用卡的消費者要在某商家消費,而該商家的POS機對應商家在B銀行的賬戶,那么A銀行就必須和B銀行溝通,A銀行從自己的數據庫中扣掉相應的數字,然后B銀行在自己的數據庫中增加相應的數字,然后兩家定期結算(比如一天一次),真實的錢才會在銀行間轉移。而地球上那么多銀行,讓銀行彼此之間點對點地溝通顯然是不科學的,于是信用卡組織這個機構充當了銀行之間的交流橋梁,A銀行只需要和信用卡組織溝通,然后讓卡組織傳達給對應的銀行就可以了。常見的信用卡組織有Visa(維薩)、MasterCard(萬事達)、AE(AmericanExpress,美國運通)、Diners Card(大萊)、JCB(JapanCredit Bureau,日本信用卡株式會社)和中國的銀聯(UnionPay)等。
?
縮寫說明中說的刷卡手續費,實際上會在消費者的發卡行(A銀行)、商家的POS機收單行(B銀行)和卡組織之間按照一定的比例瓜分。比如刷卡手續費是0.1%,消費者刷卡1000元,商家實際上只能從銀行拿到999元,剩下的一元手續費中7毛歸發卡行,2毛歸收單行,1毛歸銀聯。
?
?
B.卡片的本質是虎符
?
銀行發出的卡數量巨大,如何確定某筆交易要記在哪個人的賬上呢?這就需要PAN來發揮作用,也就是你的卡號;而如何驗證要求把這筆交易記在你賬上的人是你本人呢?這就需要只有你知道的信息——PIN,也就是密碼來驗證了。這兩個概念類似于QQ號和密碼,在互聯網時代很容易理解了。
?
假設不存在銀行卡這種實體,那么你在消費時就要輸入冗長的銀行賬號外加密碼,不僅十分不便,更是十分不安全;銀行賬號作為一串信息可以很輕易地被別有用心的人記錄和復制,從而發生盜用的情況。而銀行卡的意義就在于此:卡片作為實物,被盜取和復制的難度要遠大于記住一串數字。制作一張銀行卡,上面印有你的獨一無二的PAN,那么這張卡片就成為你的賬戶所有人身份的實體證明。
?
在最開始,銀行卡的使用并不是刷卡的。沒有磁條的時代,銀行卡只是一個塑料片,上面有凸起的卡號。消費時,商家把卡片放在自帶復寫性的賬單下用力壓過,卡片上突起的卡號就會拓印在賬單上,經由持卡人簽名后賬單就生效了,商家拿帶有簽名的賬單去銀行就可以換成錢了。這也是為什么現在大部分銀行卡都用印刷卡號取代了凸起的卡號,因為手工壓單的記賬方式已經被淘汰啦。
?
既然銀行卡代表了賬戶所有權,那么保證這張卡片的唯一性和不可復制性就變得非常重要了。實體的塑料片雖然不那么容易復制,但也并不是完全不可能的(只要做出對應的模具就可以了),而卡號信息就明明白白的在卡上呢。于是緊接著,磁條卡取代了這種銀行卡。
?
就像磁帶一樣,磁條用磁跡代表信息,比如某個位點上有磁性是1,沒有磁性是0,那么一連串10組成的二進制字符就可以用來存儲信息了,上面就是我國磁條卡存儲信息的格式,其中的主賬號就是最重要的PAN啦。銀行卡的磁條需要對應的刷卡機才能讀取,因此大大增加了卡片的復制難度。但道高一尺魔高一丈,市面上又出現了磁條復制器,它同樣可以讀取磁條信息,將讀取的信息按照相同的規則寫到空白磁條中,一張復制卡就被制造出來了。現在ATM機的插卡口都裝有一個奇怪的嘴巴,就是為了避免壞人在上面安裝磁條復制器盜取消費者的銀行卡信息。
技術繼續進步,半導體技術的發展使得集成電路越做越小,小到可以做成一張小小的金屬芯片貼在卡片上,這就是IC卡(IntegratedCircuit 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)作為驗證手段。這也是為什么各種信用卡攻略建議大家不設密碼的原因,因為原則上密碼是你自己設的只有你自己知道,而商家是無法在這筆交易時驗證知道這個密碼的人是不是你本人,所以萬一被盜刷,責任都是你自己的。
而隨著技術的發展,更難破解而且使用更方便的指紋也成為新的驗證方式。在盜刷現象嚴重的巴西,指紋已經成為相當普遍的身份驗證手段,成為金融安全的有力保障。
?
這里需要補充一點的是,上一篇我們說到指紋其實不比密碼安全,而這里又說指紋比密碼更可靠的原因是:1.手機上的指紋識別其實是把密碼用指紋保存起來,最終實際的身份驗證過程還是驗證密碼,只是增加了一道環節,而多一道程序就多一道風險;而巴西的銀行業則是銀行端知道你的指紋信息,在交易時直接驗證指紋是否相符,而銀行可以使用更嚴格的指紋對比算法讓指紋被蒙對的概率小于密碼被蒙對的概率。2.密碼在發生泄漏后可以修改,但指紋是不可改變的,因此一旦泄漏后的損失更嚴重;在ATM上盜取密碼遠比盜取指紋簡單(安裝一個針孔攝像頭或者在鍵盤上裝一個密碼記錄器就可以了),而一個可以高精度讀取指紋同時還不影響ATM機本身指紋識別功能的指紋盜取設備制造難度非常高。
?
?
D.磁條、接觸式芯片、NFC、二維碼和數據線都是通訊方式
三星S6有兩種充電方式,可以接數據線充電,也可以用無線充電。無論哪種方式,電量都是輸入到同一塊內置電池中。類似的,EMV/PBOC規范中也包含了兩種與卡片中芯片的通訊方式:接觸式的芯片讀取,由讀卡器直接接觸芯片為其計算供電,同時與其通訊;非接觸式的無線讀取,讀卡器產生磁場,磁場在卡片內的線圈內感應生成電流,線圈連接著芯片,電流驅動芯片進行計算,計算結果再通過操縱線圈的電流變化產生電磁波,進而與讀卡器通訊。這種無線的通訊方式就是被稱為NFC的技術。打開支持NFC功能的手機,你會發現它的背面同樣有一些線圈,這些線圈就是用來產生與讀卡時類似的電磁波,進而進行通訊的。
?
無論接觸式還是非接觸式,進行運算的是同一塊芯片,因此對于銀行來說是一樣的。而NFC這種無限通訊方式相比之前的芯片直接接觸更方便,并且可以兼容手機,因此成為新的推廣熱點。各大卡組織都給這種新的刷卡方式起了洋氣的名字,比如Visa的叫payWave,MasterCard的叫payPass,而銀聯的則叫做QuickPass(閃付)。
二維碼和磁條有些類似,磁條是把信息通過一定的規律變成磁跡,而二維碼則是把信息變成圖形。讀取磁條是通過讀卡器讀磁跡,然后轉換回原始信息,而二維碼則是通過攝像頭讀取圖形,然后轉換回原始信息。這些都只是通訊的渠道而已,對安全性起決定性作用的,還是通過這些通訊渠道傳輸的數據是如何被保護的。
?
E.刷手機支付的關鍵是如何在手機中存儲銀行卡信息
?
用一張表格來簡單總結一下前面的內容:
?
既然銀行卡只是一個存儲著PAN信息的芯片,那么只要把PAN信息存儲到手機里,手機就變成銀行卡了。那么問題就來了:首先為了避免PAN在傳輸過程中泄露,必須要將其加密,而解密的方法只能由手機和銀行兩方知道;其次PAN信息在手機中存放必須要保證安全,不能被別人偷走;再有就是手機內存儲的PAN信息以何種方式和POS機溝通。這就是NFC大顯身手的地方了。
手機上的NFC功能一共有三種模式,與手機支付相關的只有一種,就是卡模擬模式(Card emulation mode)。在這種模式下,手機會通過NFC線圈以類似NFC芯片卡的方式與POS機通訊,POS機會認為手機是一張銀行卡。而用于代替銀行卡芯片的,就是手機中的SE(安全元件)了。SE可以像EMV芯片一樣存儲PAN信息,以及在交易時生成用于加密PAN信息的動態隨機數。和銀行卡不同,手機的功能更豐富,也就有更多被破解(比如越獄、Root等)的可能,因此SE被設計為與手機系統完全獨立而且以硬件級別的加密保護,無法被系統以任何方式讀取,以此來保護其中PAN信息的安全。即使真的有人破解了SE、提取了其中的PAN信息也無法使用,因為SE生成動態隨機數的算法和EMV芯片一樣是固化在芯片中的電子線路,每張芯片、每塊se都不同,而且這個算法只有被銀行認可才有效。而SE芯片也是要單獨花錢買的,根據愿意掏錢的廠商不同,手機內置SE的方式有三種方案:
?
1)eSE(embeddedSecure Element,嵌入式安全元件)。這種方案把安全元件安裝在手機內部,主板上,成本自然由手機制造商承擔。Apple Pay、SamsungPay是這個方案。銀行在允許手機的eSE存儲PAN信息之前,必須要檢測SE的安全性是不是萬無一失的,而檢測結果只對單一機型有效。像Apple這種一年只一款機型的廠商還好,像三星這種采取機海戰術、一年幾十款新機的廠商就需要逐一送審,進程非常緩慢。(這也是為什么目前Samsung Pay只支持GalaxyS旗艦系列的兩款產品的原因,其他機型要等銀行慢慢審核)。
?
2)TSM(TrustedService Manager,可信服務提供商)。這種方案把安全元件安裝在可替換介質中,然后將介質插入手機。典型的介質是SIM卡和MicroSD卡。三大運營商在推廣的手機錢包就是采用這種方案,印著NFC-SIM字樣的SIM卡即為內置SE的SIM卡。這種方案同樣需要運營商把SIM卡芯片送到銀行檢測,因此普及也很艱難。
?
3)HCE(Host-basedCard Emulation,基于主機的卡模擬)。前面兩種方案都需要銀行以外的廠商參與,普及非常地緩慢和高成本。于是在Android 4.4推出的時候,Google提出了一種名為HCE的技術方案。HCE只需要銀行在自己的服務器上進行技術部署,在交易時向手機的銀行App下發一次性的交易信息,完全不需要手機制造商以及運營商參與,因此推廣的速度和普及的成本都明顯優于另外兩種方案。
?
HCE方式不需要SE安全模塊,由在手機中運行的一個應用或云端的服務器完成SE的功能,也就是說NFC芯片所接收到的數據會由操作系統發送至手機應用里,或者通過移動網絡發送至云端服務器中來完成交互。無論是本機應用還是云端服務器都繞過了手機內置SE的限制。
??????
?
到這個階段為止無論是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元的由來(具體數額有待確認,ApplePay現在還沒正式啟用)。同時,為了保護更易被盜竊的手機,如果手機綁定的信用卡不設密碼(憑簽名交易),那么在綁定時銀行會要求設定一個專門用于刷手機支付的交易密碼,以便加強保護。
?
手機支付這樣的交易邏輯其實仍然是實體卡片的交易流程,因此只要接受銀行卡的地方就是可以使用手機支付的(當然POS機需要支持NFC,而根據現有數據,全國1700萬傳統POS機在今年10月前已經至少有80%支持NFC了);并且由于Token在銀行端會被翻譯成PAN,因此你銀行卡原有的刷卡優惠和積分方案都會無條件地繼承到手機上。而最重要的支付安全方案,延續自實體卡片交易的手機支付的安全性至少是不弱于當前銀行卡體系的;而一張銀行卡最多可以綁定三個移動設備,設備丟失或者不想再使用手機支付了,消費者隨時可以致電銀行卡的發卡行作廢Token,手機就立即失去支付能力了。
?
實際上在國外有一種“無卡銀行”,就是用戶開卡的時候只會得到一個PAN并開通手機支付,自始至終不會有實體銀行卡的存在,也就避免了卡號泄漏的風險。只可惜在國內雖然各大銀行也愿意做這樣的嘗試,但央行叫停了無卡銀行的探索。希望當手機支付普及、刷手機消費的理念深入人心之后,國家能開放更多的成長空間吧。
H.Apple Pay:移動支付的榜樣(還可能是幕后推手)
SE發出的Token同時代替了卡號和密碼,那么如何保證手機不被別人盜用呢?這就是Touch ID發揮作用的時候了。上篇關于指紋識別的文章里已經介紹過了:手機感應到POS機的NFC信號會啟動支付流程,但保存Token的SE經由Touch ID高強度保護,只有指紋驗證通過才能激活SE以送出加密Token信息。這樣也許比較好理解:當銀行卡綁定到iPhone里的時候,就像微信賬戶登錄到某臺手機上;而要使用支付手機中的支付信息,就使用打開了登錄鎖的微信,要先解除手機自身的鎖定(比如指紋、鎖屏密碼或者解鎖圖案)才行。而Touch ID或者iPhone本身被破解的可能性……呵呵。
?
除了銀行卡,Apple Pay還可以用于模擬任何基于IC芯片的NFC卡(SE性能比IC芯片強那么多,一個頂它好幾個也是應該的),比如各種超市的購物卡、咖啡連鎖店的儲值卡等等。之前傳出Apple正在與公交卡公司談判將ApplePay用于公交刷卡的消息,就是因為公交卡本身就是一張NFC的芯片卡。也許再過幾個月你就可以刷iPhone乘地鐵啦。
?
實際上很可能Tokenization技術就是Apple慫恿EMVCo機構扶正的。早在2008年,蘋果就提出了類似Tokenization的專利申請,并且于2011年正式通過。這些幕后消息無從驗證,但在ApplePay發布的當天Visa等6家機構就同時推出了將Token與PAN相互翻譯的VisaToken Service等服務,說Apple沒有和他們開小灶才奇怪吧。
?
特別要注明的是,Apple Watch是可以獨立完成移動支付的。蘋果并沒有把Apple Watch當作一個配件,而是一個可以獨立使用的支付設備;蘋果在它身上裝載了SE(用于存儲Token信息)、NFC(用于與POS機通訊)和佩戴者身份驗證機制(防止盜用,手段包括:手表一旦被摘下就會關閉SE使其失去支付能力,重新戴上后需要輸入手表的鎖定密碼以認證使用者身份等)。單說支付功能,Apple Watch和iPhone6是完全一模一樣的,這使得ApplePay的適用范圍大大拓展了:iPhone 5或者5s這種不支持ApplePay的老機型,可以不用換手機,而是買一只AppleWatch搭配使用,支付完全使用手表來進行就是了。
?
也許一個月之后,你出門跑步健身的時候就可以把手機留在家里,需要在便利店買水時直接刷Apple Watch了。
I.Samsung Pay的獨門絕技:兼容舊式磁條卡POS機
Samsung Pay的技術原理幾乎和Apple Pay是一樣的,而三星則在通訊方式上玩出了新花樣。 Apple Pay和其他手機支付方案技術都選擇了NFC,這種通訊方式需要POS機的支持(還記得前面提到卡組織給這種方式起的各種名稱嗎),而POS機的升級更替需要相當長的時間,很多小店(比如偏遠地區的小商店、國外的各種流動餐車)不愿意掏錢更換,因此消費者在這些地方就無法使用任何需要NFC的支付手段了,而SamsungPay正是瞄準了這個痛點。
?
SamsungPay在NFC通訊之外,額外擁有一種獨特的通訊技術,叫做MST(MagneticSecure Transmission,磁性安全傳輸)。手機內部的元件會通過線圈產生特定的磁場,使得POS機認為這是一張磁條卡的磁跡(但是送出的信息仍然是加密的Token,因為Token翻譯成PAN+PIN是POS后面的卡組織負責)從而在老式POS機上完成支付。MST并不是三星自己開發的,而是來自于其去年收購的一家叫做LoopPay的公司(話說在被收購之前,LoopPay推出的基于MST的外設實際上可以在iPhone和Android上通用……三星收購后肯定就只給自家手機用啦。當年壟斷了指紋識別一整年的Apple風水輪流轉啊)。
?
進行支付的時候,Samsang Pay會同時激活NFC和MST,就看POS機接受哪種通訊方式啦。根據央行的紅頭文件,國內目前所有的POS機已經不能降級交易(見2014年5月14日,人民銀行印發《關于逐步關閉金融IC卡降級交易有關事項的通知》),意思是說如果POS機同時支持芯片卡和磁條卡,那么在刷卡時會拒絕讀磁條強制要求插卡讀芯片,除非銀行卡沒有芯片只有磁條。內置SE的SamsungPay會被認為是NFC的芯片卡,因此在這種情況下會優先走NFC渠道。
?
SamsungPay同樣會使用指紋或者鎖屏密碼來保護手機不被盜用,加上可以兼容老式刷卡機,競爭力反而超越了打頭陣的Apple,后生可畏啊。
J.重在通用和普及:Android Pay和云閃付
?
SE作為單獨的硬件,無法簡單加裝,那不想換手機的消費者就不能用手機支付了嗎?并不是,前面介紹的HCE方案把SE轉移到云端,每次支付時由設備向云端SE申請一次性支付信息的方式完全免去了設備的負擔,只需要設備支持NFC就可以了——因為這是手機與POS機通訊的唯一方式。這使得所有支持NFC的手機瞬間擁有了移動支付能力,潛在用戶群體遠超過Apple Pay和SamsungPay。
?
Google在國外推行的可適用于任何擁有NFC功能的手機的AndroidPay和銀聯今年雙十二正式開始啟用的「云閃付」就是基于HCE+Tokenization了。Google仍然被擋在國門外就不提了。銀聯的云閃付則是由各家銀行的App擔任Android Payapp相同的功能,只是由于各家App只管自己家銀行的Token信息(銀聯把這個一次性的Token信息稱作「云卡」),因此如果消費者想在同一臺手機上使用多家銀行的云閃付功能就要安裝多個App,相對來講比較繁瑣。
?
HCE方案提出的原因是,Google假設所有Android設備都可以被Root(很有自知之明嘛),因此如果Token儲存在本地無論如何都可能被讀取。而通過將SE芯片轉移到云端,每次支付時由App向云端服務器申請一次性的解密密鑰,使得手機內存儲的支付信息有效性僅限于當此支付,因此即使不幸被盜取,被盜的信息也完全沒有用處。當然,為了方便使用,銀行服務器可以自行指定手機獲取到的臨時密鑰的數量及有效期,在兼顧安全性的同時是非常靈活的。
K.運營商主推的手機錢包:被遺忘的先烈
?
Apple Pay和Samsung Pay尚未正式開放,而銀聯的云閃付也僅僅開通不足半月。但實際上在大陸地區,有一種手機支付方案已經開通了兩年之久,這就是移動運營商主推的手機錢包。
?
移動、聯通和電信主推的手機錢包都是基于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卡換卡費才行,這就是為啥移動默默推廣手機錢包兩年了,沒看到幾個人在地鐵刷手機的原因……
?
說到移動的手機支付,順帶提一下移動走過的歪路吧。支持SE的NFC-SIM需要借助手機本身的NFC元件與POS機進行通訊,而一些沒有NFC功能(點名小米,為了推廣手環采取的去NFC策略砸了自己的腳)或者iPhone這種不允許第三方應用使用NFC的手機怎么辦呢?于是移動在早期采取的方案叫做RFID-SIM(RadioFrequency IDentification,射頻識別),RFID和NFC在技術上比較相似,但使用的通訊頻率是2.4Ghz(NFC使用的是13.56Mhz),因此信號有很強的穿透力,而且不需要額外的天線,即使SIM卡在手機內部、手機外殼是金屬殼(比如iPhone)也可以使用。深圳地鐵的中國移動地鐵手機錢包專屬通道閘機就支持這個頻率的信號讀取。但是RFID-SIM在這個好處之外有一個劣勢,就是由于發射信號的頻率高,需要更高的能量,因此必須要手機向SIM卡供電才行,如果手機是關機或者沒電的狀態就不能用了,但NFC-SIM則可以利用手機的NFC線圈從閘機讀卡器上獲取電能來驅動,因此無論手機是關機還是開機、亮屏還是鎖屏都是可以使用的。
?
手機支付的困境在于,由于是移動運營商主導的,因此運營商和銀行的談判非常艱難,而云閃付則是由銀聯推廣,其號召力是無可比擬的。TSM方案實際上是兼顧安全性和成本的方案,但使用起來并不容易,最終落得如此下場也再次證明了,移動世界永遠是用戶體驗為王。
L. “沒有5塊錢補貼爭取不來的用戶忠誠度”,推廣揮金如土的支付寶和微信其實要取代銀行
?
支付寶和微信支付是已經在生活中相當普及的支付手段了,由于其通訊是基于二維碼,因此完全對手機沒有任何硬件上的要求,加上隔三差五的推廣補貼,相信大部分人都有使用過這兩種支付方式的體驗了。
?
但是深究其背后,支付寶和微信這種二維碼支付方案,和前面介紹的Apple Pay、SamsangPay和云閃付支付是完全不同的。前面的幾種實質上只是傳統銀行卡的技術改良,最終的交易流程仍然需要發卡行、卡組織和收單行的參與,而這些機構都是可以從中獲利的。但支付寶和微信呢?實際上它是完全打破了這種支付流程。消費者提供二維碼,商家掃描二維碼,交易的金額實際上是從消費者的支付寶賬戶直接流向商家的支付寶賬戶,中間不經過任何銀行和卡組織。這也是銀行和銀聯對支付寶們百般為難、甚至曾經出現過禁止二維碼支付的紅頭文件的原因。還記得本文最開始所假設的“全世界只有一家銀行”的平行宇宙嗎?支付寶們其實就是在向那種情況發展。無論錢怎么流轉,都是一直留在支付寶的平臺上,而即使以一個非常小的比例計算,這些留在支付寶平臺上的錢會產生巨額的利息收益,更不用說支付寶們拿走了原本屬于銀行們的手續費。這就是支付寶和微信肯下血本巨額補貼推廣的動力所在,而他們的野望,是直接取代銀行,這也是銀聯挑了雙十二這天發布云閃付阻擊掃碼支付,向支付寶們宣戰的原因。
?
從技術層面講,支付寶和微信的安全策略要遠比前面幾種簡單,因為前面的所有支付方案都是基于硬件的,而支付寶們僅僅是在App中內置了某個隨機數生成算法而已(每個賬戶的算法都不同),這個算法的成果就是每分鐘生成一個新隨機數、隨機數掃描一次即失效。支付寶們的服務器端同樣是運行著這些算法,商家掃描到的條碼形式的數字序列被送往支付寶們的服務器進行對比驗證,如果一致則被認可為這是某個賬戶的支付憑證,進而完成支付。
?
這種支付方式的危險性在于,首先支付碼是對人可見的(顯示在屏幕上呢),有被其他人獲取到的可能;其次這是基于軟件的算法,既然是軟件層面的就存在著被破解的可能,電腦上各種付費軟件的算號器一直層出不窮,而電腦的計算能力可是比手機強大得多了啊。還有一個最重要的因素是,這種支付方式的身份驗證是先驗的,也就是在你打開二維碼支付界面之前,你已經對這個支付碼的權限進行授權過了(通過賬戶的登錄密碼、通過App本身的鎖定密碼等),而此時你根本不知道收款方將要收取你多少錢。這相當于你開了一張空白支票給商家并提前簽了字,商家是否會如實填寫收款數額呢?如果商家不小心手抖點錯小數點了呢?亦或者這張支票在商家填寫之前被其他人偷走了呢?如果你曾經有過和支付寶、微信進行溝通的經歷,相信你會明白將這些非你本意的交易取消要花多少精力。
?
在現在的推廣階段,云閃付的手續費要比傳統刷卡支付低一些,因此可能會促進商家盡快支持;而銀聯同樣對刷卡和手機支付給出了補貼來拉攏消費者(比如自進入12月以來銀聯推出的刷62開頭的銀行卡滿20減10的活動,磁條卡、芯片卡、拍卡聯機閃付還是手機云閃付都有效)。只是這樣的補貼是否能說服已經非常習慣掃碼支付的消費者們還有待觀察,更不用說銀聯和銀行相比支付寶們可是小氣得多了……
?
實際上根據最新數據,我國非刷卡交易(含網上交易、掃碼支付、手機支付等)的交易額僅占交易總額的10%左右,還有相當大的增長空間。像買車、買房等大宗消費仍然是以銀行卡線下支付為主。希望乘著互聯網+的東風,互聯網商務和手機支付能盡快進入消費者們的生活,讓技術真正帶來便利和安全。
M.落地:移動支付的實際應用方案推薦
?
總結前面所有支付方式,本文可以縮略成這張最終的表格:
按照不同的用戶選擇,這里給出對應的方案選擇推薦:
?
對于iPhone用戶,你們唯一的選擇顯然就只有Apple Pay了。如果是iPhone6/6s用戶,直接使用手機即可體驗ApplePay;對于iPhone 5/5c/5s用戶,只需要額外搭配一只Apple Watch同樣可以實現。
?
對于其他Android用戶,首推選擇云閃付。這種方式對手機的唯一要求就是NFC,現在不帶NFC的手機都難找了吧(再次點名作繭自縛的小米)。雖然銀聯列出了云閃付的手機支持列表,但實際上云閃付的技術本身對支持NFC的Android手機來說是沒有任何區別的,無論國行水貨,無論高端低端。
?
對于身處三四線小城市、身邊商家尚未普及閃付POS機的用戶,Samsung Pay將是完美的選擇,只需要記得下次手機選擇最新款的三星Galaxy旗艦,或者2016版的A系列(A5、A7、A9)即可。
?
同時,對于打算使用移動支付的用戶,建議您指定一張信用卡專門用于手機支付使用。手機支付的最佳應用情景是小額高頻次消費(直擊支付寶命門),因此專用的銀行卡可以方便你確認交易安全性,方便排查疑問交易。
?
最重要的,由于手機相當于銀行卡,因此請務必為手機設置鎖屏密保,避免手機丟失后造成額外損失。對于密保方式,首推指紋或圖案鎖,方便快捷;如果你習慣使用密碼,將重要的人的名字按照K9鍵盤(比如各種九宮格拼音輸入法)轉換成數字,將會是兼顧易記和安全的好密碼。
?
?
?
N.補充:HCE基礎知識(基于令牌的HCE)
1)安全單元和模擬安全單元
?
?盡管基于SE的NFC技術已經使用了很多年,它仍然有很多可提升的空間。它有如下兩個缺點:
?第一,這種方式下,發卡行發布應用時要依賴設備廠商或者運營商,因為他們擁有對SE的控制權(比如NFC-sim卡的方案,SE集成在sim卡中,移動或者電信這樣的運營商擁有控制權)。
?第二,后續升級,同樣要繼續依賴設備廠商或者運營商提供支持,最終會導致用戶體驗很差。
?
?即使最近android pay和apple pay,對像銀行這樣的金融機構也不是很方便,而且還要手續費。(android pay和apple pay是NFC全終端方案,這種方案對銀行來說也要依賴手機廠商)。基于這些情況,HCE這種在云服務端模擬的虛擬SE技術有如下的好處:
?第一,可以保護卡片信息,密鑰等數據,同時金融機構又對SE有絕對的控制權。
?第二,交易更新靈活方便,不用和設備廠商或者運營商再扯上關系。
?第三,銀行可以使用自己的令牌,而不是用卡組織的。(visa,mastercard等)
?2)基于云端的支付
?HCE方案依賴于云服務器端的安全,而并不是像傳統的NFC支付一樣依賴本地的硬件安全單元。傳統的支付模式下,最重要的元素是卡號。HCE架構下銀行可以把用戶的卡數據轉換成安全的令牌存儲在云端。這種模式可以為發卡行和其它金融機構帶來更高的靈活性并且應用在更廣闊的領域。
?在HCE的模式下,整個交易發生在發卡行擁有的一個安全的云服務端。避免了本地入侵的風險,同時對數據的傳輸起到一個保護作用。這些都得益于銀行本身可以對控制整個安保環節。
?SimplyTapp的解決方案正是基于此,移動端可以從發卡行的云端取受信的令牌并用它和POS終端進行數據交互。
3)HCE對支付行業的影響
在目前消費都已經持有多張卡的情況下,基于手機的移動支付要獲得較高的接受度必須要做到操作簡單,使用成本低。
基于HCE的移動支付方案被大多數卡組織推崇,不光安全,它的架構非常靈活可以適應未來多變的支付需求。
HCE可以使發卡行改變原有的基于硬件的安全方案,改為銀行可以控制的云端安全方案。這將會影響整個支付生態并提高移動支付的可接受度。
?擺脫了對設備廠商和手機運營商的依賴后,HCE的接受度變得更高。對開發者來說,他們開發和發布移動支付應用也變得更加容易。
?NFC無疑是未來的支付趨勢,而在安卓平臺引入的HCE技術無疑會讓這種支付方式滲透到各個細分的市場領域。
?
總結
- 上一篇: redis(千帆竞发--分布式锁)
- 下一篇: 《重说中国近代史》—张鸣—(3)两个世界