解讀SSL ×××技術(一)

 本文出自 “王達博客” 博客,轉載請與作者聯繫!

作者已授權本博客轉載

就在當前大多數遠程訪問解決方案是利用基於IPSec安全協議的×××網絡的情況下,一種最新的研究表明近近呼90%的企業利用×××進行的內部網和外部網的聯接都只是用來進行因特網訪問和電子郵件通信,另外10%的用戶是利用諸如x11、聊天協議和其它私有客戶端應用,屬非因特網應用。這些90%的應用有研究表明可以利用一種更加簡單的×××技術——SSL ×××來提供更加有效的解決方案。

基於SSL協議的×××遠程訪問方案的更加容易配置和管理,網絡配置成本比起目前主流的IPSec ×××還要低許多,所以許多企業已經開始轉而利用基於SSL加密協議的遠程訪問技術來實現×××通信了。

一、 SSL基礎

×××技術可以擴展企業的內部網絡,使在外工作的員工和合作伙伴通過標準、公用的因特網訪問他們的內部網絡。它相對傳統的專線網絡方案的主要優勢是各項費用將大大降低。專線網絡需要在合作伙伴或者遠程員工與公司總部之間有一個物理封閉的網絡連接,或者採用遠程撥號訪問方案,或者採用T1之類的數字專線連接。×××是一個非常實用的技術,它允許客戶(包括員工)和合作伙伴利用標準的因特網進行廉價連接,它允許採用IPSec安全協議方案。事實上,在×××技術中包括許多加密和安全協議,SSL就是其中一個,同樣主流×××應用的IPSec也是其中的一種。所以總的來說IPSec ×××與SSL ×××是×××技術在兩種不同的安全協議下實現×××通信的兩種平等方案。所以理解SSL ×××的關鍵就在於理解SSL這一安全協議。

SSL的英文全稱是“Secure Sockets Layer”,中文名爲“安全套接層協議層”,它是網景(Netscape)公司提出的基於WEB應用的安全協議。SSL協議指定了一種在應用程序協議(如Http、Telenet、NMTP和FTP等)和TCP/IP協議之間提供數據安全性分層的機制,它爲TCP/IP連接提供數據加密、服務器認證、消息完整性以及可選的客戶機認證。
對於電子商務應用來說,使用SSL可保證信息的真實性、完整性和保密性。但由於SSL不對應用層的消息進行數字簽名,因此不能提供交易的不可否認性,這是SSL在電子商務中使用的最大不足。有鑑於此,網景公司在從Communicator 4.04版開始的所有瀏覽器中引入了一種被稱作“Form Signing”(表單簽名)的功能,在電子商務中,可利用這一功能來對包含購買者的訂購信息和付款指令的表單進行數字簽名,從而保證交易信息的不可否認性。綜上所述,在電子商務中採用單一的SSL協議來保證交易的安全是不夠的,但採用"SSL+表單簽名"模式能夠爲電子商務提供較好的安全性保證。因它是一個應用層協議,所以通常SSL (Secure socket Layer)安全套接層協議主要是使用公開密鑰體制和X.509數字證書技術保護信息傳輸的機密性和完整性,它不能保證信息的不可抵賴性,主要適用於點對點之間的信息傳輸,常用Web Server方式。
SSL與IPSec安全協議一樣,也可提供加密和身份驗證安全方法。但是不管怎樣,SSL協議只對通信雙方所進行的應用通道進行加密,而不是對從一個主機到另一主機的整個通道進行加密。因爲絕大多數客戶應用,是不必加密從一個系統到另一個系統的整個通道的,僅加密應用數據這一方案更顯恰當。

“加密”和“安全”協議都是屬於傳輸協議,它們是用來確保重要數據的安全轉輸。加密是任何安全協議的核心技術,它相對採用明文密碼加密或者不經過加密數據有3方面的優勢:

·數據的私密性:在傳輸過程中可以使數據保持隱藏,不被非法查看;

·數據的真實性和完整性:因爲在有關數字加密、安全協議有關的技術可以確保數據在傳輸過程中不被修改或者損壞;

