第3章網絡安全協議_第1頁
第3章網絡安全協議_第2頁
第3章網絡安全協議_第3頁
第3章網絡安全協議_第4頁
第3章網絡安全協議_第5頁
已閱讀5頁,還剩70頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3章網絡安全協議目前被廣泛使用的TCP/IP協議在最初設計時是基于一種可信網絡環境來考慮設計的,沒有考慮安全性問題。因此,建立在TCP/IP基礎之上的Internet網絡的安全架構需要補充安全協議來實現。本章主要內容有:SSL協議;SSH協議;SET協議;IPSec協議;3.1SSL協議3.1.1SSL概述3.1.2SSL體系結構與協議3.1.3SSL安全性分析3.1.4SSL協議的應用3.2TLS協議3.2.1TLS概述3.2.2TLS協議結構3.2.3TLS記錄協議3.2.4TLS握手協議3.2.5TLS安全性分析3.3SSH協議3.3.1SSH概述3.3.2SSH協議體系結構

第3章網絡安全協議第3章網絡安全協議

3.3.3SSH傳輸協議3.3.4SSH身份認證協議3.3.5SSH連接協議3.3.6SSH協議的應用3.3.7SSH安全性分析3.4SET協議3.4.1SET協議概述3.4.2SET協議基本流程3.4.3SSL和SET協議比較3.4.4SET協議安全性分析3.5IPSec協議第3章網絡安全協議

3.5.1IPSec體系結構3.5.2IPSec安全協議—AH驗證文件頭協議3.5.3IPSec安全協議—ESP封裝安全載荷協議3.5.4Internet安全關聯密鑰管理協議---ISAKMP3.6QoS協議3.6.1QoS的體系結構3.6.2QoS的實現機制3.1SSL協議

3.1.1SSL概述SSL(安全套接層,SecureSocketLayer)是由Netscape公司開發的一種網絡安全協議,主要為基于TCP/IP的網絡應用程序提供身份驗證、數據完整性和數據機密性等安全服務。SSL已得到了業界的廣—泛認可,被廣泛應用于網絡安全產品中,成為事實上的工業標堆。SSL協議的基本目標是在兩個通侍實體之間建立安全的通信連接,為基于客戶機服務器模式的網絡應用提供安全保護。SSL協議提供了3種安全特性:3.1SSL協議

(1)數據機密性:采用對稱加密算法(如DES,RC4等)來加密數據,密鑰是在雙方握手時指定的。(2)數據完整性:采用消息鑒別碼(MAC)來驗證數據的完整世,MAC是采用Hash函數實現的。(3)身份合法性:采用非對稱密碼算法和數字證書來驗證同層實體之間的身份合法性。SSL協議是一個分層協議,由兩層組成;SSL握手協議和SSL記錄協議。3.1.2.SSL體系結構與協議

SSL協議由兩層結構組成:底層為記錄層協議(RecordProtocol),它建立在面向連接的可靠傳輸協議(如TCP)基礎之上,提供機密性、真實性和重傳保護,實現對數據的加密,封裝各種高層協議;高層由握手協議(HandshakeProtocol)、告警協議(A1ertProtocol)、改變密碼規格協議(ChangeCipherSpecProtocol)三個并行的協議構成。高層協議需要記錄層協議支持,其中握手協議與其他的高層協議不同,其他高層協議屬于應用開發的范疇,需要握手協議的支持,而握手協議則是SSL底層實現必須具有的功能,因為記錄層協議的完成也由它來作保證。3.1.2.SSL體系結構與協議

1.記錄層協議SSL記錄層協議是一個封裝協議,它將從上層協議接收的數據(這些數據可以是任意長度的非空數據塊),按照握手協議的協商結果進行分段、壓縮、加密,然后將密文交給網絡傳輸協議進行處理。2.握手協議SSL握手協議是SSL中最復雜的部分。此協議允許客戶端和服務器端相互認證、切商加密和MAC算法,保護數據使用的密鑰通過SSL記錄傳送。握手協議在傳遞應用數校之前使用。3.1.3SSL安全性分析

1.SSL協議保密性分析SSL協議對數據的保密性主要是防止數據在網絡上傳輸時被人竊聽,數據保密包括連接保密、無連接保密、選擇字段保密以及信息流保密等方面。SSL協議采用對稱加密算法如DES、RC4等對傳輸數據進行加密。通信雙方在SSL握手過程結束后,根據協商后的密鑰對所有數據進行加密,將數據以密文形式在網上傳送,從而保證數據的保密性。3.1.3SSL安全性分析

2.SSL協議完整性分析SSL協議通過通信雙方分別驗證對方的握手結束消息來保證握手消息的完整性。SSL協議對記錄層中的應用數據通過使用密鑰保護的數字摘要來保證其完整性。數字摘要由SSL協議對記錄層壓縮后的數據計算得出,SSL協議采用MD5.SHA等算法來保證數據完整性。數字摘要和它所保護的數據綁定在一個記錄中發送給接收者,接收者將根據接收到的數字摘要來判定數據是否在傳輸過程中被修改。3.1.3SSL安全性分析

3.SSL協議中的身份驗證為了防止通信者的身份被中間人冒充,SSL協議提供了以數字證書為基礎的身份認證機制。數字證書包含兩個方面的內容,一是數字證書的真實性,二是確保數字證書為發送者所擁有(即發送者擁有該證書的私鑰)。證書的真實性可通過CA對證書的簽名來認證,SSL協議對客戶證書和服務器證書真實性的認證都采取了這種機制。它們都通過向對方發送證書消息來向對方表明白己的身份。證書消息中包含了從用戶證書到其上級發證CA證書,最后直到其根證書的一條證書鏈。證書消息的接收方只需要順著這條證書鏈就可以認證用戶證書的真實性。SSL協議中采用的非對稱加密算法為RSA或Diffie-Hellman。3.1.4SSL協議的應用

