一種智能終端安全支付系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種智能終端安全支付系統(tǒng)及方法,利用具有空間隔離功能的處理器,在安全以及不安全的兩個時空中各自運行一個操作系統(tǒng)。包括以下特定:A.普通應用發(fā)起支付請求,支付程序檢驗其合法性,根據(jù)檢驗結果切換到監(jiān)視器;B.監(jiān)視器檢驗該請求的合法性,根據(jù)檢驗結果保存不安全操作系統(tǒng)上下文,恢復安全操作系統(tǒng)上下文;C.安全操作系統(tǒng)運行,進行安全支付處理,處理完成后通過監(jiān)視器切換回不安全時空;D.不安全操作系統(tǒng)獲取當前處理結果,完成后續(xù)處理。此方法的安全系數(shù)非常高,極大地避免了任一安全信息泄漏,同時也降低了硬件成本以及工作量。
【專利說明】一種智能終端安全支付系統(tǒng)及方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)安全領域,尤其涉及一種在智能終端上運行的安全支付系統(tǒng)及方法,屬于智能終端支付領域。
【背景技術】
[0002]移動支付技術就是允許用戶使用其移動終端對所消費的商品或服務進行賬務支付的一種服務方式。單位或個人通過移動設備、互聯(lián)網(wǎng)或這近距離傳感直接或間接向銀行金融機構發(fā)送支付指令產(chǎn)生貨幣支付與資金轉移行為,從而實現(xiàn)移動支付功能。移動支付將終端設備、互聯(lián)網(wǎng)、應用提供商以及金融機構相融合,為用戶提供貨幣支付、繳費等金融業(yè)務。
[0003]當前的移動支付安全方案主要由第三方硬件保證或者以可信計算來保證。前者的缺點就是會給用戶帶來的額外的預算開支而且攜帶還不方便;后者的缺點就是不能完全保證用戶輸入信息的安全,并且處理過程仍然有可能被惡意程序所截獲。
[0004]具有空間隔離功能的處理器的運用,加劇了對新的安全支付系統(tǒng)及方法的迫切需求。該處理器提供了一種基于硬件的空間隔離方案,或者是多顆物理核心獨自運行在某一空間,或者是一顆物理核心虛擬出兩顆核,分時在兩個空間中運行。這兩個空間分別定義為可信空間(或者安全環(huán)境)和不可信空間(或者不安全環(huán)境),在每個空間中可以通過執(zhí)行一條特定的指令切換到一個名為監(jiān)視器的“中介”環(huán)境,它們可以通過監(jiān)視器環(huán)境相互通信和切換,在這種架構下可以使一個應用程序分成兩部分在兩個空間中運行,這樣就可以避免數(shù)據(jù)從可信空間泄漏至不可信空間。在這種環(huán)境下的特殊應用可以在不可信空間中執(zhí)行不敏感的代碼,在可信空間中執(zhí)行安全編碼。因此,亟待開發(fā)這種對應的支付系統(tǒng)技術。
【發(fā)明內容】
[0005]本發(fā)明的目的就在于為了解決上述問題而提供一種智能終端安全支付系統(tǒng)及方法。本發(fā)明解決了用戶使用智能終端操作敏感數(shù)據(jù)時容易被惡意程序劫持的問題,例如在智能終端上輸入銀行卡相關的敏感信息被惡意程序監(jiān)控而導致的安全信息泄漏的安全事故。
[0006]為了達到上述目的,本發(fā)明采用了以下技術方案:
[0007]本發(fā)明所述一種智能終端安全支付系統(tǒng)及方法,具體是指基于具有空間隔離功能的處理器的智能終端安全支付系統(tǒng)及方法,該系統(tǒng)具體包含五大部分;安全操作系統(tǒng)、不安全操作系統(tǒng)、監(jiān)視器程序、運行在不安全操作系統(tǒng)上支付程序、運行在安全操作系統(tǒng)的支付程序。
[0008]1、安全操作系統(tǒng),運行在具有空間隔離功能的處理器的安全環(huán)境下,專門處理安全級別要求高的任務,例如采集及處理敏感數(shù)據(jù)的任務。這里我們采用命名為T-OS的操作系統(tǒng)作為安全操作系統(tǒng),T-OS是特制、精簡的操作系統(tǒng),其特點是簡單、小巧、穩(wěn)定。T-OS在運行時有一個優(yōu)先級非常低的主任務一直處于就緒或者執(zhí)行狀態(tài),該進程的任務就是通過監(jiān)視器傳進來的參數(shù)查詢是否有來自不安全環(huán)境的支付請求,當沒有其它進程任務的時候該進程任務就執(zhí)行。相比不安全的操作系統(tǒng),安全操作系統(tǒng)的代碼量小以及相對封閉保證了其安全性。
[0009]2、不安全的操作系統(tǒng),運行在具有空間隔離功能的處理器的不安全環(huán)境下,主要是運行在當前智能終端上的主流操作系統(tǒng),用于滿足人們在智能終端上的各種應用需求,由于該系統(tǒng)可以輕易的安裝來自各類的發(fā)布源的不受信任的應用程序,所以系統(tǒng)的安全性很低,無法保障我們整個系統(tǒng)的安全性。在接下來的描述以及實施案例中我們將以Android為例。
[0010]3、監(jiān)視器程序,運行在監(jiān)視器環(huán)境下的程序,專門管理安全操作系統(tǒng)T-OS與不安全操作系統(tǒng)Android的通信以及運行時切換,在T-OS以及Android運行過程中,它們都可以通過執(zhí)行一條特定的指令跳轉到監(jiān)視器程序中,監(jiān)視器程序可以通過獲取由Android或者T-OS在跳轉之前保存的指定參數(shù)的值來作出對應呃響應,在接下來的描述以及實施案例中以寄存器O、1、2來表示指定的參數(shù)。
[0011 ] 4、運行在不安全操作系統(tǒng)上的支付程序,接受來自其它應用程序或自身的支付請求,驗證其支付請求的合法性,準備相關支付參數(shù),執(zhí)行特定指令切換到監(jiān)視器環(huán)境中請求安全服務。
[0012]5、運行在安全操作系統(tǒng)上的支付程序,一般也可稱為安全服務,作為由Android應用請求的服務為例,接收由監(jiān)視器保存的來自不安全操作系統(tǒng)的支付參數(shù)信息,在界面顯示供用戶核實,然后將用戶輸入的銀行卡等必要的支付信息加密、壓縮以及封包并將封包結果寫回到參數(shù),告知不安全操作系統(tǒng)處理完成,切換到監(jiān)視器環(huán)境。
[0013]本發(fā)明所述一種智能終端安全支付系統(tǒng)及方法,該系統(tǒng)啟動步驟如下:
[0014](I)終端上電,系統(tǒng)引導后啟動安全操作系統(tǒng)T-OS ;
[0015](2) T-OS系統(tǒng)初始化,創(chuàng)建主進程任務;
[0016](3) T-OS主進程開始執(zhí)行,切換到監(jiān)視器環(huán)境執(zhí)行監(jiān)視器程序;
[0017](4)監(jiān)視器程序保存T-OS上下文,切換到不安全環(huán)境,啟動Android。
[0018]本發(fā)明所述一種智能終端安全支付系統(tǒng)及方法的具體運行流程如下:
[0019]A.Android應用程序發(fā)起進行支付的請求;
[0020]B.Android支付程序響應支付請求;
[0021]C.Android支付程序驗證支付請求的合法性;
[0022]D.Android支付程序準備好支付參數(shù),切換到監(jiān)視器環(huán)境;
[0023]E.監(jiān)視器驗證參數(shù)合法性,保存參數(shù)以及Android的運行上下文,并標識有來自不安全環(huán)境的請求,切換到安全環(huán)境下T-OS運行;
[0024]F.T-OS主任務檢查是否有來自不安全環(huán)境服務請求的標識;
[0025]G.T-OS主任務讀取由監(jiān)視器保存的參數(shù),創(chuàng)建安全支付進程;
[0026]H.安全支付程序開始運行,依次顯示支付詳情,支付通道以及等待輸入銀行賬戶信息;
[0027]1.安全支付程序對支付數(shù)據(jù)以及用戶輸入的信息進行處理;
[0028]J.將處理結果寫到由Android開辟的內存空間,并且設置相關寄存器的值作為傳入?yún)?shù),切換到監(jiān)視器環(huán)境;[0029]K.監(jiān)視器驗證參數(shù)合法性,保存T-OS上下文,恢復Android上下文,回到Android的運行。
[0030]L.Android讀取由T-OS安全支付程序處理完成的封包結果,發(fā)往相應的銀行在線支付處理中心,完成處理。
[0031]本發(fā)明所述一種智能終端安全支付系統(tǒng)及方法,各運行流程中具體操作步驟如下:
[0032]流程A中,Android應用程序發(fā)起進行支付的請求,包括以下具體步驟::
[0033]Al.客戶操作應用程序,點擊相應按鈕發(fā)起支付請求;
[0034]A2.應用程序觸發(fā)支付程序,并傳遞相應的支付參數(shù),包括支付商家、支付金額以及應用程序的標識等。
[0035]流程B中,Android支付程序響應支付請求,包括以下具體步驟::
[0036]B1.支付程序開始在Android上運行;
[0037]B2.支付程序獲取來自應用程序的參數(shù),包括支付商家、支付金額以及應用程序的標識碼等。
[0038]流程C中支付程序驗證支付請求的合法性,包括以下具體步驟:
[0039]Cl.支付程序對發(fā)起支付請求應用程序的標識符進行編碼;
[0040]C2.支付程序在本地數(shù)據(jù)庫中查找該編碼,驗證其合法性,若找到進入C5步驟;
[0041]C3.支付程序通過網(wǎng)絡更新本地數(shù)據(jù)庫;
[0042]C4.支付程序再次在本地數(shù)據(jù)庫中查找該編碼,若找到進入C5步驟,否則進入C6步驟;
[0043]C5.該支付請求驗證合法,驗證通過,結束。
[0044]C6.該支付請求驗證失敗,退出支付處理。
[0045]流程D中Android支付程序準備好支付參數(shù),然后切換到監(jiān)視器環(huán)境,包括以下具體步驟::
[0046]Dl.Android支付程序在本地開辟一塊大小足夠的內存區(qū)域,該內存區(qū)域用于存放商家信息、支付金額以及用于存儲T-OS處理的數(shù)據(jù)結果信息;
[0047]D2.Android支付程序將該內存區(qū)域的物理地址值存放在寄存器2中,供T-OS獲得該值以便進行賦值操作;
[0048]D3.Android支付程序將標識值FR0M_N0N_SE⑶RE存入寄存器O中,表示這是來自Android的請求;
[0049]D4.Android支付程序將標識值SE⑶RE_PAY存入寄存器I中,表示請求安全環(huán)境完成安全支付服務;
[0050]D5.Android支付程序執(zhí)行特定的指令,使當前運行環(huán)境切換到監(jiān)視器環(huán)境。
[0051]流程E中監(jiān)視器環(huán)境驗證參數(shù)合法性,保存參數(shù),包括以下具體步驟::
[0052]El.檢查由寄存器O的值是否是FR0M_N0N_SE⑶RE,若該值不合法則進入步驟E4 ;
[0053]E2.檢查寄存器2的值是否是正確的物理內存地址,若該值不合法則進入步驟E4 ;
[0054]E3.保存寄存器0、1、2的值到指定的變量params_ns[3]中,供T-OS訪問,此步驟結束。[0055]E4.請求參數(shù)驗證失敗,恢復Android上下文狀態(tài),跳出監(jiān)視器環(huán)境,繼續(xù)運行Android,此步驟結束。
[0056]流程G中T-OS提取由監(jiān)視器保存的數(shù)據(jù),創(chuàng)建安全支付進程,包括以下具體步驟::
[0057]Gl.檢查params_ns[l]中的值是否是SECURE_PAY,若不合法則進入步驟G3 ;
[0058]G2.創(chuàng)建安全支付進程,加入就緒隊列,準備調度,此步驟結束。
[0059]G3.T-OS中沒有Android請求的安全服務,通過監(jiān)視器切換回到Android,此步驟結束。
[0060]流程H中顯示支付詳情,用戶選擇支付通道以及輸入銀行賬戶信息,包括以下具體步驟:
[0061]Hl.支付詳情主要是顯示本次支付的目的商家以及支付金額,待用戶確認無誤后則可以到步驟H2;
[0062]H2.界面列出所支持的支付通道,選擇相應支付通道;
[0063]H3.進入輸入儲蓄卡、信用卡或者其它第三方支付方式的賬號及密碼的界面,用戶輸入對應的信息。
[0064]流程I中對支付數(shù)據(jù)以及用戶輸入的信息進行處理,包括以下具體步驟::
[0065]I1.根據(jù)支付通道約定的要求進行數(shù)據(jù)加密;
[0066]12.根據(jù)支付通道約定的要求進行數(shù)據(jù)壓縮;
[0067]13.根據(jù)支付通道約定的要求將數(shù)據(jù)打包成報文格式。
[0068]流程J中將處理結果寫到由Android開辟的內存空間,并且設置相關寄存器的值,包括以下具體步驟:
[0069]Jl.Android開辟的內存空間的物理地址保存在params_ns [2],將處理完成的報文數(shù)據(jù)寫入到此地址;
[0070]J2.設置寄存器O的值為FR0M_SE⑶RE,表示從安全環(huán)境T-OS切換到監(jiān)視器;[0071 ] J3.設置寄存器I的值為SE⑶RE_PAY_C0MPLETED,表示T-OS中的安全支付處理完成。
[0072]流程K中監(jiān)視器驗證參數(shù)合法性,包括以下具體步驟::
[0073]Kl.檢查寄存器O的值是否為FR0M_SE⑶RE,表示當前監(jiān)視器是由安全環(huán)境T-OS切換過來,若為不合法值則進入K4步驟;
[0074]K2.檢查寄存器I的值是否為SE⑶RE_PAY_C0MPLETED,表示T-OS中的安全支付處理完成,若為不合法值則進入K4步驟;
[0075]K3.參數(shù)合法性驗證完畢,此步驟結束。
[0076]K4.恢復進入監(jiān)視器時的上下文,此步驟結束。
[0077]流程L中發(fā)往相應的銀行在線支付處理中心,完成處理,包括以下具體步驟::
[0078]L1.根據(jù)來自安全支付服務寫回的數(shù)據(jù)結果,獲取用戶選擇的支付通道;
[0079]L2.查詢本地數(shù)據(jù)庫或者網(wǎng)絡數(shù)據(jù)庫,獲取對應支付通道的支付服務器地址;
[0080]L3.通過網(wǎng)絡將報文結果發(fā)往服務器地址,等待回應;
[0081]L4.獲取支付服務器的回應,顯示支付成功與否,此步驟結束。
[0082]本發(fā)明的有益效果在于:[0083]本發(fā)明所給出一種智能終端安全支付系統(tǒng)及方法,與現(xiàn)有技術相比具有以下優(yōu)點:提供了一種革新的安全系統(tǒng)架構及安全支付方法,可以將現(xiàn)有的支付案例移植到該系統(tǒng)架構上實現(xiàn),同時也通過該安全架構保證了支付在系統(tǒng)層面上的安全性,促進了移動支付的安全性和便捷性。
【專利附圖】
【附圖說明】
[0084]圖1是本發(fā)明中安全支付系統(tǒng)框架圖;
[0085]圖2是本發(fā)明中安全支付系統(tǒng)的啟動流程圖;
【具體實施方式】
[0086]下面結合附圖和具體實施例對本發(fā)明作進一步具體描述:
[0087]如圖1,為本發(fā)明中安全支付系統(tǒng)框架圖,具有空間隔離功能的處理器以具有ARMTrustZone的處理器為例。包括安全操作系統(tǒng)(11),不安全操作系統(tǒng)(12),監(jiān)視器(13),運行在不安全操作系統(tǒng)上的支付程序(14),以及運行在安全操作系統(tǒng)的安全支付程序(15)。
[0088]安全操作系統(tǒng)(11),用以運行在具有ARM TrustZone處理器的安全環(huán)境下,專門處理安全級別要求高的任務,安全支付的核心安全支付程序(15)就是在安全操作系統(tǒng)中運行。這里我們采用T-OS作為安全操作系統(tǒng),T-OS是特制、精簡的操作系統(tǒng),其特點是簡單、小巧、穩(wěn)定。T-OS在運行時有一個優(yōu)先級非常低的主任務一直處于就緒或者執(zhí)行狀態(tài),該進程的任務就是通過監(jiān)視器傳進來的參數(shù)查詢是否有來自不安全環(huán)境的支付請求,當沒有其它進程任務的時候該進程任務就執(zhí)行。相比不安全的操作系統(tǒng),安全操作系統(tǒng)的代碼量小以及相對封閉保證了其安全性。
[0089]不安全操作系統(tǒng)(12),主要是運行在當前智能終端上的主流操作系統(tǒng),用于滿足人們在智能終端上的各種應用需求,由于該系統(tǒng)可以輕易的安裝來自不同源的不受信任的應用程序,所以系統(tǒng)的安全性很低,這里以Android為例,處于不安全環(huán)境的支付程序14在此操作系統(tǒng)上運行。
[0090]監(jiān)視器(13),專門管理安全操作系統(tǒng)T-OS與不安全操作系統(tǒng)Android的通信過程,在安全操作系統(tǒng)(11)以及不安全操作系統(tǒng)(12)運行過程中,它們都可以通過執(zhí)行一條名為smc的特定指令跳轉到監(jiān)視器中,監(jiān)視器根據(jù)跳轉時寄存器0、1、2的值來獲取來自安全操作系統(tǒng)(11)或者不安全操作系統(tǒng)(12)的請求并且作出響應。
[0091]支付程序(14),接受來自其它應用程序或用戶的支付請求,判斷其支付請求的合法性,準備相關支付參數(shù),切換到監(jiān)視器(13)。
[0092]安全支付程序(15),獲取由監(jiān)視器(13)保存的來自不安全操作系統(tǒng)(12)的支付參數(shù)信息,在界面顯示供用戶核實,然后將用戶輸入的銀行卡等必要的支付信息加密、壓縮以及封包并將封包結果寫回,切換到監(jiān)視器環(huán)境。
[0093]在不安全操作系統(tǒng)(12)中還必須有Trust Zone驅動(16),其運行在不安全操作系統(tǒng)12環(huán)境下的支付程序可以通過調用Trust Zone驅動16切換到監(jiān)視器,并且傳遞相應的參數(shù)。
[0094]在不安全操作系統(tǒng)12中還必須有其它的應用17,這些應用可以觸發(fā)支付程序14來幫助其完成支付。[0095]在不安全操作系統(tǒng)(12)中還有Trust Zone驅動(16),該驅動提供不安全操作系統(tǒng)(12)切換到監(jiān)視器(13)的底層實現(xiàn)。
[0096]如圖2是本發(fā)明中安全支付系統(tǒng)的啟動流程圖;系統(tǒng)的啟動流程為:開始-上電-安全引導-啟動安全OS-引導不安全OS-啟動不安全OS-結束。啟動完成后可進入運行及支付操作。
[0097]以下具體通過是本法明中安全支付系統(tǒng)框架介紹在該安全支付系統(tǒng)及方法的【具體實施方式】。
[0098]這里的具有空間隔離功能的處理器以具有TrustZone技術的處理器為例,安全操作系統(tǒng)(11)以T-OS為例,不安全的操作系統(tǒng)(12)以Android為例。T-OS是基于Iinux內核特制的、精簡的安全操作系統(tǒng),主要提取了 Iinux的進程管理以及內存管理的核心部分。T-OS在運行時有一個優(yōu)先級非常低的主進程任務一直處于就緒狀態(tài),該進程的任務就是查詢是否有來自不安全環(huán)境的支付請求,當沒有其它進程任務的時候該進程任務就執(zhí)行。相比不安全的操作系統(tǒng),安全操作系統(tǒng)的代碼量小以及相對封閉保證了其安全性。
[0099]如圖1在安全支付系統(tǒng)框架中,智能終端上電后啟動T-OS(Il),T-OS(Il)啟動完畢后開始引導Android (12)的啟動,Android (12)開始運行。
[0100]其它應用(17)通過發(fā)起支付請求來調用支付程序(14),為了防止一些不合法程序肆意的請求支付,支付程序14會通過比對本地或者云端數(shù)據(jù)庫檢驗發(fā)起該支付請求的其它應用(17)是否合法,如果不合法則拒絕為其服務;如果合法則記錄下發(fā)起該支付請求的詳細信息(包括應用名稱、支付商家以及支付金額等)。支付程序(14)需要開辟大小足夠的內存空間,依次存放支付商家、支付金額等必要支付信息以及用于存放由安全支付程序(15)處理的結果,然后將該內存地址以參數(shù)傳入調用Trust Zone驅動程序,Trust Zone驅動程序的處理過程是給寄存器O賦值為FR0M_N0N_SE⑶RE,表示這是來自不安全環(huán)境的請求,給寄存器I賦值為SECURE_PAY,表示請求安全環(huán)境下的安全支付程序,給寄存器2賦值為由支付程序14傳入的內存地址的物理地址,用物理地址的原因是為了能夠讓安全環(huán)境下訪問該數(shù)據(jù),然后調用專用的指令smc切換到監(jiān)視器運行。監(jiān)視器根據(jù)傳入的寄存器
0、1、2的值知道這是來自Android(12)請求T-OS(Il)的安全服務,則保存寄存器O、1、2的值到數(shù)組params_ns[3]中,并且標識有來自Android (12)的服務請求,保存Android (12)上下文,恢復T-OS(Il)的上下文。
[0101]T-OS(Il)運行,通過檢查相應的標識判斷是否有來自Android(12)的服務請求,查驗params_ns[3]后開始創(chuàng)建安全支付程序(15)的進程,調度使其運行。安全支付程序(15)首先在界面顯示要進行支付的詳情(支付商家以及支付金額等)供用戶確認,然后用戶開始選擇支付通道并且輸入自己的賬號及密碼等信息。支付程序(15)對支付信息以及用戶輸入的驗證信息按照對應支付通道的約定進行加密、壓縮以及打包成報文,將處理結果以及成功與否的標識寫入params_ns[3]指定的內存地址處。至此,安全支付程序處理完畢,寫寄存器O的值為FR0M_SE⑶RE表示這是來自T-OS的切換,寄存器I的值為SE⑶RE_PAY_C0MPLETED表示安全支付處理已經(jīng)完成,最后執(zhí)行專用指令smc切換到監(jiān)視器運行。監(jiān)視器根據(jù)寄存器0、1的值了解到T-OS已經(jīng)處理完成,保存T-OS(Il)上下文,恢復Android(12)上下文,回到Android(12)中支付程序(14)的運行,支付程序(14)獲取由安全支付程序(15)的處理結果報文,通過網(wǎng)絡將其發(fā)往銀行支付中心完成交易過程,并且獲取支付成功與否的反饋。
[0102]以上公開的僅為本發(fā)明的具體實施案例,但本發(fā)明并非局限于此,任何本領域的技術人員都可以在上述實施例的基礎上作多種變化,同樣能夠實現(xiàn)本發(fā)明的目的,都應落在本發(fā)明的保護范圍內。
【權利要求】
1.一種智能終端安全支付系統(tǒng)及方法,其特征在于:具體是指基于具有空間隔離功能的處理器的智能終端安全支付系統(tǒng)及方法,該系統(tǒng)具體包含五大部分:安全操作系統(tǒng)、不安全操作系統(tǒng)、監(jiān)視器程序、運行在不安全操作系統(tǒng)上支付程序、運行在安全操作系統(tǒng)的支付程序。 ①.安全操作系統(tǒng),運行在具有空間隔離功能的處理器的安全環(huán)境下,專門處理安全級別要求高的任務,例如采集及處理敏感數(shù)據(jù)的任務,命名其為T-OS ; ②.不安全的操作系統(tǒng),運行在具有空間隔離功能的處理器的不安全環(huán)境下,主要是運行在當前智能終端上的主流操作系統(tǒng)(本發(fā)明以Android為例); ③.監(jiān)視器程序,運行在監(jiān)視器環(huán)境下的程序,專門管理安全操作系統(tǒng)與不安全操作系統(tǒng)的通信以及運行時切換,在安全操作系統(tǒng)與不安全操作系統(tǒng)運行過程中,它們都可以通過執(zhí)行一條特定的指令跳轉到監(jiān)視器程序中,監(jiān)視器程序可以通過獲取由安全操作系統(tǒng)與不安全操作系統(tǒng)在跳轉之前保存的指定參數(shù)的值來作出對應呃響應; ④.運行在不安全操作系統(tǒng)上的支付程序,接受來自其它應用程序或自身的支付請求,驗證其支付請求的合法性,準備相關支付參數(shù),執(zhí)行特定指令切換到監(jiān)視器環(huán)境中請求安全服務。 ⑤.運行在安全操作系統(tǒng)上的支付程序,一般也可稱為安全服務,接收由監(jiān)視器保存的來自不安全操作系統(tǒng)的支付參數(shù)信息,在界面顯示供用戶核實,然后將用戶輸入的銀行卡等必要的支付信息加密、壓縮以及封包并將封包結果寫回到參數(shù),告知不安全操作系統(tǒng)處理完成,切換到監(jiān)視器環(huán)境。
2.一種智能終端安全支付系統(tǒng)及方法,其特征在于:該系統(tǒng)啟動步驟如下: ①.終端上電,系統(tǒng)引導后啟動安全操作系統(tǒng)T-OS; ②.T-OS系統(tǒng)初始化,創(chuàng)建主進程任務; ③.T-OS主進程開始執(zhí)行,切換到監(jiān)視器環(huán)境執(zhí)行監(jiān)視器程序; ④.監(jiān)視器程序保存T-OS上下文,切換到不安全環(huán)境,啟動Android。
3.根據(jù)權利要求1所述的所述的一種智能終端安全支付系統(tǒng)及方法,其特征在于:該系統(tǒng)具體運行流程如下: A.Android應用程序發(fā)起進行支付的請求; B.Android支付程序響應支付請求; C.Android支付程序驗證支付請求的合法性; D.Android支付程序準備好支付參數(shù),切換到監(jiān)視器環(huán)境; E.監(jiān)視器驗證參數(shù)合法性,保存參數(shù)以及Android的運行上下文,并標識有來自不安全環(huán)境的請求,切換到安全環(huán)境下T-OS運行; F.T-OS主任務檢查是否有來自不安全環(huán)境服務請求的標識; G.T-OS主任務讀取由監(jiān)視器保存的參數(shù),創(chuàng)建安全支付進程; H.安全支付程序開始運行,依次顯示支付詳情,支付通道以及等待輸入銀行賬戶信息; i.安全支付程序對支付數(shù)據(jù)以及用戶輸入的信息進行處理; j.將處理結果寫到由Android開辟的內存空間,并且設置相關寄存器的值作為傳入?yún)?shù),切換到監(jiān)視器環(huán)境;K.監(jiān)視器驗證參數(shù)合法性,保存T-OS上下文,恢復Android上下文,回到Android的運行; L.Android讀取由T-OS安全支付程序處理完成的封包結果,發(fā)往相應的銀行在線支付處理中心,完成處理。
4.根據(jù)權利要求3所述的所述的一種智能終端安全支付系統(tǒng)及方法,其特征在于:所述具體流程C——Android支付程序驗證支付請求的合法性,包括以下具體步驟: Cl.支付程序對發(fā)起支付請求應用程序的標識符進行編碼; C2.支付程序在本地數(shù)據(jù)庫中查找該編碼,驗證其合法性,若找到進入C5步驟; C3.支付程序通過網(wǎng)絡更新本地數(shù)據(jù)庫; C4.支付程序再次在本地數(shù)據(jù)庫中查找該編碼,若找到進入C5步驟,否則進入C6步驟; C5.該支付請求驗證合法,驗證通過,結束; C6.該支付請求驗證失敗,退出支付處理。
5.根據(jù)權利要求 3所述的所述的一種智能終端安全支付系統(tǒng)及方法,其特征在于:所述具體流程D—Android支付程序準備好支付參數(shù),切換到監(jiān)視器環(huán)境,包括以下具體步驟: Dl.Android支付程序在本地開辟一塊大小足夠的內存區(qū)域,該內存區(qū)域用于存放商家信息、支付金額以及用于存儲T-OS處理的數(shù)據(jù)結果信息; D2.Android支付程序將該內存區(qū)域的物理地址值存放在寄存器2中,供T-OS獲得該值以便進行賦值操作; D3.Andro i d支付程序將標識值FR0M_N0N_SE⑶RE存入寄存器O中,表示這是來自Android的請求; D4.Android支付程序將標識值SE⑶RE_PAY存入寄存器I中,表示請求安全環(huán)境完成安全支付服務; D5.Android支付程序執(zhí)行特定的指令,使當前運行環(huán)境切換到監(jiān)視器環(huán)境。
6.根據(jù)權利要求3所述的所述的一種智能終端安全支付系統(tǒng)及方法,其特征在于:所述具體流程G——T-OS主任務讀取由監(jiān)視器保存的參數(shù),創(chuàng)建安全支付進程,包括以下具體步驟: Gl.檢查params_ns[l]中的值是否是SE⑶RE_PAY,若不合法則進入步驟G3 ; G2.創(chuàng)建安全支付進程,加入就緒隊列,準備調度,此步驟結束; G3.T-OS中沒有Android請求的安全服務,通過監(jiān)視器切換回到Android,此步驟結束。
7.根據(jù)權利要求3所述的所述的一種智能終端安全支付系統(tǒng)及方法,其特征在于:所述具體流程J——將處理結果寫到由Android開辟的內存空間,并且設置相關寄存器的值作為傳入?yún)?shù),切換到監(jiān)視器環(huán)境,包括以下具體步驟: Jl.Android開辟的內存空間的物理地址保存在params_ns[2],將處理完成的報文數(shù)據(jù)寫入到此地址; J2.設置寄存器O的值為FR0M_SE⑶RE,表示從安全環(huán)境T-OS切換到監(jiān)視器; J3.設置寄存器I的值為SE⑶RE_PAY_C0MPLETED,表示T-OS中的安全支付處理完成。
8.根據(jù)權利要求3所述的所述的一種智能終端安全支付系統(tǒng)及方法,其特征在于:所述具體流程K—監(jiān)視器驗證參數(shù)合法性,保存T-OS上下文,恢復Android上下文,回到Android的運行,包括以下具體步驟: Kl.檢查寄存器O的值是否為FR0M_SE⑶RE,表示當前監(jiān)視器是由安全環(huán)境T-OS切換過來,若為不合法值則進入K4步驟; K2.檢查寄存器I的值是否為SE⑶RE_PAY_COMPLETED,表示T-OS中的安全支付處理完成,若為不合法值則進入K4步驟; K3.參數(shù)合法性驗證完畢,此步驟結束; K4.恢復進入監(jiān)視器時的上下文,此步驟結束。
9.根據(jù)權利要求3所述的所述的一種智能終端安全支付系統(tǒng)及方法,其特征在于:所述具體流程L—Android讀取由T-OS安全支付程序處理完成的封包結果,發(fā)往相應的銀行在線支付處理中心,完成處理,包括以下具體步驟: L1.根據(jù)來自安全支付服務寫回的數(shù)據(jù)結果,獲取用戶選擇的支付通道; L2.查詢本地數(shù)據(jù)庫或者網(wǎng)絡數(shù)據(jù)庫,獲取對應支付通道的支付服務器地址; L3.通過網(wǎng)絡將報文結果發(fā)往服務器地址,等待回應; L4.獲取支付服務器的回應,顯示支付成功與否,此步驟結束。
【文檔編號】G06Q20/40GK103714459SQ201310729282
【公開日】2014年4月9日 申請日期:2013年12月26日 優(yōu)先權日:2013年12月26日
【發(fā)明者】楊霞, 桑楠, 羅凈, 魏蘭, 石鵬, 張獻忠, 孫海勇, 曾睿, 孫超群, 雷林, 劉志偉 申請人:電子科技大學