·連接的可靠性:數據加密的另一個數學特徵是可以證明事件的發生。

在使用SSL協議的通信中,每一個應用是一個安全的獨立體,而不像IPSec那樣,操作與應用脫節。要使用SSL協議進行×××通信,則所進行的遠程通信應用必須能識別SSL技術,不過現在常見的應用一般都能識別SSL技術的,如IE、Netscape瀏覽器,OutLook、 Eudora 郵件應用等。

目前SSL ×××的主要應用於採用×××與遠程網絡進行通信的應用主要是基於Web的客戶,這些Web應用目前主要是內部網頁遊覽、電子郵件及其它基於Web的查詢工作。

在SSL ×××通信中通常還合用一種SSL Proxy(SSL代理)的技術來提高×××服務器的通信性能和安全身驗證能力,主要表面在以下兩個方面:

(1)增加通信連接的性能

SSL本身就是一種非常快的協議,像所有加密協議一樣, 在安全的通信建立之前它必須採用專門的CPU來提高數學運算速度。其中的一個運算法則就是RSA,RSA運算法則是採用SSL協議在客戶端和服務器端傳遞密鑰的。許多Modem撥號Web服務器,大約每秒可經接受75個新的SSL連接,每一個新的連接RSA都必須完成翻譯和檢驗工作。如果系統每秒所有接受超過75個,CPU的利用率就會超過可接受有極限而停止對新的網絡連接請求進行響應。

爲了提高服務器的接受能力,SSL代理可以採用SSL加速器技術。一個SSL加速器就像一個486SX/DXPC機上的核心處理器一樣。SSL加速器就可以分擔服務器CPU的計算任務,通過加速後,一部只能完成接受每秒75個SSL連接的服務器,就可達到接受每秒800個以上連接的性能。

你可能對如果在你的服務器有一個SSL加速器時,爲什麼還需要SSL代理產生疑惑。事實上理解起來非常簡單,還是一個節省資金的問題。對於一個大、中型企業,或者網絡服務提供商,通常可能有多臺接入服務器,如果沒有SSL代理技術,則你有多少服務器需要SSL加速器,就得需要大筆的資金爲每一臺服務器都配置SSL加速器S。SL代理的好處就是可以使多臺服務器共用一個SSL加速器。

從安全代理到網絡代理,例如你現在可以開通每鈔800條SSL連接來訪問你的資源,而只需要維護後端服務器的一個SSL代理連接。注意安全代理可以減少在後端服務器中打開的SLL連接數量,儘管服務器每秒的連接達到800個。這樣的好處就是使你的服務器的SSL連接永遠不會超出負荷。

(2)內置身份驗證

商業SSL協議的另一個優勢就是內置身份驗證方法。SSL協議的身份驗證方法包括在服務器端和客戶端進行的密碼身份驗證方法。不管怎樣,所有安全都是基於一個理論:客戶端的私鑰密碼要求安全保管。如果這個密鑰遭到破壞或者丟失,你就不可能再得到客戶的信任。這樣就需要在SSL頂級授權機構申請添加一個新的身份驗證方法,以使您的用戶或者客戶承認你的身份。不管怎樣,SSL代理都可爲客戶在連接後端網絡資源前提供強大的身份驗證。SSL代理可以執行比後端資源自身的身份驗證方法更加強大的身份驗證,許多Web服務器自身並不支持比SSL更加強大的身份驗證方法。

二、SSL通信的工作原理
    SSL協議的主要用途是在兩個通信應用程序之間提供私密性和可靠性,這個過程通過3個元素來完成:
     (1)握手協議:這個協議負責被子用於客戶機和服務器之間會話的加密參數。當一個SSL客戶機和服務器第一次開始通信時,它們在一個協議版本上達成一致,選擇加密算法和認證方式,並使用公鑰技術來生成共享密鑰。
     (2)記錄協議:這個協議用於交換應用數據。應用程序消息被分割成可管理的數據塊,還可以壓縮,併產生一個MAC(消息認證代碼),然後結果被加密並傳輸。接受方接受數據並對它解密,校驗MAC,解壓並重新組合,把結果提供給應用程序協議。
     (3)警告協議:這個協議用於每時示在什麼時候發生了錯誤或兩個主機之間的會話在什麼時候終止。
