基于混合加密體制的手機支付系統研究與實(shí)現
手機支付是近幾年才發(fā)展起來(lái)的支付方式。它有著(zhù)與信用卡同樣的方便性,同時(shí)又避免了在交易過(guò)程中使用多種信用卡以及商家是否支持這些信用卡結算的麻煩。消費者只需一部手機,就可以完成整個(gè)交易過(guò)程,深受消費者,尤其是年輕人的推崇。手機支付將會(huì )有非常大的商業(yè)前景,而且將會(huì )引領(lǐng)移動(dòng)電子商務(wù)和無(wú)線(xiàn)金融的發(fā)展,成為人們生活中購物方式的一種潮流。隨著(zhù)手機支付業(yè)務(wù)的不斷擴大,手機支付系統面臨的主要問(wèn)題之一就是系統的安全問(wèn)題[1]。
而當前,我國關(guān)于手機支付安全性方面的研究幾乎一片空白。針對手機自身的特點(diǎn),基于橢圓曲線(xiàn)加密體制[1]和AES加密算法[2]的混合加密算法,設計了一種可以處理高額交易的手機支付模型。成功地實(shí)現了用戶(hù)的銀行帳號與手機號碼的綁定,在銀行帳號和手機號碼之間建立了一對一或多對一的對應關(guān)系。該模型采用雙重認證的方式進(jìn)行認證,無(wú)線(xiàn)運營(yíng)商對手機號碼進(jìn)行認證,銀行對銀行帳號進(jìn)行認證。目前國內的支付系統都要求在交易過(guò)程中傳送用戶(hù)的銀行帳號密碼,而在本文的支付系統中,用戶(hù)的銀行帳號密碼不需傳送。
1 手機支付和混合加密算法
手機支付,又稱(chēng)移動(dòng)支付。它是利用STK技術(shù)在SIM卡上開(kāi)發(fā)的通過(guò)手機進(jìn)行消費的功能。主要基于銀行帳號和手機號碼的惟一性,將銀行賬戶(hù)和手機號碼進(jìn)行綁定,使用戶(hù)可以通過(guò)手機短信息、語(yǔ)音、WAP、GPRS等多種方式對自己的銀行帳戶(hù)進(jìn)行操作,實(shí)現查詢(xún)、轉帳、繳費、消費等功能,并可以通過(guò)短信息等方式得到交易結果和帳戶(hù)變化通知。
用橢圓曲線(xiàn)加密體制生成對稱(chēng)加密算法AES的隨機會(huì )話(huà)密鑰K,使用隨機會(huì )話(huà)密鑰K和AES加密算法來(lái)加密消息。這樣構造的混合密碼體制可以獲得較快的加密速度和較大的加密強度。選擇基于橢圓曲線(xiàn)的數字簽名,通常是一個(gè)二維向量,記為(r,s)。
2 手機支付系統模型
帳戶(hù)管理是銀行的強項,如果沒(méi)有銀行的參與,則不能處理高額支付。本文的支付模型是手機用戶(hù)、銀行、商家及無(wú)線(xiàn)運營(yíng)商四者都參與的系統,與參考文獻的支付模型相比,具有較強的實(shí)用性。整個(gè)交易過(guò)程按系統模型中的標號順序依次進(jìn)行,如圖l所示。
3 參與者的初始設置
商家S通過(guò)橢圓曲線(xiàn)密碼體制,選定IDS作為自己的身份標識,密鑰對是(ds,Qs),其中ds是私鑰,Qs是公鑰,保留ds,公開(kāi)Qs和IDs。與商家的初始設置過(guò)程一樣,無(wú)線(xiàn)運營(yíng)商T的身份標識是IDT。密胡對是(dT,QT);銀行B的身份標識是IDB,密鑰對是(dB,QB)。通過(guò)橢圓曲線(xiàn)密碼體制選擇(d1,Q1)作為與商家通信時(shí)的密鑰對。選擇同無(wú)線(xiàn)運營(yíng)商通信時(shí)的密鑰對(d2,Q2);將Q2與手機開(kāi)戶(hù)的消息(包括手機充值)發(fā)送給無(wú)線(xiàn)運營(yíng)商;無(wú)線(xiàn)運營(yíng)商進(jìn)行物理鑒定(包括身份證等)并驗證用戶(hù)提交的消息后,生成用戶(hù)的手機號碼IDU發(fā)送給用戶(hù),同時(shí)在手機帳號的數據庫中儲存新用戶(hù)(IDU,Q2)。選擇同銀行通信時(shí)的密鑰對(d3,Q3);將Q3、IDU及初始存款的相關(guān)消息遞交給銀行;銀行進(jìn)行物理鑒定(包括身份證等)以確信手機號碼IDU的合法性后,生成用戶(hù)的銀行帳號IDBU發(fā)送給用戶(hù),同時(shí)在銀行帳號的數據庫中儲存新用戶(hù)(IDBU,IDU,Q3)。
4 手機支付系統的設計與實(shí)現
(1)手機用戶(hù)生成購買(mǎi)指令m1(包含購買(mǎi)物品的名稱(chēng)、數量及轉帳銀行的名稱(chēng)等),用密鑰d1生成m1的簽名(r1,s1);生成核實(shí)手機權限的指令m2(不涉及交易的具體細節),用密鑰d2生成m2的簽名(r2,s2);用同商家通信時(shí)的會(huì )話(huà)密鑰,對m1、r1和s1進(jìn)行加密處理得到密文c1;用同無(wú)線(xiàn)運營(yíng)商通信時(shí)的會(huì )話(huà)密鑰,對m2、r2、s2和IDS進(jìn)行加密處理得到密文c2,將c1和c2合并后發(fā)送給商家。
(2)商家開(kāi)啟用戶(hù)遞交的指令c1,如果用戶(hù)的數字簽名是錯誤的,則交易過(guò)程到此結束。否則生成驗證手機權限的指令m3,用私鑰dS生成m3的簽名(r3,s3);將m3、r1、s3和IDU進(jìn)行加密處理得到密文c3,將c3和c2合并后發(fā)送給無(wú)線(xiàn)運營(yíng)商。
(3)無(wú)線(xiàn)運營(yíng)商開(kāi)啟商家遞交的指令c3和c2,如果下面四種情況中有一種存在,則通知商家本次交易是非法的:①商家或用戶(hù)的數字簽名是錯誤的;②根據IDU查找不到用戶(hù)在無(wú)線(xiàn)運營(yíng)商處的記錄Q2;③比較用戶(hù)和商家遞交的指令后,發(fā)現兩組指令中的IDS,和IDU不相同;④查找用戶(hù)的信用記錄后,發(fā)現用戶(hù)的信用度很低。否則通知商家用戶(hù)擁有手機號碼IDU的使用權限,交易可以繼續下去。生成指令m4將驗證的結果反饋給商家,用私鑰dT生成m4的簽名(r4,s4),將m4和簽名加密后發(fā)送給商家。
(4)如果反饋的消息表明本次交易是非法的,則交易過(guò)程到此結束。否則商家生成請求轉帳指令m5,用私鑰ds生成m5的簽名(r5,s5),money表示交易所付金額,nnm為交易序列號,IDBS是商家的銀行帳號,將m5、r5、s5、money、num、IDU:和IDBS加密處理后遞交給銀行。
(5)銀行開(kāi)啟商家遞交的指令,如果下面三種情況中有一種存在,則交易過(guò)程到此結束:①商家的數字簽名是錯誤的;②根據IDU查找不到用戶(hù)在銀行的記錄仉和IDBU;③用戶(hù)的銀行帳戶(hù)上余額不足(小于交易所需的金額money)。否則生成確認購買(mǎi)指令m6,用私鑰dB生成m6的簽名(r6,s6),將num、m6和(r6,s6)加密處理后發(fā)送給用戶(hù)。
(6)如果用戶(hù)認為本次交易是非法的,則拒絕給銀行回復消息;否則生成回復指令m7.用私鑰d3生成m7的簽名(r7,s7),將m7及簽名(r7,s7)加密處理后遞交給銀行。
(7)如果銀行沒(méi)有得到用戶(hù)的回復指令,則購買(mǎi)過(guò)程到此終止;否則驗證用戶(hù)的數字簽名的合法性,進(jìn)行轉帳繳費操作,并作相應的轉帳記錄。生成轉帳成功的指令m8,用私鑰dB生成m8的簽名(r8,s8),將m8及(r8,s8)加密處理后發(fā)送給商家;生成用戶(hù)的信用記錄消息m9,用私鑰dB生成m9的簽名(r9,s9),將m9及(r9,s9)加密處理后發(fā)送給無(wú)線(xiàn)運營(yíng)商。
(8)商家驗證銀行的數字簽名合法后,將產(chǎn)品或服務(wù)交付給用戶(hù),并保留交易記錄。
(9)無(wú)線(xiàn)運營(yíng)商驗證銀行的數字簽名合法后,增加手機用戶(hù)IDU的信用度。
5 系統的安全性和有效性分析
系統的安全性主要基于有限域上橢圓曲線(xiàn)加法群的離散對數問(wèn)題和AES加密算法的安全強度。銀行在進(jìn)行轉帳前,必須給用戶(hù)發(fā)送確認購買(mǎi)指令。若商家或無(wú)線(xiàn)運營(yíng)商企圖對同一訂單向銀行發(fā)送兩次轉帳指令,銀行便向用戶(hù)發(fā)送兩次確認購買(mǎi)指令,用戶(hù)根據交易序列號num等信息很容易得知商家或無(wú)線(xiàn)運營(yíng)商有一方在進(jìn)行重復消費。
當有人冒充用戶(hù)進(jìn)行支付時(shí),由于私鑰d2和d3是未知的,所以無(wú)法通過(guò)無(wú)線(xiàn)運營(yíng)商和銀行的驗證。每次傳送指令時(shí)都進(jìn)行了加密處理,如果攻擊者選擇攻擊密文c,則需直接攻擊128位的AES,這在現有的技術(shù)條件下是極其困難的;若選擇攻擊會(huì )話(huà)密鑰K,則面臨棘手的ECDLP數學(xué)難題,且會(huì )話(huà)密鑰K只使用一次,此后不再有效,即使得到密鑰K也沒(méi)有多大的實(shí)用價(jià)值。當雙方發(fā)生爭執時(shí),任何第三方都可以用通常的方式驗證簽名。手機用戶(hù)發(fā)送兩次指令便可完成整個(gè)交易?;跈E圓曲線(xiàn)加密體制和AES加密算法的混合加密算法,大大減少了計算和通信的負荷,所以本系統運算量小,易于在計算機的硬件和軟件上實(shí)現。
用戶(hù)通過(guò)手機支付交易時(shí),無(wú)需使用現金,即可實(shí)現輕松購物。隨著(zhù)手機的日益普及,手機支付將有很大的市場(chǎng)潛力和良好的發(fā)展前景。本文結合混合加密體制的理論和手機通信的的特點(diǎn),設計了一個(gè)可以處理高額交易的手機支付系統,整個(gè)系統具有較高的安全性和實(shí)用性。
評論