專利名稱:安全移動支付方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種移動支付的方法,特別是一種安全移動支付的方法。
技術(shù)背景隨著計算機技術(shù)和通訊技術(shù)的發(fā)展,銀行電子支付被廣泛采用,如借記卡 和信用卡支付、利用計算機終端或掌上電腦網(wǎng)上支付、固定電話和移動電話支 付。移動支付由于其具有方便靈活的特點,更是受到商家或消費者的青睞,其 業(yè)務(wù)迅速發(fā)展,為此安全支付是交易各方所關(guān)注的首要問題。移動支付過程中利用INTERNET網(wǎng)絡(luò)和公共通訊網(wǎng)絡(luò)進行用戶與銀行金融中心的通訊,通常使用 交易口令或密碼的方式登錄,然后確定交易類型并支付。在支付安全性的保障 方面,對于INTERNET網(wǎng)絡(luò)普遍使用網(wǎng)上安全交易協(xié)議SET或SSL,采用這種方 式存在協(xié)議易被黑客和病毒攻擊的不足。而利用公共通訊網(wǎng)絡(luò)則存在客戶信息 容易被竊聽,口令易遭試探性攻擊,從而導(dǎo)致客戶信息被泄漏的缺陷。為此, 中國發(fā)明專利申請?zhí)?00610076282.9,提出采用單向加密算法生成用戶數(shù)字身 份證明,移動支付系統(tǒng)雙向加密算法生成動態(tài)一次性密碼向用戶發(fā)送,用戶反 饋該一次性密碼給移動支付系統(tǒng)的方法,來提高移動支付的安全性。該方法不 能夠從硬件、操作系統(tǒng)、應(yīng)用程序到支付網(wǎng)絡(luò)整體構(gòu)建成一個安全可靠的系統(tǒng)。 發(fā)明內(nèi)容本發(fā)明的目的是提供一種安全移動支付方法,要解決的技術(shù)問題是提高移 動支付系統(tǒng)的安全性。本發(fā)明采用以下技術(shù)方案 一種安全移動支付方法,包括以下步驟一、建立移動客戶終端與銀行金融中心、銀行金融中心與驗證方之間的聯(lián)接;二、移動客戶端的支付模塊按照組件啟動的先后次序啟動,并通過單向散列函數(shù)計 算組件的數(shù)值,把計算組件得到的數(shù)值存儲在移動客戶端的安全芯片的存儲器中;三、當(dāng)移動客戶端進行支付時,支付模塊將存儲在安全芯片的已啟動組件的數(shù)值再進行運算,得到一個新的移動客戶端總的數(shù)值,加密后通過網(wǎng)絡(luò)傳輸?shù)姐y行金融中心,銀行金融中心把該數(shù)據(jù)傳輸?shù)津炞C方進行驗證;四、驗證方 接收到銀行金融中心發(fā)來的數(shù)據(jù)后,對接收到的移動客戶端的各組件的數(shù)值進 行解密,然后將計算得到的總的數(shù)值和解密后的總的數(shù)值進行驗證;五、驗證 方對接收到的支付模塊各組件的數(shù)值在驗證方的數(shù)據(jù)庫中查找并進行驗證,將 結(jié)果反饋給銀行金融中心;六、銀行金融中心根據(jù)驗證方返回的結(jié)果判斷支付 是否繼續(xù);七、銀行金融中心最后把判斷是否支付的結(jié)果,成功或是失敗的信 息反饋給移動客戶端,支付過程結(jié)束。本發(fā)明客戶終端與銀行金融中心之間和銀行金融中心與驗證方之間的聯(lián)接 采用有線或無線網(wǎng)絡(luò)進行聯(lián)接。本發(fā)明安全芯片的運算加密步驟是將已啟動組件的數(shù)值進行單向散列函數(shù) 運算,得到一個新的移動客戶端總的數(shù)值,然后以安全芯片中的私鑰作為密鑰 對總的數(shù)值利用非對稱算法進行加密,將加密后的移動客戶端總的數(shù)值和已啟 動各組件的數(shù)值傳輸?shù)姐y行金融中心。本發(fā)明驗證方的解密步驟對接收到的移動客戶端的各組件的數(shù)值通過單 向散列算法得到一個總的數(shù)值,然后對接收的移動客戶端發(fā)來的總的數(shù)值以移 動客戶端的公鑰作為密鑰進行解密,得到加密前的總的數(shù)值,然后計算得到的 總的數(shù)值和解密后的總的數(shù)值進行驗證。本發(fā)明驗證方的驗證步驟驗證方首先對接收到的移動客戶端的各組件的數(shù)值通過單向散列算法得到一個總的數(shù)值,然后對接收的移動客戶端發(fā)來的總 的數(shù)值以移動客戶端的公鑰作為密鑰進行解密,得到明碼,然后計算得到的總 的數(shù)值和解密后的總的數(shù)值進行驗證,驗證方對接收到的支付模塊各組件的數(shù) 值在驗證方的數(shù)據(jù)庫中查找已存儲的移動客戶端的各組件的名稱進行驗證,找 到了匹配的組件名進行數(shù)值的信息的驗證,判斷兩個二數(shù)值是否相同,相同則 進行下一組數(shù)值與組件名的驗證。本發(fā)明的數(shù)值為二進制散列值。本發(fā)明的單向散列函數(shù)的計算方法為MD5、 SHA-1或SHA-2計算方法。本發(fā)明移動客戶端的啟動流程包括以下步驟(1) 、從安全啟動代碼啟動,安全啟動代碼計算從移動客戶端的存儲器中 讀出的移動客戶端的控制模塊加載代碼的二進制散列值,并把控制模塊加載代碼的二進制散列值存儲在安全芯片的存儲器中;(2) 、安全啟動代碼啟動控制模塊加載代碼,并將控制權(quán)轉(zhuǎn)移到控制模塊 加載代碼-,(3) 、控制模塊加載代碼從移動終端存儲器中讀出控制模塊的代碼,計算 它的二進制散列值,并把二進制散列值存儲在安全芯片的存儲器中;(4) 、控制模塊加載代碼啟動控制模塊代碼,并將控制權(quán)轉(zhuǎn)移到控制模塊代 碼;(5) 、控制模塊如果要啟動某個程序,也要在啟動該程序之前,計算它的 二進制散列值,并把二進制散列值存儲在安全芯片的存儲器。 本發(fā)明的安全啟動代碼存儲在只讀存儲器中。本發(fā)明安全芯片包括單向散列函數(shù)引擎、非對稱函數(shù)引擎、真隨機數(shù)RNG 產(chǎn)生器、CPU、隨機存儲器RAM、非易失性存儲ROA和Flash、時鐘管理模塊。本發(fā)明與現(xiàn)有技術(shù)相比,通過使用硬件形式的安全芯片,驗證方將預(yù)先認(rèn) 證的正確的驗證碼存儲在驗證方存儲器中,對移動客戶端環(huán)境進行驗證、存儲, 并向可信服務(wù)中心報告,使移動支付網(wǎng)絡(luò)系統(tǒng)的移動客戶端在被外界破壞的情 況下銀行金融中心和支付模塊能主動得知并中止支付執(zhí)行,從而使移動客戶端 更加安全可靠,使用硬件可信模塊對客戶私密信息進行綁定的加密存儲,保證 客戶信息不會被泄漏,使移動客戶端與銀行金融中心雙方的通信過程更加安全 可靠。
圖1是本發(fā)明實施例的移動安全支付系統(tǒng)結(jié)構(gòu)示意圖。圖2是本發(fā)明實施例的逐級計算二進制散列值流程示意圖。 圖3是本發(fā)明實施例的客戶終端支付流程圖。 圖4是本發(fā)明實施例的客戶終端的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步詳細(xì)說明。本發(fā)明的移動安全支 付方法,采用硬件形式的安全芯片,建立增強移動安全支付的銀行電子交易網(wǎng) 絡(luò)系統(tǒng)。本發(fā)明采用的安全支付的核心思想是在驗證方中預(yù)先存儲經(jīng)過認(rèn)證的組 件的初始二進制散列值,當(dāng)支付發(fā)生時移動客戶端內(nèi)的支付模塊向驗證方提交 己啟動組件的二進制散列值,驗證方將初始二進制散列值與收到的組件的二進 制散列值互相驗證,完成安全支付過程。支付時以支付模塊內(nèi)安全芯片為安全 啟動代碼,計算支付模塊所有已啟動的組件的二進制散列值,并把二進制散列 值存儲在安全芯片的存儲器中。要達到上述目的,需要保證取到支付模塊所有已啟動的組件的二進制散列值的真實性,驗證方能夠驗證支付模塊的身份,保證將支付模塊的二進制散列 值完整的傳遞到驗證方。支付模塊啟動各組件,組件啟動的先后次序為假設(shè)各組件為組件A、組 件B、組件C、組件D,支付模塊啟動存儲在只讀存儲器中的安全啟動代碼,安 全啟動代碼先計算組件A的二進制散列值并將其存放到安全芯片的存儲器中,然后安全啟動代碼啟動組件A,組件A接收到信號執(zhí)行命令,組件A計算組件 B的二進制散列值并把組件B的二進制散列值存放到安全芯片的存儲器中,組 件A啟動組件B,組件B接收到信號執(zhí)行命令,組件B分別計算組件C、 D的 二進制散列值并把組件C、 D的二進制散列值存放到安全芯片的存儲器中,組件 B啟動組件C、 D。支付模塊上所有己被啟動的各個組件的二進制散列值被儲存 到安全芯片的儲存器中,存儲方式是(組件名稱+計算出來的二進制散列值)安 全啟動代碼是支付模塊所有程序的起點,并將其儲存在只讀存儲器中。安全芯片具有自己的處理單元和存儲單元,在安全芯片中內(nèi)置了一對公私密鑰。目前符合可信計算組織TCG的可信計算平臺標(biāo)準(zhǔn)實施規(guī)范的安全芯片中 內(nèi)置單向散列函數(shù)和用于加密的對稱算法和用于生成公私密鑰的非對稱算法。驗證方通過網(wǎng)絡(luò)傳遞的方式驗證支付模塊的身份和驗證二進制散列值的完 整性,目前技術(shù)上常用的解決方案就是公共密鑰基礎(chǔ)體系PKI。本發(fā)明的安全移動支付方法包括以下步驟1、建立移動客戶終端與銀行金融中心、銀行金融中心與驗證方之間的聯(lián)接, 聯(lián)接采用有線(因特網(wǎng)、以太網(wǎng)、VPN專線)或無線(GSM、 CDMA1X、 GPRS、紅 外、藍牙)網(wǎng)絡(luò)聯(lián)接。移動客戶終端內(nèi)設(shè)置有支付模塊和安全芯片。驗證方預(yù) 先存儲有移動客戶端內(nèi)各組件在出廠狀態(tài)下完整并沒有被非法篡改的二進制散 列值和支付模塊內(nèi)嵌安全芯片的公鑰,亦可以采用第三方權(quán)威機構(gòu)CA簽發(fā)的數(shù)字證書來代替安全芯片的公鑰。2、 支付模塊按照組件啟動的先后次序,并通過單向散列函數(shù)MD5、 SHA-1 或SHA-2等計算組件的二進制散列值并把計算組件得到的二進制散列值存儲在 安全芯片的存儲器中。3、 當(dāng)移動客戶端進行支付時,支付模塊將存儲在安全芯片的已啟動組件的 二進制散列值再進行單向散列函數(shù)運算,得到一個新的移動客戶端總的二進制 散列值,然后以安全芯片中的私鑰作為密鑰對總的二進制散列值利用非對稱算 法,如RSA、 DSA等進行加密,將加密后的移動客戶端總的二進制散列值和已 啟動各組件的二進制散列值通過有線或無線網(wǎng)絡(luò)傳輸?shù)姐y行金融中心,銀行金 融中心再把數(shù)據(jù)傳輸?shù)津炞C方進行驗證。4、 驗證方接收到銀行金融中心發(fā)來的數(shù)據(jù)后,首先對接收到的移動客戶端 的各組件的二進制散列值通過單向散列算法得到一個總的二進制散列值,然后 對接收的移動客戶端發(fā)來的總的二進制散列值以移動客戶端的公鑰作為密鑰進 行解密,得到加密前的總的二進制散列值,然后將計算得到的總的二進制散列 值和解密后的總的二進制散列值進行驗證,如果驗證失敗,則向銀行金融中心 返回驗證失敗信息,如果驗證通過,則進入下一步驟。5、 驗證方對接收到的支付模塊各組件的二進制散列值在驗證方的數(shù)據(jù)庫中 查找已存儲的移動客戶端的各組件的名稱進行驗證,如果找到了匹配的組件名 則進行二進制散列值的信息的驗證,判斷兩個二進制散列值是否相同,則進行 下一組二進制散列值與組件名的驗證,在驗證完成以后,如果驗證通過,則向 銀行金融中心返回驗證成功的信息,如果驗證失敗,則向銀行金融中心返回驗 證失敗的信息。6、 銀行金融中心根據(jù)驗證方返回的結(jié)果判斷支付是否繼續(xù),如果接收的反饋是成功信息,繼續(xù)支付,如果是失敗信息,則中止支付。7、銀行金融中心最后把判斷是否支付的結(jié)果,成功或是失敗的信息反饋給 移動客戶端,支付過程結(jié)束。如圖1所示,本發(fā)明的安全移動支付方法,建立移動客戶端即用戶端、銀行金融中心、驗證方,通過INTERNET網(wǎng)絡(luò)和公共通訊網(wǎng)絡(luò)聯(lián)接,組成移動支付的 銀行電子交易網(wǎng)絡(luò)系統(tǒng)。在移動客戶端,設(shè)置有TPM安全芯片和支付模塊。本發(fā)明的安全移動支付方法分為客戶即移動客戶終端、銀行金融中心、驗 證方三大部分設(shè)置,其中移動客戶端具有支付模塊。1、 啟動移動客戶端,移動客戶端內(nèi)嵌了安全芯片和無線通信模塊。如圖3 所示,該移動客戶端在啟動支付模塊時同時初始化安全啟動代碼,由安全啟動 代碼把移動客戶端的各組件按照組件啟動的先后順序計算各組建的二進制散列 值并將計算得到的各組件的二進制散列值存儲在安全芯片內(nèi)的存儲器中。2、 使用移動客戶端的支付模塊,通過支付模塊中內(nèi)置的模擬支付軟件把要 支付信息、各組件的組件名與相對應(yīng)的各組件的二進制散列值的信息和各組件 的二進制散列值通過移動客戶端內(nèi)的安全芯片的私鑰進行二進制散列計算并加 密,然后通過有線或無線網(wǎng)絡(luò)提交到銀行金融中心。3、 驗證移動客戶端的身份,銀行金融中心將接收到的移動客戶端提交的信 息后,首先分離出支付信息、組件名和組件的二進制散列值,然后將組件名和 組件的二進制散列值提交到驗證方,驗證方首先對接收到的移動客戶端的各組 件的二進制散列值通過單向散列算法得到一個總的二進制散列值,然后對接收 的移動客戶端發(fā)來的總的二進制散列值以移動客戶端的公鑰作為密鑰進行解 密,得到明碼,然后計算得到的總的二進制散列值和解密后的總的二進制散列 值進行驗證,如果驗證失敗,則向銀行金融中心返回驗證失敗信息,如果驗證通過,則驗證方對接收到的支付模塊各組件的二進制散列值在驗證方的數(shù)據(jù)庫 中查找已存儲的移動客戶端的各組件的名稱進行驗證,如果找到了匹配的組件 名則進行二進制散列值的信息的驗證,判斷兩個二進制散列值是否相同,則進 行下一組二進制散列值與組件名的驗證,在驗證完成以后,如果驗證通過,則 向銀行金融中心返回驗證成功的信息,如果驗證失敗,則向銀行金融中心返回 驗證失敗的信息,銀行金融中心根據(jù)驗證方返回的結(jié)果判斷支付是否繼續(xù),如 果接收的反饋是成功信息,繼續(xù)支付并將成功支付的結(jié)果發(fā)送到移動客戶端, 如果是失敗信息,則中止支付并將支付失敗的結(jié)果發(fā)送到移動客戶端,完成支 付過程。如圖2所示,本發(fā)明的客戶終端的啟動流程如下1、 從安全啟動代碼啟動,安全啟動代碼計算從移動客戶端的存儲器中讀 出的移動客戶端的控制模塊加載代碼的二進制散列值,并把控制模塊加載代碼 的二進制散列值存儲在安全芯片的存儲器中;2、 安全啟動代碼啟動控制模塊加載代碼,并將控制權(quán)轉(zhuǎn)移到控制模塊加載代碼;3、 控制模塊加載代碼從移動終端存儲器中讀出控制模塊的代碼,計算它 的二進制散列值,并把二進制散列值存儲在安全芯片的存儲器中;4、 控制模塊從移動終端的存儲器中讀出代碼并啟動控制模塊代碼,并將控 制權(quán)轉(zhuǎn)移到控制模塊代碼;5、 控制模塊如果要啟動某個程序,也要在啟動該程序之前,計算它的二 進制散列值,并把二進制散列值存儲在安全芯片的存儲器。按照該特定流程啟動的目的是為了得到真實的特征碼,假設(shè)以下兩種情況1、 控制模塊代碼是正確的(即與出廠時一樣,是沒有被非法篡改的),支 付模塊代碼遭到病毒侵入,或被非法篡改;2、 控制模塊代碼遭到病毒侵入,或被非法篡改,而支付模塊代碼是正確 的(即與出廠時一樣,是沒有被非法篡改的)。在第1種情況下,控制模塊代碼在啟動支付模塊代碼之前,計算支付模塊 代碼的二進制散列值,這時得到的二進制散列值是錯誤的(與預(yù)先存儲在驗證 方的不同),所以,支付不能成功。在第2種情況下,因為控制模塊代碼遭到了破壞,它可能會計算支付模塊代碼的二進制散列值,也可能不會去計算支付模塊代碼的二進制散列值,而是 偽造一個二進制散列值。就算它得到了支付模塊代碼的正確二進制散列值(與 預(yù)先存儲在驗證方的相同),但它自己被控制模塊從存儲器中讀出代碼并啟動之 前,控制模塊從存儲器中讀出代碼計算了它的真實二進制散列值,所以,在驗 證方不能驗證通過,支付不能成功。所以,在安全啟動代碼一控制模塊加載代碼一控制模塊代碼一應(yīng)用程序代 碼四者中,只要安全啟動代碼不遭到破壞,就能保證得到真實的二進制散列值, 只要把真實的二進制散列值與預(yù)先存儲在驗證方的二進制散列值相比較,就能 知道移動客戶端是否安全、可信。如圖4所示,本發(fā)明的客戶終端具有中央處理器,中央處理器連接控制器,控制器分別連接存儲器、安全芯片、近距離通訊芯片、鍵盤和顯示設(shè)備。通過 這些模塊的連接是特定于平臺實現(xiàn)的,不同的硬件平臺模塊連接實現(xiàn)方式可能 不盡相同。移動客戶端實際可是手機、PDA、筆記本電腦等移動智能設(shè)備,作為最佳 實例,本發(fā)明采用了與手機生產(chǎn)廠商Openmoko公司定制的測試手機,手機使用的操作系統(tǒng)經(jīng)過定制的安全Limix系統(tǒng),支付軟件是我公司自主研發(fā)的"路通電 子錢包V1.2"。銀行金融中心和驗證方可以是一臺或多臺服務(wù)器,作為最佳實 例,銀行金融中心采用了IBM公司的X系列服務(wù)器(xSeries 366 8863-1RC), 操作系統(tǒng)是Linux系統(tǒng)(SuSE 9.0),數(shù)據(jù)庫是Oracle公司的Oracle 9i,驗證 方采用了IBM公司的X系列服務(wù)器(IBM xSeries 346 8840-101),操作系統(tǒng)是 Li皿x系統(tǒng)(SuSE 9.0),數(shù)據(jù)庫是Oracle公司的Oracle 9i。目前市場上生產(chǎn)安全芯片的比較有名的國際廠商有Infineon (英飛凌)、 NXP半導(dǎo)體公司,國內(nèi)廠商有兆日、聯(lián)想。作為最佳實例,我們采用了 Infineon (英飛凌)公司的安全芯片(型號SLB9635TT)。為了保障移動客戶端在支付時 終端內(nèi)的組件是完整的、沒有被非法篡改的,所以,在移動客戶端出廠前,將 會對移動客戶端的組件提取二進制散列值,并把二進制散列值交到驗證方登記 保存。因為本發(fā)明對安全的嚴(yán)格要求,即支付時,支付模塊會把所有已啟動的 組件的二進制散列值都提交到驗證方驗證,所以,從用戶使用的方便性出發(fā), 其它第三方軟件公司的軟件產(chǎn)品,也可以向驗證方申請注冊,建立其軟件產(chǎn)品 的檔案(即名稱,二進制散列值)。移動客戶端與銀行金融中心通過無線網(wǎng)絡(luò)或 有線網(wǎng)絡(luò)連接,這里無線網(wǎng)絡(luò)包括GSM、 CDMA1X、 GPRS、紅外、藍牙等。 有線網(wǎng)絡(luò)包括因特網(wǎng)、以太網(wǎng)、VPN專線等。作為最佳實例,本發(fā)明無線部 份采用了 GPRS本發(fā)明中的銀行金融中心與普通的銀行金融中心相比,增加了支付信息轉(zhuǎn) 發(fā)和根據(jù)驗證方返回結(jié)果信息判斷支付是否繼續(xù)的功能。銀行金融中心與驗證 方通過有線網(wǎng)絡(luò)連接,這里有線網(wǎng)絡(luò)包括因特網(wǎng)、以太網(wǎng)、VPN專線等,但 不限于這些。作為最佳實例,我們優(yōu)選方案為將銀行金融中心和驗證方建在同 一個局域網(wǎng)內(nèi)。
權(quán)利要求
1.一種安全移動支付方法,包括以下步驟一、建立移動客戶終端與銀行金融中心、銀行金融中心與驗證方之間的聯(lián)接;二、移動客戶端的支付模塊按照組件啟動的先后次序啟動,并通過單向散列函數(shù)計算組件的數(shù)值,把計算組件得到的數(shù)值存儲在移動客戶端的安全芯片的存儲器中;三、當(dāng)移動客戶端進行支付時,支付模塊將存儲在安全芯片的已啟動組件的數(shù)值再進行運算,得到一個新的移動客戶端總的數(shù)值,加密后通過網(wǎng)絡(luò)傳輸?shù)姐y行金融中心,銀行金融中心把該數(shù)據(jù)傳輸?shù)津炞C方進行驗證;四、驗證方接收到銀行金融中心發(fā)來的數(shù)據(jù)后,對接收到的移動客戶端的各組件的數(shù)值進行解密,然后將計算得到的總的數(shù)值和解密后的總的數(shù)值進行驗證;五、驗證方對接收到的支付模塊各組件的數(shù)值在驗證方的數(shù)據(jù)庫中查找并進行驗證,將結(jié)果反饋給銀行金融中心;六、銀行金融中心根據(jù)驗證方返回的結(jié)果判斷支付是否繼續(xù);七、銀行金融中心最后把判斷是否支付的結(jié)果,成功或是失敗的信息反饋給移動客戶端,支付過程結(jié)束。
2. 根據(jù)權(quán)利要求1所述的安全移動支付方法,其特征在于所述客戶終端與銀 行金融中心之間和銀行金融中心與驗證方之間的聯(lián)接采用有線或無線網(wǎng)絡(luò) 進行聯(lián)接。
3. 根據(jù)權(quán)利要求2所述的安全移動支付方法,其特征在于所述安全芯片的運 算加密步驟是將己啟動組件的數(shù)值進行單向散列函數(shù)運算,得到一個新的移 動客戶端總的數(shù)值,然后以安全芯片中的私鑰作為密鑰對總的數(shù)值利用非對 稱算法進行加密,將加密后的移動客戶端總的數(shù)值和已啟動各組件的數(shù)值傳 輸?shù)姐y行金融中心。
4. 根據(jù)權(quán)利要求3所述的安全移動支付方法,其特征在于所述驗證方的解密 步驟對接收到的移動客戶端的各組件的數(shù)值通過單向散列算法得到一個總 的數(shù)值,然后對接收的移動客戶端發(fā)來的總的數(shù)值以移動客戶端的公鑰作為 密鑰進行解密,得到加密前的總的數(shù)值,然后計算得到的總的數(shù)值和解密后 的總的數(shù)值進行驗證。
5. 根據(jù)權(quán)利要求4所述的安全移動支付方法,其特征在于所述驗證方的驗 證步驟驗證方首先對接收到的移動客戶端的各組件的數(shù)值通過單向散列算 法得到一個總的數(shù)值,然后對接收的移動客戶端發(fā)來的總的數(shù)值以移動客戶 端的公鑰作為密鑰進行解密,得到明碼,然后計算得到的總的數(shù)值和解密后 的總的數(shù)值進行驗證,驗證方對接收到的支付模塊各組件的數(shù)值在驗證方的 數(shù)據(jù)庫中查找己存儲的移動客戶端的各組件的名稱進行驗證,找到了匹配的 組件名進行數(shù)值的信息的驗證,判斷兩個二數(shù)值是否相同,相同則進行下一 組數(shù)值與組件名的驗證。
6. 根據(jù)權(quán)利要求5所述的安全移動支付方法,其特征在于所述數(shù)值為二進制 散列值。
7. 根據(jù)權(quán)利要求6所述的安全移動支付方法,其特征在于所述單向散列函數(shù)的計算方法為MD5、 SHA-1或SHA-2計算方法。
8. 根據(jù)權(quán)利要求6所述的安全移動支付方法,其特征在于所述移動客戶端的啟動流程包括以下歩驟(1) 、從安全啟動代碼啟動,安全啟動代碼計算從移動客戶端的存儲器中 讀出的移動客戶端的控制模塊加載代碼的二進制散列值,并把控制模塊加載代碼的二進制散列值存儲在安全芯片的存儲器中;(2) 、安全啟動代碼啟動控制模塊加載代碼,并將控制權(quán)轉(zhuǎn)移到控制模塊加載代碼;(3) 、控制模塊加載代碼從移動終端存儲器中讀出控制模塊的代碼,計算 它的二進制散列值,并把二進制散列值存儲在安全芯片的存儲器中;(4) 、控制模塊加載代碼啟動控制模塊代碼,并將控制權(quán)轉(zhuǎn)移到控制模塊代 碼;(5) 、控制模塊如果要啟動某個程序,也要在啟動該程序之前,計算它的二進制散列值,并把二進制散列值存儲在安全芯片的存儲器。
9. 根據(jù)權(quán)利要求8所述的安全移動支付方法,其特征在于所述安全啟動代碼存儲在只讀存儲器中。
10. 根據(jù)權(quán)利要求8所述的安全移動支付方法,其特征在于所述安全芯片包括單向散列函數(shù)引擎、非對稱函數(shù)引擎、真隨機數(shù)(RNG)產(chǎn)生器、CPU、 隨機存儲器(RAM)、非易失性存儲(R0A和Flash)和時鐘管理模塊。
全文摘要
本發(fā)明公開了一種安全移動支付方法,要解決的技術(shù)問題是提高移動支付系統(tǒng)的安全性。本發(fā)明的方法包括移動客戶終端與銀行金融中心、銀行金融中心與驗證方聯(lián)接,支付模塊啟動,把數(shù)值存儲在安全芯片中,支付模塊加密后傳輸?shù)姐y行金融中心,驗證方接收到數(shù)據(jù)后,解密,驗證,反饋給銀行金融中心、移動客戶端。本發(fā)明與現(xiàn)有技術(shù)相比,通過使用安全芯片,驗證方將預(yù)先認(rèn)證的正確的驗證碼存儲在驗證方存儲器中,對移動客戶端環(huán)境進行驗證、存儲,并向可信服務(wù)中心報告,使移動支付網(wǎng)絡(luò)系統(tǒng)的移動客戶端在被外界破壞的情況下銀行金融中心和支付模塊能主動得知并中止支付執(zhí)行,從而使移動客戶端更加安全可靠。
文檔編號G06Q20/00GK101216915SQ20081006560
公開日2008年7月9日 申請日期2008年1月21日 優(yōu)先權(quán)日2008年1月21日
發(fā)明者張新文, 琦 李, 鐘虎林, 黃世華 申請人:深圳市路通網(wǎng)絡(luò)技術(shù)有限公司