李治國 劉義武 戚曉晶
(92124部隊(duì),遼寧 大連 116023)
IPsec是以IP包為單位對信息進(jìn)行暗號化的方式,來對傳輸途中的信息包進(jìn)行加密或者防止遭到篡改的一種協(xié)議,是保護(hù)IP協(xié)議安全通信的標(biāo)準(zhǔn),它主要對IP協(xié)議分組進(jìn)行加密和認(rèn)證。IPSec協(xié)議給出了應(yīng)用于IP層上網(wǎng)絡(luò)數(shù)據(jù)安全的一整套體系結(jié)構(gòu),包括網(wǎng)絡(luò)認(rèn)證協(xié)議、封裝安全載荷協(xié)議、密鑰管理協(xié)議和用于網(wǎng)絡(luò)認(rèn)證及加密的一些算法等。IPSec規(guī)定了如何在對等層之間選擇安全協(xié)議、確定安全算法和密鑰交換,向上提供了訪問控制、數(shù)據(jù)源認(rèn)證、數(shù)據(jù)加密等網(wǎng)絡(luò)安全服務(wù)。
IPSec在IP層上對數(shù)據(jù)包進(jìn)行安全處理,提供數(shù)據(jù)源的驗(yàn)證,數(shù)據(jù)完整性,數(shù)據(jù)機(jī)密性,抗重放等安全服務(wù)。各種應(yīng)用程序可以享用IP層提供的安全服務(wù)和密鑰管理,而不必設(shè)計(jì)和實(shí)現(xiàn)自己的安全機(jī)制,因而大大減少了密鑰協(xié)商的開銷,也降低了生長安全漏洞的可能性。
IPSec定義了IP層使用的安全服務(wù),它面向IP層以上的數(shù)據(jù)保護(hù),主要有以下的安全目標(biāo):
1.1.1 身份驗(yàn)證:能夠可靠的確定接收到的數(shù)據(jù)與發(fā)送的數(shù)據(jù)一致,并且確保發(fā)送該數(shù)據(jù)的實(shí)體與其所宣稱的身份一致。
1.1.2 完整性:能夠可靠的確定數(shù)據(jù)在從源到目的地傳送的過程中沒有被修改。
1.1.3 機(jī)密性:確保數(shù)據(jù)只能為預(yù)期的接收者使用,而不能為其他任務(wù)實(shí)體使用或者讀出。
1.1.4 對包重放攻擊的防范。重放攻擊是指攻擊者發(fā)送一個目的主機(jī)已接收過的包,通過占用接收系統(tǒng)的資源,這種攻擊使系統(tǒng)的可用性受到損害,作為無連接協(xié)議,IP很容易受到重放攻擊的威脅。
IPSec建立在兩個基本概念之上:
1.2.1 安全協(xié)議
安全協(xié)議提供了下列服務(wù):原始認(rèn)證、無連接完整性、加密、反重放,并通過使用兩種報頭來實(shí)現(xiàn)這些服務(wù):認(rèn)證報頭(AH)和封裝安全荷載(ESP)。它們用于隧道模式或傳輸模式。隧道模式封裝整個IP報文,而傳輸模式只封裝上層信息。在路由器中,IP報頭中的部分是不會變化的,比如,源和目的IP地址在隧道模式中,AH認(rèn)證數(shù)據(jù)是基于整個原始IP報文的內(nèi)容計(jì)算的,新IP頭中的選定部分在整個路由器中不發(fā)生變化。當(dāng)報文路由時,發(fā)生變化的IP報頭并不用來計(jì)算認(rèn)證數(shù)據(jù)。
1.2.2 密鑰管理
密鑰協(xié)商時發(fā)生在兩個進(jìn)行IPSec通信的路由器之間。密鑰協(xié)商線程通過IKE協(xié)議,定期的在不安全的網(wǎng)絡(luò)上實(shí)現(xiàn)安全的密鑰交換。密鑰管理模塊的工作就是:密鑰的產(chǎn)生、銷毀和密鑰協(xié)商過程,它的焦點(diǎn)在于如何在非安全的網(wǎng)絡(luò)上交換IPSec算法使用的秘密密鑰,諸如認(rèn)證數(shù)據(jù)的MAC算法和產(chǎn)生荷載數(shù)據(jù)的ESP加密密鑰等。我們可以采用手工的方式或者自動的過程來通知IPSec設(shè)備它們的密鑰。手工方式需要為每臺IPSec主機(jī)配置每一條SA所需的密鑰,因而很少使用。自動過程則使用名為IKE的密鑰管理協(xié)議。IKE充分考慮了IPSec使用的所有算法交換密鑰的復(fù)雜性,通過將密鑰管理函數(shù)替代普通的密鑰管理協(xié)議簡化了將新算法添加進(jìn)IPSec協(xié)議套的過程,實(shí)現(xiàn)了在非安全網(wǎng)絡(luò)上安全的交換秘密密鑰。
在理解了IPSec的基本概念和原則之后,在路由器上配置IPSec的只需要兩個基本步驟:
第一步是在每個IPSec對等端上建立一個ISAKMP的策略,它定義了與每個IPSec對等端協(xié)商的參數(shù)。ISAKMP策略的參數(shù)有:
加密算法DES,3DES;
Hash算法SHA,MD5;
認(rèn)證方式RSA數(shù)字簽名,RSA臨時預(yù)共享密鑰。
在配置完ISAKMP之后,配置IPSec需要以下步驟:
創(chuàng)建一個定義IPSec處理流量的訪問表;
創(chuàng)建一個定義用于所創(chuàng)建的訪問表上的安全策略的交換;
創(chuàng)建一個匹配訪問表和交換集的Crypto映射給IPSec對等端;
將Crypto映射應(yīng)用到具體的接口上。
本例中,有2個通過低速128Kbps鏈路和低端2600系列路由器連到Internet的結(jié)點(diǎn)。在這兩個結(jié)點(diǎn)之間建立使用標(biāo)準(zhǔn)加密的安全連接。并希望盡可能減少額外的工作。同時要求加密 telnet會話來保證他們的密鑰被安全地傳送,但同時又希望結(jié)點(diǎn)之間所有的流量被認(rèn)證。兩個路由器的以太口地址分別為172.50.1.0/24和150.100.1.0/24,串口地址段為205.15.1.0/24.拓?fù)浣Y(jié)構(gòu)如下:
Router A和B的配置:
根據(jù)需求,采用IPSec完全能滿足加密需求。首先,定義一個ISAKMP密鑰交換策略,它會定義允許ISAKMP與每一對等路由器協(xié)商密鑰交換的參數(shù),這些參數(shù)在路由器上匹配。然后定義每一IPSec對等端使用的共享密鑰,這里使用itsasecret,它在每個IPSec路由器上都是相同的。然后定義IPSec用來創(chuàng)建一個或多個交換集的算法。設(shè)置用于分類使用不同變換集流量的訪問表。本例中創(chuàng)建了101和102兩條訪問表來匹配網(wǎng)段之間的流量。在設(shè)置完訪問表之后,創(chuàng)建一個crypto map,并應(yīng)用到對應(yīng)的路由器接口上,完成整個路由器的數(shù)據(jù)加密配置過程。
作為網(wǎng)絡(luò)基本節(jié)點(diǎn)的路由器,使用安全協(xié)議為周邊的數(shù)據(jù)通信提供強(qiáng)大的安全保障是IP網(wǎng)絡(luò)的發(fā)展趨勢,而IPSec協(xié)議經(jīng)過實(shí)踐證明是IP安全協(xié)議中最為成熟和可靠的,在路由器中集中IPSec協(xié)議已成為重要的部分。
[1]merike kaeo.瀟湘工作室譯.網(wǎng)絡(luò)安全性設(shè)計(jì)[M].北京:人民郵電出版社,2000.
[2]謝希仁,鳴,張興元.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2003.
[3]楊義先,鈕心忻,李名選.網(wǎng)絡(luò)信息安全與保密[M].北京人民郵電出版社,2001.