[摘 要] 電子商務(wù)是新興商務(wù)形式, 信息安全的保障是電子商務(wù)實(shí)施的前提。本文分析SSL協(xié)議的安全性,相關(guān)概念及其在電子商務(wù)中的應(yīng)用。
[關(guān)鍵詞] SSL協(xié)議 安全服務(wù) 電子商務(wù)
隨著互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,基于網(wǎng)絡(luò)和多媒體技術(shù)的電子商務(wù)應(yīng)運(yùn)而生并迅速發(fā)展。所謂電子商務(wù)就是借助于公共網(wǎng)絡(luò)進(jìn)行網(wǎng)上交易,快速而又有效地實(shí)現(xiàn)各種商務(wù)活動(dòng)過程的電子化、網(wǎng)絡(luò)化、直接化。 但是出于各種目的的網(wǎng)絡(luò)入侵和攻擊也越來越頻繁,信息安全問題是保障電子商務(wù)的生命線。SSL協(xié)議是國際上最早應(yīng)用于電子商務(wù)的一種網(wǎng)絡(luò)安全協(xié)議,目前一些主瀏覽器都提供了對SSL協(xié)議的支持。本文提出一種基于SSL協(xié)議的電子商務(wù)系統(tǒng)。
一、安全套接層協(xié)議及原理分析
1.SSL協(xié)議的組成與結(jié)構(gòu)
安全套接層SSL協(xié)議是由美國Netscape公司提出的一種在socket層上實(shí)現(xiàn)數(shù)據(jù)認(rèn)證和加密的方法,比起以往的HTTP協(xié)議而言,其安全性能更強(qiáng)。由于Netscape和IE兩大瀏覽器都支持SSL,目前SSL已廣泛用于在Internet上的身份認(rèn)證與Web服務(wù)器和用戶端瀏覽器之間的數(shù)據(jù)安全通信。許多電子商務(wù)服務(wù)器利用SSL能夠提供會(huì)話級別的安全,即一旦建立安全會(huì)話,所有通過Internet的通信將被加密。SSL是一種點(diǎn)對點(diǎn)之間構(gòu)造的安全通道中傳輸數(shù)據(jù)的協(xié)議,它運(yùn)行在TCP/IP層之上、應(yīng)用層之下、是一種利用公開密鑰技術(shù)的工業(yè)標(biāo)準(zhǔn),用TCP/IP代表高級協(xié)議。在通信過程中,允許一個(gè)支持SSL協(xié)議的服務(wù)器在支持SSL協(xié)議的客戶端使協(xié)議本身獲得信任,使客戶端得到服務(wù)器的信任,從而在兩臺(tái)機(jī)器間建立一個(gè)可靠的傳輸連接。
SSL協(xié)議主要由SSL記錄協(xié)議和SSL握手協(xié)議兩部分組成。
(1)SSL記錄層協(xié)議
用于傳輸SSL握手層的控制數(shù)據(jù),以及基于SSL通道傳輸?shù)膽?yīng)用數(shù)據(jù)。上層數(shù)據(jù)被分割成若干數(shù)據(jù)塊,還可以對原始數(shù)據(jù)進(jìn)行壓縮,并產(chǎn)生一個(gè)消息認(rèn)證代碼(MAC),然后將結(jié)果加密并傳輸。接收方接收數(shù)據(jù)并對其解密,校驗(yàn)MAC,解壓并重新組合,把結(jié)果提供給相應(yīng)的應(yīng)用程序協(xié)議。
(2)SSL握手層協(xié)議
握手協(xié)議負(fù)責(zé)傳送用于客戶機(jī)和服務(wù)器之間會(huì)話的加密參數(shù)。當(dāng)一個(gè)SSL客戶機(jī)和服務(wù)器第一次開始通信時(shí),它們首先需要協(xié)商若干協(xié)議參數(shù),以使加密解密過程順利進(jìn)行,如選擇加密算法和認(rèn)證方式,使用公鑰技術(shù)來生成共享密鑰等。握手層協(xié)議還包括三個(gè)具體協(xié)議:
①SSLChange Cipher Spec 協(xié)議:具體協(xié)商新的密碼算法。
②SSL警告協(xié)議:用于在傳輸發(fā)生錯(cuò)誤或兩個(gè)主機(jī)之間的會(huì)話即將終止時(shí),相互交換警告信息。
③SSL 握手協(xié)議:負(fù)責(zé)全局客戶端和服務(wù)器端會(huì)話的建立
2.SSL提供的安全服務(wù)
SSL提供了如下三種基本的安全服務(wù):
(1)保密性
SSL客戶機(jī)和服務(wù)器之間通過密碼r法和密鑰的協(xié)商,建立起一個(gè)安全通道。以后在安全通道中傳輸?shù)乃行畔⒍冀?jīng)過了加密處理,網(wǎng)絡(luò)中的非法竊聽者所獲取的信息都將是無意義的密文信息。
(2)完整性
SSL利用密碼算法和hash函數(shù),通過對傳輸信息特征值的提取來保證信息的完整性,確保要傳輸?shù)男畔⑷康竭_(dá)目的地,可以避免服務(wù)器和客戶機(jī)之間的信息內(nèi)容受到破壞。
(3)認(rèn)證
利用證書技術(shù)和可信的第三方CA(CertificationAuth
ority),可以讓客戶機(jī)和服務(wù)器相互識(shí)別對方的身份。為了驗(yàn)證證書持有者是其合法用戶(而不是冒名用戶),SSL要求證書持有者在握手時(shí)相互交換數(shù)字證書,通過驗(yàn)證來保證對方身份的合法性。
二、基于SSL協(xié)議的電子商務(wù)系統(tǒng)
本系統(tǒng)基于SSL協(xié)議,采用CA證書鑒別技術(shù),借助現(xiàn)有的Internet網(wǎng)絡(luò)環(huán)境,在公共網(wǎng)絡(luò)信道上建立專用網(wǎng)絡(luò)加密信道,實(shí)現(xiàn)在不安全的信道上的安全信息傳輸,保證電子商務(wù)信息在Internet上傳輸時(shí)的機(jī)密性和完整性。該加密信道主要由安全網(wǎng)關(guān)和安全代理來實(shí)現(xiàn)。
1.系統(tǒng)結(jié)構(gòu)
根據(jù)SS L協(xié)議層次結(jié)構(gòu)模型,系統(tǒng)結(jié)構(gòu)也是分層結(jié)構(gòu);同是按功能劃分,系統(tǒng)分為不同的功能模塊。系統(tǒng)分為兩個(gè)相互獨(dú)立又能搭配使用的子系統(tǒng):SSL安全代理和SSL安全網(wǎng)關(guān)。系統(tǒng)介于應(yīng)用層和TCP層之間,同時(shí)系統(tǒng)本身亦為分層結(jié)構(gòu):底層是記錄層處理模塊,負(fù)責(zé)數(shù)據(jù)的分塊壓縮、加密、信息完整性檢驗(yàn)等,此層直接建立在TCP層之上;高層包括身份認(rèn)證模塊、握手消息處理模塊、界面管理控制模塊。
2.系統(tǒng)主要功能模塊
本系統(tǒng)主要包括身份驗(yàn)證模塊、握手消息處理模塊、記錄層處理模塊,以及管理配置模塊。下面將詳細(xì)介紹各主要功能模塊。
(1)證書管理模塊
由于本系統(tǒng)實(shí)現(xiàn)原客戶方瀏覽器與遠(yuǎn)端Web服務(wù)器之間的SSL會(huì)話,因此瀏覽器原有的證書管理模塊己變?yōu)闊o效,有關(guān)CA證書、用戶證書、服務(wù)器證書的管理和維護(hù)以及身份認(rèn)證的過程應(yīng)由本系統(tǒng)來完成。在建立SSL連接時(shí),客戶方安全代理和服務(wù)器方安全網(wǎng)關(guān)需要分別從各自的證書庫中讀取證書。服務(wù)器方的證書庫中必須有兩類證書,分別是服務(wù)器可信任的CA證書和被CA簽名的服務(wù)器站點(diǎn)證書。同樣,客戶方的證書庫中通常也有兩類證書。分別是客戶方可信任的CA證書和被CA簽名的客戶方站點(diǎn)證書。如果不需要對客戶方進(jìn)行認(rèn)證,則客戶方的證書庫只需要有客戶方可信任的CA證書即可。
(2)握手連接處理模塊
客戶端的握手過程和服務(wù)器端的握手過程是相互交叉的,二者需要經(jīng)過多次消息的交互,才能完成整個(gè)握手過程。首先,客戶端向服務(wù)器發(fā)送一個(gè)ClientHelo消息以建立連接,服務(wù)器必須響應(yīng)一個(gè)相應(yīng)的ServerHello消息,否則產(chǎn)生錯(cuò)誤并導(dǎo)致此次連接失敗??蛻舳税l(fā)送的消息和服務(wù)器響應(yīng)的消息、不僅用于建立連接,還用于建立客戶端和服務(wù)器之間安全通信的協(xié)議版本、會(huì)話ID、密碼組和壓縮算法。Hello消息交換完成后,若服務(wù)器需要被認(rèn)證,它將發(fā)送服務(wù)器證書。若服務(wù)器需要認(rèn)證客戶身份,它可以請求客戶方發(fā)送它的證書。到此,服務(wù)器將發(fā)送服務(wù)器方問候結(jié)束消息,指明握手握手的問候消息己經(jīng)完成,服務(wù)器進(jìn)入等
待客戶響應(yīng)狀態(tài)。如果服務(wù)器發(fā)送了請求證書消息,則客戶端必須向服務(wù)器發(fā)送其證書。
若無證書,則需要發(fā)送noc ertificate警報(bào)消息。然后客戶端可以發(fā)送密鑰交換消息,交換密鑰,完成握手,交換應(yīng)用層數(shù)據(jù)。
(3)記錄層處理模塊
記錄層處理模塊主要完成數(shù)據(jù)的分段或組裝、填充或恢復(fù),以及數(shù)據(jù)的完整性檢查,在SSL中,所有來自上層的數(shù)據(jù)(包括握手消息、改變密碼參數(shù)消息、報(bào)警消息、應(yīng)用數(shù)據(jù)等)都首先被分段和填充,每一數(shù)據(jù)段作為一個(gè)記錄,對每個(gè)記錄計(jì)算其MAC值并附加在該記錄的末尾,然后將整個(gè)一記錄進(jìn)行加密,在加密后的記錄首部再添加一個(gè)記錄頭,記錄頭包括數(shù)據(jù)類型、數(shù)據(jù)長度和協(xié)議版本信息。因此,每一個(gè)SSL記錄都包括記錄頭、實(shí)際數(shù)據(jù)、填充數(shù)據(jù)和MAC這幾部分。
(4)管理配置模塊
本安全傳輸系統(tǒng)可以根據(jù)不同的需要選擇不同的加密算法和其他的會(huì)話參數(shù),以及對證書進(jìn)行管理,而通過管理配置模塊,進(jìn)一步簡化了管理和配置的過程,并且通過界面顯示,用戶只需要了解自己的需求,而不必關(guān)心系統(tǒng)如何處理,就可以建立安全的會(huì)話,使該系統(tǒng)對用戶完全透明。管理配置塊負(fù)責(zé)整個(gè)系統(tǒng)的配置和管理,主要由兩部分組成:客戶端管理
配置模塊負(fù)責(zé)系統(tǒng)的初始配置,以及信息的顯示:服務(wù)器端管理配置模塊根據(jù)系統(tǒng)的初始配置信息和參數(shù)監(jiān)聽客戶端的連接請求。同時(shí)每部分模塊都為分層結(jié)構(gòu):上層管理界面子模塊負(fù)責(zé)界面的生成顯示,下層管理配置子模塊負(fù)責(zé)從管理界面解析用戶設(shè)置的參數(shù)并與其他模塊進(jìn)行通信。
三、結(jié)束語
如何保障數(shù)據(jù)在Intenret上的安全傳輸是當(dāng)今網(wǎng)絡(luò)技術(shù)發(fā)展的熱點(diǎn)問題之一,針對這一問題,不同的網(wǎng)絡(luò)層次具有不同的解決方案。SSL協(xié)議就是位于傳輸層與應(yīng)用層之間,防止數(shù)據(jù)在傳輸過程中被竊聽、篡改、偽造的安全措施。本文在對SSL協(xié)議技術(shù)進(jìn)行深入研究和分析的基礎(chǔ)上,按照協(xié)議規(guī)范實(shí)現(xiàn)了基于SSL安全的電子商務(wù)系統(tǒng)。該系統(tǒng)可為基于WWW的電子商務(wù)系統(tǒng)的客戶機(jī)和服務(wù)器的應(yīng)用層通信在通信雙方建立起一個(gè)防竊聽、防篡改、防信息偽造的安全通道。
參考文獻(xiàn):
[1]羅新星等:電子支付系統(tǒng)的安全性研究及其設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào),2003,25(1)
[2]代曉紅:基于SSL協(xié)議的電子商務(wù)安全性分析[J].工業(yè)技術(shù)經(jīng)濟(jì),2004,23(6)
[3]黃勁潮:SSL安全通信在電子商務(wù)中的應(yīng)用[J].中國科技信息,2007(12)
[4]姜慶娜:基于Internet的電子商務(wù)安全支付系統(tǒng)的研究[D].山東師范大學(xué),2005