摘 要:IPSec是基于IP層實現的網絡安全標準,在實際虛擬專用網中得到了廣泛的應用,例如通過公網實現私有的安全通信。從體系結構的相關組成部分及相互關系、工作過程中各組成元素之間的相互協作以及數據的輸入及輸出處理、實施及配置過程中的要點三方面對IPSec進行了深入研究分析,為靈活運用IPSec VPN奠定了基礎。
關鍵詞:IPSec;安全關聯;安全關聯數據庫;安全策略數據庫;AH協議;ESP協議;因特網密鑰交換
中圖分類號:TP311文獻標識碼:A
文章編號:1004-373X(2010)01-081-03
Study on IPSec VPN Mechanism
LI Deshui
(Weinan Teachers University,Weinan,714000,China)
Abstract:IPSec(IP Security) is the network security standard based on IP layer,it is widely used in VPN and the private communication is realized by networks.In this paper,the components of architecture and their relations,interactions and the process of input and output data,the key points of implementation and configuration are studied in a deepgoing way,the foundation for IPSec VPN in a flexible way is given.
Keywords:IPSec;security association;security association database;security policy database;AH protocol;ESP protocol;Internet key exchange
IPSec是IETF于1998年11月頒布的IP層安全標準,其目標是為IPv和 IPv6提供較強的互操作能力、高質量的基于密碼技術的信息傳輸安全體系結構,可以用來實現公司在Internet上或是公共WAN上建立安全的虛擬專用網、保護Internet 上的遠程訪問、與合作伙伴之間建立安全的外部網和內部網連接等,實現了網絡數據機密性、數據完整性、數據源認證、反重放等安全通信。企業構建自己的專用網發展非常迅速,VPN技術得到了廣泛的應用,靈活掌握VPN技術已是網絡工程師的基本功。
1 IPSec體系結構
IPSec是一個關于開放標準的框架,體系結構可分為八個部分,如圖1所示。
安全體系結構概述 包含了一般的概念、定義、安全需求和定義了IPSec技術的機制;
ESP(Encapsluating Security Payload,封裝安全載荷)協議 定義了有關包加密(可選身份驗證)及包格式和提供的服務;
AH(Authentication Header,身份驗證報頭)協議 包含使用 AH進行報身份驗證、包格式及提供的服務;
加密算法 描述各種加密算法如何用于ESP,如 DES、3DES 等;
圖1 IPSec 體系結構
認證算法 描述各種身份驗證算法,如何用于AH和ESP中,如MAC-MD5,HMAC-SHA-1等;
密鑰管理協議 用于通信實體之間密鑰的生成、分發、更新等管理,如IKE(Internet Key Exchange,英特網密鑰交換),自動建立加密、認證的安全信道,密鑰的自動安全分發和更新;
DOI(Domain of Interpretation,解釋域) 用于存放密鑰管理協議協商的參數,比如加密及認證算法的標識符、運作參數等;
安全策略 用于決定兩個通信實體之間如何通信,核心由三個部分組成:SA(Security Association,安全關聯),SAD(Security Association Database,安全關聯數據庫),SPD(Security Policy Database,安全策略數據庫)。
2 IPSec的工作原理
IPSec是通過SPD 安全策略數據庫,英特網密鑰交換協議 IKE、IPSec通信協議AH 和 ESP相互協作來實現數據的安全通信。
安全關聯SA 是構成IPSec的基礎,SA是兩個通信實體經過協商建立起來的一種通信協定,他們決定了用來保護數據安全的IPSec協議、工作模式、加密認證算法及密鑰、 生存期、 抗重播窗口、 計數器等。SA是單向的,因此外出和進入處理需要不同的SA。SA還與協議相關,每一種協議都有一個SA。
安全關聯庫SAD,維護了IPSec協議用來保障數據保安全的SA記錄。每個SA都在SAD中有一條記錄相對應。由SPI(安全參數索引)、對等體目標IP地址和IPSec協議三者惟一確定。
安全策略數據庫(SPD)中的每一個元組是一條策略,策略是指應用于數據包的安全服務以及如何對數據包進行處理,是人機之間的安全接口,包括策略定義、表示、管理以及策略與IPSec系統各組件間的交互。它說明了對那些IP數據報提供何種保護,并以何種方式實施保護。SPD中策略項的建立和維護應通過協商,而且對于進入和外出處理都應該有自己的策略庫。SAD的記錄用目的IP地址、IPSec協議類型和SPI(Security Parameters Index,安全參數索引)三個參數惟一標識。對于進入或外出的每一份數據報,都可能有三種處理:丟棄、 繞過或應用IPSec。SPD提供了便于用戶或系統管理員進行維護的管理接口,可允許主機中的應用程序選擇IPSec安全處理。
因特網密鑰交換(IKE)是IPSec最為重要的部分,在用IPSec保護一個IP包之前,必須先建立一個SA。IKE用于動態建立SA,它代表IPSec對SA進行協商,并對SAD數據庫進行填充、更新管理。
IPSec的工作原理如圖2所示。
圖2 IPSec工作原理(IPSec集成于操作系統中的情況)
數據包輸出處理過程:
(1) 主機(路由器、防火墻)向通信對等體發送消息,經過應用層協議、傳輸層、IP層處理形成IP數據包;
(2) IPSec驅動接受到IP包后,檢查SPD(IPSec集成于操作系統中的情況)數據庫,查看數據包是否需要保護以及需要受何種保護;
(3) 如需IPSec處理,則通過指針在SAD數據庫中找到SA(或SA束);如為空,則通知IKE進程開始與對方進行安全協商,得到SA,并填充到SAD中,與SPD數據庫關聯,以便以后查找;
(4) IPSec驅動程序使用出站SA對數據包進行簽名(完整性檢查)與加密處理,并將數據包遞交給IP層處理后交給鏈路層發出;
數據包輸入處理過程:
(1) 主機(路由器、防火墻)網絡適配器驅動程序收到數據包后交給IPSec驅動程序;
(2) IPSec驅動程序取出SPI,目標IP地址,判斷出IPSec通信協議的類型(AH/ESP),進一步查找SAD數據庫,找到相應入站SA(或SA束),并依據SA檢查完整性簽名或者對數據包解密;
(3) 根據驗證和解密后數據報文的內部IP地址查詢安全策略數據庫SPD,如果安全服務與SPD項相符,將外部IP頭連同IPSec頭一起剝去,交與IP層處理。
(4) 將數據包提交給TCP驅動程序處理,最后交與應用程序處理。
以上就是IPSec的整個工作過程,比較復雜,但對用戶來說是透明的,如果是路由器或防火墻,則根據路由表或規則進行IP包的轉發,確保IPSec和IKE數據流不會遭拒絕。
3 IPSec的實施與配置
IPSec可在終端主機、路由器、防火墻中進行實施和配置。在主機實施中有兩種方式:一是與操作系統集成,即將IPSec插入IP層;二是將IPSec插入IP層與數據鏈路層之間,稱為堆棧中的塊。主機實施實現了端到端的安全性,也可實現IPSec的傳輸模式和隧道模式。
路由器、防火墻(網關)也有兩種實施方式:一是將IPSec集成到路由器的IOS中;二是單獨將IPSec在一個硬件設備中實現,并將該設備直接接入路由器的物理接口,稱為線纜中的塊。路由器、防火墻中實施可以通過公用網絡,對兩個子網間的通信提供安全保護。
Windows Server 2003(Windows XP)主機中是通過對配置IPSec策略來實現IPSec功能的。將IPSec功能集成到了操作系統中,用戶可以通過GUI(圖形用戶界面)的“本地安全設置/IP安全策略”和CLI(命令行)“Netsh Ipsec”兩種方式對IPSec策略進行配置,把提供安全服務的數據流類型、相應的操作(阻止、許可、協商安全)、IKE、IPSec通信協議類型、加密驗證算法、D-H組的長度、身份驗證方法等相關參數的配置等融合在一起,實現了SA、IKE、SPD相關參數的參數給定,再對策略的指派,實現了IKE自動協商、更新SA,建立SAD、SPD數據庫,并進行自動關聯,實現IP數據包在通信對等體之間的安全通信。
路由器、防火墻配置也是一樣,通過一些配置軟件通過圖形接口或者操作系統提供的命令對IKE SA、IPSec SA參數、保護數據流的設置,從而自動實現IPSec保護數據進行安全通信。
4 結 語
IPSec是一套在IP層保護數據私有性和完整性的標準協議,支持一系列加密算法如DES,3DES,IDEA;檢查傳輸數據包的完整性,確保數據沒有被修改,具有數據源認證功能;可以確保在TCP/IP協議上VPN之間的相互操作性。在實際應用中得到了大量應用,但比較復雜,只有深刻理解體系結構和工作機制之后,才能結合工作實際,靈活運用IPSec,使網絡通信得到安全保護。
參考文獻
[1]William Stallings.網絡安全要素——應用與標準[M].瀟湘工作室,譯.北京:人民郵電出版社,2000.
[2]祝曉光.網絡安全設備與技術[M].北京:清華大學出版社,2004.
[3]Kent S,Atkinson R.RFC2401 Security Architecture for the Internet Protocol [EB/OL].IETF.http://www.Ietf.Org/rfc/frc2401txt.
[4]Kent S,Atkinson R.RFC2406 IP Encapsulating Security Payload(ESP)[EB/OL].IETF,1998,11.http://www.ietf.org/html.charters/ipsec-charter.html.
[5]Kent S,Atkinson R.RFC2402 IP Authentication Header(AH)[EB/OL].IETF,1998-11.http://www.Ietforg/html.Charters/ipsec-charter.html.
[6]陳平.IPSec在路由器中的實現[J].微電腦應用,2005,21(5):48-50.
[7]陳堅,王閩.IPSec安全策略及實現[J].情報探索,2004,89(1):5-7.