第三章 網(wǎng)絡(luò)層安全協(xié)議_第1頁
第三章 網(wǎng)絡(luò)層安全協(xié)議_第2頁
第三章 網(wǎng)絡(luò)層安全協(xié)議_第3頁
第三章 網(wǎng)絡(luò)層安全協(xié)議_第4頁
第三章 網(wǎng)絡(luò)層安全協(xié)議_第5頁
已閱讀5頁,還剩80頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1第三章網(wǎng)絡(luò)層安全協(xié)議2因特網(wǎng)與TCP/IP安全-1.TCP/IP協(xié)議棧TCP/IP是一組通信協(xié)議的縮寫ISO/OSI模型及其與TCP/IP的關(guān)系3因特網(wǎng)與TCP/IP安全-2.互聯(lián)網(wǎng)地址互聯(lián)網(wǎng)上每個接口必須有一個唯一的互聯(lián)網(wǎng)地址(IP地址),長32bit,層次結(jié)構(gòu)32bit寫成4個十進(jìn)制數(shù),點分十進(jìn)制表示法4因特網(wǎng)與TCP/IP安全-3.協(xié)議封裝當(dāng)應(yīng)用程序用TCP/IP傳送數(shù)據(jù)時,數(shù)據(jù)送入?yún)f(xié)議棧,通過各層,直到被當(dāng)作一串比特流送入網(wǎng)絡(luò)。5因特網(wǎng)與TCP/IP安全-4.IP協(xié)議

6因特網(wǎng)與TCP/IP安全-5.TCP協(xié)議

7因特網(wǎng)與TCP/IP安全-5.TCP協(xié)議TCP安全缺陷-TCP連接的可靠性初始化連接:三次握手,確保雙方做好傳輸準(zhǔn)備,統(tǒng)一序列號。SYN,SEQ=x主機BSYN,ACK,SEQ=y,ACK=x1ACK,SEQ=x+1,ACK=y1確認(rèn)確認(rèn)主機A連接請求8因特網(wǎng)與TCP/IP安全-5.TCP協(xié)議TCP安全缺陷-TCP連接的可靠性9安全缺陷-沒有任何認(rèn)證機制TCP假定只要接受到的數(shù)據(jù)包含有正確的序列號就認(rèn)為數(shù)據(jù)是可以接受的。一旦連接建立,服務(wù)器無法確定進(jìn)入的數(shù)據(jù)包是否來自真實的機器。10IPSec協(xié)議-1概述在發(fā)送IP數(shù)據(jù)包之前,對IP包的一些重要部分進(jìn)行加密和驗證計算,由接收端對這部分進(jìn)行解密和驗證,從而實現(xiàn)安全傳輸?shù)哪康?。IPSec實現(xiàn)了網(wǎng)絡(luò)層的加密和認(rèn)證,它在網(wǎng)絡(luò)體系結(jié)構(gòu)中提供了一種端到端的安全解決方案。

11IPSec協(xié)議-1概述IPSec提供三種不同的形式來保護通過公有或私有IP網(wǎng)絡(luò)傳送的私有數(shù)據(jù)。(1)認(rèn)證:通過認(rèn)證可以確定所接受的數(shù)據(jù)與所發(fā)送的數(shù)據(jù)是否一致,同時可以確定申請發(fā)送者在實際上是真實的,還是偽裝的發(fā)送者;(2)數(shù)據(jù)完整性驗證:通過驗證,保證數(shù)據(jù)在從發(fā)送者到接收者的傳送過程中沒有被修改;(3)保密:使相應(yīng)的接收者能獲取發(fā)送的真正內(nèi)容,而無關(guān)的接收者無法獲知數(shù)據(jù)的真正內(nèi)容。12IPSec協(xié)議-1概述IPSec由三個基本要素來提供以上三種保護形式驗證頭(AH)封裝安全載荷(ESP)互聯(lián)網(wǎng)密鑰管理協(xié)議(IKMP)。

認(rèn)證協(xié)議頭和安全加載封裝是一套協(xié)議中兩個不同的機制。所以,它們可以被單獨使用,也可以被組合起來使用,可以滿足不同的安全要求。13幀頭應(yīng)用數(shù)據(jù)應(yīng)用數(shù)據(jù)應(yīng)用數(shù)據(jù)應(yīng)用數(shù)據(jù)TCP頭TCP頭TCP頭IP頭IP頭應(yīng)用層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層沒有IPSec的數(shù)據(jù)封裝

14應(yīng)用層傳輸層網(wǎng)絡(luò)層IPSec封裝數(shù)據(jù)鏈路層幀頭IPSec頭應(yīng)用數(shù)據(jù)應(yīng)用數(shù)據(jù)應(yīng)用數(shù)據(jù)應(yīng)用數(shù)據(jù)TCP頭TCP頭TCP頭IP頭IP頭應(yīng)用數(shù)據(jù)TCP頭IP頭IPSec頭IPSecn尾IPSec尾有IPSec數(shù)據(jù)封裝15IPSec協(xié)議-2

IPSec的安全體系結(jié)構(gòu)

