<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    附錄A (資料性附錄) IPSec VPN概述

    A.1 概述

    本附錄概要介紹了IPSec基礎構架,基本概念和基本內容,詳細內容參見RFC4301。

    IPSec是為IPv4和IPv6數據報文提供高質量的、可互操作的、基于密碼學安全性的協議。IPSec通過使用鑒別頭(AH)和封裝安全載荷(ESP)兩種安全協議,以及密鑰交換協議來實現這些目標。

    AH協議提供數據源鑒別、數據完整性以及抗重放服務。ESP協議提供數據保密性、數據源鑒別、數據完整性以及抗重放服務。對于AH和ESP,都有傳輸和隧道兩種封裝模式。密鑰交換協議用于協商AH和ESP協議所使用的密碼算法和密鑰。

    IPSec允許系統或網絡的用戶和管理員控制安全服務提供的服務范圍。例如,一個組織的安全策略可能規定來自特定子網的數據流應該使用AH和ESP保護,并使用SM4分組密碼算法加密。另一方面,策略可能規定來自另一個站點的數據流應該只用ESP保護,并使用SM4分組密碼算法加密。通過使用安全關聯(SA),IPSec能夠區分不同的數據流,并提供相應的安全服務。

    A.2 安全關聯及安全關聯數據庫

    A.2.1 概述

    安全關聯(SA)是IPSec VPN的基礎。AH和ESP都使用了安全關聯,而且密鑰交換協議的一個主要功能就是建立和維護安全關聯。所有AH和ESP的實現都應支持安全關聯。下面分別描述了安全關聯管理的各個方面,定義了安全關聯策略管理、通信處理、安全關聯管理技術所需的特性。

    A.2.2 定義和范圍

    一個安全關聯為一個方向上傳輸的數據流提供AH或ESP協議的一種安全服務。如果AH和ESP同時被用于保護一個數據流,那么應該創建多個SA來提供對數據流的保護。為了保護兩臺主機之間或兩個安全網關之的雙向通信,需要兩個安全關聯,每個方向一個。安全關聯由三元組唯一標識,該三元組包括安全參數索引(SPI)、目的IP地址(單播地址)和安全協議(AH或ESP)標識符。

    SA有傳輸和隧道兩種模式。傳輸模式SA是兩臺主機間的一個安全關聯。在IPv4環境中,一個傳輸模式安全協議頭緊接在IP頭和任意選項之后,且在任何更高層協議之前(例如TCP或UDP)。在IPv6環境中,安全協議頭出現在基本IP頭和擴展之后,但可能出現在目的地選項之前或之后,并在更高層協議之前。在ESP的情況下,一個傳輸模式SA僅為那些更高層協議提供安全服務,而并不為ESP頭之前的IP頭或任意擴展頭提供服務。在AH情況下,這種保護也被擴展到IP頭的可選部分、擴展頭的可選部分和可選項(包含在IPv4頭、IPv6逐跳擴展頭、或IPv6目的擴展頭中)。

    隧道模式SA是運用于一個IP隧道的SA,只要一個安全關聯的任意一端是一個安全網關,SA就應是隧道模式。這里有一個指定了IPSec處理目的地的“外部”IP頭,加上一個指定了報文最終目的地的內部IP頭。安全協議頭出現在外部IP頭之后和內部IP頭之前。如果在隧道模式中使用AH,部分外部IP頭將受到保護,同樣所有隧道里的IP報文也受到保護。如果使用ESP,則僅對隧道里的報文給予保護,而不保護外部頭。

    A.2.3 安全關聯的功能

    一個SA所提供的安全服務集依賴于所選擇的安全協議、SA模式、SA端點和對協議范圍內可選服務的選擇。

    ESP為數據流提供加密服務,同時也提供鑒別服務。ESP所提供的鑒別范圍比AH所提供的要窄,即ESP頭“外面”的IP頭不受保護。

    如果使用ESP,則兩個安全網關之間的ESP(隧道模式)SA能提供數據流保密。隧道模式的使用允許內部IP頭被加密,也就隱藏了通信源和目的地的標識。而且,也可以使用ESP載荷填充來隱藏報文的大小,進一步隱藏通信的外部特性。保護范圍較小的SA比保護范圍更大的SA更容易受到流量分析的攻擊。

    A.2.4 安全關聯的組合

    當單一的SA不能滿足有更高安全要求的數據流時,需要采用多個SA的組合來實現必要的安全策略,這個組合稱為“安全關聯束”或“SA束”。安全關聯可以通過兩種方式組合成束:傳輸鄰接和迭代隧道。傳輸鄰接指的是對同一個IP數據包使用多于一個傳輸模式的安全協議。這種聯合AH和ESP的方法只允許一級的聯合,更多的嵌套并不能產生更多的好處。迭代隧道指的是通過IP隧道實現的安全協議的多層次應用。這種方法允許多重嵌套。

    這兩種方式也可以再組合,例如,一個SA束可以由一個隧道模式SA和一個或兩個傳輸模式SAs依次應用而構成。迭代隧道也能發生在任何隧道源或目的端點都不相同的地方。

    A.3 安全關聯數據庫

    A.3.1 概述

    在IPSec VPN實現中,處理IP通信的大量細節主要是一個本地事情,本標準并不做細節上的規定。但是本標準規定了一套SPD元素集標準,以保證實現的可操作性和最低限度的管理能力,這對于保證使用本標準的IPSec VPN設備之間的互通是必須的。下面描述了處理IP數據流的一個通用模式,該模式僅作參考,服從本標準的實現并不需要在細節上和這個模式相一致,但是應實現該模式所描述的所有功能。

    這一模型中有兩個名義上的數據庫:安全策略數據庫和安全關聯數據庫。前者定義策略,這些策略決定所有IPSec實現入站和出站的IP通信的處理 。后者包括和每一個安全關聯有關的參數。本節定義了選擇符、IP集和高層協議域值的概念,策略數據庫通過使用這些值來把通信映射到一個策略,也就是一個SA或SA束。因為用作選擇符的許多字段具有方向性,所以每一個激活了IPSec的接口要求名義上分開入站和出站數據庫。

    A.3.2 安全策略數據庫

    安全策略數據庫(SPD)定義了哪些服務以何種方式提供給IP數據包。本標準并不強制規定安全策略數據庫以及其接口的實現方式。但是,任何服從本標準的實現應提供本節描述的最小管理功能,以保證系統管理員能正確配置IPSec策略。

    對于實現了IPSec的設備上,所有的數據包處理過程中都應查閱SPD。因此,SPD要求對于入站和出站數據包要有不同的入口。另外,對于每個激活了IPSec的接口,應提供一個名義上獨立的SPD,它應區分受IPSec保護的數據包和允許繞過IPSec的數據包。對于任何出站或入站的數據包,這里有三種可能的處理選擇:丟棄、繞過IPSec或使用IPSec處理。第一種選擇是指根本不允許數據包離開主機、穿過VPN網關。第二種選擇指的是允許數據包通過但不受IPSec保護。第三種選擇指對數據包使用IPSec保護,在這種情況下,SPD應指出對數據流提供的安全服務、采用的協議、使用的算法等。

    對于IPSec實現,應要有一個管理接口,該接口允許用戶或系統管理員管理SPD。管理接口應允許用戶定義進入或離開系統的數據流的處理方法。SPD的管理接口應允許創建與5.2.4.7節定義的選擇符一致的入口,并且應支持這些入口的排序。

    SPD包括一個有序的策略入口列表。策略入口由一個或多個選擇符標識,這些選擇符定義了哪些數據流應該應用該策略。每個入口包括一個標識,該標識指出匹配這一策略的通信是否允許繞過、丟棄、或進行IPSec處理。如果需要進行IPSec處理,則入口應包括一個SA或SA束的詳細說明,其列舉了IPSec的協議、模式、和使用的算法,以及是否需要嵌套使用SA。策略入口還應規定如何從SPD和報文中的值衍生得到一個新的安全關聯數據庫入口值,可以有:

    a. 使用報文自身擁有的值;

    b. 使用和策略入口相關的值兩種選擇。

    如果策略入口相關的值是個單值,則(a)和(b)沒什么區別。但是,如果選擇符的允許值是一個范圍(對IP地址)或通配符時,那么在一個范圍的情況下(b)將激活對任何在該選擇符范圍值之內擁有一個選擇符值的報文使用這個SA,而不僅僅是帶有觸發創建SA的選擇符值的報文。在通配符的情況下,(b)允許對有該選擇符任何值的報文使用這個SA。

    SPD入口應被排序,并且總以相同順序進行搜索,因此第一個相匹配的入口始終都會被選擇。當一個安全策略要求按照一定的順序,對數據流序應用多個SA時,SPD中的策略入口應規定如何使用這些SA的順序。

    A.3.3 選擇符

    SA或SA束可以是細致的或者是粗略的。例如,一對VPN網關之間的所有數據流可以基于單個SA來傳輸,也可以為每一對通訊主機指派一個SA,SA管理應支持下面的選擇符參數:

    00001●  目的IP地址(IPv4或IPv6):這可以是單個IP地址(單播)、一個地址范圍(包含高值和低值)、地址加掩碼、或一個通配符地址。注意這一選擇符同SA的<目的IP地址、IPSec協議、SPI>三元組中的“目的IP地址”字段有概念上的不同。當一個封裝在隧道中的報文到達了隧道的終點時,它的SPI/目的地址/協議被用來在SAD中尋找這個報文的SA。這一目的地址來自于封裝的外部IP頭。

    00002●  源IP地址(IPv4或IPv6):這可以是一個單一IP單播地址、一個地址范圍(包含高值和低值)、地址加掩碼、或一個通配符地址。

    00003●  名字(Name):域名字符串如:foo.bar.com或者用戶名字符串如:mozart@foo.bar.com

    00004●  傳輸層協議:是從IPv4的“協議”或者IPv6的“下一個頭”字段得到的。其可以是一個單獨的協議號。

    00005●  源和目的(如TCP/IP)端口:這些可能是特殊的UDP/TCP端口值或是一個通配的端口。注意,在收到一個具有ESP頭的報文的情況下可以不能得到源端口和目的端口,因此,應該支持一個“不透明的”的值。

    A.3.4 安全關聯數據庫

    每個IPSec實現都有一個名義上的安全關聯數據庫(SAD),它的每個入口都定義了與一個SA相關的參數。每個SA在SAD中都有一個入口,對于出站處理,SAD入口可以從SPD的入口得到。如果一個SPD入口現在沒有指向一個適合該報文的SA,實現就應為該SPD入口創建一個適當的SA或SA束,并把SPD入口和該SAD入口關聯到一起。對于入站處理,SAD中的每個入口根據一個目的IP地址、IPSec協議類型、和SPI進行索引。對于入站處理,下面的報文字段用于在SAD查找SA:

    00006●  外部頭中的目的IP地址:IPv4或IPv6目的地址。

    00007●  IPSec協議:AH或ESP,用作一個在這個數據庫中查找SA的索引。

    00008●  SPI:4字節的值,用于區別有相同的目的地和相同的IPSec協議不同的SA。

    對于每個選擇符,SAD中的SA入口應包含一個或多個在創建SA時協商的值。對于發送者,這些值用于決定哪個SA應該被使用,對于響應方,這些值用于核對入站報文中的選擇符值是否與SA的選擇符值是否相匹配。下面的SA字段用在進行IPSec的處理中。

    00009●  序列號計數器:用于產生AH或ESP頭中的序列號。

    00010●  序列號計數器溢出標志:用于指示序列號計數器的溢出是否應該產生一個日志記錄,并且阻止用該SA繼續傳輸報文。

    00011●  抗重放窗口:包括一個計數器和一個檢測窗口,用于判斷一個入站AH或ESP報文是否是一個重放報文。

    00012●  AH鑒別算法和密鑰。

    00013●  ESP加密算法、密鑰、IV模式和IV。

    00014●  ESP鑒別算法和密鑰,如果不選擇鑒別服務,該字段為空。

    00015●  安全關聯生存期:可使用秒或千字節作為單位。

    00016●  IPSec協議模式:隧道模式或者傳輸模式。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类