1. 程式人生 > >IPSEC與SSL/TLS的比較 (轉)

IPSEC與SSL/TLS的比較 (轉)

  1. Ipsec

Ipsec顧名思義就是ip security,ip安全,主要應用於ip包傳輸的安全,也就是網路層的安全傳輸,

IPSec提供了兩種安全機制:認證(採用ipsec的AH)和加密(採用ipsec的ESP)。

  • 認證機制使IP通訊的資料接收方能夠確認資料傳送方的真實身份以及資料在傳輸過程中是否遭篡改。
  • 加密機制通過對資料進行編碼來保證資料的機密性,以防資料在傳輸過程中被竊聽。
  • IPSec 協議組包含Authentication Header(AH)協議、Encapsulating Security Payload(ESP)協議和Internet Key Exchange(IKE)協議。

  • AH協議定義了認證的應用方法,提供資料來源認證和完整性保證;
  • ESP協議定義了加密和可選認證的應用方法,提供可靠性保證。
  • 在實際進行IP通訊時,可以根據實際安全需求同時使用這兩種協議或選擇使用其中的一種。
  • AH和ESP都可以提供認證服務,不過,AH提供的認證服務要強於ESP。
  • Ipsec有兩種工作模式,分別是傳輸模式和隧道模式
  • 在這兩種模式下,分別可以使用AH頭(IPsec認證頭)或ESP頭(IPSEC ESP封裝安全負荷頭)兩種方式進行安全封裝
  • 傳輸模式的認證

  • 隧道模式的認證

  • 傳輸模式的加密

  • 隧道模式的加密

  • 認證方式就是採用AH頭,加密方式就是採用ESP頭
  • AH頭結構

AH協議為IP通訊提供資料來源認證、資料完整性和反重播保證,它能保護通訊免受篡改,但不能防止竊聽,適合用於傳輸非機密資料。AH的工作原理是在每一個數據包上新增一個身份驗證報頭。此報頭包含一個帶金鑰的hash雜湊(可以將其當作數字簽名,只是它不使用證書),此hash雜湊在整個資料包中計算,因此對資料的任何更改將致使雜湊無效--這樣就提供了完整性保護。

·Next Header(下一個報頭): 識別下一個使用IP協議號的報頭,例如,Next Header值等於"6",表示緊接其後的是TCP報頭。

·Length(長度): AH報頭長度。

·Security Parameters Index (SPI,安全引數索引): 這是一個為資料報識別安全關聯的 32 位偽隨機值。SPI 值 0 被保留來表明"沒有安全關聯存在"。

·Sequence Number(序列號):從1開始的32位單增序列號,不允許重複,唯一地標識了每一個傳送資料包,為安全關聯提供反重播保護。接收端校驗序列號為該欄位值的資料包是否已經被接收過,若是,則拒收該資料包。

·Authentication Data(AD,認證資料): 包含完整性檢查和。接收端接收資料包後,首先執行hash計算,再與傳送端所計算的該欄位值比較,若兩者相等,表示資料完整,若在傳輸過程中資料遭修改,兩個計算結果不一致,則丟棄該資料包。

  • ESP頭結構

ESP為IP資料包提供完整性檢查、認證和加密,可以看作是"超級 AH", 因為它提供機密性並可防止篡改。

·Security Parameters Index (SPI,安全引數索引):為資料包識別安全關聯。

·Sequence Number(序列號):從1開始的32位單增序列號,不允許重複,唯一地標識了每一個傳送資料包,為安全關聯提供反重播保護。接收端校驗序列號為該欄位值的資料包是否已經被接收過,若是,則拒收該資料包。 ESP報尾欄位包括:

·Padding(擴充套件位):0-255個位元組。DH演算法要求資料長度(以位為單位)模512為448,若應用資料長度不足,則用擴充套件位填充。

·Padding Length(擴充套件位長度):接收端根據該欄位長度去除資料中擴充套件位。

·Next Header(下一個報頭):識別下一個使用IP協議號的報頭,如TCP或UDP。

 ESP認證報尾欄位:

·Authentication Data(AD,認證資料): 包含完整性檢查和。完整性檢查部分包括ESP報頭、有效載荷(應用程式資料)和ESP報尾。見圖四。

   