體系結(jié)構(gòu)安全封裝載荷(ESP)協(xié)議(ESP)協(xié)議認(rèn)證頭(AH)協(xié)議認(rèn)證算法加密算法解釋域DOI密鑰管理16各個模塊的功能是:體系結(jié)構(gòu):覆蓋了定義IPSec技術(shù)的一般性概念、安全需求、定義和機制安全封裝載荷(ESP):是插入IP數(shù)據(jù)包內(nèi)的一個協(xié)議頭,具有為IP數(shù)據(jù)包提供機密性、數(shù)據(jù)完整性、數(shù)據(jù)源認(rèn)證和抗重傳攻擊等功能。認(rèn)證頭(AH):是插入IP數(shù)據(jù)包內(nèi)的一個協(xié)議頭,具有為IP數(shù)據(jù)包提供數(shù)據(jù)完整性、數(shù)據(jù)源認(rèn)證和抗重傳攻擊等功能。加密算法:一組文檔描述了怎樣將不同的加密算法用于ESP。認(rèn)證算法:一組文檔描述了怎樣將不同的認(rèn)證算法用于AH和ESP可選的鑒別選項。密鑰管理:描述密鑰管理機制的文檔。解釋域DOI:包含了其他文檔需要的為了彼此間相互聯(lián)系的一些值。這些值包括經(jīng)過檢驗的加密和認(rèn)證算法的標(biāo)識以及操作參數(shù),例如密鑰的生存期。17IPSec協(xié)議-3

IPSec服務(wù)

服務(wù)類型AHESP(只加密)ESP(加密并認(rèn)證)訪問控制YYY無連接完整性YNY數(shù)據(jù)源的鑒別YNY拒絕重放攻擊YYY保密性NYY有限的通信流保密性NYY18IPSec協(xié)議-4IPSec的工作模式

1傳輸模式IPSec傳輸模式主要對IP包的部分信息提供安全保護,即對IP數(shù)據(jù)包的上層協(xié)議數(shù)據(jù)提供安全保護。當(dāng)采用AH傳輸模式時,主要為IP數(shù)據(jù)包提供認(rèn)證保護;而采用ESP傳輸模式時,主要對IP數(shù)據(jù)包的上層信息提供加密和認(rèn)證雙重保護。這是一種端到端的安全,IPSec在端點執(zhí)行加密認(rèn)證、處理,在安全通道上傳輸,因此主機必須配置IPSec。19首部有效載荷IP數(shù)據(jù)報傳輸網(wǎng)絡(luò)首部有效載荷IP數(shù)據(jù)報20IPSec協(xié)議-4IPSec的工作模式隧道模式IPSec隧道模式對整個IP數(shù)據(jù)包提供保護。其基本原理是構(gòu)造新的IP數(shù)據(jù)包當(dāng)采用AH遂道模式時,主要為整個IP數(shù)據(jù)包提供認(rèn)證保護(可變字段除外);當(dāng)采用ESP遂道模式模式時,主要為整個IP數(shù)據(jù)包提供加密和認(rèn)證雙重保護。這時,對IPSec的處理是在安全網(wǎng)關(guān)執(zhí)行的,因此兩端主機不必知道IPSec協(xié)議的存在。21首部有效載荷首部有效載荷首部有效載荷內(nèi)部IP數(shù)據(jù)報外首部(新首部)傳輸網(wǎng)絡(luò)首部有效載荷內(nèi)部IP數(shù)據(jù)報內(nèi)部IP數(shù)據(jù)報內(nèi)部IP數(shù)據(jù)報安全網(wǎng)關(guān)安全網(wǎng)關(guān)外首部(新首部)22IPSec協(xié)議-5認(rèn)證頭協(xié)議(AH)1.認(rèn)證頭的功能為IP數(shù)據(jù)包提供數(shù)據(jù)完整性、數(shù)據(jù)源認(rèn)證和抗重傳攻擊等功能。數(shù)據(jù)完整性是通過消息認(rèn)證碼產(chǎn)生的校驗值來保證的;數(shù)據(jù)源認(rèn)證是通過在數(shù)據(jù)包中包含一個將要被認(rèn)證的共享秘密或密鑰來保證的;抗重傳攻擊是通過使用了一個經(jīng)認(rèn)證的序列號來實現(xiàn)的。23IPSec協(xié)議-5認(rèn)證頭協(xié)議(AH)2.認(rèn)證頭格式AH為IP數(shù)據(jù)包提供了數(shù)據(jù)完整性和認(rèn)證服務(wù)。注意AH并不提供保密性保護,因此當(dāng)數(shù)據(jù)通過一個網(wǎng)絡(luò)的時候仍然可以被看到。下一個首部載荷長度保留安全參數(shù)索引(SPI)序列號認(rèn)證數(shù)據(jù)ICV(長度可變)24IPSec協(xié)議-5認(rèn)證頭協(xié)議(AH)3完整性校驗值的計算ICV是消息認(rèn)證碼(messageauthenticationcode,MAC)的一種截斷版本,它是用MAC算法計算的。只使用前96bit。ICV使用下面的域來計算:在傳輸中不變化的IP頭域,或者其值在到達(dá)使用該AH關(guān)聯(lián)的端點時可以預(yù)測的IP頭域。AH首部,為了在源和目的地進(jìn)行計算,必須將認(rèn)證數(shù)據(jù)域置為0。所有的上層協(xié)議數(shù)據(jù),假定它們在傳輸中不變化(例如TCP報文段或隧道方式的一個內(nèi)部IP分組)。25IPSec協(xié)議-5認(rèn)證頭協(xié)議(AH)4.抗重放攻擊重放攻擊指的是攻擊者獲得了認(rèn)證分組的副本,并且以后將它傳輸?shù)剿哪康牡刂?。收到了重?fù)的認(rèn)證IP分組可能會以某種方式中斷服務(wù)或者出現(xiàn)其他一些意想不到的后果。序號字段是設(shè)計用來阻擋這種攻擊的。IPSec數(shù)據(jù)包專門使用了一個序列號,以及一個“滑動”的接收窗口。因為IP是無連接、不可靠的服務(wù),協(xié)議不能保證分組的按序交付,也不能保證所有的分組都會被交付,因此,IPSec認(rèn)證文檔規(guī)定接收者應(yīng)該實現(xiàn)大小為W的接收窗口。2627窗口最左端對應(yīng)于窗口起始位置的序列號,窗口的右邊界則代表目前已經(jīng)收到的合法分組的最高序號。對于任何已經(jīng)正確接收的(即經(jīng)過了正確鑒別的)其序號處于N-W+1到N范圍之間的分組,窗口的相應(yīng)插槽被標(biāo)記。當(dāng)收到一個分組時,按照如下步驟進(jìn)行進(jìn)入處理:①.如果收到的分組落在窗口之內(nèi)并且是新的,就進(jìn)行MAC檢查。如果分組被鑒別,就對窗口的相應(yīng)插槽做標(biāo)記。②.如果收到的分組落在窗口的右邊并且是新的,就進(jìn)行MAC檢查。如果分組被鑒別,那么窗口就向前走,使得該序號成為窗口的右邊界,并對窗口的相應(yīng)插槽做標(biāo)記。③.如果收到的分組落在窗口的左邊,或者鑒別失敗,就丟棄該分組。28IPSec協(xié)議-5認(rèn)證頭協(xié)議(AH)5.傳輸模式和遂道模式AH服務(wù)可以以兩種方式來使用:傳輸(transport)模式和隧道(tunnel)模式。AH的實際位置決定于使用何種模式以及AH是應(yīng)用于一個IPv4還是一個IPv6數(shù)據(jù)包。29原始的IP頭(任何選項)TCP數(shù)據(jù)原始的IP頭(任何選項)TCP數(shù)據(jù)AH(載荷長度,SPI,序號,MAC)標(biāo)準(zhǔn)IPv4數(shù)據(jù)報