1.SSL構建安全web網站SSL協議是內嵌在瀏覽器中的安全協議,隨著Web瀏覽器技術的發展,SSL協議己被工業界認可。SSL協議具有與高層無關的特點,高層應用協議(FTP,Telnet等)可以在SSL協議之上透明傳輸。在高層協議傳輸數據之前,SSL協議可以協商密碼算法和會話密鑰,在數據傳輸階段,SSL協議對數據加密,從而達到了保密性。基于SSL協議構建安全Web應用,具有如下三個基本特點:(1)信道是保密的。經過握手之后,協商好的會話密鑰可以對客戶端與服務器端之間傳遞的信息加密。(2)信道是經過驗證的。通信的服務器端總是被加以驗證,客戶端可以選擇性地加以驗證。(3)信道是可靠的。對信道中的信息加以完整性校驗。3.1.4SSL協議的應用

2.SSLVPN應用SSLVPN指的是基于SSI協議建立遠程安全訪問通道的VPN技術。它是近年來興起的VPN技術,SSLVPN隨著Web的普及和電子商務、遠程辦公的興起而迅速發展。SSLVPN是應用層的VPN,基于HTTPS來訪問受保護的應用。目前常見的SSLVPN方案可分為直路方式和旁路方式。在直路方式中,當客戶端需要訪問應用服務器時,要經過以下三個步驟:(1)客戶端和SSLVPN網關通過證書互相驗證雙方。(2)客戶端和SSLVPN網關之間建立SSL通道。(3)SSLVPN網關作為客戶端的代理和應用服務器之間建立TCP連接,在客戶端和應用服務器之間轉發數據。3.1.4SSL協議的應用

SSLVPN的最大的優勢在于客戶端。由于瀏覽器內嵌了SSL協議,因此安裝了Web瀏覽器的客戶機可以隨時作為SSLVPN的客戶端。通過SSLVPN,客戶端可以在任何時間任何地點對應用資源進行訪問,也就是說是基于B/S結構的業務時,可以直接使用瀏覽器完成SSL的VPN建立。而IPSecVPN只允許使用已經定義好的客戶端進行訪問,所以這種方式更適合應用于企業內部。

3.2TLS協議

3.2.1TLS概述傳輸層安全協議((TLS:TransportLayerSecurity))的前身是安全套接層協議。安全套接層協議(SSL:SecureSocketsLayer)最初于1995年由網景公司(NetscapeCommunicationsCorporation)設計和開發,其目的主要是為電子商務的應用提供一個安全的環境。TLS記錄層協議具有兩個特點:(1)連接的機密性。TLS記錄層協議結合密鑰交換協議(如TLS的握手協議)和對稱加密機制,可為通信雙方提供一條安全通道,用于數據的安全傳輸。(2)連接的可靠性。TLS記錄的消息傳輸包括完整性校驗功能,從而確保消息傳輸過程的完整性。所有上層協議(包括TLS握手協議和基于TLS的應用程序)的數據均由TLS記錄層協議封裝后傳輸。3.2.2TLS協議結構

TLS協議的基本設計目標是為兩個通信實體之間提供數據的機密性和完整性。該協議分為兩層:TLS記錄協議和TLS握手協議。TLS記錄協議建立在其他可靠的傳輸協議之上(如TCP/IP)。TLS記錄協議提供的連接安全性有兩個基本特點:①該連接是保密的。②該連接是可靠的。記錄協議用于封裝高層的協議,例如TLS握手協議。握手協議使客戶和服務器之間相互進行認證,并協商加密算法和密鑰。

3.2.2TLS協議結構

TLS握手協議提供的連接安全性具有以下三個基本特點:①對等實體可以使用公鑰密碼算法進行認證。這種認證是可選的,但是通常至少需要對一方進行認證;②共享秘密的協商是安全的。即使攻擊者能夠發起中間人入侵攻擊,協商的秘密也不可能被竊聽者獲得;③協商是可靠的。攻擊者不能在不被發現的情況下篡改協商通信數據。TLS協議的一個優點是它對于高層應用協議的透明性,高層應用數據可以使用TLS協議建立的加密信道透明地傳輸數據,同時,TLS協議不依賴于低層的傳輸協議可以建立在任何能夠提供可靠連接的協議上,3.2.3TLS記錄協議

TLS記錄協議的一條記錄包含長度字段、描述字段和內容字段。記錄協議得到要發送的消息后,將數據分成易于處理的數據分組,進行數據壓縮處理,計算數據分組的密碼校驗值MAC,加密數據,然后發送數據。接收到的消息首先被解密,然后校驗MAC,解壓縮,重組,最后傳遞給協議的高層客戶。記錄協議有四種類型的客戶:握手協議、警告協議、改變密碼格式協議和應用數據協議。為了便于TLS協議的擴展,記錄協議可以支持額外的記錄類型。使用時需要為新的記錄類型分配內容類型值。如果TLS接收到了不理解的內容類型值,則忽略該類型。

3.2.3TLS記錄協議

