周繼恩, 吳文川, 湯之雄
(中國銀聯(lián)股份有限公司,上海 201201)
虛擬現(xiàn)實是一種集成性的信息技術,綜合了計算機圖形圖像處理、互聯(lián)網(wǎng)、傳感器、多媒體、人機交互、仿真系統(tǒng)等多種技術[1],可以為人們呈現(xiàn)一個具有較強沉浸感、模擬真實環(huán)境的虛擬世界. 通過多年的研究和改進,虛擬現(xiàn)實技術已經(jīng)在多個領域得到應用[2],比如虛擬購物場景,用戶只要在家戴上VR設備即可身臨其境般享受購物樂趣,在虛擬現(xiàn)實中看到產(chǎn)品的真實大小并且全方位仔細查看商品,從而大大提升了購物體驗. 購物過程的重點在于體驗,而購物體驗最終會落在支付.
目前的VR應用在支付時的交互方式主要分為以下兩類: 一類產(chǎn)品在支付過程中,需要用戶取下VR設備,通過傳統(tǒng)互聯(lián)網(wǎng)支付方式完成,這一類產(chǎn)品的支付環(huán)節(jié)與VR場景脫離,本質(zhì)上并非虛擬現(xiàn)實支付. 而另一類產(chǎn)品,如正處于實驗階段的螞蟻金服的VRPay,通過在VR環(huán)境中構建二維虛擬鍵盤的方式,讓用戶通過凝視鍵盤來完成支付要素的填寫,這樣做雖然支付過程延續(xù)了“虛擬現(xiàn)實”的場景,但讓用戶在VR場景下輸入支付信息會導致用戶體驗不佳,并且存在著泄露支付要素的風險,給用戶帶來了財產(chǎn)安全隱患. 這兩類產(chǎn)品所遇到的共同問題即如何在保證安全的情況下給用戶帶來便捷、友好的交互體驗,這正是目前VR支付行業(yè)的痛點.
不同于以上兩類VR支付產(chǎn)品,本文設計的VR支付方案旨在利用支付標記化(token)技術保證持卡人支付安全與便捷,通過安全模塊加密保護終端存儲的銀行卡數(shù)據(jù)和支付數(shù)據(jù),利用生物特征驗證用戶身份,避免支付數(shù)據(jù)輸入,利用3D建模技術構建沉浸式支付場景,從而設計出一種既能提升用戶體驗,同時又保證安全性的解決行業(yè)痛點的標準支付方案.
支付標記(Payment Token)指符合主賬號PAN的基本驗證規(guī)則(如LUHN算法校驗)的一個替代值. 在本文的支付方案中,利用token代替銀行卡號,用token的有效期代替銀行卡號的有效期,確保了敏感信息在交易時的安全.
在支付標化系統(tǒng)中有兩個重要角色,即標記請求方(Token Requestor,TR)和標記服務提供方(Token Service Provider,TSP). 其中TR作為標記請求的實體需遵循TSP的注冊流程、技術規(guī)范與管理標準[3]. 在TSP成功注冊后,TR將被分配一個TR ID,同一實體在不同TSP注冊TR,或同一實體在同一TSP注冊不同交易渠道的服務將被分配不同的TR ID.
在支付標記化系統(tǒng)中,TR向TSP申請token,并同步管理需要應用token的實體(商戶、持卡人等).TSP負責對token進行分配管理、去標記化等,是支付標記化系統(tǒng)的核心,它根據(jù)不同的業(yè)務場景、受理渠道以及標記的應用域控,制定與之配套的個性化參數(shù)和控制措施,最終達到標記交易控制和風險監(jiān)控. 其架構如圖1所示 (其中實線箭頭代表已有系統(tǒng)的數(shù)據(jù)交互,虛線箭頭代表標記服務相關應用接口).
安全模塊用于提供金融信息的安全存儲以及安全訪問控制,包括對稱、非對稱加解密算法和數(shù)字證書的下發(fā)與更新、銀行金融數(shù)據(jù)的動態(tài)下發(fā)、刪除和更新、金融數(shù)據(jù)的安全隔離、提供安全交易的API.
圖1 支付標記化結構圖
安全模塊分為硬件和軟件兩類. 硬件的安全模塊主要是eSE安全芯片或swp-SIM卡[4]; 軟件的安全模塊主要是基于白盒密碼技術的程序[5]. 目前,市場上VR設備主要是手機,而主流手機設備大多具有安全芯片或支持插入swp-SIM卡,因此VR設備大多支持基于硬件的安全模塊方案. 對于不支持硬件安全模塊的手機,可以選擇采用白盒密碼技術實現(xiàn)的軟件安全模塊來保護金融數(shù)據(jù).
在VR支付方案中,首先通過安全模塊與平臺間建立端到端的安全通道,在線下發(fā)銀行卡信息及算法密鑰,并存儲在安全模塊內(nèi); 接著,安全模塊的訪問權限控制機制將杜絕其他應用對安全模塊內(nèi)金融數(shù)據(jù)的訪問,只有白名單應用才具有對安全域內(nèi)數(shù)據(jù)讀取和更新的權限; 最后,應用通過安全交易API訪問數(shù)據(jù),使用非對稱密鑰加密及簽名保護,防止支付信息的泄露和篡改.
為了構建一個沉浸感強的支付環(huán)境,采用全景圖進行環(huán)境建模是一種高效的方式. 全景圖一般通過照片、視頻、3D模型等表現(xiàn)形式,構建出大于雙眼正常有效視角的環(huán)境,它是一種新的圖像信息組織模式,可以表達完整的周圍環(huán)境信息,相對于對于觀察者而言,是建立在圖像上立體的多角度的圖形環(huán)境[6].
采用全景圖進行環(huán)境建模,不僅比基于幾何的VR建模真實感更強,而且其細節(jié)復雜性對運行速度幾乎無任何影響. 另外,當今出貨量最多、普及率最廣的VR設備是基于手機的,由于手機在刷新率、CPU性能等硬件條件上亞于基于PC的VR設備,所以全景圖的高效性在手機VR應用上將會得到更大發(fā)揮.
本文在設計中采用了球面全景圖來構建支付環(huán)境,利用3D建模等技術構建支付頁面、選卡頁面等,整個虛擬場景是按以下步驟生成的:
(1) 利用采集的離散圖像或連續(xù)的視頻作為基礎數(shù)據(jù),經(jīng)過處理形成全景圖像;
(2) 通過合適的空間模型(如球面、六面體、柱面等,本文選取了球面)把全景圖像組織成虛擬全景空間.
(3) 在全景空間里建立物體,即3D模型、2D模型等(如3D商品、2D銀行卡等).
(4) 通過一些腳本為物體做控制處理,讓這些物體為用戶帶來友好的交互體驗.
基于以上的VR建模,用戶便可在構建出的虛擬場景中進行前進、后退、360度環(huán)視等一系列真實環(huán)境下的行為操作,沉浸感強、交互友好.
為了在高頻交易下兼顧用戶體驗與安全,VR支付方案需滿足4點要求: 1) 高可用性: 保證用戶聯(lián)網(wǎng)情況下順暢支付; 2) 可伸縮性: 保證架構設計強內(nèi)聚、松耦合; 3) 高性能: 保證終端用戶便捷訪問; 4) 安全性: 保證金融數(shù)據(jù)與交易過程安全. VR支付方案的技術架構設計如圖2所示.
VR支付系統(tǒng)主要包括5部分: VR支付控件、安全模塊、在線支付平臺、可信服務、TSP等.
(1) VR支付控件: 在VR場景中為用戶提供支付入口,讓用戶選擇支付卡和優(yōu)惠,利用生物識別認證用戶身份,動態(tài)生成支付數(shù)據(jù)密文,并通過線上支付平臺驗證支付數(shù)據(jù)和承兌交易.
(2) 安全模塊: 基于設備eSE的安全域或基于白盒碼的軟件安全模塊,用于存儲銀行卡信息及加密密鑰,并提供安全訪問接口.
(3) 線上支付平臺: 提供線上支付接入、驗證支付數(shù)據(jù)并承兌交易.
(4) 可信服務: 與運營商、終端廠商等可信服務系統(tǒng)互聯(lián),為銀行提供空中發(fā)卡、安全模塊生命周期管理等服務.
(5) TSP: 提供支付標記化服務.
圖2 技術架構圖
虛擬現(xiàn)實中的支付行為需要兼顧用戶的體驗、安全等多方面因素. 所以本文在支付流程的設計上盡可能優(yōu)化交互流程,讓支付的數(shù)據(jù)流程更加便捷安全.
在VR購物場景中,用戶首先進入商品選擇流程,選擇要購買的商品. 為了讓用戶獲得沉浸式的體驗,VR購物應用會構建出虛擬貨架、商品、標簽等在現(xiàn)實世界中真實存在的對象,仿造出一個真實的購物環(huán)境. 用戶選擇商品后,商品選擇頁面上呈現(xiàn)選中商品的3D模型、商品詳情和價格等信息,為用戶進一步展示商品細節(jié),幫助用戶選擇心儀的商品. 在用戶選定某一商品后,進入VR支付流程. 支付頁面以浮動屏幕的形態(tài)展現(xiàn)在商品的旁邊,支付頁面中包含可選銀行卡、優(yōu)惠信息、分期信息等. 實現(xiàn)的VR支付頁面圖如圖3所示.
當用戶選擇一張銀行卡作為支付卡時,只需要凝視該卡一定時間,系統(tǒng)就會自動讀取卡信息并生成支付數(shù)據(jù),同時用戶可以通過凝視等操作選擇銀行卡對應的優(yōu)惠信息,確認支付便可發(fā)起支付請求、完成支付. 支付結果如圖4所示.
圖3 VR支付頁面圖
圖4 VR支付結果圖
整個交互流程可走免密支付,這樣就避開了VR場景下輸入信息難的問題,支付過程簡單、便捷.
當用戶凝視選擇確認支付時,VR支付控件根據(jù)在線支付平臺所創(chuàng)建的訂單號,將token等支付信息上送至在線支付平臺進行處理,數(shù)據(jù)流程如圖5所示.
總體步驟如下:
(1) 客戶端通過交易流水號(TN)調(diào)用VR支付控件.
(2) VR支付控件向銀聯(lián)在線支付平臺發(fā)送(TN)請求訂單信息.(3) 銀聯(lián)在線支付平臺根據(jù)TN下發(fā)商戶訂單信息.(4) 用戶通過VR支付控件確認支付后,由向銀聯(lián)后臺發(fā)起支付請求.
(5) 銀聯(lián)在線支付平臺上傳ARQC到銀聯(lián)TSP平臺做校驗,并拿到授權應答.
(6) 銀聯(lián)在線支付平臺將去標記的卡Pan上送至銀行進行驗證,并拿到授權結果.
(7) 銀聯(lián)在線支付平臺處理支付.
(8) 銀聯(lián)在線支付平臺將支付結果返回給VR支付控件與商家后臺.
(9) VR支付控件根據(jù)支付結果進行虛擬場景下的支付結果展示.
圖5 VR支付時序圖
VR支付場景中,由于信息輸入導致交互體驗不佳,因此在方案設計時,為避免讓用戶輸入信息做交易驗證,而采用通過生物識別驗證用戶身份,然后動態(tài)生成支付數(shù)據(jù)作交易驗證的方式. 在此方案中,保證支付安全成為整個方案的核心關鍵. 而支付安全性需要分別從業(yè)務安全性和技術安全性兩方面著手.
在業(yè)務安全性上,主要從業(yè)務流程上降低用戶銀行卡信息泄露危害以及防止冒用他人身份在VR場景中完成支付. 業(yè)務流程分別從銀行卡信息安全和用戶身份認證兩個維度來保證安全性.
(1) 銀行卡信息安全
為降低銀行卡信息泄露帶來的危害,將下發(fā)的token與特定銀行卡、設備及VR支付渠道綁定,因此存儲在安全域中的金融數(shù)據(jù)只能用于該銀行卡在當前設備上完成VR支付,即使token號等金融數(shù)據(jù)泄露也不能在其他場景或設備上支付,使銀行卡信息得到保護,防范了風險.
(2) 身份認證
為防范身份冒用,在用戶使用設備或開啟應用前,要求用戶通過指紋解鎖設備和開啟應用,借助生物特征技術,保證了只有已錄入指紋的用戶才具有該設備和應用的操作權限,并獲得VR支付授權; 其次,在商戶應用需要支付時調(diào)起VR支付控件,此時用戶無需再次驗證身份,通過之前驗證身份獲得的授權,訪問當前設備上存儲的金融數(shù)據(jù),并使用支付密鑰對金融數(shù)據(jù)進行加密和生成簽名,這樣就保證了只有該設備和在該設備上完成驗證的用戶才能發(fā)起支付.
因此,本方案利用token與生物特征識別技術,建立用戶與特定設備的綁定關系,并根據(jù)用戶身份驗證結果授權該用戶使用當前設備存儲的金融數(shù)據(jù)進行支付,來保證非密碼驗證情況下的支付安全性.
技術方案上,分別從金融數(shù)據(jù)下發(fā)、金融數(shù)據(jù)存儲、和金融數(shù)據(jù)支付三個過程來保證支付的安全性.
(1) 金融數(shù)據(jù)下發(fā)
安全模塊內(nèi)預置通訊密鑰,包括敏感信息密鑰DEK、報文密鑰S_ENC、驗簽密鑰S_MAC,每次金融數(shù)據(jù)下發(fā)前,客戶端與服務端分別生成隨機數(shù),利用隨機數(shù)和序列數(shù)作為隨機因子對預置密鑰做分散產(chǎn)生會話密鑰,之后通訊數(shù)據(jù)均使用會話密鑰加密. 由于序列數(shù)動態(tài)更新,因此會話密鑰一次一密,保證通訊過程中金融數(shù)據(jù)安全性. 下發(fā)的金融數(shù)據(jù)包括銀行卡token、卡交易數(shù)據(jù)以及支付密鑰等,用于支付過程中生成動態(tài)支付數(shù)據(jù)密文. 安全模塊的架構如圖6所示.
(2) 金融數(shù)據(jù)存儲
可信服務下發(fā)的金融信息和支付密鑰加密存儲在安全模塊內(nèi). 對于基于eSE實現(xiàn)的安全模塊,GP規(guī)范限制卡內(nèi)其它應用直接讀取金融安全域內(nèi)的數(shù)據(jù); 對于基于白盒實現(xiàn)的安全模塊,在金融數(shù)據(jù)和密鑰下發(fā)后,采用白盒轉(zhuǎn)加密完成通訊密鑰解密和存儲密鑰加密過程. 存儲密鑰由根密鑰加上終端設備信息分散得到,一設備一密,保證了存儲數(shù)據(jù)的安全性. 同時,VR支付使用動態(tài)生成的支付密文做交易驗證,保證了金融數(shù)據(jù)密文即使被獲取也無法用于支付.
(3) 金融數(shù)據(jù)使用安全
首先,支付控件和安全模塊分別對調(diào)用方做權限驗證,通過APP包名簽名校驗且在白名單內(nèi)的應用方可調(diào)用接口; 其次,支付過程不使用靜態(tài)的金融數(shù)據(jù)作驗證,VR支付應用在驗證用戶身份通過后,基于安全模塊中的金融數(shù)據(jù)及支付密鑰動態(tài)生成支付密文,支付密文與其他支付信息一起上送服務端完成驗證和支付. 支付密文中包含銀行卡token、卡數(shù)據(jù)等靜態(tài)信息以及操作序列數(shù)、時間等動態(tài)信息,保證了支付密文無法被竊取,且其密文無法被重放.
因此在安全模塊的保護下,當用戶在使用自己的VR設備進行購物、消費時,黑客無法通過軟件層面的攻擊來獲取隱私信息,整個支付過程都是安全的,并且高于螞蟻金服VRPay的安全等級.
為驗證VR支付方案的可用性和可靠性,在三星Galaxy S6 edge+上對VR支付場景與過程進行了模擬.金融數(shù)據(jù)存儲方案分別采用基于eSE和白盒實現(xiàn)的安全模塊,VR頭戴設備為三星Gear VR,支付鏈路為銀聯(lián)在線支付平臺系統(tǒng). 經(jīng)模擬測試:
VR支付與傳統(tǒng)移動支付各步驟平均耗時對比如表1所示,VR支付成功率如表2所示.
表2 VR支付與傳統(tǒng)移動支付成功率對照
由表1和表2可知: 在VR支付方案中,基于eSE安全模塊的支付耗時比白盒模式高,原因在于eSE模式讀取金融安全域時有更多的指令交互. 在支付成功率上,VR支付比傳統(tǒng)移動支付的成功率更高,原因在于VR支付省去了密碼輸入過程,避免了密碼錯誤導致的交易失敗; 同時,VR支付交互設計較為簡易、直觀,沒有用戶因為不熟悉支付操作而交易失敗.
本文利用支付標記化技術,通過VR設備內(nèi)嵌的安全模塊加密保護銀行卡數(shù)據(jù)和支付數(shù)據(jù),設計出一種標準的支付方案,利用3D建模技術構建出沉浸式的支付場景,解決了VR市場上支付產(chǎn)品交互難、安全性低的問題,填補VR支付產(chǎn)品的空白,促進VR產(chǎn)業(yè)的健康發(fā)展. 期望通過本項目的研究,促進VR支付產(chǎn)業(yè)的規(guī)范化,為進一步為形成VR支付的行業(yè)標準奠定基礎. 另外,在進行大額消費時,增強驗證是一個必不可少的環(huán)節(jié),如何在VR環(huán)境中更方便快捷地認證用戶身份,是一個難點,也是一個具有應用價值的研究方向.
1斯凱·奈特. 虛擬現(xiàn)實: 下一個產(chǎn)業(yè)浪潮之巔. 2 版. 北京: 中國人民大學出版社,2016: 11-13.
2王寒. 虛擬現(xiàn)實: 引領未來的人機交互革命. 北京: 機械工業(yè)出版社,2016: 20-21.
3EMVCo. Payment tokenization. https://www.emvco.com/terms-of-use/?u=wp-content/uploads/documents/EMVCo-Payment-Tokenisation-Specification-Technical-Frameworkv2.0.pdf. [2017-09].
4GlobalPlatform. 可信執(zhí)行環(huán)境:以更低的成本實現(xiàn)更安全的移動市場. https://www.globalplatform.org/documents/whitepapers/GP_WhitePaper_TEE_2015_chinese.pdf. [2015-06].
5林婷婷,來學嘉. 白盒密碼研究. 密碼學報,2015,2(3):258-267.
6周曉成,張煜鑫,冷榮亮. 虛擬現(xiàn)實交互設計. 北京: 化學工業(yè)出版社,2016: 132-139.