吳柏華
摘要:如何保證交易過程中所傳遞的敏感信息的安全是電子商務系統的重要問題,SSL協議使用對稱加密算法,本文介紹了一種基于Kerberos的認證方式來改進SSL握手協議的密鑰交換方式的方法。此外,考慮到SSL協議對服務器資源的大量占用,本文給出了提高服務器效率的方法。
關鍵詞:安全套接字層協議SSL;服務器;加密算法
0 引言
建立在Internet之上的電子商務系統以其高效率、低開銷、高收益和全球性的特點,得到很多國家政府和企業的重視,發展非常迅速。但是在電子商務系統傳輸的數據中涉及到很多私密信息,如賬號密碼、銀行卡號等。如何保證數據的安全傳輸成為最首要的問題。SSL普遍被認為是足夠安全的,但是有部分安全研究人員聲稱能夠攔截SSL連接,這對網絡安全的研究提出了新的挑戰,促使我們不斷完善SSL協議,不斷改進。
1 SSL協議概述
1.1 SSL安全機制
SSL協議位于HTTP層和TCP層之間,建立用戶與服務器之間的加密通信,確保所傳遞信息的安全性。SSL是工作在公共密鑰和私人密鑰基礎上的,任何用戶都可以獲得公共密鑰來加密數據,但解密數據必須要通過相應的私人密鑰。建立了SSL安全機制后,只有SSL允許的客戶才能與SSL允許的Web站點進行通信,并且在使用URL資源定位器時,輸入https,而不是http。默認情況下我們所使用的HTTP協議是沒有任何加密措施的,所有的消息全部都是以明文形式在網絡上傳送的,惡意的攻擊者可以通過安裝監聽程序來獲得我們和服務器之間的通訊內容。
1.2 SSL體系結構
SSL不是一個單一的協議,而是由多個協議組成,包括SSL記錄協議、SSL握手協議、SSL修改密文規約協議、SSL告警協議,SSL記錄協議為高層協議提供基本的安全服務。特別是為Web客戶端/服務器交互提供傳送服務的HTTP協議可以在上層訪問SSL,而高層協議負責對SSL交換進行管理。
2 Web服務器的安全性實現
2.1 SSL在Web服務器中的應用
SSL協議是建立在TCP的基礎上,而不是UDP。這就保證了數據傳輸的可靠性和完整性。那么具體SSL協議是如何保證Web服務器的安全性的呢?當客戶端使用具有SSL功能的瀏覽器(比如IE瀏覽器)和Web服務器通信時,主要會進行以下幾個步驟以保證通信安全。首先C/S雙方進行身份認證。通過交換各自的數字證書,對客戶端和服務器進行身份認證,確保連接到正確的站點。然后客戶端向服務器發送通過證書服務中公共密鑰加密的48位主密鑰,服務器使用自身私有密鑰對主密鑰進行解密。
2.2 如何提高SSL在Web服務器中的效率
據測試,當處理安全的SSL會話時,標準的Web服務器只能處理1%~10%的正常負載。電子商務時代,服務器反應速度至關重要。那么如何解決SSL協議在會話啟動階段對服務器資源占用過大,影響整個系統效率的問題則顯得非常重要。
SSL加速器將SSL協議中的大量函數計算轉移出網絡服務器,所有由SSL加密過的數據流經過SSL加速器時,加密的數據流都會被解密然后才被傳輸給服務器,另一方面由服務器發出SSL數據流則被SSL加速器加密后傳向客戶。
2.3 SSL握手協議密鑰交換方式改進
SSL握手協議提供了一種C/S雙方都沒有證書的匿名密鑰交換方式。SSL提供這種密鑰交換方式,其主要目的是為了增強協議的實用性,但也帶來了不安全因素。
如果采用匿名密鑰交換方式,比較容易受到中間人攻擊,攻擊者可以使用匿名身份與雙方會話。主要有三種情況:第一,攻擊者可能冒充其他合法用戶進入服務器進行操作;第二,攻擊者可以通過改變服務器的網絡體制,發送偽造請求;第三,攻擊者可以對用戶和服務器的會話進行監聽或者使用重放攻擊,來獲得服務或進行破壞活動。
Kerberos認證協議通過提供—個集中的認證服務器來負責用戶對服務器的認證和服務器對用戶的認證,保護用戶信息和服務器資源。Kerberos僅僅依賴于對稱的加密機制而沒有使用公鑰加密機制。接下來介紹基于Kerberos的SSL認證過程:
(1)客戶端向AS發送用戶標識和TGS標識,申請TGT;
(2)AS通過查找自身數據庫,得到TGT,使用用戶口令中的密鑰機密后發送給客戶端。同時提示客戶端用戶輸入口令,如果口令輸入正確,則產生密鑰,對傳遞的數據進行解密,還原TGT;
(3)客戶端將用戶標識、服務標識和TGT發送給TGS用于申請一個服務票據;
(4)TGS對TGT進行解密,并驗證TGT的正確性。如果TGT未過期,且用戶標識和網絡地址與消息來源一致,則TGS發布相應的服務授權票據。
(5)客戶端將包含用戶標識和服務授權票據的消息發送到服務器,請求服務。服務器同服務授權票據的內容對用戶進行合法性認證。
由Kerberos的認證過程可以看出,Kerberos認證協議基本上能夠改進SSL握手協議中存在的不足。
3 結論
隨著電子商務的發展,電子支付過程中單一認證問題就越來越突出。本文集中討論了基于安全套接層協議的安全通信問題,提出了對SSL協議的改進,并且利用這個協議完成安全Web服務器的實現,可以進一步的提高網絡通信安全。