1.TLS連接狀態TLS連接狀態反映的是TLS記錄協議的操作環境。它規定協議所采用的加密算法、壓縮算法和MAC算法,以及與這些算法相關的參數:比如MAC保密數值、塊加密密鑰、讀和寫方向上的初始化加密向量IV等。從邏輯上看,主要有四個連接狀態:當前的讀狀態和寫狀態,意見未決的讀狀態和寫狀態。所有的記錄是在讀狀態和寫狀態下處理的。未決狀態的安全參數由TLS握手協議來設置,握手協議可以有選擇地將未決狀態轉變為當前狀態,在這種情況下,當前正在使用的“當前狀態”被新的未決狀態取代,原來的未決狀態又被初始化為空狀態。當一個狀態的安全參數還沒有被初始化時,是不允許將它設置為當前狀態的。3.2.3TLS記錄協議

建立TLS連接時,讀和寫狀態的安全參數通過以下方法設置:(1)連接端:確定端實體是“客戶”還是“服務器”。(2)塊加密算法:加密數據塊的算法。包括算法采用的密鑰長度、密鑰的保密程度、密文塊的長度以及它是否是“出口”密碼。(3)MAC算法:用于消息認證。包括Hash摘要的長度。(4)壓縮算法:包括數據壓縮所需的所有信息。(5)主保密數值:由建立連接的對等實體共享的48字節長的保密數值構成。(6)客戶隨機數:客戶提供的32字節長的隨機數。(7)服務器隨機數:服務器提供的32字節長的隨機數。所有這些參數可以使用枚舉、結構等數據類型表示。3.2.3TLS記錄協議

2.記錄層數據處理記錄層對從高層接受的數據進行記錄形成、壓縮和加密等處理。(1)記錄形成TLS記錄層將上層協議的信息塊劃分成不超過214個字節的TLS明文記錄。記錄層不保護客戶消息的邊界。多個客戶消息可以組合成一個TLS記錄發送,一個客戶消息也可以被分成多個記錄發送。明文記錄中包含版本號、協議消息類型(255表示最大類型號)、消息長度和消息體。(2)壓縮壓縮處理是將TLSPlaintext結構的數據變換成TLSCompressed結構。壓縮必須是無損壓縮,而且對內容的增加不能超過1024個字節。3.2.3TLS記錄協議

(3)加密壓縮必須是加密處理將TLSCompressed結構變換成TLSCiphertext密文記錄。它的格式包括類型、協議版本號、加密類型選擇(流加密或者塊加密)和消息體。其中,記錄中包括MAC數值,MAC的計算內容包括消息順序號,以防止消息的重放和遺漏。具體的塊加密消息體結構包括加密數據、MAC認證數值、密文補丁、補丁長度和塊加密消息體等。(4)密鑰計算記錄層協議要用某種算法來從握手協議協商的安全參數中產生密鑰、Ⅳ和MAC保密數值。所有這些密鑰都是從主保密數值中派生的。3.2.4TLS握手協議

TLS握手協議在通信的對等實體之間協商建立記錄層所需的安全參數,并相互認證身份,為雙方報告出錯情況,并使用公鑰密碼技術生成共享秘密參數。TLS握手協議包括以下幾個步驟:交換hello消息以協商密碼算法,交換隨機值并檢查會話是否可重用;交換必要的密碼參數,使客戶和服務器能夠協商premastersecret;交換證書和密碼信息,使客戶和服務器能夠進行相互認證;使用交換的隨機值和premastersecret生成主秘密mastersecret;為記錄協議提供安全參數。允許客戶和服務器校驗對方是否計算出了相同的安全參數,以及校驗上述握手過程是否被攻擊者竊聽。3.2.4TLS握手協議

握手協議的過程描述如下:客戶向服務器發送Clienthello消息,服務器應答serverhello消息。clienthello和serverhello消息建立下列安全屬性:協議版本,會話ID,CipherSuite和壓縮方法。同時生成并交換兩個隨機數:ClientHello.random和ServerHello.random。實際的密鑰密鑰交換使用四條消息:server_certificate,server_key_exchange,client_certificate和client_key_exchange。在hello消息之后,如果需要認證服務器的話,服務器將發送其證書。另外,如果需要的話,還要發送server_key_exchange消息。對服務器進行認證之后,服務器可以請求客戶證書。然后,服務器將發送server_hello_done消息,指示握手協議的hello消息階段結束,服務器等待客戶的響應。如果服務器發送了certificate_request消息,客戶必須發送客戶證書,然后發送client_key_exchang消息,消息的內容取決于client_hello和server_hello定義的密鑰交換算法。如果客戶發送了具有簽名能力的證書,則需要發送certificate_verify消息顯式地校驗該證書。3.2.4TLS握手協議

隨后,客戶發送change_cipher_spec消息,并將未決的CipherSpec復制為當前的CipherSpec。然后,客戶在新的算法、對稱密鑰和MAC秘密之下立即發送finish消息。服務器響應客戶的消息,發送其change_cipher_spec消息和finish消息。到此為止,握手結束,客戶和服務器可以開始發送應用層數據了,握手流程如圖3-5所示。如果客戶和服務器決定重用以前的會話則過程如下:客戶使用要重用的會話的會話ID發送ClientHello消息,服務器在會話緩存中檢查該ID,如果找到匹配的ID,并且服務器同意在這樣的條件下建立連接,它將發送包含相同ID的ServerHello消息。此時,客戶和服務器都必須在發送finish消息之前發送change_cipher_spec消息。如果服務器沒有找到匹配的會話ID,服務器將生成新的會話ID,雙方需要進行完整的握手。3.2.4TLS握手協議

2.基本消息描述

