摘要:安全性和可靠性是實現電子商務的基本目標。傳統電子商務安全性的實現主要依賴公鑰密碼系統和私鑰密碼系統,本文分析了電子商務安全中存在的主要問題,給出了一種只利用公鑰密碼系統的電子商務安全實現方案,提高了電子商務的運作效率。
關鍵詞:電子商務;安全;公鑰密碼系統;私鑰密碼系統
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)23-956-02
The Implement of E-business Security on Based of Public-Key Cryptosystem
LI Ran1, LI Wen-qian2
(1.Shijiazhuang Information Engineering Vocational College, Shijiazhuang 050035,China; 2.NO.1 High School of Xinxing,Baoding 071403,China)
Abstract: Security and credibility is the basic aim of implementing e-business. The implement of traditional e-business security was depended on public-key cryptosystem and private-key cryptosystem, some main question of e-business has been analyzed, a fast implement scheme of e-business security has been provided in this paper, which was only based on public-key cryptosystem.
Key words: e-business; security; public-key cryptosystem; private-key cryptosystem
1 引言
隨著信息技術和全球互聯網的飛速發展,電子商務也得到了越來越廣泛的應用,已成為替代傳統商務的新趨勢,相對于傳統商務模式,電子商務具有便捷、高效的特點與優點。它不但發展成國際金融貿易中的重要經營模式,也逐漸成為我們經濟生活中一個重要部分。近年來,電子商務已經在我國迅速發展起來,其安全問題也越來越受到人們的關注。Visa和MasterCard公司的調查報告表明,擔心信用卡號被竊取已經成為影響人們通過網絡進行交易中存在的最大問題。如何在網上保證交易的公正性和安全性,保證交易方身份的真實性,保證傳遞信息的完整性以及交易的不可抵賴性,成為推廣電子商務過程中人們最為關心的問題。如何建立一個安全有效的電子商務環境,以保護商業信息不被侵犯,成為近年來電子商務研究的熱點。
2 電子商務及其存在的問題
電子商務(E-Business)是發生在開放網絡上的包含企業之間(Business to Business)、企業和消費者之間(Business to Consumer)的商業交易[1]。它是在Internet開放環境下的一種新型的商業運作模式,是信息技術和商業貿易結合的產物,也是網絡技術發展的必然趨勢。但目前電子商務的發展還存在很多問題,其中主要包括以下幾個方面:
(1)安全問題
電子商務安全主要包括兩個方面:首先是安全協議問題。要實現電子商務的安全性,就必須設計一種安全高效的協議并且用有效的密碼算法來實現。目前安全協議還沒有全球性的標準和規范,制約了國際性的商務活動;其次是安全管理問題。電子商務在安全管理方面還存在很大隱患,普遍難以抵御黑客的攻擊。
(2)電子商務技術封閉性問題
目前電子商務領域一個普遍的現象是大多數電子商務系統都是封閉式的,即它們使用獨有的技術,僅支持一些特定的協議和機制。通常需要一個中央服務器作為所有參與者的可信第三方,有時還要求使用特定的服務器或瀏覽器。
(3)電子商務發展不平衡的問題
當今全球通過電子商務渠道完成的貿易額仍只是同期全球貿易額中的一小部分。主要原因,電子商務是一個復雜的系統工程,它的實現涉及到很多問題,目前,電子商務發展的不平衡性主要表現在當前的電子商務并沒有真正深入到商務領域而僅僅局限于信息領域,沒有實現真正意義上的商務電子化。
3 電子商務中的主要安全協議
3.1 安全套接字層協議(Secure Socket Layer,SSL)
安全套接字層協議 SSL是目前使用最廣泛的電子商務協議,它由Netscape公司于1996年設計開發。它位于運輸層和應用層之間,能很好地封裝應用層數據,不用改變位于應用層的應用程序,對用戶是透明的[2]。同時,SSL 只需要通過一次“握手”過程建立客戶與服務器之間一條安全通信的通道,保證傳輸數據的安全。由于內置于用戶瀏覽器和商家的Web服務器中,故能方便而低開銷地進行信息加密,多用于信用卡的傳送。然而,SSL并不是專為支持電子商務而設計的,只支持雙方認證,只能保證傳送信息傳送過程中不因被截而泄密,因為商家完全掌握消費者的賬戶信息,所以不能防止商家利用獲取的信用卡號進行欺詐。
3.2 安全電子交易協議(Secure Electronic Transaction,SET)
安全電子交易協議SET由VISA和MasterCard兩大信用卡公司聯合制訂推出,包括IBM、RSA、Netscape等許多著名公司參與了SET的開發過程。SET是一個用于保護Internet上信用卡交易的加密和安全規約,主要用于劃分與界定電子商務活動中消費者、網上商家、交易雙方銀行、信用卡組織之間的權利義務關系。它可以對交易各方進行認證,防止商家欺詐,以保證支付信息的機密性和支付過程的完整性。通過SET協議可以在電子交易環節上提供更大的信任度、更完整的交易信息,更高的安全性和更少受欺詐的可能性。SET中的核心技術包括公開密鑰加密、數字簽名、電子信封和電子安全證書等。SET協議可支持B-to-C商務模式,使消費者可以持卡在網上購物和交易。
4 電子商務安全的公鑰實現方案
具備了安全可靠的網絡平臺之后,電子商務的高效性顯得更加重要,目前電子商務安全協議使用的主要技術是公鑰密碼系統和私鑰密碼系統的結合,即使用公鑰密碼系統和單向散列函數實現私鑰密碼系統的秘鑰交換及數字簽名,使用私鑰密碼系統實現信息的加密。這樣做主要是因為非對稱密碼系統的加解密速度比較慢。本文提出了一種只利用非對稱密碼系統就能實現加解密、簽名的方法,并且加解密的速度較快。
為便于描述,我們假設有密鑰分配中心(KDC)和商家A和B,并且商家A和B都有自己生成密鑰的能力。KDC分配給A一套密鑰(nA,eA,dA),保存dA,公開(nA,eA);分配給B一套密鑰(nB,eB,dB)保存dB,公開(nB,eB)。假設A欲發送信息m給B,則A首先使用自己生成的一套密鑰(n,e,d)。在此,A所生成的密鑰需要滿足一定要求,以保證系統具有較快的加解密速度。A使用(nA,eA)和(nB,eB)對密鑰(n,d)進行加密和簽名得到c1,再用(n,e)對明文m加密得到c2,最后將c1和c2發送給B。B在收到c1和c2后,先使用(nB,dB)和(nA,dA)對c2進行解簽名和解密得到(n,d),然后利用得到的(n,d)對c2進行解密,即可得到明文m。
由于A使用了安全的公鑰密碼系統得到c1和c2,其安全性可以得到保證。在傳統方式中,一般使用單向散列函數對明文進行處理再簽名,以保證信息的不可抵賴性。而在此協議中,我們使用非對稱密鑰系統對明文進行加密,由于加密密鑰(n,e)只有A知道,這就保證了信息不可抵賴。
在上述過程中,A在生成密鑰(n,e,d)時,需要采取一定措施以保證加密和解密速度的提高。首先選取兩個大素數p和q生成合數n=p×q。在選取加密密鑰e和解密密鑰d時,需要滿足下面兩個條件:
e×d≡l(modφ(n))(1)
e+r≡s(modφ(n)) (2)
將(2)式寫成:
e+r =s+yφ(n) (3)
由于φ(n)=(p-1)(q-1),于是(3)又可以改寫為如下兩式:
e+ri=ki(p-1)+si (4)
e+rj=kj(q-1)+sj (5)
其中i,j=1,2,…n。
為保證在式(4),(5)中,ri、rj及si、sj(i,j=1,2,…n)為較小的數,需要在式(1)中選取特定的e。同時,在式(1)中,d應取較小的數,以保證B在使用(n,d)解密時具有較快的速度,但也要能達到抵抗窮舉攻擊的強度。
原來A在對明文加密時為:
c≡me(modn)
當滿足式(4)和(5)后,利用歐拉定理,使用(n,e)對明文加密就變成了:
mric1≡msi(modp)(6)
mrjc1≡msj(modq)(7)
由于可以選擇特定的i,j使得ri、rj及si、sj都是較小的數,所以可以在很短的時間內計算出mri、mrj和msi、msj其中i,j=1,2,…n,此時問題就轉化為求解單變量線性同余方程,且有: c≡c1(modp),c≡c2(modq)由中國剩余定理[3]可以得到:
c=pp-1c2+qq-1c1(modn),
其中p-1和q-1分別是p和q的逆元。現在已經找到了可以很快求得單變量線性同余方程解的算法[4,5],所以整個運算過程都具有較快的速度。
5 結束語
電子商務安全是制約電子商務發展的關鍵問題。電子商務安全技術也成為各界關注和研究的熱點。為保證電子商務安全,認證、加密及簽名是最關鍵的技術,公鑰密碼系統由于其自身的特點很適合在開發的電子商務環境中使用。但目前,在電子商務的應用中,普遍采用私鑰密碼系統來對明文加密,主要是公鑰密碼系統在運算速度上比私鑰密碼系統慢很多,本文從公鑰密碼系統的角度出發,根據電子商務自身運行特點,給出了只利用公鑰密碼算法實現的電子商務安全解決方案,并在加密和解密的過程中,采取了一些快速算法,使其實用性大大提高,但在對mri、mrj和msi、msj(i,j=1,2,…n)的求解過程中,還可以進一步提高其運算速度,這有待進一步的研究和改進。
參考文獻:
[1] Stallings W.密碼編碼學與網絡安全:原理與實踐[M].電子工業出版社.2004:404-409.
[2] 趙菁,胡運發,李麗燕.電子商務中網上購物的安全協議——SSL與SET[J] .計算機工程,1999,25(12):90-91,103.
[3] 潘承洞,潘承彪.初等數論[M].北京大學出版社.2003:169-175.
[4] M.EA.Derome.Generating RSA keys without the Euclid algorithm[J].1984,20(12):514-516.
[5] C-C.Chang,Hwang.A simple approach for generating RSA keys[J].Information processing,1997,(63):19-21.