SSL協議通信的握手步驟如下:
第1步,SSL客戶機連接至SSL服務器,並要求服務器驗證它自身的身份;
第2步,服務器通過發送它的數字證書證明其身份。這個交換還可以包括整個證書鏈,直到某個根證書頒發機構(CA)。通過檢查有效日期並確認證書包含可信任CA的數字簽名來驗證證書的有效性。
第3步,服務器發出一個請求,對客戶端的證書進行驗證,但是由於缺乏公鑰體系結構,當今的大多數服務器不進行客戶端認證。
第4步,協商用於加密的消息加密算法和用於完整性檢查的哈希函數,通常由客戶端提供它支持的所有算法列表,然後由服務器選擇最強大的加密算法。
第5步,客戶機和服務器通過以下步驟生成會話密鑰:
·客戶機生成一個隨機數,並使用服務器的公鑰(從服務器證書中獲取)對它加密,以送到服務器上。
·服務器用更加隨機的數據(客戶機的密鑰可用時則使用客戶機密鑰,否則以明文方式發送數據)響應。
·使用哈希函數從隨機數據中生成密鑰。

三、SSL ×××的主要優勢和不足

上面我們介紹了有關SSL ×××的一些基本情況,但是就像任何新技術的產生一樣,相對傳統的技術肯定會存在一些重要的優點,當然不足之處通常也是有的,下面就分別予以介紹。

1.SSL ×××的主要優點

這樣一種新型的×××技術主要優勢體現在哪裏呢?目前這種×××技術的應用正逐漸呈上升趨勢,原因何在呢?下面就是幾個主要的方面:

(1)無需安裝客戶端軟件:在大多數執行基於SSL協議的遠程訪問是不需要在遠程客戶端設備上安裝軟件。只需通過標準的Web瀏覽器連接因特網,即可以通過網頁訪問到企業總部的網絡資源。這樣無論是從軟件協議購買成本上,還是從維護、管理成本上都可以節省一大筆資金,特別是對於大、中型企業和網絡服務提供商。

(2)適用大多數設備:基於Web訪問的開放體系可以在運行標準的瀏覽器下可以訪問任何設備,包括非傳統設備,如可以上網的電話和PDA通訊產品。這些產品目前正在逐漸普及,因爲它們在不進行遠程訪問時也是一種非常理想的現代時尚產品。

(3)適用於大多數操作系統:可以運行標準的因特網瀏覽器的大多數操作系統都可以用來進行基於Web的遠程訪問,不管操作系統是Windows、Macintosh、UNIX還是 Linux。可以對企業內部網站和Web站點進行全面的訪問。用戶可以非常容易地得到基於企業內部網站的資源,並進行應用。

(4)支持網絡驅動器訪問:用戶通過SSL ×××通信可以訪問在網絡驅動器上的資源。

(5)良好的安全性:用戶通過基於SSL的Web訪問並不是網絡的真實節點,就像IPSec安全協議一樣。而且還可代理訪問公司內部資源。因此,這種方法可以非常安全的,特別是對於外部用戶的訪問。

(6)較強的資源控制能力:基於Web的代理訪問允許公司爲遠程訪問用戶進行詳盡的資源訪問控制。

7)減少費用:爲那些簡單遠程訪問用戶(僅需進入公司內部網站或者進行Email通信),基於SSL ×××網絡可以非常經濟地提供遠程訪問服務。

8)可以繞過防火牆和代理服務器進行訪問:基於SSL的遠程訪問方案中,使用NAT(網絡地址轉換)服務的遠程用戶或者因特網代理服務的用戶可以從中受益,因爲這種方案可以繞過防火牆和代理服務器進行訪問公司資源,這是採用基於IPSec安全協議的遠程訪問所很難或者根本做不到的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章