傳輸模式下的IPv4認(rèn)證范圍:所有不變的域30原始的IP頭(任何選項)TCP數(shù)據(jù)擴展項頭(如果有)標(biāo)準(zhǔn)的IPv6數(shù)據(jù)報

傳輸模式下的IPv6

原始的IP頭(任何選項)目的選項數(shù)據(jù)逐躍點、目的、路由、分段TCPAH(載荷長度,SPI,序號,MAC)認(rèn)證范圍:所有不變的域31原始的IP頭(任何選項)TCP數(shù)據(jù)AH(載荷長度,SPI,序號,MAC)新的IP頭(任何選項)

隧道模式下的IPv4

隧道模式下的IPv6

認(rèn)證范圍:所有不變的域新的IP頭(任何選項)擴展項頭(如果有)數(shù)據(jù)擴展項頭(如果有)TCPAH(載荷長度,SPI,序號,MAC)認(rèn)證范圍:所有不變的域32IPSec協(xié)議-6封裝安全載荷協(xié)議(ESP)

1

ESP功能ESP主要支持IP數(shù)據(jù)包的機密性,它將需要保護的用戶數(shù)據(jù)進(jìn)行加密后再封裝到新的IP數(shù)據(jù)包中。另外ESP也可提供認(rèn)證服務(wù),但與AH相比,二者的認(rèn)證范圍不同,ESP只認(rèn)證ESP頭之后的信息,比AH認(rèn)證的范圍要小。33IPSec協(xié)議-6封裝安全載荷協(xié)議(ESP)2.ESP格式

34IPSec協(xié)議-6封裝安全載荷協(xié)議(ESP)3.加密與認(rèn)證算法ESP服務(wù)對有效載荷數(shù)據(jù)、填充、填充長度和下一個首部字段加密。下面是一些已定義的算法:l

三密鑰三重DESl

RC5l

IDEAl

CASTl

Blowfishl

三密鑰三重IDEA35IPSec協(xié)議-6封裝安全載荷協(xié)議(ESP)4.傳輸模式和隧道模式ESP尾TCP數(shù)據(jù)ESP頭(SPI,序列號)源IP頭ESP認(rèn)證ESP尾TCP數(shù)據(jù)ESP頭(SPI,序列號)源IP頭ESP認(rèn)證目的選項逐躍點、目的、路由、分段傳輸模式下的IPv4ESP傳輸模式下的IPv6ESP

被加密的

被加密的

被認(rèn)證的

被認(rèn)證的

