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