hello消息:服務器和客戶使用hello消息來交換安全相關的信息,如隨機數、CipherSuite等,包括client_hello消息、server_hello消息和hello_request消息。server_certificate消息:該消息表示服務器發送證書,在server_hello消息之后立即被發送。證書的類型必須與所選擇的CipherSuite中的密鑰交換算法相匹配,一般情況下是X.509v3格式的證書,證書中要包含與密鑰交換算法相匹配的密鑰。server_key_exchange消息:該消息僅在服務器發送的server_certificate消息中沒有包含足夠的信息使客戶可以交換premaster_secret的時候發送,為客戶端協商Premaster_secret傳遞密碼信息。

3.2.4TLS握手協議

certificate_request消息:服務器發送該消息指示客戶提供其證書。server_hello_done消息:服務器發送該消息指示hello階段結束。client_certificate消息:這是客戶接收到server_hello_done消息之后能夠發送的第一條消息,該消息只有在服務器要求證書的情況下才發送。如果客戶沒有合適的證書,也可以發送不包含證書的client_certificate消息。client_key_exchange消息:該消息由客戶發送,一般使用RSA公鑰加密的方式傳輸premaster_secret,或者使用Diffie-Hellman方法使雙方商定該秘密。certificate_verify消息:該消息用來提供顯示的客戶證書校驗。finished消息:該消息在change_cipher_spec消息之后發送,用來校驗密鑰交換和認證過程是否成功。finished消息是第一個使用剛剛商定的算、密鑰和秘密進行保護的消息。該消息的接收者必須校驗消息內容的正確性。3.2.5TLS安全性分析

TLS協議的目的是在不安全的網絡連接上實現客戶和服務器的安全通信。我們在討論TLS的安全性時假設攻擊者不可能從協議的外部獲得任何保密信息,并且攻擊者具有俘獲、修改、刪除、重放以及任何能夠篡改所發送的信息的能力。我們從以下幾個方面來分析TLS的安全性:(1)認證和密鑰交換TLS支持三種認證方式:相互認證,認證服務器而不認證客戶,完全匿名。只要服務器被認證,就能防止中間人對信道的攻擊。但完全匿名認證不能防止這種攻擊方式。匿名服務器不能認證客戶。被認證的服務器要向客戶提供一個合法的證書鏈,被認證的客戶也要向服務器提供一個合法的證書鏈。任何一方負責檢驗另一方的證書是否合法和有效。3.2.5TLS安全性分析

TLS協議的目的是在不安全的網絡連接上實現客戶和服務器的安全通信。我們在討論TLS的安全性時假設攻擊者不可能從協議的外部獲得任何保密信息,并且攻擊者具有俘獲、修改、刪除、重放以及任何能夠篡改所發送的信息的能力。我們從以下幾個方面來分析TLS的安全性:(1)認證和密鑰交換(2)低版本攻擊(3)對握手協議攻擊的檢測(4)會話的恢復(5)保護應用數據

3.3SSH協議

SSH(secureshell)是IETF(InternetEngineeringTaskForce)的網絡工作組所制定的一族協議,其目的是要在非安全網絡上提供安全的遠程登錄和其他安全網絡服務。類似于SSL,SSH也是建立在應用層和傳輸層基礎上的安全協議。和SSL不同,SSH主要解決的是密碼在網絡上明文傳輸的問題,因此通常用來替代Telnet、FTP等協議。傳統的Telnet、FTP和Rlogin等服務存在眾多安全缺陷,例如使用弱密碼單一認證機制;傳輸數據(包括賬號和密碼)為明文,容易被竊取、篡改和重放;這些服務的安全驗證機制容易引發各種欺騙,比如中間人攻擊等。為了克服這些安全缺陷,SSH協議被設計出來。3.3.2SSH協議體系結構

1.SSH層次結構SSH協議包括3個主要部分:SSH傳輸層協議(TransportLayerProtocol),SSH用戶認證協議(UserAuthenticationProtocol)和SSH連接協議(ConnectionProtocol)三個組件組成。每層提供不同類型的安全保護,并且可以與其它方式一起使用。SSH應用層協議連接協議用戶認證協議傳輸層協議服務器認證數據機密性數據完整性TCPoverIP3.3.2SSH協議體系結構

2.密鑰機制對于SSH以提供安全通訊為目標的協議,其中必不可少的就是一套完備的密鑰機制面介紹SSH協議3個主要的密鑰:主機密鑰、服務器密鑰和用戶密鑰.3.3.3SSH傳輸協議

SSH傳輸層協議提供加密主機認證、數據保密性和數據完整性保護。這個協議不提供用戶認證。簽名已經提到,SSH認證協議在SSH傳輸協議之上,如果服務進程需要的話,則可以由它來提供用戶認證。SSH2.0幾乎支持所有的公開密鑰格式、編碼和算法。定義公開密鑰的類型涉及以下幾個方面:·.密鑰格式密鑰的編碼方式和認證的表達方式。簽名和加密算法有些密鑰類型可能不能同時支持簽名和加密。簽名后或加密后的數據編碼SSH2.0已經定義了公開密鑰和認證格式。簡單來講,SSH傳輸層協議需要經過下列3個步驟:

密鑰交換。從雙方開始發送自己能支持的算法(壓縮、加密、驗證),根據接收到的對方的算法進一步協商出一致的算法。進行密鑰交換(Diffie-HellIllan)。開始服務請求。3.3.3SSH傳輸協議