36傳輸方式的操作總結(jié)如下:①在源站,由ESP尾部加上整個傳輸級的報文段組成的數(shù)據(jù)塊被加密,這個數(shù)據(jù)塊的明文被其密文所代替,以形成用于傳輸?shù)腎P分組。如果認(rèn)證選項被選中,還要加上認(rèn)證。②然后分組被路由到目的站。每個中間路由器都要檢查和處理IP首部加上任何明文的IP擴展首部,但是不需要檢查密文。③目的結(jié)點檢查和處理IP首部加上任何明文的IP擴展首部。然后,在ESP首部的SPI基礎(chǔ)上目的結(jié)點對分組的其他部分進(jìn)行解密以恢復(fù)明文的傳輸層報文段。傳輸方式操作為使用它的任何應(yīng)用程序提供了機密性,因此避免了在每一個單獨的應(yīng)用程序中實現(xiàn)機密性,這種方式的操作也是相當(dāng)有效的,幾乎沒有增加IP分組的總長度。37ESP尾TCP數(shù)據(jù)ESP頭(SPI,序列號)原IP頭ESP認(rèn)證新IP頭ESP尾TCP數(shù)據(jù)ESP頭(SPI,序列號)原IP頭ESP認(rèn)證新IP頭原擴展頭新擴展頭隧道模式下的IPv4ESP隧道模式下的IPv6ESP

被加密的

被認(rèn)證的

被加密的

被認(rèn)證的

38IPSec協(xié)議-7安全關(guān)聯(lián)

當(dāng)利用IPSec進(jìn)行通信時,采用哪種認(rèn)證算法、加密算法以及采用什么密鑰都是事先協(xié)商好的。一旦通信雙方取得一致后,在通信期間將共享這些安全參數(shù)信息來進(jìn)行安全信息傳輸。為了使通信雙方的認(rèn)證算法、加密算法保持一致,相互間建立的聯(lián)系被稱為安全關(guān)聯(lián)(SecurityAssociation,SA)。也就是在使用AH或ESP之前,先要從源主機到目的主機建立一條網(wǎng)絡(luò)層的邏輯連接。SA是構(gòu)成IPSec的基礎(chǔ)。39安全關(guān)聯(lián)是單向的,意味著每一對通信系統(tǒng)連接都至少需要兩個安全關(guān)聯(lián)。一個是從A到B,一個是從B到A。如A需要有一個SA(out)用來處理外發(fā)數(shù)據(jù)包;一個SA(in)用來處理進(jìn)入數(shù)據(jù)包。如B需要有SB(out)和SB(in)SA(out)和SB(in)共享一個加密參數(shù)SA(in)和SB(out)共享一個加密參數(shù)因此對外發(fā)和進(jìn)入的SA分別需要維護一張單獨的數(shù)據(jù)表40一個SA由三個參數(shù)來惟一地標(biāo)識:l

安全參數(shù)索引(SPI):該比特串惟一地標(biāo)識一個與某一安全協(xié)議(例如AH或者置SP)相關(guān)的安全關(guān)聯(lián)。SPI位于AH和ESP頭內(nèi),因此接收系統(tǒng)可以挑選出用于處理接收到的IP數(shù)據(jù)包的SA。l

目的IP地址:該參數(shù)表明該SA的目的IP地址。端點可能會是最終用戶系統(tǒng)或者一個如網(wǎng)關(guān)或防火墻這樣的網(wǎng)絡(luò)系統(tǒng)。盡管從概念上講該參數(shù)可以是任意地址類型(多播、廣播等),但是目前它只能是一個單播地址。l

安全協(xié)議標(biāo)識符:該參數(shù)表明本關(guān)聯(lián)是一個AH安全關(guān)聯(lián)還是一個ESP安全關(guān)聯(lián)。

41IPSec實施方案最終會構(gòu)建一個SA數(shù)據(jù)庫(SADB),由它來維護IPSec協(xié)議用來保障數(shù)據(jù)包安全的SA記錄。在IPSec保護IP報文之前,必須先建立一個安全聯(lián)盟。安全聯(lián)盟可以手工或動態(tài)建立。Internet密鑰交換(IKE)用于動態(tài)建立安全聯(lián)盟,IKE代表IPSec對SA進(jìn)行協(xié)商,并對SADB進(jìn)行填充。42

IPSec協(xié)議-8安全數(shù)據(jù)庫安全策略數(shù)據(jù)庫(SecurityPolicyDatabase,SPD)和安全關(guān)聯(lián)數(shù)據(jù)庫(SecurityAssociationDatabase,SAD)。SPD指定了決定所有輸入或者輸出的IP通信部署的策略。SAD包含有與當(dāng)前活動的安全關(guān)聯(lián)相關(guān)的參數(shù)。安全關(guān)聯(lián)是雙方所協(xié)商的安全策略的一種描述。

43IPSec協(xié)議-8安全數(shù)據(jù)庫1安全策略數(shù)據(jù)庫安全策略決定了為一個包提供的安全服務(wù)根據(jù)“選擇符”對數(shù)據(jù)庫進(jìn)行檢索,選擇符從網(wǎng)絡(luò)層和傳輸層頭提取出來IP包的外出和進(jìn)入都需要查詢SPD,以判斷為這個包提供的安全服務(wù)有哪些。44①目的IP地址:這可以是一個單一的IP地址、一個地址列表或者是一個通配的地址。多個地址和通配地址用于多于一個的源系統(tǒng)共享同一個SA的情況(例如,位于一個網(wǎng)關(guān)之后)。②源IP地址:這可以是一個單一的IP地址、一個地址范圍或者是一個通配的地址。③名稱:這可以是一個X.500特定名稱(DN)或者是一個來自操作系統(tǒng)的用戶標(biāo)識符。④傳輸層協(xié)議:這可以從IPv4協(xié)議域或者IPv6的下一個頭域中得到。它可以是一個單獨的協(xié)議號碼、一個協(xié)議號的列表,或者是一個協(xié)議號碼范圍。⑤源端口和目的端口:這些端口可以是單個的UDP或TCP端口值,真正應(yīng)用協(xié)議的便是這些端口。如果端口不能訪問,便需要使用通配符。⑥數(shù)據(jù)敏感級:這被用于提供信息流安全的系統(tǒng)(例如無分級的或者秘密的)。45IPSec協(xié)議-8安全數(shù)據(jù)庫2.安全關(guān)聯(lián)數(shù)據(jù)庫

