Apple Pay及其背后的安全技术
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
1.? 什么是Apple Pay
Apple Pay是Apple公司創(chuàng)新的一種安全支付方式。利用Apple Pay,用戶可以在商店或App內(nèi)進(jìn)行支付,既簡(jiǎn)單又安全。你再也不必到處翻找錢包,也不用再浪費(fèi)時(shí)間尋找合適的卡了。只需要在支持Apple Pay的POS機(jī)上輕輕一觸,并得到你的允許,即可用你的信用卡或借記卡完成支付。?
Apple?Pay 是一種支付形式,而非錢包。Apple屬于完全第三方,提供了一整套技術(shù)整合了支付過程的各個(gè)環(huán)節(jié),連接了用戶和商家,讓用戶的銀行卡與商家的支付系統(tǒng)對(duì)接。與支付寶和微信支付不同的是,省去了第三方平臺(tái)(支付寶錢包、微信錢包),減少了風(fēng)險(xiǎn)。支付過程中Apple不會(huì)收取任何費(fèi)用。
Apple Pay易用且安全。它在使用過程中不會(huì)泄露你卡片的詳細(xì)信息,因?yàn)檫@些資料不會(huì)儲(chǔ)存在你的設(shè)備上,也不會(huì)上傳至iCloud,更不會(huì)傳遞給商家。?
如圖 1和圖2所示,分別是Apple Pay在實(shí)體店支付和App內(nèi)支付,這2種支付場(chǎng)景的流程和原理類似,本文只探討實(shí)體店支付場(chǎng)景。Apple Pay支持iPhone6、iPad?Air?2、iPad?mini?4、Apple Watch及以上機(jī)型,本文只探討iPhone支付。
圖 1 實(shí)體店支付?????????????????????????????????????????????????????????????????????????????????????????
圖?2 App內(nèi)支付
2.? 名詞解釋
先來熟悉幾個(gè)名詞,有助于了解Apple Pay的機(jī)制。
?
3.? Apple Pay的體系架構(gòu)
Apple Pay在平臺(tái)上采用了可信的Boot Chain架構(gòu),確保正確的關(guān)鍵和軟件加載在經(jīng)過驗(yàn)證的硬件上,并繼承了符合金融行業(yè)標(biāo)準(zhǔn)認(rèn)證體系的安全芯片架構(gòu)。
圖 3 Apple Pay體系架構(gòu)簡(jiǎn)圖
在現(xiàn)有支付體系的生態(tài)環(huán)境尊重與兼容的前提下,Apple不失時(shí)機(jī)地將Passbook、Touch ID、安全芯片(Secure Element)、NFC控制器、Touch ID和Apple Pay服務(wù)器等幾個(gè)關(guān)鍵技術(shù)點(diǎn)整合進(jìn)來。從下圖可以看出,Apple是逐年完善其支付體系,逐步打造支付生態(tài)的。
圖 4 Apple Pay技術(shù)演進(jìn)
?
Passbook虛擬錢包
整合了各類服務(wù)的票據(jù),如登機(jī)牌和會(huì)員卡等,自身不提供交易功能,但幫助商戶發(fā)展了會(huì)員,且圈存了大量商戶資源。
?
Touch ID
用與Home鍵解鎖和App Store虛擬商品購(gòu)買的身份驗(yàn)證,省去了輸入密碼環(huán)節(jié)。
?
安全芯片(Secure Element)
Apple從iPhone5S開始使用ARM公司的A7架構(gòu)處理器,除了性能的提升外,更重要的是A7支持TrustZone技術(shù)。TrustZone技術(shù)通過其內(nèi)部總線的精巧設(shè)計(jì)使在同一顆ARM處理器上分隔出兩個(gè)隔離的軟件和硬件資源區(qū)。該技術(shù)符合GlobalPlatform TEE體系架構(gòu)定義。
Secure Enclave和Secure Element通過串口加密通信,加密通信所使用的共享密鑰對(duì)(Shared Pairing Key)關(guān)聯(lián)了Secure Enclave的UID和Secure Element的ID,由Secure Enclave生成,并通過iClound的加密機(jī)預(yù)置在安全芯片中。
當(dāng)用戶身份驗(yàn)證成功,Secure Enclave對(duì)交易數(shù)據(jù)用共享密鑰對(duì)簽名,并附上AR(Authentication Random)然后發(fā)送到Secure Element對(duì)其進(jìn)行解密。由此實(shí)現(xiàn)這2者之間數(shù)據(jù)的安全交換。
?
NFC
打通了線下交易環(huán)節(jié)。
?
Apple Pay Server
打通支付網(wǎng)絡(luò)系統(tǒng)或銀行的安全通信。
4.? 整合上下游產(chǎn)業(yè)鏈
Apple擅長(zhǎng)整合長(zhǎng)產(chǎn)業(yè)鏈,從用戶、商戶,到安全,再到支付,形成完整的生態(tài)。
?
4.1.? 上下游環(huán)節(jié)
用戶
App Store、用戶信用卡資源
?
商戶
Passbook聚集了大量商戶資源
?
安全
Touch ID,培養(yǎng)用戶使用指紋識(shí)別,用于解鎖和App Store消費(fèi)
?
與銀行卡產(chǎn)業(yè)鏈的所有角色合作
逐步整合產(chǎn)業(yè)鏈上的角色和資源,打造完整的生態(tài)。
4.2.? 銀行卡產(chǎn)業(yè)鏈
包括:
卡組織,Visa, MasterCard, American Express;
發(fā)卡銀行;
商戶信息系統(tǒng)提供商,Micros, NCR, Opentable;
收銀終端制造商,Verifone, Ingenico;
商戶;
芯片標(biāo)準(zhǔn)化組織GlobalPlatform。
?
5.? 添加銀行卡至Apple Pay
Wallet能存放登機(jī)牌、各種票券和積分卡等等,有了Apple?Pay,它還能儲(chǔ)存信用卡和借記卡。
圖 5 添加銀行卡至Wallet
?
用戶以鍵盤或iSight方式輸入銀行卡信息,這些信息均會(huì)被加密傳輸至Apple Server。Apple Server解碼這些數(shù)據(jù),并重新將數(shù)據(jù)以私鑰加密,這些數(shù)據(jù)除了之前認(rèn)證的信息外,還有Apple用戶信息、用戶手機(jī)號(hào)碼、姓名、手機(jī)型號(hào)、地理位置等,然后再將其傳輸至銀行支付系統(tǒng)。銀行支付系統(tǒng)以相同的私鑰對(duì)請(qǐng)求進(jìn)行解碼,根據(jù)請(qǐng)求數(shù)據(jù)判斷是否允許該賬戶添加至Apple Pay。這樣可以保證其他非法用戶無法竊取到相關(guān)信息。
一旦銀行卡授權(quán)成功,銀行支付系統(tǒng)生成一個(gè)與PAN唯一關(guān)聯(lián)的經(jīng)加密后的DAN,并發(fā)送至Apple。DAN對(duì)于每個(gè)設(shè)備來說都是唯一,且對(duì)應(yīng)唯一的銀行卡號(hào)。對(duì)于這個(gè)DAN,Apple不會(huì)做解碼,只會(huì)將其添加至Secure Element。為了保證安全,DAN與iOS隔離,也不會(huì)存儲(chǔ)在Apple Server和iCloud上。Apple不會(huì)使用或者存儲(chǔ)PAN,更不會(huì)將其傳輸給商家。
?
在Walle添加銀行卡的流程圖如下圖所示。
圖 6 添加銀行卡的流程圖示意圖
?
6.? Apple Pay支付
觸發(fā)Apple Pay有2種狀態(tài),
當(dāng)iPhone處于上電狀態(tài)靠近讀卡器,Apple Pay會(huì)被NFC控制器啟動(dòng),向用戶呈現(xiàn)預(yù)先設(shè)定的銀行卡信息。經(jīng)用戶選擇確認(rèn)后,再通過身份驗(yàn)證(Touch ID或Passcode),NFC控制器會(huì)啟動(dòng)安全芯片通道,用戶再次刷讀卡器啟動(dòng)Payment Applet,向商戶傳遞交易信息、終端信息和動(dòng)態(tài)安全碼。
先主動(dòng)使用Touch ID或Passcode驗(yàn)證身份,使iPhone處于“已通過驗(yàn)證”狀態(tài),然后再刷一次讀卡器完成支付。
圖 7 在實(shí)體店使用Apple Pay進(jìn)行支付
?
每次付款,當(dāng)你將信用卡或借記卡交到別人手中時(shí),你的卡號(hào)和身份信息都暴露無遺,而刷卡時(shí)更會(huì)觸發(fā)信息交換。當(dāng)你使用Apple Pay進(jìn)行支付時(shí),會(huì)使用DAN以及該筆交易特定的動(dòng)態(tài)安全代碼來處理付款。因此,Apple不知道你的信用卡或借記卡的實(shí)際卡號(hào),更無法將其傳輸至商家。與直接進(jìn)行刷卡交易不同的是,每次支付Apple Pay均要求使用Touch?ID或密碼,在驗(yàn)證Touch ID或輸入密碼之前,所有的支付要素都不會(huì)被發(fā)送到收款終端上。因此,只有你本人才能使用它們完成這些支付。
?
7.? 手機(jī)丟失怎么辦
別急,最有效的不是去銀行掛失,你可以使用“查找我的iPhone”迅速將它們?cè)O(shè)為“丟失模式”,便可停止這些設(shè)備上的Apple?Pay功能,或者完全抹掉這些設(shè)備上的信息。另外,你還可以通過iCloud,停止在設(shè)備上使用信用卡和借記卡進(jìn)行支付,方法很簡(jiǎn)單,只需登錄?iCloud.com?并點(diǎn)擊“設(shè)置”即可。銀行可以禁用用戶Apple Pay的銀行卡,即使你的手機(jī)沒有連接運(yùn)營(yíng)商網(wǎng)絡(luò)或者Wi-Fi。當(dāng)然,你也可以主動(dòng)聯(lián)系銀行禁用或者取消關(guān)聯(lián)Apple Pay。
?
8.? Apple收集什么信息
Apple宣稱(為了中立,就是宣稱)不會(huì)收集任何交易敏感的信息,也不會(huì)對(duì)用戶做行為分析。有些數(shù)據(jù),如位置信息、交易時(shí)間可能會(huì)被記錄下來,但是以匿名的方式,用于改進(jìn)Apple Pay。
?
9.? Apple Pay的安全性
添加銀行卡輸入的信息,無論使用鍵盤輸入還是iSight攝像頭都會(huì)被加密。iSight拍照不會(huì)在手機(jī)上留下照片記錄。
Touch ID在iPhone 5S上推出,經(jīng)過2年多的檢驗(yàn),其安全性得到了驗(yàn)證,盡管曾經(jīng)被攻破過,但付出的代價(jià)很大,遠(yuǎn)遠(yuǎn)超過了破解銀行卡密碼的難度。
使用Tokenization技術(shù)解決用戶銀行卡被盜帶來的問題。
支付時(shí),收銀員看不到你的姓名、卡號(hào)或安全代碼,鑒權(quán)方式是設(shè)備+指紋,比傳統(tǒng)的銀行卡+密碼方式安全度高,盜用難度更大。
支付過程中的支付信息被存儲(chǔ)在一塊獨(dú)立的安全芯片中,全程加密,且不會(huì)被傳輸?shù)饺魏蔚胤?#xff0c;任何交易方都不能獲得相關(guān)的敏感信息。
Apple不會(huì)存儲(chǔ)銀行卡號(hào),也不向商家提供銀行卡號(hào)。
即使iPhone丟失,其保存在安全芯片中的信息也無法被輕易獲取,而且通過遠(yuǎn)程擦除功能可以抹掉iPhone上的支付卡片的所有信息。
Apple只保留了NFC的卡模式功能,而屏蔽了讀寫器和P2P功能。
依賴iOS操作系統(tǒng)及硬件一貫的高安全性和高性能。
?
10.? 幾點(diǎn)認(rèn)識(shí)
Apple Pay不是一種單一的技術(shù);
Apple Pay不是一次鑄成,而是有清晰的規(guī)劃路線;
Apple Pay沒有顛覆任何技術(shù)、環(huán)節(jié)或事物,而是整合了一系列支付環(huán)節(jié);
Apple Pay不是錢包,而是無卡支付方式;
Apple做支付非常謹(jǐn)慎,未經(jīng)實(shí)踐檢驗(yàn)的技術(shù)絕不使用。
轉(zhuǎn)載于:https://my.oschina.net/u/2392723/blog/631693
總結(jié)
以上是生活随笔為你收集整理的Apple Pay及其背后的安全技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cogs 896. 圈奶牛
- 下一篇: wfs方式获取最短路径