最后一步是在SSH傳輸層協議執行快完成時執行的,就是客戶端通過發送SSHSERVICE_REQUEST消息給服務器端。目前已經定義的服務有兩種:ssh-userauth和ssh-connection。如果服務器端支持這里提出的服務并且允許客戶端使用這個服務,就會返回一個SSH_SERVICE_ACCEPT消息。一旦選定了特定的服務,在SSH_SERVICE_DATA消息中,就開始傳輸數據。當服務器端或客戶端停止傳送數據時,就會發送SSH_SERVICE_EOF消息給對方。當雙方都同意關閉連接時,則會發送SSH_STREAM_CLOSE消息給對方,于是這個協議過程就結束了。3.3.4SSH身份認證協議

客戶利用傳輸層協議向服務器提出用戶身份認證服務請求,若服務器接受這個請求,雙方即可開始執行SSH身份認證協議。身份認證協議在傳輸層協議所建立的安全通道上運行。當一次身份認證失敗時,客戶端可以再次提出認證請求,但重試的時間間隔和次數并不是無限的。如果在10分鐘之內沒有成功完成認證,或重試次數已經超過20次,服務器會返回SSH_MSG_DISCONNECT消息并斷開連接。在認證成功后的通信過程中,客戶端也可以隨時提出新的認證請求。3.3.4SSH身份認證協議

和加密算法一樣,SSH協議中已經定義了一些用戶認證方法,也可以用name@domain的格式來增加新的用戶認證方法。通過這種方式,有需要的單位可以使用自己的認證方法。在認證時,客戶端發送SSH_MSG_USERAUTH_REQUEST消息,后面跟隨下列內容:用戶名服務名方法名其他和方法相關的域3.3.5SSH連接協議

SSH連接協議允許在SSH傳輸層協議和SSH用戶認證協議之上,它提供交互的登錄會話、執行遠程命令、轉發TCP/IP連接和轉發X11連接。這個協議的服務名字是ssh-connection。由于連接協議的目的是把已經加密的隧道提供給多個應用程序復用,因此它需要一個能區分不同應用程序的方法。SSH連接協議引入了通道(channel)的機制,所有的終端會話、轉接連接都是通道。多個通道被復用成一個連接。對于每一端來說,通道用數字來標識。在兩端標明同一個通道的數字可能不同。當一個通道打開時,請求打開通道的消息同時會包含發送方的通道號。接收方也給新的通道分配一個自己的通道號。在以后的通信過程中,只要讓這兩個通道號一一對應就可以了。3.3.5SSH連接協議

如果向對方請求打開一個通道,則需要發送一個SSH_MSG_CHANNEL_OPEN消息,同時還要告訴對方自己的通道號和初始的窗口大小,因此會有如下內容:SSH_MSG_CHANNEL_OPEN。通道類型。發送方通道號。初始窗口大小。最大包大小。和通道類型相關的其他內容。3.3.6SSH協議的應用

SSH最常見的應用就是用它來取代傳統的Telnet、FTP等網絡應用程序,通過SSH登錄到遠方機器執行各種命令。在不安全的網路通信環境中,它提供了驗證機制與非常安全的通信環境。SSH開發者的原意是設計它來取代原UNIX系統上的rcp、rlogin和rsh等指令程序的;但經過適當包裝后,發現它在功能上完全可以取代傳統的Telnet、FTP等應用程序。SSH協議發布了兩種版本,即版本1(SSH1.5協議)和版本2(SSH2.0協議)。版本1是一個完全免費的軟件包,包含幾種專利算法(但其中有幾種已經過期)且存在一些明顯的安全漏洞(如允許在數據流中插入數據);而版本2安全性得到較大的提高,但在商業使用時則要付費。概括來說,SSH協議主要提供如下幾種安全服務。3.3.6SSH協議的應用

安全遠程登錄。用戶可以用SSH完成TELNET、RLOGIN能夠完成的任何事情。登錄后所有的通信數據都受到加密保護。TCP端口轉發。利用SSH既可以進行本地端口的流量轉發,也可以進行遠程端口的流量轉發,甚至可以結合PPP協議組建虛擬專用網。安全遠程執行命令。使用SSH協議,同樣可調用shell程序,由于建立連接之后的所有數據都經過加密,因此在SSH建立連接后,遠程執行命令時所有的通信都被加密。安全遠程文件傳輸。SSH允許通過客戶端程序SCP進行文件的遠程復制。在SSH協議版本2中更提供了SFTP的安全文件傳輸服務。X窗口連接轉發。SSH提供的一個重要功能就是X轉發功能,它可以在客戶端的顯示屏上把服務器端X程序的運行結構以圖形形式現實在客戶端3.3.7SSH安全性分析

SSH是一種通用,功能強大的基于軟件的網絡安全解決方案,計算機每次向網絡發送數據時,SSH都會自動對其進行加密。數據到達目的地時,SSH自動對加密數據進行解密。整個過程都是透明的。它使用了現代的安全加密算法,足以勝任大型公司的任務繁重的應用程序的要求。3.3.7SSH安全性分析

1.SSH協議的主要安全特性和優點:使用強加密技術來保證數據的私密性。端到端通信用隨機密鑰進行加密,隨機密鑰為會話進行安全協商,會話結束后被丟棄。支持的算法有DES,IDEA,3DES等。通信完整性,確保通信不會被修改。SSH-2基于MD5和SHA-1的加密hash算法。認證,即發送者和接收者的身份證明。客戶機和服務器雙向認證。授權,即對賬號進行訪問控制。使用轉發或隧道技術對其它基于TCP/IP的會話進行加密。3.3.7SSH安全性分析