下面的參數(shù)用于定義一個SA:①序列號計數(shù)器:用于生成位于AH或者ESP頭中的序列號域的一個32比特值。②序列號計數(shù)器溢出:這是一個標(biāo)志。③抗重放窗口:一個32位計數(shù)器,用于決定一個輸入的AH或者ESP數(shù)據(jù)包是否是一個重放包。④AH信息:與使用AH有關(guān)的參數(shù)(如認(rèn)證算法、密鑰和密鑰生存期)。⑤ESP信息:與使用ESP有關(guān)的參數(shù)(如加密算法、密鑰、密鑰生存期和初始化值)。46⑥SA的生存期:一個時間間隔或者字節(jié)計數(shù),用于指定一個SA使用的持續(xù)時間。當(dāng)該持續(xù)時間已結(jié)束時,必須用一個新的SA(以及新的SPl)來替代該SA,或者終止該SA,同時該參數(shù)中包括一個應(yīng)該采取何種動作的標(biāo)識。⑦IPSec協(xié)議模式:指定對于該SA的通信流所使用的操作模式(傳輸模式、隧道模式,或通配模式)。47IPSec協(xié)議-8安全數(shù)據(jù)庫3.IPSec處理方式

IPSec處理分為兩類:外出處理和進(jìn)入處理。外出處理過程中,傳輸層的數(shù)據(jù)包流進(jìn)IP層,IP層檢索SPD數(shù)據(jù)庫,判斷應(yīng)為這個包提供哪些安全服務(wù)。需要輸入SPD的是前面已經(jīng)討論過的“選擇符”。48至于SPD檢索的輸出,則可能有下面幾種情況:①丟棄這個包。此時包不會得以處理,只是簡單地丟掉。②繞過安全服務(wù)。在這種情況下,IP層會在載荷內(nèi)增添IP頭,然后分發(fā)IP包。③應(yīng)用安全服務(wù)。在這種情況下,假如已建立了一個SA,就會返回指向這個SA的指針;假如尚未建立SA,就會調(diào)用IKE,將這個SA建立起來。如果SA已經(jīng)建立,SPD內(nèi)便會包含指向SA或SA集束的一個指針(具體由策略決定)。如果策略的輸出規(guī)定強行將IPSec應(yīng)用于數(shù)據(jù)包,那么在SA正式建立起來之前,包是不會傳送出去的。4950進(jìn)入處理有別于外出處理。如果收到的IPSec包是一個分段,必須把它保留下來,直到這個包的其他部分收完為止。收到IP包后,假如包內(nèi)根本沒有包含IPSec頭,那么安全層就會對策略進(jìn)行檢查,判斷該如何對這個包進(jìn)行處理。它會用選擇符字段來檢索SPD數(shù)據(jù)庫。策略的輸出可能是下述三種選擇:丟棄、繞過或應(yīng)用。如果策略的輸出是丟棄,那么數(shù)據(jù)包就會被丟棄;如果是應(yīng)用,但SA沒有建立,包同樣會被丟棄。否則,就將包傳遞給下一層,作進(jìn)一步的處理。51如果IP包中包含了IPSec頭,就會由IPSec層對這個包進(jìn)行處理。IPSec層會從IP數(shù)據(jù)報中提取出SPI、源地址和目標(biāo)地址。它會利用<SPI,目標(biāo)地址,協(xié)議>字元組對SADB數(shù)據(jù)庫進(jìn)行檢索。協(xié)議值要么是AH,要么是ESP。根據(jù)這個協(xié)議值,這個包的處理要么由AH層,要么由ESP層進(jìn)行。協(xié)議載荷處理完之后,需要查詢策略,對載荷進(jìn)行檢驗。選擇符則用作獲取策略的依據(jù)。驗證過程包括:檢查SA的使用是否得當(dāng)(也就是說,SA中的源和目標(biāo)地址是否與策略對應(yīng)),以及SA保護的傳送層協(xié)議是否和要求的相符。52IPSec協(xié)議-8安全數(shù)據(jù)庫4.組合安全關(guān)聯(lián)使用一個單一的SA,AH或者ESP來實現(xiàn)IP數(shù)據(jù)包的安全。然而,并沒有限制使用多個SA,這通常稱為SA束(bundle)。SA集結(jié)的順序是通過安全策略來定義的。

