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