2.SSH可以防止的攻擊網絡竊聽,SSH通信是加密的,即使截獲會話內容,也不能將其解密。名字服務和IP偽裝,SSH通過加密驗證服務器主機身份可避免這類風險。連接劫持,SSH的完整性檢測負責確定會話在傳輸過程是否被修改,如果被修改過,就關閉連接。中間人攻擊,SSH利用兩種方法防止這種攻擊,第一種是服務器主機認證。除非攻擊者已經成功攻擊了服務器主機,獲得服務器的私有主機密鑰。第二種是限制使用容易受到這種攻擊的認證方法,密碼認證容易受到中間人攻擊,而公鑰和基于主機的/RhostsRSA則對中間人攻擊可以免疫。插入攻擊,這種攻擊可以客戶和服務器之間發送的正文數據流之間插入任意數據。ssh11.2.25后和Openssh的所有版本都專門進行了設計,來檢測并防止這種攻擊。這種檢測程序增大了插入攻擊的難度,但是并不能完全防止。SSH2使用強加密完整性檢測手段來防止這個問題。可以用3DES算法來防止這種攻擊。3.3.7SSH安全性分析

3.SSH不能防止的攻擊密碼崩潰,密碼認證是一種脆弱的認證形式,盡量使用公鑰認證方式。如果必須要密碼認證,可考慮使用S/Key之類的一次性密碼機制。IPANDTCP攻擊,由于SSH是在TCP之上進行操作的,因此容易受到針對TCP和IP缺陷而發起的攻擊。SYNflood,TCP不同步和TCP劫持等。只能通過更低層的防護措施來保護。流量分析。隱秘通道。粗心大意。安全是一個過程,而不是一個產品,不要認為裝上SSH就安全了。3.4SET協議

3.4.1SET協議概述SET(SecureElectronicTransaction)安全電子交易協議是由美國明Visa和MasterCard兩大信用卡組織提出的應用于Internet上的以信用卡為基礎的電子支付系統協議。它采用公鑰密碼體制和x.509數字證書標準,應用于BtoC模式中,保障支付信息的安全性。SET協議本身比較復雜,設計比較嚴格,安全性高,它能保證信息傳輸的機密性、真實性、完整性和不可否認性。SET協議是PKI框架下的一個典型實現,同時也在不斷升級和完善,如SET2.0將支持借記卡電子交易。3.4.2SET協議基本流程

SET協議規定的工作流程分以下3個階段。(1)購買請求階段(2)支付確認階段(3)收款階段3.4.3SSL和SET協議比較

事實上,SET和SSL除了都采用RSA公鑰算法以外,二者在其他技術方面沒有任何相似之處,并且RSA在二者中也被用來實現不同的安全目標。SET協議比SSL協議復雜,因為SET不僅加密兩個端點間的單個會話,它還非常詳細而準確地反映了卡交易各方之間存在的各種關系。SET還定義了加密信息的格式和完成一筆卡支付交易過程中各方傳輸信息的規則。事實上,SET遠遠不只是一個技術方面的協議,它還說明了每一方所持有的數字證書的合法含義,希望得到數字證書以及響應信息的各方應有的動作,與一筆交易緊密相關的責任分擔。SET實現起來非常復雜,商家和銀行都需要改造系統以實現互操作。另外,SET協議需要認證中心的支持。3.4.3SSL和SET協議比較

SET是一個多方的報文協議,它定義了銀行、商家、持卡人之間必須的報文規范,與此同時,SSL只是簡單地在兩方之間建立了一條安全連接。SSL是面向連接的,而SET允許各方之間的報文交換不是實時的。SU報文能夠在銀行內部悶或者其他網絡上傳輸,而SSL之上的卡支付系統只能與Web瀏覽器捆綁在一起。3.4.4SET協議安全性分析

SET協議過于復雜龐大,也有許多不足之處。在利用SET協議實施電子商務平臺時還是可以進行周全考慮和加以改進的。(1)SET協議中沒有支持不可抵賴的描述,盡管采用了數字簽名技術,在一定程度上支持了不可抵賴特性。(2)從上述協議流程中可以看出,銀行網關具有很大的權力,可以認可該交易的成功與否。(3)SET協議的憑證證書格式只是要求遵守x.509規范,并沒有強調要求各種不同的應用環境兼容。(4)SET協議的安全在一定程度上也依賴于外部環境。如HTTP及SMTP兩個協議、瀏覽器與電子郵件的實時性等,SET協議實施時有可能出現許多問題,要求用戶能統籌考慮,盡可能提高系統的安全性。3.5IPSec協議

3.5.1IPSec體系結構IPSec是指IETF以RFC形式公布的一組安全IP協議集,是在IP包中為IP業務提供保護的安全協議標準,其基本目的就是把安全機制引入IP協議,通過使用現代密碼學方法支持機密性和認證性服務,使用戶能有選擇地使用,并得到所期望的安全服務。IPSec將幾種安全技術結合形成一個比較完整的安全體系結構,它通過在IP協議中增加兩個基于密碼的安全機制——認證頭(AH)和封裝安全有效負載(ESP),來支持IP數據項的認證、完整性和機密性。通過IP安全協議和密鑰管理協議構建起IP層安全體系結構的框架,能保護所有基于IP的服務或應用。3.5IPSec協議

IPSec由IPSec安全協議(AH/ESP)和密鑰管理協議(IKE)組成。其安全結構包括以下4個基本部分:安全協議,安全聯盟,安全策略,密鑰管理。IPSec的安全協議定義了如何通過在IP數據包中增加擴展頭和字段來保證IP包的機密性、完整性和可認證性。IPSec可在主機或網關上實現,使系統能選擇所需要的安全機制、決定使用的算法和密鑰以及使用的方式,在IP層提供所要求的安全服務。IPSec定義了兩種安全機制ESP和AH,并以IP擴展頭的方式增加到IP包中,以支持IP數據項的安全性。IPSec具有兩種通信模式:傳輸模式,隧道模式。兩種模式的區別是其所保護的內容不相同:一個是IP包,一個是IP載荷。3.5IPSec協議

