×××已經成爲愈來愈多企業使用的網絡鏈接方式了,爲了進一步瞭解×××,本篇將對它的隧道技術進行深刻解釋。 算法
爲了使得遠程的企業員工能夠與總部實時的交換數據信息。企業得向ISP租用網絡提供服務。但公用網容易遭受各類安全***(好比拒絕服務***來堵塞正常的網絡服務,或竊取重要的企業內部信息)緩存
×××這個概念的引進就是用來解決這個問題。它是利用公用網絡來鏈接到企業私有網絡。但在×××中,用安全機制來保障機密型,真實可靠行,完整性嚴格的訪問控制。這樣就創建了一個邏輯上虛擬的私有網絡。虛擬局域網提供了一個經濟有效的手段來解決經過公用網絡安全的交換私有信息。安全
×××有何優點?服務器
通常×××所具有的優勢有如下幾點:網絡
a) 最小成本:無須購買網絡設備和專用線路覆蓋全部遠程用戶session
b) 責任共享:經過購買公用網的資源,部分維護責任遷移至provider(更專業,有經驗,是操做,維護成本下降)。ide
c) 安全性:函數
d) 保障Qos加密
e) 可靠性:若是一個×××節點壞了,能夠一個替換×××創建起來繞過他,這種恢復工做是得×××操做能夠儘量的延續spa
f) 可擴展性:能夠經過從公用網申請更多得資源達到很是容易的擴展×××,或者協商重構×××
其中安全性是***最重要的一個特性,也是各種***產品所必須具有和支持的要素.
×××的安全技術剖析
目前×××主要採用四項技術來保證安全,這四項技術分別是隧道技術(Tunneling)、加解密技術(Encryption & Decryption)、密鑰管理技術(Key Management)、使用者與設備身份認證技術(Authentication)。
加解密技術是數據通訊中一項較成熟的技術,×××可直接利用現有技術。
密鑰管理技術的主要任務是如何在公用數據網上安全地傳遞密鑰而不被竊取。現行密鑰管理技術又分爲SKIP與ISAKMP/OAKLEY兩種。SKIP主要是利用Diffie-Hellman的演算法則,在網絡上傳輸密鑰;在ISAKMP中,雙方都有兩把密鑰,分別用於公用、私用。
身份認證技術最經常使用的是使用者名稱與密碼或卡片式認證等方式。
隧道指的是利用一種網絡協議來傳輸另外一種網絡協議,它主要利用網絡隧道協議來實現這種功能。網絡隧道技術涉及了三種網絡協議,即網絡隧道協議、隧道協議下面的承載協議和隧道協議所承載的被承載協議。網絡隧道技術是個關鍵技術,這項***的基本技術也是本文要詳細和闡述的.
網絡隧道協議深刻解析
網絡隧道是指在公用網創建一條數據通道(隧道),讓數據包經過這條隧道傳輸。現有兩種類型的網絡隧道協議,一種是二層隧道協議,用於傳輸二層網絡協議,它主要應用於構建遠程訪問虛擬專網(Access×××);另外一種是三層隧道協議,用於傳輸三層網絡協議,它主要應用於構建企業內部虛擬專網(Intranet×××)和擴展的企業內部虛擬專網(Extranet ×××)。
二層隧道協議
第二層隧道協議是先把各類網絡協議封裝到PPP中,再把整個數據包裝入隧道協議中。這種雙層封裝方法造成的數據包靠第二層協議進行傳輸。第二層隧道協議主要有如下三種:第一種是由微軟、Ascend、3COM 等公司支持的 PPTP(Point to Point Tunneling Protocol,點對點隧道協議),在WindowsNT4.0以上版本中即有支持。
第二種是Cisco、北方電信等公司支持的L2F(Layer2Forwarding,二層轉發協議),在 Cisco 路由器中有支持。
第三種由 IETF 起草,微軟 Ascend 、Cisco、 3COM 等公司參與的 L2TP(Layer 2TunnelingProtocol,二層隧道協議)結合了上述兩個協議的優勢,L2TP協議是目前IETF的標準,由IETF融合PPTP與L2F而造成。這裏就主要介紹一下 L2TP 網絡協議。
其中,LAC 表示 L2TP 訪問集中器(L2TPAccessConcentrator),是附屬在交換網絡上的具備 PPP 端系統和 L2TP 協議處理能力的設備,LAC 通常就是一個網絡接入服務器 NAS(Network Access Server)它用於爲用戶經過 PSTN/ISDN 提供網絡接入服務;LNS 表示 L2TP 網絡服務器(L2TP Network Server),是 PPP 端系統上用於處理 L2TP 協議服務器端部分的軟件。
在一個LNS和LAC對之間存在着兩種類型的鏈接,一種是隧道(tunnel)鏈接,它定義了一個LNS和LAC對;另外一種是會話(session)鏈接,它複用在隧道鏈接之上,用於表示承載在隧道鏈接中的每一個 PPP 會話過程。
L2TP鏈接的維護以及PPP數據的傳送都是經過L2TP消息的交換來完成的,這些消息再經過 UDP的1701端口承載於TCP/IP之上。L2TP消息能夠分爲兩種類型,一種是控制消息,另外一種是數據消息。控制消息用於隧道鏈接和會話鏈接的創建與維護。數據消息用於承載用戶的 PPP 會話數據包。 L2TP 鏈接的維護以及 PPP 數據的傳送都是經過 L2TP 消息的交換來完成的,這些消息再經過UDP的1701端口承載於 TCP/IP 之上。
控制消息中的參數用AVP值對(AttributeValuePair)來表示,使得協議具備很好的擴展性;在控制消息的傳輸過程當中還應用了消息丟失重傳和定時檢測通道連通性等機制來保證了 L2TP 層傳輸的可靠性。數據消息用於承載用戶的 PPP 會話數據包。L2TP 數據消息的傳輸不採用重傳機制,因此它沒法保證傳輸的可靠性,但這一點能夠經過上層協議如TCP等獲得保證;數據消息的傳輸能夠根據應用的須要靈活地採用流控或不流控機制,甚至能夠在傳輸過程當中動態地使用消息序列號從而動態地激活消息順序檢測和流量控制功能;在採用流量控制的過程當中,對於失序消息的處理採用了緩存重排序的方法來提升數據傳輸的有效性。
L2TP 還具備適用於××× 服務的如下幾個特性:
· 靈活的身份驗證機制以及高度的安全性
L2TP 能夠選擇多種身份驗證機制(CHAP、PAP等),繼承了PPP的全部安全特性,L2TP 還能夠對隧道端點進行驗證,這使得經過L2TP所傳輸的數據更加難以被***。並且根據特定的網絡安全要求還能夠方便地在L2TP之上採用隧道加密、端對端數據加密或應用層數據加密等方案來提升數據的安全性。
· 內部地址分配支持
LNS能夠放置於企業網的防火牆以後,它能夠對於遠端用戶的地址進行動態的分配和管理,能夠支持DHCP和私有地址應用(RFC1918)等方案。遠端用戶所分配的地址不是Internet地址而是企業內部的私有地址,這樣方便了地址的管理並能夠增長安全性。
· 網絡計費的靈活性
能夠在LAC和LNS兩處同時計費,即ISP處(用於產生賬單)及企業處(用於付費及審記)。L2TP可以提供數據傳輸的出入包數,字節數及鏈接的起始、結束時間等計費數據,能夠根據這些數據方便地進行網絡計費。
· 可靠性
L2TP 協議能夠支持備份 LNS,當一個主 LNS 不可達以後,LAC(接入服務器)能夠從新與備份 LNS 創建鏈接,這樣增長了 ××× 服務的可靠性和容錯性。
· 統一的網絡管理
L2TP協議將很快地成爲標準的RFC協議,有關L2TP的標準MIB也將很快地獲得制定,這樣能夠統一地採用 SNMP 網絡管理方案進行方便的網絡維護與管理。
三層隧道協議
第三層隧道協議是把各類網絡協議直接裝入隧道協議中,造成的數據包依靠第三層協議進行傳輸。三層隧道協議並不是是一種很新的技術,早已出現的 RFC 1701 Generic Routing Encapsulation(GRE)協議就是個三層隧道協議。新出來的 IETF 的 IP 層加密標準協議 IPSec 協議也是個三層隧道協議。
IPSec(IPSecurity)是由一組RFC文檔組成,定義了一個系統來提供安全協議選擇、安全算法,肯定服務所使用密鑰等服務,從而在IP層提供安全保障。 它不是一個單獨的協議,它給出了應用於IP層上網絡數據安全的一整套體系結構,它包括網絡安全協議 Authentication Header(AH)協議和 Encapsulating Security Payload(ESP)協議、密鑰管理協議Internet Key Exchange (IKE)協議和用於網絡驗證及加密的一些算法等。下面就IPSec的認證與加密機制和協議分別作一些詳細說明。
1. IPSec認證包頭(AH):
它是一個用於提供IP數據報完整性和認證的機制。其完整性是保證數據報不被無心的或惡意的方式改變,而認證則驗證數據的來源(識別主機、用戶、網絡等)。AH自己其實並不支持任何形式的加密,它不能保證經過Internet發送的數據的可信程度。AH只是在加密的出口、進口或使用受到當地政府限制的狀況下能夠提升全球Intenret的安全性。當所有功能實現後,它將經過認證IP包而且減小基於IP欺騙的***機率來提供更好的安全服務。AH使用的包頭放在標準的IPv4和IPv6包頭和下一個高層協議幀(如TCP、UDP、ICMP等)之間。
AH協議經過在整個IP數據報中實施一個消息文摘計算來提供完整性和認證服務。一個消息文摘就是一個特定的單向數據函數,它可以建立數據報的惟一的數字指紋。消息文摘算法的輸出結果放到AH包頭的認證數據(Authentication_Data)區。消息文摘5算法(MD5)是一個單向數學函數。當應用到分組數據中時,它將整個數據分割成若干個128比特的信息分組。每一個128比特爲一組的信息是大分組數據的壓縮或摘要的表示。當以這種方式使用時,MD5只提供數字的完整性服務。一個消息文摘在被髮送以前和數據被接收到之後均可以根據一組數據計算出來。若是兩次計算出來的文摘值是同樣的,那麼分組數據在傳輸過程當中就沒有被改變。這樣就防止了無心或惡意的竄改。在使用HMAC-MD5認證過的數據交換中,發送者使用之前交換過的密鑰來首次計算數據報的64比特分組的MD5文摘。從一系列的16比特中計算出來的文摘值被累加成一個值,而後放到AH包頭的認證數據區,隨後數據報被髮送給接收者。接收者也必須知道密鑰值,以便計算出正確的消息文摘而且將其與接收到的認證消息文摘進行適配。若是計算出的和接收到的文摘值相等,那麼數據報在發送過程當中就沒有被改變,並且能夠相信是由只知道祕密密鑰的另外一方發送的。
2. 封包安全協議(ESP)包頭:
它提供IP數據報的完整性和可信性服務ESP協議是設計以兩種模式工做的:隧道(Tunneling)模式和傳輸(Transport)模式。二者的區別在於IP數據報的ESP負載部分的內容不一樣。在隧道模式中,整個IP數據報都在ESP負載中進行封裝和加密。當這完成之後,真正的IP源地址和目的地址均可以被隱藏爲Internet發送的普通數據。這種模式的一種典型用法就是在防火牆-防火牆之間經過虛擬專用網的鏈接時進行的主機或拓撲隱藏。在傳輸模式中,只有更高層協議幀(TCP、UDP、ICMP等)被放到加密後的IP數據報的ESP負載部分。在這種模式中,源和目的IP地址以及全部的IP包頭域都是不加密發送的。
IPSec要求在全部的ESP實現中使用一個通用的缺省算法即DES-CBC算法。美國數據加密標準(DES)是一個如今使用得很是廣泛的加密算法。它最先是在由美國政府公佈的,最初是用於商業應用。到如今全部DES專利的保護期都已經到期了,所以全球都有它的免費實現。IPSecESP標準要求全部的ESP實現支持密碼分組鏈方式(CBC)的DES做爲缺省的算法。DES-CBC經過對組成一個完整的IP數據包(隧道模式)或下一個更高的層協議幀(傳輸模式)的8比特數據分組中加入一個數據函數來工做。DES-CBC用8比特一組的加密數據(密文)來代替8比特一組的未加密數據(明文)。一個隨機的、8比特的初始化向量(IV)被用來加密第一個明文分組,以保證即便在明文信息開頭相同時也能保證加密信息的隨機性。DES-CBC主要是使用一個由通訊各方共享的相同的密鑰。正由於如此,它被認爲是一個對稱的密碼算法。接收方只有使用由發送者用來加密數據的密鑰才能對加密數據進行解密。所以,DES-CBC算法的有效性依賴於祕密密鑰的安全,ESP使用的DES-CBC的密鑰長度是56比特。
3. Internet 密鑰交換協議(IKE):
用於在兩個通訊實體協商和創建安全相關,交換密鑰。安全相關(SecurityAssociation)是IPSec中的一個重要概念。一個安全相關表示兩個或多個通訊實體之間通過了身份認證,且這些通訊實體都能支持相同的加密算法,成功地交換了會話密鑰,能夠開始利用 IPSec 進行安全通訊。IPSec協議自己沒有提供在通訊實體間創建安全相關的方法,利用 IKE創建安全相關。IKE定義了通訊實體間進行身份認證、協商加密算法以及生成共享的會話密鑰的方法。IKE中身份認證採用共享密鑰和數字簽名兩種方式,密鑰交換採用 Diffie Hellman 協議。安全相關也能夠經過手工方式創建,可是當 ××× 中結點增多時,手工配置將很是困難。
由此,IPSec 提供瞭如下幾種網絡安全服務:
· 私有性 - IPsec 在傳輸數據包以前將其加密,以保證數據的私有性
· 完整性 - IPsec在目的地要驗證數據包,以保證該數據包在傳輸過程當中沒有被替換
· 真實性 - IPsec 端要驗證全部受 IPsec 保護的數據包
· 反重複 -IPsec防止了數據包被撲捉並從新投放到網上,即目的地會拒絕老的或重複的數據包;它經過與 AH 或 ESP 一塊兒工做的序列號實現
小結
×××綜合了專用和公用網絡的優勢,容許有多個站點的公司擁有一個假想的徹底專有的網絡,而使用公用網絡做爲其站點之間交流的線路,它經過可靠的加密技術方法保證其安全性。I P s e c是×××隧道協議中一個至關新的標準,是實現I n t e r n e t的I P協議級安全可靠的一種方法,必將成爲各個×××產品所支持的業界標準。