程民利
(西安鐵路職業(yè)技術(shù)學院 電子信息系,陜西 西安 710014)
隨著我國3G移動通信網(wǎng)絡(luò)的部署與建設(shè),移動電子商務(wù)得到進一步的推動和發(fā)展,但調(diào)查結(jié)果顯示,消費者對移動商務(wù)中支付安全性的擔心已成為移動支付增長的阻力[1]。作為移動電子商務(wù)的承載網(wǎng)絡(luò),3G盡管比2G網(wǎng)絡(luò)的安全性有很大改善,但仍然存在缺乏用戶數(shù)字簽名,算法過多等安全隱患[2],無法滿足消費者對移動支付業(yè)務(wù)的安全需求。移動支付的安全問題是移動電子商務(wù)的核心問題,因此對其研究具有重大的現(xiàn)實意義。
PKI/CA是目前最安全、最完善的安全技術(shù)[3],但其采用的RSA密碼體制對計算資源有限的移動終端和帶寬資源有限的移動網(wǎng)絡(luò)構(gòu)成挑戰(zhàn)[4],因此無法直接應(yīng)用于3G承載的移動電子商務(wù)中。而基于橢圓曲線上離散對數(shù)難題的橢圓曲線密碼體制(ECC)采用的參數(shù)短,占用的系統(tǒng)資源少,算法復雜度低,計算速度快,單位安全強度高于RSA[5],尚未發(fā)現(xiàn)明顯的弱點[6]。與RSA相比,ECC更適合移動支付。
移動支付(Mibile payment)是指交易雙方通過移動通信終端(如手機、掌上電腦等移動通信設(shè)備)與因特網(wǎng)有機結(jié)合,以電子信息傳遞形式實現(xiàn)流通和支付,是移動電子商務(wù)得以順利發(fā)展的基礎(chǔ)條件。與其他在線支付業(yè)務(wù)相比,移動支付不受時間、地點的限制,效率高,容易實現(xiàn)個性化及私密性的交易服務(wù)[7]。
移動支付的種類很多,實現(xiàn)支付的方式各不相同。但總體來講,參與移動支付的主要實體有用戶、商家、移動支付平臺和銀行[3],如圖1所示。