傳輸模式(TransportMode)只對上層協議數據和選擇的IP頭字段提供認證保護,且僅適用于主機實現。在傳輸模式中,AH和ESP保護的是傳輸頭。在這種模式中,AH和ESP會攔截從傳輸層到網絡層的數據包,并根據具體的配置提供安全保護。隧道模式(TunnelMode)對整個IP數據項提供認證保護,既可用于主體也可用于安全網關,并且當AH在安全網關上實現時,必須采用隧道模式。此外,當數據包最終目的地不是安全終點時,或者在使用了BITS或BITW實施方案的情況下,通常需要在隧道模式下使用IPSec。假如安全性需由一個設備來提供,而該設備并非數據包的始發點;或者數據包需要保密傳輸到與實際目的地不同的另一個目的地,便需要采用隧道模式。3.5.2IPSec安全協議—AH驗證文件頭協議

驗證文件頭協議AH(以下簡稱AH)是為IP數據項提供強認證的一種安全機制,它能為IP數據項提供無連接完整性、數據起源認證和抗重播攻擊。數據完整性是通過消息認證碼產生的校驗值來保證的,數據起源認證是通過在數據包中包含一個將要被認證的共享秘密或密鑰來保證的,抗重放攻擊是通過在AH中使用一個序列號來實現的。除了機密性外,AH可提供ESP能夠提供的一切東西,只是AH不對保護的IP數據包的任何部分進行加密,因此,AH不需要加密算法,僅需要一個認證算法。而且AH提供的數據完整性與ESP的數據完整性稍有不同:AH對外部IP頭各部分進行身份驗證。相比之下,AH認證的范圍更寬。3.5.2IPSec安全協議—AH驗證文件頭協議

1.AH格AH可用來保護一個上層協議(傳輸模式)或一個完整的數據包(隧道模式),在兩種情況下AH頭都會緊跟在一個IP頭后。AH是一個IP協議,受AH保護的IP包是另一個IP包。因此,AH可單獨使用,或與ESP聯合使用。AH頭比ESP頭簡單得多,因為它沒有提供機密性。由于不需要填充和一個填充長度指示器,因此也不存在尾。另外,也不需要一個初始化向量。3.5.2IPSec安全協議—AH驗證文件頭協議

2.AH應用模式AH可采用傳輸模式或隧道模式對IP數據報進行保護。在傳輸模式方面,AH頭插在IP頭和上層協議頭之間。

3.IPSec的應用IPSec是一種包容極廣、功能極強的IP安全協議,它實現了IP包級安全,并為上層協議提供覆蓋式的安全保護,這都使它具有廣泛的應用領域與發展前景。IPSec是下一代IP協議——IPv6的基本組成部分,是IPv6必須支持的功能;IPSec幾乎能與任何類型的IP協議設備協同工作,通過其與遠程主機、防火墻、安全網關、路由器的結合,可以構造出各種網絡安全解決方案;3.5.2IPSec安全協議—AH驗證文件頭協議

IPSec能與其他協議結合提供更強的安全性;IPSec能使企業把他們的Extranet擴展到貿易伙伴,進行安全的電子商務,能使他們的Intranet連接到遠程場所而不用擔心安全協議的兼容性;IPSec能使企業在他們已有的IP網絡上建造一個安全的基礎設施。

目前IPSec最主要的應用是構建安全虛擬專用網(VPN)。VPN實質上是通過保密隧道在非信任公共網絡上產生的安全私有連接。VPN能在Internet等公共網絡上安全地傳遞信息,連接遠程用戶、分支部門和商業合作伙伴,把他們組成一個擴展的自治網絡。VPN利用公共網絡基礎設施為企業各部門提供安全的網絡互聯服務,它能使運行在VPN上的商業應用有幾乎與專用網絡相同的安全性、可靠性、可擴充性、服務質量和可管理性。3.5.3IPSec安全協議—ESP封裝安全載荷協議封裝安全載荷協議ESP(以下簡稱ESP)是插入在IP數據報內的一個協議,為IP數據報提供數據機密性、數據完整性、抗重播以及數據源驗證等安全服務。ESP可以應用于傳輸模式和隧道模式兩種不同模式。ESP可以單獨使用,也可以利用隧道模式嵌套使用,或者和AH組合起來使用。ESP使用一個加密器提供數據機密性,使用一個驗證器提供數據完整性認證。加密器和驗證器所采用的專用算法是由ESP安全聯盟的相應組件決定的。因此,ESP是一種通用的、易于擴展的安全機制,它將基本的ESP功能定義和實際提供安全服務的專用密碼算法分離開,有利于密碼算法的更換和更新。3.5.3IPSec安全協議—ESP封裝安全載荷協議ESP的抗重播服務是可選的。通常,發送端在受ESP保護的數據報中插入一個唯一的、單向遞增的序列號,接收端通過檢驗數據報的序列號來驗證數據報的唯一性,防止數據報的重播,但并不要求接收端必須實現對數據報序列號的檢查。因此,抗重播服務可由接收端選擇。1.ESP頭格式在IPv4中,ESP頭緊跟在IP頭后,這個IP頭的協議字段是50,以表明IP頭之后是一個ESP頭。但在IPv6中,ESP頭的放置與擴展頭是否存在有關。ESP頭肯定插在擴展頭之后。如果擴展頭存在,它的下一個頭字段就會立即出現在設為50的ESP頭之前。如果擴展頭不存在,IPv6中的下一個頭字段就會被設成50。3.5.3IPSec安全協議—ESP封裝安全載荷協議2.ESP模式和AH的情況一樣,ESP在數據包中位置取決于ESP的操作模式。ESP共有2種操作模式:傳輸模式和隧道模式。(1)ESP傳輸模式在傳輸模式下,ESP插在IP頭和所有選項之后、傳輸層協議之前,或者在已經應用的任意IPSec協議之前。(2)ESP隧道模式在隧道模式下,ESP頭插在原始IP頭之前,并且將生成一個新的IP頭插在ESP頭之前3.5.3IPSec安全協議—ESP封裝安全載荷協議2.ESP模式和AH的情況一樣,ESP在數據包中位置取決于ESP的操作模式。ESP共有2種操作模式:傳輸模式和隧道模式。(1)ESP傳輸模式在傳輸模式下,ESP插在IP頭和所有選項之后、傳輸層協議之前,或者在已經應用的任意IPSec協議之前。(2)ESP隧道模式在隧道模式下,ESP頭插在原始IP頭之前,并且將生成一個新的IP頭插在ESP頭之前3.5.4Internet安全關聯密鑰管理協議---ISAKMP

