[摘要] 電子商務的安全性需求要求必須有相關的安全協議來保障信息交易的安全。OpenSSL是實現了SSL(安全套接字層)協議及其相關加密技術的開放軟件包。本文給出了一種基于OpenSSL實現的安全電子商務平臺,并給出了具體的實現過程和函數。
[關鍵詞] OpenSSL安全電子商務實現
隨著Internet的飛速發展和不斷普及,整個商務系統發生了巨大變化。通過Internet進行網上購物、在線交易、電子銀行等電子商務業務開始蓬勃發展。電子商務給人們帶來便利性的同時,由于Internet的開放性、靈活性、共享性等特點,也為信息交易安全帶來巨大威脅。設計和實現一個通用性強、安全性高的網絡協議是實現電子商務安全交易的關鍵技術之一。目前網上銀行等大型電子商務交易系統都采用HTTP和SSL相結合的方式,即在服務器端采用支持SSL 的WWW 服務器,在客戶端采用支持SSL的瀏覽器,雙方共同協作來實現安全的網絡通信。OpenSSL 為開發安全電子商務平臺平提供了豐富的算法接口,可以安全高效地實現它。
一、OpenSSL簡介
SSL是Secure Socket Layer(安全套接字層)的縮寫,是由Netscape公司研制開發的,其目的是保證兩臺計算機通信的保密性和可靠性。隨著SSL的不斷發展和完善,目前利用公共密鑰技術的SSL協議已經成為Internet上保密通信的工業標準。OpenSSL 是一個開放源代碼,實現了SSL及其相關加密技術的軟件包,其目標是開發一個健壯的、商業級的、完整的開放源代碼的工具包。OpenSSL 庫中包含了完整的加密算法,數字簽名算法及證書算法等。通過強大的加密算法來實現建立在傳輸層之上的安全性。它包含一套SSL協議的完整接口,應用程序應用它們可以很方便地建立起安全套接層,進而能夠通過網絡進行安全的數據傳輸,可以很好地保證數據的完整、保密和正確性。使用OpenSSL完全可以代替目前國內在加密產品中使用的商業化的低級加密庫,達到SSL協議中規定的128甚至更高位數的數據加密。OpenSSL使用時可以將它所提供的庫文件直接鏈接到應用程序中,也可以下載壓縮包后,自己編譯庫函數得到庫文件.在Windows下得到libeay32.lib和ssleay32.lib靜態庫以及兩個動態鏈接ssleay32.dll 和libeay32.dll,使用時將其加載到相關的前臺開發工具中即可。
二、基于OpenSSL的安全電子商務平臺及實現
一種安全的電子商務平臺如上圖所示。其中CA(certificate authority)認證中心主要負責交易雙方數字證書的發放。在交易過程中交易雙方需要事先從CA 中心取得對方的公鑰以驗證對方簽名,網上支付要通過支付網關。交易的步驟如下:
1.客戶發送訂單
(1)生成會話密鑰(int M-GenerateRandom)。
(2)用會話密鑰加密數據得數據密(M-Encrypt)。
(3)用對方公鑰加密會話密鑰得會話密鑰密文(MPublicKey-Encrypt)。
(4)對傳輸的數據做摘要運算得一摘要(M-Digest) ,再用自己的私鑰(M- PrivateKeyEncrypt) 和對方的公鑰(M-PublicKeyEncrypt)對摘要進行加密得摘要密文。
(5)摘要密文和會話密鑰密文附加在數據密文后發送。
2.商家接收訂單
(1)用自己的私鑰對會話密鑰密文進行解密得會話密鑰(M-PrivateKeyDecrypt)。
(2)用會話密鑰解密數據密文得數據明文(M-Decrypt)。
(3)解密收到的摘要密文得摘要明文(M-PublicKeyDecrypt ,M-PrivateKeyDecrypt)。
(4)對數據明文做摘要與解密的摘要明文比較以驗證簽名和數據完整性。
3.商家發送確認信息
4.客戶接收確認信息
5.網上支付,確認,商家發貨
至此,一次完整成功的網上交易完成。在交易過程中,保證了信息的完整性、交易雙方身份的鑒別等電子商務安全需求。
三、結束語
OpenSSL包含了SSL安全協議的一個完整實現,已經在電子商務安全中得到廣泛應用。對于大多數涉及到安全保密的電子信息服務,其基本操作大同小異,也可以方便地基于該平臺實現,具有一定的應用價值。