二、SSL/TLS

  • SSL(Secure socket layer)/TLS(Transport Layer Security)
  • SSL是傳輸層的一種安全協議。SSL提供了兩臺計算機之間的安全連線,對整個會話進行了加密,從而保證了安全傳輸。SSL協議建立在可靠的TCP傳輸控制協議之上,並且與上層協議無關,各種應用層協議(如:HTTP,FTP,TELNET等)能通過SSL協議進行透明傳輸。TLS是1999年推出的對SSL的改進版本。
  • SSL/TLS在web中應用就是https。
  • SSL協議分為兩層:SSL握手協議和SSL記錄協議。SSL協議與TCP/IP協議間的關係如圖所示:

  • SSL協議提供的安全連線具有以下三個基本特點:

(1)連線是保密的:對於每個連線都有一個唯一的會話金鑰,採用對稱密碼體制(如DES、RC4等)來加密資料;

(2)連線是可靠的:訊息的傳輸採用MAC演算法(如MD5、SHA等)進行完整性檢驗;

(3)對端實體的鑑別採用非對稱密碼體制(如RSA、DSS等)進行認證。

  • SSL握手協議

握手過程分為4個階段:

(1)初始化邏輯連線,客戶方先發出ClientHello訊息,伺服器方也應返回一個ServerHello訊息,這兩個訊息用來協商雙方的安全能力,包括協議版本、隨機引數、會話ID、交換金鑰演算法、對稱加密演算法、壓縮演算法等。

(2)伺服器方應傳送伺服器證書Certificate(包含了伺服器的公鑰等)和服務端會話金鑰(Serverkeyexchange),如果伺服器要求驗證客戶方,則要傳送CertificateRequest訊息。最後伺服器方傳送ServerHelloDone訊息,表示hello階段結束,伺服器等待客戶方的響應。

(3)如果伺服器要求驗證客戶方,則客戶方先發送客戶端證書Certificate訊息,然後產生客戶端會話金鑰,並用伺服器的公鑰加密,封裝在ClientKeyExchange訊息中,如果客戶方傳送了自己的證書,則再發送一個數字簽名CertificateVerify來對證書進行校驗。

(4)客戶方傳送一個ChangeCipherSpec訊息,通知伺服器以後傳送的訊息將採用先前協商好的安全引數加密,最後再發送一個加密後的Finished訊息。伺服器在收到上述兩個訊息後,也傳送自己的ChangeCipherSpec訊息和Finished訊息。至此,握手全部完成,雙方可以開始傳輸應用資料。

  • SSL記錄協議

SSL記錄協議從高層接收到資料後要經過分段、壓縮和加密處理,最後由傳輸層傳送出去。在SSL協議中,所有的傳輸資料都被封裝在記錄中,SSL記錄協議規定了記錄頭和記錄資料的格式。

每個SSL記錄包含以下資訊:(1)內容型別:指SSL的高層協議;(2)協議版本號:指所用的SSL協議版本號,目前已有2.0和3.0版本;(3)長度:指記錄資料的長度,記錄資料的最大長度為16383個位元組;(4)資料有效載荷:將資料用SSL握手階段所定義的壓縮方法和加密方法進行處理後得到的結果;(5)MAC:MAC在有效資料被加密之前計算出來並放入SSL記錄中,用於進行資料完整性檢查,若使用MD5演算法,則MAC資料長度是16個位元組。SSL記錄協議採用了RFC2104中關於HMAC結構的修正版,在HASH函式作用之前將一個序號放入訊息中,以抵抗各種形式的重傳攻擊,序號是一個32位的遞增計數器

第一條 標的技術的內容、形式和要求(包括應達到的技術指標、成果提交方式等):

建立一個基於INTERNET的山西省外商投訴VPN,利用山西省投資促進局現有的寬頻線路及內網資源,配置VPN伺服器,並自主開發相應的隧道技術、資料加密、身份認證等方面的應用軟體,實現虛擬專用網,使全省各市投訴分支機構能通過公網,以VPN方式訪問山西省外商投訴網,進行保密資料傳輸及網上投訴服務。

開發好的VPN應方便實用,採用智慧卡進行身份驗證,VPN上網速度與公網相當,線路穩定可靠,應有友好的後臺維護介面,並充分考慮將來的業務發展。

成果提交包括可執行程式、開發原始碼及書面維護文件。