ISAKMP提供了Internet密鑰管理的一個框架,并提供了支持協商和安全關聯管理的協議,安全關聯協議含有執行各種網絡安全服務所需要的所有信息。ISAKMP中也有定義交換密鑰產生方法和認證數據的部分,它能提供對竊聽的保護。下面給出ISAKMP的描述是基于ISAKMP草案文本的。ISAKMP試圖在網絡棧的各個層面.支持對安全協議中的安全關聯進行協商。ISAKMP自身,并不建立會話密鑰,不過,它能利用各種會話密鑰建立協議,比如Oakley,來提供因特網密鑰管理的一套完整解決方案。3.5.4Internet安全關聯密鑰管理協議---ISAKMP

ISAKMP使得安全關聯的管理集中化了,這樣可以減少各個安全協議中功能的重復。它還能在同一時間,和若干業務進行協商,從而可以降低連接建立的時間。ISAKMP的主要部分是安全關聯和管理、認證、公共密鑰密碼、和(安全)保護機制。ISAKMP對其中的認證和密鑰交換部分有一些基本要求,它們的作用是減輕威脅、防止對業務拒絕服務、重傳、通信中第三者的存在、黑客對連接進行攻擊等一些情況的出現。

3.5.4Internet安全關聯密鑰管理協議---ISAKMP

1.ISAKMP認征、密鑰交換和保護ISAKMP需要利用數字簽名算法、比如數字簽名標準DSS和RSA簽名算法,與來至于可靠第三方的認證相結合,完成認證工作。該協議不需要或者說沒有規定一種特定的簽名算法或認證中心。2.概念3.ISAKMP端口分配密鑰管理方法在傳輸層協議之上或IP層之上,可以代替ISAKMP。IANA分配給ISAKMP的用戶數據報協議端口號是500。所有ISAKMP協議的執行,必須包括在這個端口上發送和接收信息的能力。4.ISAKMP的報頭格式ISAKMP消息由報頭和一個或多個負載以傳輸模式構成,其報頭格式包含一下字段。5.ISAKMP負載類型3.5.4Internet安全關聯密鑰管理協議---ISAKMP

1.ISAKMP認征、密鑰交換和保護ISAKMP需要利用數字簽名算法、比如數字簽名標準DSS和RSA簽名算法,與來至于可靠第三方的認證相結合,完成認證工作。該協議不需要或者說沒有規定一種特定的簽名算法或認證中心。2.概念3.ISAKMP端口分配密鑰管理方法在傳輸層協議之上或IP層之上,可以代替ISAKMP。IANA分配給ISAKMP的用戶數據報協議端口號是500。所有ISAKMP協議的執行,必須包括在這個端口上發送和接收信息的能力。4.ISAKMP的報頭格式ISAKMP消息由報頭和一個或多個負載以傳輸模式構成,其報頭格式包含一下字段。5.ISAKMP負載類型3.6QoS協議

QoS是指一個網絡能夠利用各種各樣的基礎技術向選定的網絡通信提供更好的服務的能力。這些基礎技術包括:幀中繼(FrameRelay)、異步傳輸模式(AsynckonousTransferMode,簡寫為ATM)、以太網和802.1網絡、SONET以及IP-路由網絡。特別值得注意的是,通過采用下列技術,QoS功能可提供更好的和更可預測的網絡服務:支持專用帶寬改善損失特性避免并且管理網絡擁塞情況規定網絡通信流量設置網絡上的通信的優先權3.6.1QoS的體系結構

QoS是指一個網絡能夠利用各種各樣的基礎技術向選定的網絡通信提供更好的服務的能力。這些基礎技術包括:幀中繼(FrameRelay)、異步傳輸模式(AsynckonousTransferMode,簡寫為ATM)、以太網和802.1網絡、SONET以及IP-路由網絡。特別值得注意的是,通過采用下列技術,QoS功能可提供更好的和更可預測的網絡服務:支持專用帶寬改善損失特性避免并且管理網絡擁塞情況規定網絡通信流量設置網絡上的通信的優先權3.6.1QoS的體系結構

所謂QoS就是使網絡及其設備(即應用,主機或路由器)為網絡數據傳輸和服務提供某種程度保證的能力。為了實現QoS要求,需要各級網絡的各

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論