IPSec體系結(jié)構(gòu)文檔列出了IPSec兼容的主機或安全網(wǎng)關(guān)必須支持的四種SA組合的例子。這些例子如下圖所示,圖中,每種情況的下面部分表示的是元素的物理連接;上面部分通過一個或多個嵌套SA表示了邏輯連接。每個SA可以是AH或者ESP。對于主機到主機的SA,可以是傳輸模式或者隧道模式;其他情況則必須是隧道模式。53①端到端主機之間應(yīng)用IPSec該情況中,對實現(xiàn)IPSec的兩個端系統(tǒng)提供安全業(yè)務(wù),兩個端系統(tǒng)必須有共享的秘密密鑰。此時SA的組合方式可能有:傳輸模式下的AH;傳輸模式下的ESP;AH后跟ESP,兩者都處于傳輸模式下(即AH

SA在ESP

SA的內(nèi)部);上面三種情況的任一種在隧道模式下的AH或ESP里面

Internet內(nèi)部網(wǎng)內(nèi)部網(wǎng)一個或多個SA安全網(wǎng)關(guān)安全網(wǎng)關(guān)主機主機54原始的IP頭(任何選項)TCP數(shù)據(jù)AH(載荷長度,SPI,序號,MAC)ESP尾TCP數(shù)據(jù)ESP頭(SPI,序列號)源IP頭ESP認(rèn)證ESP尾TCP數(shù)據(jù)ESP頭(SPI,序列號)源IP頭ESP認(rèn)證AH(載荷長度,SPI,序號,MAC)原始的IP頭(任何選項)TCP數(shù)據(jù)AH(載荷長度,SPI,序號,MAC)新的IP頭(任何選項)55②網(wǎng)關(guān)到網(wǎng)關(guān)之間實現(xiàn)IPSec該情況中,兩個主機未實現(xiàn)IPSec,因此僅在兩個網(wǎng)關(guān)之間提供安全業(yè)務(wù)。此時僅需要一個隧道模式下的SA,可用于支持AH、ESP或具有認(rèn)證選擇的ESP。由于IPSec安全業(yè)務(wù)作用于整個內(nèi)部數(shù)據(jù)報,因此不需要使用嵌套的隧道模式。Internet內(nèi)部網(wǎng)內(nèi)部網(wǎng)隧道SA安全網(wǎng)關(guān)安全網(wǎng)關(guān)主機主機56③上面①和②的組合該情況在情況②的基礎(chǔ)上增加了端到端的安全性。在情況①和情況②中討論的組合在這里同樣允許。網(wǎng)關(guān)到網(wǎng)關(guān)的隧道為終端系統(tǒng)之間的所有通信量提供了鑒別服務(wù)或者機密性,或者兩種服務(wù)都提供。當(dāng)網(wǎng)關(guān)到網(wǎng)關(guān)的隧道是ESP時,它還提供了有限形式的通信量機密性。通過端到端的SA,單獨的主機可以為給定的應(yīng)用程序或給定的用戶實現(xiàn)任何需要的補充IPSec。Internet內(nèi)部網(wǎng)內(nèi)部網(wǎng)隧道SA安全網(wǎng)關(guān)安全網(wǎng)關(guān)主機主機57④遠(yuǎn)程終端支持該情況表示一個具有IPSec的遠(yuǎn)程主機通過Internet到達(dá)某一組織的防火墻,然后訪問防火墻后面的本地主機(如服務(wù)器或工作站)。此時在遠(yuǎn)程主機和防火墻之間只要求使用隧道模式,而在遠(yuǎn)程主機和本地主機之間,則使用一到兩個SA。Internet內(nèi)部網(wǎng)隧道SA一個或多個SA安全網(wǎng)關(guān)主機主機58IPSec協(xié)議-9密鑰管理和密鑰交換1概述必要性方式:手工

自動:通過使用自動的密鑰管理協(xié)議,可以創(chuàng)建SA所需要的密鑰。對于自動管理,可以使用各種各樣的協(xié)議,但是IKE已經(jīng)成為了當(dāng)前的工業(yè)標(biāo)準(zhǔn)。

