安全套接層

SSL(Secure Socket Layer)安全套接層是Netscape公司率先採用的網路安全協定。它是在傳輸通信協定(TCP/IP)上實現的一種安全協定,採用公開密鑰技術。SSL廣泛支持各種類型的網路,同時提供三種基本的安全服務,它們都使用公開密鑰技術。

概述

SSLSecure Socket Layer安全套接層是Netscape公司率先採用的網路安全協定。它是在傳輸通信協定(TCP/IP)上實現的一種安全協定,採用公開密鑰技術。SSL廣泛支持各種類型的網路,同時提供三種基本的安全服務,它們都使用公開密鑰技術。
(1)信息保密,通過使用公開密鑰和對稱密鑰技術以達到信息保密。SSL客戶機和伺服器之間的
所有業務都使用在SSL握手過程中建立的密鑰和算法進行加密。這樣就防止了某些用戶通過使用IPpacketsniffer工具非法竊聽。儘管packet sniffer仍能捕捉到通信的內容,但卻無法破譯。
(2)信息完整性,確保SSL業務全部達到目的。應確保伺服器和客戶機之間的信息內容免受破壞。SSL利用機密共享和hash函式組提供信息完整性服務
(3)雙向認證,客戶機和伺服器相互識別的過程。它們的識別號用公開密鑰編碼,並在SSL握手時交換各自的識別號。為了驗證證明持有者是其合法用戶(而不是冒名用戶),SSL要求證明持有者在握手時對交換數據進行數字式標識。證明持有者對包括證明的所有信息數據進行標識,以說明自己是證明的合法擁有者。這樣就防止了其他用戶冒名使用證明。證明本身並不提供認證,只有證明和密鑰一起才起作用。
(4)SSL的安全性服務對終端用戶來講做到儘可能透明。一般情況下,用戶只需單擊桌面上的一個按鈕或聯接就可以與SSL的主機相連。與標準的HTTP連線申請不同,一台支持SSL的典型網路主機接受SSL連線的默認連線埠是443,而不是80。
一、

SSL的體系結構

SSL被設計成使用TCP來提供一種可靠的端到端的安全服務,不是單個協定,而是二層協定,低層是SSL記錄層,用於封裝不同的上層協定,另一層是被封裝的協定,即SSL握手協定,它可以讓伺服器和客戶機在傳輸套用數據之前,協商加密算法和加密密鑰,客戶機提出自己能夠支持的全部加密算法,伺服器選擇最適合它的算法。
記錄協定為不同的更高層協定提供基本的安全服務,其特點是為web客戶/伺服器的互動提供傳輸服務的超文本傳輸協定(HTTP)可在SSL上面運行。三個更高層協定被定義成SSL的一部分:握手協定、修改密文規約協定和告警協定。
SSL中兩個重要的概念是SSL會話和SSL連線,規約如下:
(1)連線:連線是提供恰當類型服務的傳輸,對於SSL這樣的連線是點對點的關係。連線是短暫的,每個連線與一個會話相聯繫。
(2)會話:SSL的會話是客戶和伺服器之間的關聯,會話通過握手協定來創建。會話定義了加密安全參數的一個集合,該集合可以被多個連線所共享。會話可用來避免為每個連線進行昂貴的新安全參數的協商。
在任何一對互動實體之間可能存在多個安全連線。理論上,在互動實體中間也可能存在多個同時的會話,實際上每個會話存在一組狀態。一旦建立了會話,就有當前的操作狀態用於讀和寫(即接收和傳送)。另外,在握手協定期間,創建了掛起讀和寫狀態。一旦握手協定成功,掛起狀態就變成當前的狀態。
二、SSL記錄協定
SSL記錄協定為SSL連線提供兩種服務:
(1)機密性:握手協定定義了共享的、可用於對SSL有效載荷進行常規加密的密鑰。
(2)報文完整性:握手協定還定義了共享的、可用來形成報文的鑑別碼(MAC)的密鑰。
記錄協定接收傳輸的套用報文,將數據分片成可管理的塊,可選地壓縮數據,套用MAC,加密,增加首部,在TCP報文段中傳輸結果單元。被接收的數據被解密、驗證、解壓和重新裝配,然後交付給更
高級的用戶。
三、修改密文規約協定
修改密文規約協定(Change Cipher Spec Protocol)是使用SSL記錄協定的三個SSL有關協定之一,並且它是最簡單的,用於使用新協商的加密方法和完全性方法。這個協定由單個報文圖4(a)組成,該報文由值為1的單個位元組組成。
四、告警協定
告警協定是用來將SSL有關的告警傳送給對方實體。和其他使用SSL的情況一樣,告警報文按照當前狀態說明被壓縮和加密。該協定的每個報文由兩個位元組組成圖4(b)。第一個位元組的值是警告或致命的,用來傳送報文的嚴重級別。如果級別是致命的,SSL立刻中止該連線。同一個會話的其他連線可以繼續,但這個會話不能再建立新的連線了。 第二個位元組包含了指出特定告警的代碼。
SSL中最複雜、最重要的部分是握手協定。這個協定用於建立會話;協商加密方法、鑑別方法、壓縮方法和初始化操作,使伺服器和客戶能夠相互鑑別對方的身份、協商加密和MAC算法以及用來保護在SSL記錄中傳送數據的加密密鑰。在傳輸任何套用數據之前,使用握手協定。它由一系列在客戶和伺服器之間交換的報文組成。所有報文都具有圖4(c)顯示的格式。每個報文具有三個欄位:
(1)類型(1位元組):指示10種報文中的一個。表2列出定義的報文類型。
(2)長度(3位元組):以位元組為單位的報文長度。
(3)內容(大於等於1位元組。
一次SSL握手將發生以下事件:
A)客戶機和伺服器交換X.509證明以便雙方相互確認。在此過程中可以交換全部的證明鏈,也可以選擇只交換一些底層的證明。證明的驗證包括:檢驗有效日期和驗證證明的簽名許可權。
B)客戶機隨機地產生一組密鑰,它們用於信息加密和MAC計算。這些密鑰要先通過伺服器的公開密鑰加密再送往伺服器。總共有四個密鑰分別用於伺服器到客戶機以及客戶機到伺服器的通信。
C)信息加密算法(用於加密)和Hash函式(用於確保信息完整性)是綜合在一起使用的。Netscape的SSL實現方案是:客戶機提供自己支持的所有算法清單,伺服器選擇它認為最有效的密碼。伺服器管理者可以使用或禁止某些特定的密碼。
通過SSL握手協定、SSL密文協定、SSL告警協定和SSL記錄協定實現了安全套接層的安全,對於web安全我們完全可以採用上述手段,因為它們的安全技術是可靠的。

相關詞條

相關搜尋

熱門詞條

聯絡我們