唐杰 易波 戴慧敏
【摘 要】由于電子商務擁有了更加豐富的信息、更加簡單方便的交易和更加低廉的成本,受到了廣大用戶的歡迎。然而,現今阻礙電子商務快速發展的最大問題則是安全問題,數據加密技術是保證電子商務安全的核心技術,是電子商務安全技術的重要組成部分。目前使用的數據加密技術主要分成兩種:對稱加密技術和非對稱加密技術。文章通過剖析數據加密技術中的RSA和DES算法的特點和缺點,提出一種混合加密算法用以規避兩者的缺陷。
【關鍵詞】電子商務;數據加密;安全;對稱加密;非對稱加密
0 緒言
20世紀90年代以來,隨著信息技術和計算機網絡技術的飛速發展,網絡化和全球化成為不可抗拒的世界潮流,網絡逐步進入商務交易活動中,并不斷影響著商務系統的發展,電子商務已逐漸成為人們進行商務活動的新模式[1]。電子商務實質上就是商家或企業以計算機網絡為平臺運用電子技術、信息技術及通信技術與客戶之間實現價值交換。電子商務是信息化時代下的新的商務模式,為了實現電子商務的安全交易,我們主要是應用各種信息技術來保證交易過程的安全可靠,而數據加密技術就是確保電子商務安全交易的關鍵技術[2]。
簡單來說,數據加密技術的加密方式就是把即將發送的數據信息(我們稱之為明文)按某種加密算法進行處理,處理之后得到的一段難以理解和解析的數據我們稱之為密文。接收方接收密文之后只能依靠相應的密鑰才能解密還原成原來的數據信息。數據加密技術的主要目的是保護數據不被第三方非法竊取或閱讀,實現數據的安全控制。從數據加密的加密方式我們可以發現數據加密的四個要素:明文,密文,密鑰(包括加密密鑰和解密密鑰),算法(包括加密算法和解密算法)。而數據加密技術一般以使用密鑰的方式來分類,分為對稱加密技術和非對稱加密技術兩種。
1 對稱加密技術(symmetric encryptions techniques)
對稱加密技術使用的加密密鑰和解密密鑰是同一個,因此也稱為單密鑰加密技術。由于加密解密使用的是同一個密鑰,數據信息的傳輸是否安全取決于通信雙方是否將密鑰泄密出去[3]。由此可見對稱加密技術的安全性取決于密鑰的保管是否機密。對稱加密技術的加密過程如圖3.1所示。
圖1 對稱密碼加密過程
以典型的對稱加密算法的DES算法為例,數據加密標準(Data Encryption Standard,DES)是由美國國家標準與技術研究院(NIST,National Institute of Standards and Technology)于20世紀70年代中期公布的,其來源是美國 IBM 公司的一個密碼算法。DES是一種對稱密鑰分組加密密碼,處理64比特的明文分組同時產生64比特的密文(見圖2)。密鑰的有效長度為56比特;更確切的說,實際輸入的密鑰長度為 64比特,其中的8比特(8,16,…,64)用做校驗位。
圖2 DES加密原理圖
2 非對稱加密技術(asymmetric encryption techniques)
非對稱加密技術由美國斯坦福大學Henman教授于1977年提出的一種新的密鑰交換技術,通訊雙方擁有一對唯一對應的密鑰—公開密鑰和私有密鑰,我們簡稱為公鑰和私鑰[4]。公鑰與私鑰是唯一對應的,用公鑰加密的數據只能用私鑰來解密;用私鑰加密的數據只能用公鑰來解密,加密的過程如圖3所示。非對稱加密技術的優點在于私鑰是由用戶個人私密保管的,私鑰的機密性得到了保證;即使公鑰被第三方非法截獲,沒有與之匹配的私鑰,第三方也無法解密。典型的非對稱加密算法有:RSA、Diffe Hell-man、Rabin、零知識證明的算法、橢圓曲線、EIGamal 算法等等。
圖3 非對稱加密的過程
以著名的非對稱加密算法RSA算法為例,RSA加密算法是由Adleman,Rivest和Shamir三個人共同提出的一種基于大整數分解的加密算法,它的基本原理是數論的歐拉定理:將兩個大質數相乘十分容易,但是要將其乘積進行因式分解卻十分困難[5]。
RSA具體的加密方式是[6]:
假設D為明文數據,隨機選擇兩個不同的大質數a和b。
令N=a*b>D,f(N)=(a-1)*(b-1),其中f(N)指的是N的歐拉函數。
隨機選擇一個加密密鑰X(其中0 通過計算生成公鑰(X,N)和私鑰(Y,N) RSA算法的安全性依賴于大數的分解,它具有加密簡單,便于理解;密鑰機密性高,不易被破解等優點。它是目前應用最廣泛的非對稱加密算法,能夠抵抗到現今為止已知的所有密碼攻擊,并已被ISO推薦為公鑰數據加密標準。 3 混合加密算法與實現 針對兩種加密技術各自的優缺點,對它們進行比較的結果如下: 第一,在密鑰管理方面,非對稱加密技術的密鑰管理更為簡單和方便;它不僅支持數字簽名,從密鑰的分發方面我們就可以看出非對稱加密算法更加適合開放性的網絡。 第二,在數據安全方面,由于非對稱加密算法使用的密鑰更復雜,密鑰的使用更機密,所以在安全方面相比對稱加密算法更有優勢。 第三,運行速度方面,由于密鑰長度的不同,對稱加密算法的加解密速度是非對稱加密算法百倍以上。 通過以上的比較我們會發現,兩種加密技術各有自身的優勢和缺陷。在這里我們不禁想是否可以綜合兩種技術來使用,利用自身的優點來彌補對方的缺點,達到既能實現身份認證和提高數字簽名的速度,又能保證數據加解密的速度、安全性。例如可以將摘要函數技術、對稱加密技術和非對稱加密技術結合起來,形成一種混合加密體制。混合加密體制首先利用摘要函數將數據信息生成一個摘要,再把這個摘要用非對稱加密的私鑰進行加密,形成數字簽名,然后利用對稱加密技術將數字簽名和信息變成密文,用非對稱加密的公鑰對對稱加密的密鑰進行加密,生成數字信封,最后將數字信封和密文發送出去。
其中,關鍵的數據加、解密過程選擇結合DES 和 RSA 算法的混合算法保證用戶數據傳輸的安全性[7]。具體的算法設計是用 DES 算法加密信息,而DES 算法的會話密鑰用 RSA 來傳遞。這種設計方案既可以保留 DES算法加、解密的高效率,又可以保留 RSA 密鑰管理的安全性和方便性。其數據加密程序執行流程如圖4所示。
圖4 信息加密模塊程序執行流程圖
(1)用戶向服務器發送請求時,服務器會先生成一個RSA公鑰和與之對應的私鑰。
(2)服務器將公鑰傳遞給用戶,用戶端使用RSA公鑰來加密自己生成的DES密鑰。
(3)用戶將加密后的DES密鑰傳遞給服務器。
(4)服務器使用RSA私鑰解密用戶端發來的DES密鑰。
混合算法加密過程的實現可以通過調用Mircosoft CryptoAPI庫中的加密模塊來實現的。調用CryptEncryptMessage()函數加密消息,CryPtEncrypt()函數加密文件,具體的加密函數如下:
(1)消息加密函數——CryptEncryptMessage()
BOOL WINAPI CryptEncryptMessage(
PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara, //結構包含的加密參數
DWORD cRecipientCert, //證書數組元素的個數
PCCERT_CONTEXT rgpRecipientCert[], //證書數組的指針
const BYTE *pbToBeEncrypted, //待加密的消息
DWORD cbToBeEncrypted, //待加密的消息大小
BYTE *pbEncryptedBlob, //消息加密后密文指針
DWORD *pcbEncryptedBlob //消息加密后的密文大小指針
);
(2)文件加密函數——CryPtEncrypt()
BOOL WINAPI CryptEncrypt(
HCRYPTKEY hKey, //加密密鑰句柄
HCRYPTHASH hHash, //哈希對象句柄
BOOL Final, //加密結束標記
DWORD dwFlags, //預留的備用
BYTE *pbData, //加密后密文指針
DWORD *pdwDataLen, //加密后密文長度指針
DWORD dwBufLen //加密對象的指定長度
);
表1 文件組成加密前后變化
4 結束語
這個混合加密體制使用摘要函數算法,大大提高了身份驗證和數字簽名的速度,同時結合兩種加密技術的優點,提高了數據加解密的速度和安全性。如果用戶信息在傳遞中丟失了,缺少DES密鑰也無法被解釋,即便是DES密鑰也丟失了,缺少了解密所需要的RSA私鑰,用戶數據還是無法被解釋。這樣就通過雙重混合加密的技術保證了用戶數據安全。
【參考文獻】
[1]蘭宜生.電子商務基礎教程[M].清華大學出版社,2007.
[2]崔新宇.電子結算的安全研究及實現[D].南京理工大學,2008.
[3]Shamir A. On the security of DES[C]//Advances in Cryptology. Springer-Verlag, 1985:280-281.
[4]Bernard M Waxman.Routing of Multipoint Connections[J].IEEE J.on Seleeted Area Sin Communi Cations,1988,6(9):1617-1622.
[5]劉東升.電子商務中的安全支付與SSL.SET[J].安防科技,2006,6(2):13-16.
[6]Laih S,Chen K Y.Generating Visible RSA Publie Keys for PKI[C]//Spring Verlag,2004-01-14.
[7]Ren W.Miao Z.A Hybrid Encryption Algorithm Based on DES and RSA in Bluetooth Communication[C]//Modeling,Simulation and Visualization Methods (WMSVM),2010 Second International Conference on. IEEE,2010:221-225.
[責任編輯:楊玉潔]