59IPSec協(xié)議-9密鑰管理和密鑰交換2IKE概述默認(rèn)的IPSec密鑰協(xié)商方式是Internet密鑰交換協(xié)議(即InternetKeyExchange,簡記作IKE)。IKE允許兩個實體通過一系列消息得到安全通信的會話密鑰,IKE交換為通信雙方的消息提供認(rèn)證和(或)加密,并且針對洪流、重放、欺騙等攻擊提供不同程度保護。IKE依賴于公私鑰加密技術(shù)和密碼散列函數(shù)等機制IKE是一個使用已知的UDP端口(端口為500)的應(yīng)用層協(xié)議。60ESPIKEAHISKMPOakleySKEME密鑰交換模式兩個階段框架基礎(chǔ)密鑰交換協(xié)議密鑰共享和更新61IPSec協(xié)議-9密鑰管理和密鑰交換3SKEME協(xié)議SKEME是一種密鑰交換協(xié)議,SKEME提供了多種模式的密鑰交換。SKEME的基本模式中,提供了基于公開密鑰的密鑰交換和Diffie-Hellman密鑰交換。它還包含了對Kerberos模型密鑰交換的支持。62SKEME協(xié)議的執(zhí)行過程包含四個主要階段:cookie階段、共享階段、交換階段和認(rèn)證階段。(1)cookie階段的目的是為了防止拒絕服務(wù)攻擊。(2)共享階段的目的是為了建立會話密鑰Kab前提:需要通信雙方都擁有對方的公共密鑰。在這個階段,A和B先用對方的公共密鑰把隨機取得的半個密鑰加密,然后,用單向哈希函數(shù)把這兩個半個密鑰合并成一個kab。如下所示。①:A→B:{Ka}kB②:B→A:{Kb}kA最后,A和B用事先協(xié)商好的一個單向哈希函數(shù)計算得到Kab=h(Ka,Kb)。63SKEME協(xié)議的執(zhí)行過程包含四個主要階段:cookie階段、共享階段、交換階段和認(rèn)證階段。(3)在支持Diffie-Hellman密鑰交換的SKEME模式中,交換階段用來進(jìn)行密鑰交換。假設(shè)A選擇了一個隨機數(shù)Xa作為Diffiee-Hellman的指數(shù),B選擇了另一個隨機數(shù)Xb。A和B就可以通過下面的過程進(jìn)行Diffie-Hellman密鑰交換,并得到共享密鑰gXaXb(modp)。①:A→B:gXa(modp)②:B→A:gXb(modp)在不支持Diffie-Hellman密鑰交換的SKEME模式中,交換階段用來交換隨機產(chǎn)生的即時時間值。64(4)協(xié)議的執(zhí)行過程中,雙方的驗證在認(rèn)證階段完成,這個階段會用到共享階段產(chǎn)生的密鑰Kab來驗證從交換階段得到的Diffie-Hellman指數(shù)或是即時時間值。如果交換階段執(zhí)行了Diffie—Hellman密鑰交換,認(rèn)證階段可以表示如下。①:A→B:<gXa,gXb,idA,idB>Kab②:B→A:<gXb,gXa,idB,idA>Kab如果沒有執(zhí)行Diffie-Hellman密鑰交換,Diffie-Hellman指數(shù)就被即時時間值所代替。65SKEME支持四種模式,即:基本模式、只有共享模式、預(yù)先共享密鑰模式和快速刷新模式?;灸J桨饲懊娼榻B的全部四個階段,因此,基本模式下的SKEME支持完美向前保密(PerfectForwardSecrecy,PFS)。PFS指的是保證將來的通信受到密碼學(xué)加密的保護,即使是長期使用的加密密鑰被別人發(fā)現(xiàn)和破譯,后來即時交換產(chǎn)生密鑰,它的保密性也不會遭到危害,同時傳輸數(shù)據(jù)的保密性也不會被破壞。只有共享模式支持公開密鑰加密法,但不支持Diffie-Hellman密鑰交換技術(shù)。因此,這種模式下的SKEME不支持完美向前保密。66SKEME支持四種模式,即:基本模式、只有共享模式、預(yù)先共享密鑰模式和快速刷新模式。預(yù)先共享密鑰模式中,SKEME沒有使用公開密鑰加密法。只進(jìn)行了Diffie-Hellman密鑰交換。在這種模式中,協(xié)議認(rèn)為通信雙方已經(jīng)有了共享密鑰,它們用這個共享密鑰來產(chǎn)生后來新的會話密鑰和進(jìn)行密鑰刷新。前面曾經(jīng)提到,這個共享密鑰是帶外傳送的,可以通過人工安裝,也可以從KDC獲得??焖偎⑿履J绞亲羁焖俚腟KEME協(xié)議。它既不使用公開密鑰加密法,也不使用Diffie-Hellman密鑰交換。在這個模式中,共享階段完全被省略,交換階段和驗證階段也只是交換即時時間。67IPSec協(xié)議-9密鑰管理和密鑰交換4Oakley協(xié)議Oakley協(xié)議具有以下5個特性:①它采用稱為cookie的程序機制來防止阻塞攻擊。②它可使通信雙方協(xié)商Diffie-Hellman密鑰交換所用的群,即協(xié)商所需的全局參數(shù)。③使用一次性隨機數(shù)防止重放攻擊。④可使通信雙方交換Diffie-Hellman公開密鑰的值。⑤對Diffie-Hellman交換過程加以認(rèn)證以防止中間人攻擊。以O(shè)akley為基礎(chǔ),IKE借鑒了不同模式的思想,在每種模式中,Oakley會進(jìn)行不同的通過驗證的密鑰交換。68IPSec協(xié)議-9密鑰管理和密鑰交換4Internet安全聯(lián)盟和密鑰管理協(xié)議(ISAKMP)IKE的報文格式就是建立在ISAKMP的框架下的。ISAKMP定義了雙方如何溝通如何構(gòu)建雙方用以溝通的消息保障通信安全所需的狀態(tài)交換提供了對對方的身份進(jìn)行驗證的方法密鑰交換時交換信息的方法以及對安全服務(wù)進(jìn)行協(xié)商的方法(1)消息和載荷

694Internet安全聯(lián)盟和密鑰管理協(xié)議(ISAKMP)(1)消息和載荷對一個用基于ISAKMP的密鑰管理協(xié)議交換的消息來說,它的構(gòu)建方法是:將ISAKMP所有載荷鏈接到一個ISAKMP頭。ISAKMP的結(jié)構(gòu)如圖所示:

發(fā)起者的cookie響應(yīng)者的cookie報文ID報文長度下個有效載荷主要版本次要版本交換類型標(biāo)志70目前在ISAKMP中,總共定義了13種不同的載荷。它們都是以相同格式的頭開始的。

