周莉 譚方勇 許璐蕾 張燕
蘇州市職業(yè)大學計算機工程系 江蘇 215104
安全性是互聯(lián)網(wǎng)發(fā)展的重要前提。1998年 2月,IETF發(fā)布了IP安全協(xié)議,通常被稱為IPsec。這是一套協(xié)議在網(wǎng)絡(luò)層,為IPv4和IPv6提供數(shù)據(jù)源認證,數(shù)據(jù)完整性和數(shù)據(jù)保密。作為一個可擴展的網(wǎng)絡(luò)安全集,IPsec的支持和越來越廣泛的采用。IPsec安全體系結(jié)構(gòu)包括四個部分:
(1) 安全協(xié)議:身份驗證頭(AH)用于為IP數(shù)據(jù)報提供無連接的完整性,數(shù)據(jù)源認證。 ESP提供機密性,數(shù)據(jù)源認證,無連接的完整性,網(wǎng)絡(luò)層的保密性和有限的流量保密。 AH和ESP都支持兩種使用模式:傳輸模式和隧道模式。在傳輸模式下的協(xié)議主要為上層協(xié)議提供保護,在隧道模式下,該協(xié)議適用于隧道IP數(shù)據(jù)包。
(2) 安全關(guān)聯(lián)和安全策略。安全關(guān)聯(lián)(SA)是一個單純的“連接”,能應用AH或ESP提供單向的安全服務,如果同時使用AH和ESP保護被施加到的交通流,則需要創(chuàng)建兩個(或更多)的SA。為了確保典型,在兩臺主機之間的雙向通信,或在兩個安全網(wǎng)關(guān)之間,兩個安全關(guān)聯(lián)(每個方向一個)是必需的。安全策略針對多個通信參數(shù)(如IP地址、端口號、協(xié)議等),定義特定的網(wǎng)絡(luò)流量具體應用的網(wǎng)絡(luò)安全服務。
(3) 密碼交互協(xié)議。Internet密鑰交換(IKE)是一個重要的IPsec協(xié)議。它的目的是進行協(xié)商,并提供安全協(xié)會認證的密鑰材料在受保護的方式。目前協(xié)議的版本為IKEv2,其定義了更高效的密鑰交換類型,鍵,更安全的驗證和加密機制,新方法的產(chǎn)生。
(4) 安全算法。IPsec指定算法包括 HMAC-MD5-96、HMAC-SHA-96、DES-CBC密碼算法等多少算法。
Linux2.6內(nèi)核提供了全新的對IPSec 的支持機構(gòu)。Linux 2.6內(nèi)核中的 IPSec支持機構(gòu)主要包括:內(nèi)核網(wǎng)絡(luò)協(xié)議棧中IPSec 處理的/無縫接入0,AH 協(xié)議、ESP 協(xié)議的處理,IPSec重要組件安全關(guān)聯(lián)SA 和安全策略SP 的數(shù)據(jù)結(jié)構(gòu)及相關(guān)訪問算法,安全關(guān)聯(lián)數(shù)據(jù)庫SAD和安全策略數(shù)據(jù)庫SPD的構(gòu)建和訪問, IPSec 加密算法函數(shù)庫的支持, 基于 Netlink 套接字的內(nèi)核態(tài)與用戶態(tài)的通信支持, 以及內(nèi)核IPSec 的管理等。
VPN安全網(wǎng)關(guān)分為用戶控制臺模塊和內(nèi)核空間模塊和。如圖1所示。
圖1 系統(tǒng)總體設(shè)計
安全網(wǎng)關(guān)管理控制臺為管理員提供一個管理配置接口。VPN管理員通過控制臺可以開啟或關(guān)閉安全網(wǎng)關(guān)功能,并且在安全網(wǎng)關(guān)開啟情況下,可以通過管理控制臺手工建立安全通道,配置安全策略、安全關(guān)聯(lián)等安全通信參數(shù)。
安全網(wǎng)關(guān)與內(nèi)核交互模塊是一個通信中樞,負責連接用戶空間進程與內(nèi)核空間IPSec部分,主要進行兩方面工作:
(1) 接收用戶空間進程主動發(fā)起的消息,包括管理控制臺和IKE守護進程發(fā)送的請求,將用戶進程的請求封裝成內(nèi)核IPSec管理可接受的消息格式,發(fā)送給內(nèi)核,最后監(jiān)聽內(nèi)核處理的結(jié)果;
(2) 監(jiān)聽內(nèi)核主動發(fā)起的消息,包括:要求建立SA請求、SA生存期超期通知、安全策略生存期超期通知。
內(nèi)核IPSec管理部分也包含由內(nèi)核提供的內(nèi)核IPSec與用戶空間交互的通信接口,該部分接收用戶空間消息,調(diào)用內(nèi)核中提供的相應的函數(shù),完成具體操作。
安全關(guān)聯(lián)數(shù)據(jù)庫 SAD中包含了所有用于保護通信的安全關(guān)聯(lián),安全策略數(shù)據(jù)庫 SPD中包含了所有使用的策略條目。所有入站和出站信包經(jīng)過IP層,接受IPSec處理時都要查詢SAD和SPD,來采取相應的處理措施。
IPSec處理對外出數(shù)據(jù)提供加密和完整性保護,對接收的和數(shù)據(jù)進行解密和完整性檢驗,真正實現(xiàn)安全網(wǎng)關(guān)安全保障功能,這部分功能內(nèi)核提供。內(nèi)核加密算法庫為IPSec提供各種加密操作所需的函數(shù)。
模擬Internet環(huán)境下的IPSec VPN安全網(wǎng)關(guān)的應用,進行了測試,測試拓撲結(jié)構(gòu)如圖2所示。
圖2 實驗拓撲圖
兩臺計算機各裝兩塊網(wǎng)卡配置為 VPN安全網(wǎng)關(guān),由位于兩個 VPN安全網(wǎng)關(guān)之后的兩臺計算機作為客戶端,模擬子網(wǎng)。
實驗拓撲環(huán)境下的配置參數(shù)如下:
(1) 位于 VPN安全網(wǎng)關(guān) 1后的子網(wǎng)主機 1IP地址為192.168.100.2;
(2) VPN安全網(wǎng)關(guān) 1,雙網(wǎng)卡,連接子網(wǎng)的 IP地址為192.168.100.1,連接外網(wǎng)的IP地址為210.29.174.138;
(3) VPN 安全網(wǎng)關(guān)2,雙網(wǎng)卡,連接外網(wǎng)的網(wǎng)卡IP地址為210.29.174.159,連接VPN SGW2保護子網(wǎng)的網(wǎng)卡IP為10.1.1.1;
(4) 位于VPN 安全網(wǎng)關(guān)后的子網(wǎng)主機IP地址為10.1.1.2。
(1) 內(nèi)網(wǎng)(子網(wǎng)1)客戶機發(fā)出的信包
IP頭分析:總長度60,生存時間128,協(xié)議值1(ICMP),源地址192.168.100.2,目的地址10.1.1.2。
(2) VPN安全網(wǎng)關(guān)1處理的信包
外部IP頭:總長度104,生存時間127,協(xié)議值51(AH),源地址210.29.174.138,目的地址210.29.174.159;
AH頭:安全參數(shù)索引(SPI)00003000,序列號0000000c,驗證數(shù)據(jù)3298 b78c 39 ab 003217 a66b 82。
(3) VPN安全網(wǎng)關(guān)2接收到信包
外部IP頭:總長度104,生存時間127,協(xié)議值51(AH),源地址210.29.174.138,目的地址210.29.174.159;
AH頭:安全參數(shù)索引(SPI)00003000,序列號0000000c,驗證數(shù)據(jù)3298 b78c 39 ab 003217 a66b 82。
(4) 內(nèi)網(wǎng)(子網(wǎng)2)客戶機接收到的信包
IP頭分析:總長度60,生存時間126,協(xié)議值ICMP(1),源地址192.168.100.2,目的地址:10.1.1.2。
(1) 內(nèi)網(wǎng)(子網(wǎng)1)客戶機發(fā)出的信包
IP頭分析:總長度60,生存時間128,協(xié)議值1(ICMP),源地址192.168.100.2,目的地址10.1.1.2;
(2) VPN安全網(wǎng)關(guān)1處理的信包
外部IP頭:總長度112,生存時間127,協(xié)議值50(ESP),源地址210.29.174.13,目的地址210.29.174.159;
ESP頭:安全參數(shù)索引(SPI)00002000序列號00000005,初始化向量3c 36555e 6c cd ab 73。
(3) VPN安全網(wǎng)關(guān)2處理的信包
外部IP頭:總長度112,生存時間127,協(xié)議值50(ESP),源地址210.29.174.138,目的地址:210.29.174.159;
ESP頭:安全參數(shù)索引(SPI)00002000,序列號:00000005,初始化向量3c 36555e 6c cd ab 73。
(4) 內(nèi)網(wǎng)(子網(wǎng)2)客戶機接收到的信包
IP頭分析:總長度60,生存時間128,協(xié)議值ICMP,源地址192.168.100.2,目的地址10.1.1.2;
本文所設(shè)計的 VPN管理控制臺可以很好地接收用戶命令,并實現(xiàn)對命令的轉(zhuǎn)發(fā);VPN內(nèi)核消息處理模塊,可以快捷、正確地和內(nèi)核交互消息,最終實現(xiàn)對IPSec VPN的配置管理工作,對基于Linux 2.6內(nèi)核IPSec VPN安全網(wǎng)關(guān)的設(shè)計是成功的。
[1](美)Naganand Doraswarmy,DanHarkins.IPSec新一代因特網(wǎng)安全標準.機械工業(yè)出版社.2000.
[2]Adolfo Rodriguez,John Gatrell.TCP/IP權(quán)威教程(第七版).清華大學出版社.2002.
[3]王作芬,王芙蓉,黃本雄.虛擬專用網(wǎng)中 IPsec隧道技術(shù)的研究與實現(xiàn).計算機工程.2001.
[4]戴宗坤,唐三平.VPN與網(wǎng)絡(luò)安全.電子工業(yè)出版社.2002.
[5][美]Carlton R.Davis.IPSec:VPN的安全實施.清華大學出版社.2002.