手機(jī)支付系統(tǒng)中簽名加密算法的應(yīng)用

手機(jī)支付是移動(dòng)商務(wù)得以進(jìn)行的基礎(chǔ),但移動(dòng)網(wǎng)絡(luò)的開(kāi)放性,使得信號(hào)有更多的機(jī)會(huì)被惡意攻擊,移動(dòng)電子商務(wù)中的手機(jī)支付安全問(wèn)題凸顯出來(lái)。為此,我們針對(duì)簽名加密算法的手機(jī)支付系統(tǒng)進(jìn)行了開(kāi)發(fā),利用橢圓算法進(jìn)行加密,保證手機(jī)支付時(shí)相關(guān)數(shù)據(jù)的完整性、機(jī)密性,使得手機(jī)支付更加安全、便捷,從而有效促進(jìn)移動(dòng)電子商務(wù)的健康、快速發(fā)展。

一、橢圓曲線密碼體制是手機(jī)支付系統(tǒng)簽名加密技術(shù)基礎(chǔ)

1、橢圓曲線密碼體制是目前手機(jī)支付系統(tǒng)最佳簽名加密技術(shù)

1)占用內(nèi)存小

對(duì)于所有公鑰密碼體制,安全性相當(dāng)時(shí),橢圓曲線密碼體制密鑰比較短,占用內(nèi)存小,適應(yīng)手機(jī)終端存儲(chǔ)量小、運(yùn)算速度慢的特點(diǎn)。

2)安全性高

基于橢圓曲線離散對(duì)數(shù)的數(shù)學(xué)難題上,沒(méi)有亞指數(shù)攻擊算法,具有較高的安全性。

所以有限域上的橢圓曲線適合于手機(jī)支付加密技術(shù)。

2、橢圓曲線簡(jiǎn)介

見(jiàn)Weierstrass方程如下:

1

令:

1

若:

1

則稱Weierstrass曲線是光滑的,適合Weierstrass方程的所有解構(gòu)成一條橢圓曲線。

二、手機(jī)支付系統(tǒng)設(shè)計(jì)

1、數(shù)字簽名傳遞

支付信息消費(fèi)者支付信息,使用MD5單向函數(shù)轉(zhuǎn)化為數(shù)字摘要D1,用橢圓曲線加密算法進(jìn)行加密,生成數(shù)字簽名Sglo利用對(duì)稱加密算法(DES)加密發(fā)送的消息DEatao消費(fèi)者將Sgl和EData發(fā)送給接收方。

2、密鑰交換利用Diffie-Hellman在橢圓曲線上的密鑰匙交換方法傳遞密鑰

①構(gòu)建橢圓曲線方程o確定橢圓曲線方程參量:T=(p,a,b,G,n,h)o a,b,p是橢圓曲線方程y2+XY=X3+aX2+b中的變量,G是基點(diǎn),n為點(diǎn)G的階,h是橢圓曲線上點(diǎn)的個(gè)數(shù)m除以n的整數(shù)部分)。 P在200位左右可以滿足通常手機(jī)支付安全;二是p≠n×h;pt≠1(modn),1≤t<20;4a3.+27b2(modp)≠0;n為素?cái)?shù)i h≤40橢圓曲線上的所有點(diǎn)構(gòu)成了Abel群Ep(a,b)。

②消費(fèi)者用某整數(shù)N0(N0<n),做為私鑰,消費(fèi)者通過(guò)PA-NaG產(chǎn)生Ep(a,b)上的一點(diǎn)用來(lái)作為公鑰。

③與消費(fèi)者相同,商家和銀行分別建立自己的私鑰Ne,和公鑰PB。

④發(fā)送方和接收方分別由K=N。PB,K=NbPA產(chǎn)生出雙方共享的秘密鑰。

⑤通信雙方共同的對(duì)稱密鑰K可以由以上步驟生成。如果非法攻擊者想獲得K,需要求解橢圓曲線上的離散對(duì)數(shù),是不可能的,由此保證了移動(dòng)支付的安全。

3、移動(dòng)支付中數(shù)字簽名的實(shí)現(xiàn)

消費(fèi)者方的過(guò)程:

1)確定安全的MDS算法的單向散列函數(shù),利用參數(shù)=T(p,a,b,G,n,h)定義橢圓曲線方程。

2)生成密鑰對(duì)(d,Q),d是私鑰,Q=dG是公鑰。

3)進(jìn)行簽名操作,①選擇某隨機(jī)數(shù)K,1<K<n-I。

②計(jì)算KG=(Xi,Y1),r-X1modn。

③計(jì)算K-1modn,e=md5(M)。

④計(jì)算S=K-1{e+dr)(modn)。

⑤對(duì)M進(jìn)行加密,得到密文EDatao⑥輸出簽名(r,S)和密文EData。

驗(yàn)證簽名的過(guò)程:

①驗(yàn)證r和S是(1,n一1)間的整數(shù)。

②對(duì)密文Edata進(jìn)行解密得到明文M。

(3)計(jì)算E=MD5(M),W=S'.1(modn)。

④Ui=EW(modn), U2=rW(modn)。

⑤計(jì)算×=UIG+U2Q=(X1' Y;),令V=X1modn。

⑥如果r=V,接受簽名。

三、加密算法的可行性

在現(xiàn)有的公鑰密碼體制中,如果限定密碼長(zhǎng)度相同,橢圓曲線密碼體制有最高的安全性,所以可以開(kāi)發(fā)出運(yùn)算量小而加密強(qiáng)度高的公鑰密碼體制,適應(yīng)了手機(jī)處理能力弱的特點(diǎn),所以通過(guò)橢圓曲線密碼體制可以對(duì)手機(jī)支付系統(tǒng)進(jìn)行加密。

四、系統(tǒng)的安全性分析

基于橢圓曲線加密算法的的數(shù)字簽名方案中,第三方不能修改消息。通過(guò)Diffie - Hellman過(guò)程來(lái)對(duì)稱密鑰的密鑰交換,這樣信息通過(guò)對(duì)稱加密算法達(dá)到了信息的密文傳輸效果?;跈E圓曲線加密算法可以有效地防范竊聽(tīng)攻擊和假冒用戶攻擊,在當(dāng)前的技術(shù)條件下攻擊者求解橢圓曲線上的離散對(duì)數(shù)問(wèn)題獲得私鑰是不可能的。

小知識(shí)之手機(jī)支付

手機(jī)支付也稱為移動(dòng)支付(Mobile Payment),是指允許移動(dòng)用戶使用其移動(dòng)終端(通常是指手機(jī))對(duì)所消費(fèi)的商品或服務(wù)進(jìn)行賬務(wù)支付的一種服務(wù)方式。