圖1 移動支付系統(tǒng)組成
圖1中,商家指提供商品或服務(wù)的單位和個人,通過Internet向用戶提供各種商品信息;移動用戶指通過移動支付進行購買活動的消費者,如手機用戶;銀行為用戶提供信用和資金擔保,擁有用戶的支付賬戶,用戶使用該賬戶支付相關(guān)商品[3]。移動支付平臺是移動支付業(yè)務(wù)的核心,它與商家、用戶、銀行連接,為用戶和商家提供支付和清算等服務(wù)[3]。
移動支付屬于電子商務(wù)范疇,因此對移動支付安全問題的關(guān)注應(yīng)從移動商務(wù)的角度考慮[8]。從移動商務(wù)的角度考慮,移動支付的安全需求主要包含兩點:1)移動通信本身的安全問題,即移動設(shè)備與服務(wù)器之間的通信安全;2)移動支付在通信平臺上的安全問題,即支付過程中端到端的認證。圖1所示的支付體系中,移動用戶與移動支付平臺之間的通信是通過3G網(wǎng)絡(luò)實現(xiàn)的,這就要求3G網(wǎng)絡(luò)必須保證移動用戶和移動支付平臺之間的通信安全,且移動用戶和移動支付平臺之間要有安全的端到端認證機制。移動支付系統(tǒng)所面臨的安全威脅主要為:冒充手機用戶,即用戶A選購商品后,冒充用戶B,希望從B的賬戶中支付購買商品的費用;冒充商家,即商家C冒充商家D,希望用戶支付給商家D的資金轉(zhuǎn)入自己的賬戶。針對以上兩種安全威脅,本文對支付系統(tǒng)中安全最薄弱的環(huán)節(jié),即移動用戶和移動支付平臺之間的通信基于ECC進行身份認證和加密,通過設(shè)計嚴密的支付流程實現(xiàn)端到端的安全,增強移動支付過程的安全性。
1)符號的意義 P表示有限域Zq上的橢圓曲線E上的點,取P為基點;K表示共享密鑰;k∈[2,n-2]表示隨機數(shù)[11]。
2)Diffie-Hellman密鑰協(xié)定 ①A隨機產(chǎn)生 ka,計算 Qa=kaP,并將 Qa發(fā)給 B;②B隨機產(chǎn)生 kb,計算 Qb=kbP,并將 Qb發(fā)給 A;③A計算 K=kaQb;④B計算 K=kbQa。因為 kaQb=ka(kbP)=kb(kaP)=kbQa=K,所以,A和B生成的共享密鑰一致。
移動支付體系基于ECC的安全支付流程[8-10]具體如下:
1)移動用戶進入可信商家的網(wǎng)頁瀏覽,選擇商品,訂購服務(wù)。
2)移動用戶向商家提出購買請求,商家響應(yīng)移動用戶的請求并返回交易的內(nèi)容和金額。移動用戶確認訂購信息OI無誤,填寫支付信息PI。
3)移動用戶U生成隨機數(shù) u∈(0,1)m,計算 Yu=uP。將 Yu發(fā)給移動支付平臺MP。
4)移動支付平臺 MP 收到 Yu后,生成隨機數(shù) t∈(0,1)m,計算 YMP=tP,Y1MP=KMPSYu,計算共享密鑰 KUM=tYu,計算 H(KUM//Y1MP//CertMP),將消息 YMP,CertMP,H(KUM//Y1MP//CertMP)發(fā)給移動用戶。其中,KMPS為移動支付平臺的私鑰,KUM表示移動支付平臺計算出的與移動用戶的共享密鑰,CertMP是移動支付平臺的證書,包含移動支付平臺的身份標識、公鑰等信息。
5)移動用戶收到消息后,先驗證CertMP,如果不成功則要求重發(fā),驗證成功后,從CertMP中獲得移動支付平臺的公鑰PMP,則計算共享密鑰 KUM=uYMP,計算 Y1MP=uYMP,對計算得到的KUM,Y1MP,CertMP求 H(KUM//Y1MP//CertMP),如果與接收到的 H(KUM//Y1MP//CertMP)相同,移動支付平臺通過移動用戶對其身份的認證。
6) 移動用戶計算 Y1u=KUSYMP,EKUM(CertU,Y1u),并將 EKUM(CertU,Y1u)發(fā)給移動支付平臺。(EKUM(CertU,Y1u)表示用共享密鑰 KUM對(CertU,Y1u)加密,為 KUS移動用戶的私鑰,CertU為移動臺的證書)。
7)移動支付平臺收到消息后,用共享密鑰對EKUM(CertU,Y1u)解密,得到 CertU,Y1u,從 CertU中得到移動用戶的公鑰 PU,計算 Y′1u=tPU,如果 Y′1u=Y1u,則移動用戶與移動支付平臺相互認證和密鑰協(xié)商完成,生成共享密鑰KUM。
8)移動用戶分別對第2步生成的OL、PI生成摘要H(OI),H(PI),并將 H(OI),H(PI)連接成新消息 OP,然后生成H(OP)。
9)移動用戶分別用商家和銀行的公鑰對OI、PI加密,得到EPP(OI)和 EPB(PI),然后用認證過程中協(xié)商好的共享密鑰 KUM對(EPP(OI),H(OI),EPB(PI),H(PI),H(OP))加密,產(chǎn)生 EKUM(EPP(OI),H(OI),EPB(PI),H(PI),H(OP)),發(fā) 送 EKUM(EPP(OI),H(OI),EPB(PI),H(PI),H(OP))給移動支付系統(tǒng)。
10)移動支付系統(tǒng)收到移動用戶發(fā)送的消息,先用它們協(xié)商好的會話密鑰KUM對收到的EKUM(EPP(OI),H(OI),EPB(PI),H(PI),H(OP))解密,得到 EPP(OI),H(OI),EPB(PI),H(PI),H(OP),然后將接收到的 H(OI),H(PI)連接成新消息OP′,生成 H(OP′),如果 H(OP′)=H(OP),則 H(OI),H(PI)是完整有效的。
11)移動支付平臺對(EPP(PI),H(PI))簽名后發(fā)給銀行。
12)銀行收到消息,驗證簽名后,用自己的私鑰KB對EPB(PI)解密,得到支付信息 PI′,計算 H(PI′),如果 H(PI′)=H(PI),則支付信息完整有效,銀行凍結(jié)移動用戶賬戶應(yīng)支付的資金,并給移動支付平臺發(fā)付款結(jié)果報告。
13)移動支付平臺對付款結(jié)果報告和 EPP(OI),H(OI),一起簽名后轉(zhuǎn)發(fā)給商家,通知商家可以發(fā)貨。
14)商家收到支付成功的消息后,用自己的私鑰KP將EPP(OI)解密得到訂購信息 OI′,計算 H(OI′),如果 H(OI′)=H(OI),則訂購消息完整有效,商家可按訂單要求發(fā)貨。
15)用戶收到貨物或接受服務(wù)后,將收到貨物或享受了服務(wù)的信息簽名后發(fā)給移動支付平臺,移動支付系統(tǒng)加上自己的簽名后發(fā)給銀行,銀行驗證簽名,如正確,則轉(zhuǎn)賬,完成支付過程。
基于ECC的安全移動支付流程,通過移動用戶和移動支付平臺的相互認證,防止假冒移動用戶和假冒移動支付平臺的欺詐行為,在認證的過程中,快速地完成共享密鑰的協(xié)商,利用共享密鑰加密移動用戶與移動支付平臺之間傳輸?shù)拿舾行畔ⅲWo移動用戶和商家私密信息的安全性。該流程的優(yōu)點在于:1)在支付前移動用戶與移動支付平臺之間進行了身份互認證,防止假冒、欺詐行為發(fā)生;2)移動用戶的訂購信息和支付信息采用2次加密,訂購信息和支付信息在移動平臺沒有以明文的形式出現(xiàn)。移動支付平臺只作為中轉(zhuǎn)將訂購信息轉(zhuǎn)發(fā)給商家,支付信息轉(zhuǎn)發(fā)給銀行,無法看到商家和銀行的敏感信息,保護了用戶、商家和銀行的利益,實現(xiàn)了端到端的安全;3)采取了事后支付,保護了移動用戶的利益;4)用戶與移動支付系統(tǒng)之間的身份認證和會話密鑰的協(xié)商由通信雙方完成,無需CA協(xié)助,通信簡單。但該支付系統(tǒng)存在算法過多的不足,這會使支付的實時性變差,今后應(yīng)就此問題繼續(xù)深入研究,不斷優(yōu)化該移動支付系統(tǒng)。
[1]Mibile Payment Forum.Mibile payment forum white paper[EB/OL].(2002)[2010-9-20].http://www.mobilepayment forum.org/pdfs/mpf white paper.pdf.
[2]程民利,趙力.安全保密技術(shù)在移動通信網(wǎng)絡(luò)中的應(yīng)用[J].移動通信,2004,9(175):75-78.
[3]唐雄燕,侯玉華,潘海鵬.第三代移動通信業(yè)務(wù)及其技術(shù)應(yīng)用[M].北京:電子工業(yè)出版社,2008:154-157.
[4]彭冰,付才,付雄.一種基于橢圓曲線的高效移動支付系統(tǒng)[J].計算機應(yīng)用研究,2008,25(9):2819-2821.
[5]張永正,馮鳳娟.基于WAP的WPKI技術(shù)的研究與應(yīng)用[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2008(8):19-21.
[6]王育民,劉建偉.通信網(wǎng)的安全——理論與技術(shù)[M].西安:西安電子科技大學出版社,1999:206-209.
[7]鄧方民.移動支付系統(tǒng)安全機制研究[D].西安:西安電子科技大學,2006.
[8]尹穎禹,宋海兵.基于ECC的移動支付系統(tǒng)終端安全技術(shù)[J].廣東技術(shù)示范學院學報,2008(3):48-51.
[9]張榮.移動電子商務(wù)認證和支付研究[D].重慶:重慶郵電大學,2006.
[10]鄧方民,許春香,張娟.基于ECC的移動通信認證和密鑰協(xié)商協(xié)議[J].計算機應(yīng)用與軟件,2006,23(3):12-127.