載荷標(biāo)識符p156下個有效載荷保留有效載荷長度71在一條消息中,載荷之間鏈接到一起,這是用通用頭中的“下個有效載荷”字段來實現(xiàn)的,如圖所示。ISAKMP頭指出了緊接在頭之后的第一個載荷,同時每個載荷也指出了接下去的是哪個載荷。消息中的最后一個載荷為0。ISAKMP通信是通過UDP端口500來進(jìn)行的。

發(fā)起者cookie響應(yīng)者cookie報文總長KE載荷數(shù)據(jù)報文IDNonce載荷長度KE版本標(biāo)志交換類型NonceKE載荷長度00Nonce載荷長度0ISAKMP頭密鑰交換載荷Nonce載荷724Internet安全聯(lián)盟和密鑰管理協(xié)議(ISAKMP)(2)交換階段ISAKMP描述了協(xié)商的兩個階段。在第一階段,通信各方彼此間建立了一個通過身份驗證和安全保護的通道。在第二階段,這個通道用于為另一個不同的協(xié)議(比如IPSec)協(xié)商安全服務(wù)。階段1的交換建立了一個ISAKMP“安全關(guān)聯(lián)(SA)”。這個SA實際上是安全策略的一個抽象和一個密鑰。階段2交換可為其他協(xié)議建立安全關(guān)聯(lián)。由于ISAKMPSA已經(jīng)驗證通過了,所以可用它為一次階段2交換中的所有消息提供源驗證、完整性以及機密性保障。完成了一次階段2交換之后,在ISAKMP處理過程中和它關(guān)聯(lián)在一起的狀態(tài)(例如密鑰,驗證方法等)便不復(fù)存在。但是ISAKMPSA可繼續(xù)存在下去,以確保后續(xù)的階段2交換的安全。734Internet安全聯(lián)盟和密鑰管理協(xié)議(ISAKMP)(3)ISAKMP定義的五種密鑰交換①

基本交換(BaseExchange)允許密鑰交換和身份驗證有關(guān)信息放在同一條信息中傳輸,這樣就減少了協(xié)商的消息數(shù),有利于快速建立SA。但由于密鑰交換和身份驗證有關(guān)信息在同一條信息中傳輸,所以該交換不能提供身份保護。因為只有該消息發(fā)出去之后,雙方才能獲得共享的密鑰。744Internet安全聯(lián)盟和密鑰管理協(xié)議(ISAKMP)(3)ISAKMP定義的五種密鑰交換基本交換(BaseExchange)以下是交換的具體消息:?。篒→R:SA;NONCE開始ISAKMP-SA協(xié)商ⅱ:R→I:SA;NONCE基本SA同意生成的密鑰ⅲ:I→R:KE;IDI;AUTH密鑰生成了;發(fā)起者的身份被響應(yīng)者驗證ⅳ:R→I:KE;IDR;AUTH響應(yīng)者的身份被發(fā)起者驗證;密鑰生成了;SA建立了75

4Internet安全聯(lián)盟和密鑰管理協(xié)議(ISAKMP)(3)ISAKMP定義的五種密鑰交換身份保護交換(IdentityProtectionExchange)將密鑰交換與身份和鑒別信息分開,以提供對通信雙方身份的保護。在這種交換中,對話各方先協(xié)商了一個共享密鑰,然后用該密鑰對稍后傳輸?shù)纳矸莺丸b別信息加密,以提供對身份的保護。但它是以多兩條消息的代價實現(xiàn)的。?。篒→R:SA開始ISAMP-SA協(xié)商ⅱ:R→I:SA基本SA同意生成的密鑰ⅲ:I→R:KE;NONCE密鑰生成了ⅳ:R→I:KE;NONCE密鑰生成了ⅴ:*I→R:IDI;AUTH發(fā)起者的身份被響應(yīng)者驗證ⅵ:*R→I:IDR;AUTH響應(yīng)者的身份被發(fā)起者驗證;SA建立了76

4Internet安全聯(lián)盟和密鑰管理協(xié)議(ISAKMP)(3)ISAKMP定義的五種密鑰交換

僅僅鑒別交換這種交換目的并不在交換生成一個共享的密鑰,它只需要傳輸與鑒別有關(guān)的信息,最終形成安全關(guān)聯(lián),并確認(rèn)對方正是自己要交流的人。這種交換還有一個特點是消息全部不加密,而且,由于目的只是驗證,因此消息數(shù)只有三條。?。篒→R:SA;NONCE開始ISAKMP-SA協(xié)商ⅱ:R→I:SA;NONCE;IDR;AUTH基本SA同意建立;響應(yīng)者的身份被發(fā)起者驗證ⅲ:I→R:IDI;AUTH發(fā)起者的身份被響應(yīng)者驗證;SA建立了774Internet安全聯(lián)盟和密鑰管理協(xié)議(ISAKMP)(3)ISAKMP定義的五種密鑰交換

野蠻交換(AggressiveExchange)野蠻交換允許一方將安全聯(lián)盟載荷、密鑰交換載荷與驗證相關(guān)的信息載荷放在一條消息中傳輸,這樣做的后果與基本交換一樣,都不能提供身份保護功能。這種交換方式企圖在一條消息內(nèi)建立所有與安全相關(guān)的信息。?。篒→R:SA;KE;NONCE;IDI開始ISAKMP-SA協(xié)商和密鑰交換ⅱ:R→I:SA;

溫馨提示

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

評論

0/150

提交評論