在互聯(lián)網(wǎng)上的持續(xù)不斷的不安全推動(dòng)了IETF組織去開發(fā)統(tǒng)一的安全架構(gòu),能夠符合國家關(guān)于加密通信的使用的法律。本文是對(duì)IP安全架構(gòu)的規(guī)范和相關(guān)草案的一個(gè)簡(jiǎn)介。
一、前言
因特網(wǎng)技術(shù)的興起,互連技術(shù)的成長,使得大家愈來愈仰賴Internet這個(gè)應(yīng)用廣泛的公眾網(wǎng)絡(luò)。因此如何讓使用者透過因特網(wǎng)通訊,而不用擔(dān)心傳送的信息封包被截取、假冒,就顯得相當(dāng)重要。因?yàn)檫@些封包內(nèi)容可能有你的ID,信用卡號(hào)碼等重要的個(gè)人數(shù)據(jù)。
事實(shí)上,這幾年來因特網(wǎng)上的安全標(biāo)準(zhǔn)有很多。例如:RFC1508和1509所規(guī)定的GSSAPI(Generic Security Service Application Program Interface),Telnet,F(xiàn)TP和HTTP都可以使用;因特網(wǎng)工程小組(Internet Engineering Task Force; IETF)的PSRG小組所訂定的PEM標(biāo)準(zhǔn)可以達(dá)到E-mail的安全性,而網(wǎng)絡(luò)最著名的E-mail安全軟件則是P. Zimmermann的PGP(Pretty Good Privacy);其它如EIT的S-HTTP(Secure HTTP),Netscape的SSL(Secure Sockets Layer),Microsoft的PCT以及上面提及的GSSAPI均可建立HTTP的安全機(jī)制,Visa的SET(Secure Electronic Transfer)則能達(dá)到安全的電子商務(wù)(Electric Commerce)。這些不論是對(duì)話層(Session Layer)或應(yīng)用層(Application Layer)上的安全機(jī)制,使用者必須使用專屬的通訊協(xié)議,或特定廠商的產(chǎn)品。
所以會(huì)有這樣的問題,可以說都是TCP/IP惹的禍,IP標(biāo)頭中有來源(Source),目的(Destination)地址,裝載數(shù)據(jù)(Payload),而TCP只負(fù)責(zé)將信息切割成封包,若遺失封包TCP再重送,所以TCP/IP根本沒有安全性可言,使用一般Sniffing軟件工具,即可一目了然地看到這些信息。
為了確保在任何IP網(wǎng)絡(luò)上擁有安全的私密通信,也為了整合不同標(biāo)準(zhǔn)及不同廠商產(chǎn)品, IETF著手訂定了一套開放標(biāo)準(zhǔn)網(wǎng)絡(luò)安全協(xié)議IPSec (IP Security)。將密碼技術(shù)應(yīng)用在網(wǎng)絡(luò)層,以提供傳送、接收端做數(shù)據(jù)的認(rèn)證(Authentication)、完整性(Integrity)、存取控制(Access Control)、以及機(jī)密性(Confidentiality)等安全服務(wù)。高層的應(yīng)用協(xié)也可以直接或間接地使用這些安全服務(wù)。
IPSec是設(shè)計(jì)來達(dá)到網(wǎng)絡(luò)層中端對(duì)端安全通訊的第三層協(xié)議,它主要的架構(gòu)是IP認(rèn)證標(biāo)頭(Authentication Header; AH)以及IP封裝安全裝載(Encapsulating Security Payload; ESP)。IP AH提供數(shù)據(jù)的完整性和認(rèn)證,但不包括機(jī)密性,而IP ESP原則上只提供機(jī)密性,但也可在ESPHeader中訂定適當(dāng)?shù)乃惴澳J絹泶_保數(shù)據(jù)的完整性并認(rèn)證,IP AH和IP ESP可以分開使用或一起使用。完整的IPSec還應(yīng)包括IP AH和ESP中所使用金鑰的交換和管理,也就是安全群組(Security Assocication; SA)和密鑰管理IKE(Internet Key Exchange), IPSec架構(gòu)圖,其中DOI(Domain of interpretation)是為了讓其它協(xié)議可以使用ISAKMP而訂定的Framework,讓我們很清楚知道IPSec和IKE所扮演的角色。
本文的第二部份將介紹IP AH,第三部份的內(nèi)容是IP ESP,第四部份敘述安全群組SA的觀念,第五部份則是以一個(gè)實(shí)際的例子來說明IP AH和IP ESP實(shí)際運(yùn)作的情形,第六部份介紹SKIP及ISAKMP/Qakley兩個(gè)IETF所參考的金鑰管理協(xié)議。ISAKMP/Oakley較有彈性且能支持較多的協(xié)議,已被選為IPv6的IPSec金鑰管理協(xié)議。最后一部份則是以ISPec的角度來看它在VPN上的應(yīng)用,并整理列出目前VPN符合IPSec標(biāo)準(zhǔn)的商用產(chǎn)品。
雖然針對(duì)IP層的安全機(jī)制尚有其它的IP Tunneling技術(shù),例如基植于PPP而發(fā)展的PPIP(Point-to-Point Tunneling Protocol),這是由Microsoft和Ascend所共同提出,可支持IP/IPX/NetBEUI,支持的廠商則有Nortel,3COM。另外L2TP(Layer 2 Tunneling Protocol)則是融合了PPTP和Cisco的L2F(Layer 2 Forwarding),主要的廠商有Nortel和IBM。
本文主要介紹IFTF所制定的開放標(biāo)準(zhǔn)IPSec,因?yàn)樗苷喜煌腣PN系統(tǒng)而達(dá)到安全地網(wǎng)絡(luò)互連目的。 [Page]二、IP AH格式
IP AH提供認(rèn)證及裝載數(shù)據(jù)的完整性,但不含機(jī)密性。由于它不提供機(jī)密性,所以不受密碼組件有對(duì)外輸出的官方限制,故能橫跨不同的國家的因特網(wǎng)使用。
IP AH使用需要128位金鑰的MD5(Message Digest 5)計(jì)算出整個(gè)數(shù)據(jù)的雜湊函數(shù)值(注:此單向雜湊數(shù)也可使用SHA-1(Secure Hash Algorithm-1)),使得接收端(知道密鑰的人)也可以驗(yàn)證、計(jì)算是否使用相同的密鑰以檢查數(shù)據(jù)是否正確完整,若檢查不符則將此封包丟棄。依據(jù)IPSec規(guī)定,IPv6每部主機(jī)均應(yīng)能提供密鑰長度128位的MD5,而所有IPv4也應(yīng)宣告能支持此項(xiàng)AH功能。
IP AH的格式,其中每項(xiàng)字段的意義分別敘述如下:Next Header長度8個(gè)位,這個(gè)標(biāo)頭是定義AH后面數(shù)據(jù)的類型;數(shù)據(jù)長度字段也是8個(gè)位,它決定認(rèn)證數(shù)據(jù)域位的長度,另外還有16個(gè)保留位做未來之用。安全參數(shù)索引(Security Parameter Index;SPI)是長度32個(gè)位的虛擬隨機(jī)數(shù),決定安全群組SA的內(nèi)容,例如"0"是表示沒有SA,而1~255則是保留值。在SPI后面的是順序號(hào)碼字段(Sequence Number Field),加入這個(gè)號(hào)碼可防止重送攻擊(Replay Attack)。最后一個(gè)字段是認(rèn)證數(shù)據(jù)長度是可變的(32位的倍數(shù))。顯示了使用信息摘要函數(shù)MD5,它產(chǎn)生128位的雜湊函數(shù)值。從圖中也可看出對(duì)IPv4或IPv6而言。IP AH是在IP標(biāo)頭和TCP(或UDP)之間。
在IPSec中不管是IP AH或IP ESP,均有兩種不同的操作模式,隧道模式(Tunneling Mode)及傳送模式(Transport Mode)。還沒介紹IPAH兩種模式前,我們先來解釋最常使用的技術(shù) "隧道模式"的觀念,整個(gè)IP datagram被包在新的datagram中。分別為原始的IP datagram,AH傳送模式及AH隧道模式,對(duì)于AH隧道模式而言,最后它只是一個(gè)新的IP datagram而已。
三、IP ESP格式
IP ESP標(biāo)準(zhǔn)描述如何加密IP的裝載數(shù)據(jù)(Payload) ,加密的范圍可以是整個(gè)IPDatagram或者只是上層TCP,UDP,或ICMP數(shù)據(jù)(完全決定在使用隧道模式或傳送模式)。IP ESP所使用的保密技術(shù)是數(shù)據(jù)保密標(biāo)準(zhǔn)(Data Encryption Standard; DES)或是Triple-DES,模式則是加密區(qū)塊鏈(Cipher Block Chain ; CBC)。除了加密以外,IP ESP也能應(yīng)用在認(rèn)證,完整性,以及防止重送攻擊。
IP ESP的隧道模式及傳送模式各有其優(yōu)點(diǎn)。隧道模式可以在兩個(gè)Security Gateway間建立一個(gè)安全"隧道",經(jīng)由這兩個(gè)Gateway Proxy的傳送均在這個(gè)隧道中進(jìn)行。反觀傳送模式加密的部份較少,沒有額外的IP標(biāo)頭,故工作效率較佳。
這兩種模式的操作詳細(xì)說明如下:
1.傳送模式:
IP ESP的傳送模式,ESP標(biāo)頭直接加在欲傳送的數(shù)據(jù)前,這種模式可節(jié)省頻寬。因?yàn)镮P標(biāo)頭不需加密,所以不像隧道模式,一個(gè)封包中有兩個(gè)IP標(biāo)頭。
首先將IP裝載數(shù)據(jù)使用ESP封裝起來(ESP Header和ESP Trailer)。傳送端利用使用者ID和目的端地址以得到SA環(huán)境(下一節(jié)會(huì)加以介紹),然后用加密算法(DES或Triple-DES)加密傳送的數(shù)據(jù)。接收端收到ESP封裝的封包時(shí)直接處理IP標(biāo)題(因?yàn)闆]有加密),然后從ESP Header拿取SPI值以得到相對(duì)的SA,再利用SA的安全環(huán)境所訂的解密函數(shù)解出所加密的資料。
對(duì)傳送模式而言,解密的人就是目的地址端的使用者。但是針對(duì)Firewall, Gateway Proxy而言,使用隧道模式則較為合適,因?yàn)樗麄儾⒉皇窃嫉乃停斩恕?/span>
2.隧道模式
隧道模式可以簡(jiǎn)單地用一句話來說明"IP-in-IP"。首先使用SA的相關(guān)訊息將IP的封包加密(含IP標(biāo)頭),接下來在前面加上ESP Header。然后Prepend新的IP標(biāo)頭。接收端收到ESP封包后,使用ESP Header內(nèi)容中的SPI值決定SA,然后解出ESP Header后的裝載數(shù)據(jù),就可以取回原始的IP標(biāo)頭與封包,可以繼續(xù)地往下傳。
ESP Header及ESP Trailer的內(nèi)容,ESP Header包含了SPI值,啟始化向量IV,及順序號(hào)碼字段等,其中順序號(hào)碼可防止重送攻擊。
3.IP AH與IP ESP混合使用
IP AH與IP ESP可以獨(dú)立或分開使用。是先加密再認(rèn)證,數(shù)據(jù)認(rèn)證之前作加密。則是先認(rèn)證再加密,它的好處是對(duì)認(rèn)證數(shù)據(jù)也有加密,因此沒有人可以更動(dòng)認(rèn)證數(shù)據(jù)。
在介紹完下一節(jié)安全群組SA的觀念之后,我們將會(huì)以一個(gè)實(shí)際的例子來說明IPSec中IP Header ,IP AH, IP ESP, SPI等的操作情形。
第一代的IPSec版本于1995年提出(rfc 1825, rfc 1826, rfc 1827),它對(duì)金鑰的交換和管理并未定義,所強(qiáng)調(diào)的內(nèi)容是封包轉(zhuǎn)換的格式。但網(wǎng)絡(luò)安全規(guī)格近年來改革頻繁,目前最新的IPSec版本已于1998年提出(rfc 2401, rfc 2402, rfc 2406),增加自動(dòng)金鑰交換且更新了封包轉(zhuǎn)換的格式,使得IPSec架構(gòu)愈趨完整。 [Page]四、安全群組SA
在IPSec標(biāo)準(zhǔn)中最重要的項(xiàng)目就是SA,它定義了一個(gè)安全的"環(huán)境",這個(gè)環(huán)境的內(nèi)容包含了IP封包加密,解密,和認(rèn)證的相關(guān)訊息,敘述如下:
密碼功能:提供加密或認(rèn)證或兩者同時(shí)。
密碼算法:例如加/解密使用DES(或 Triple-DES)認(rèn)證使用MD5 (或SHA-1)。
密碼算法中所使用的金鑰,金鑰的生命周期等。
是否有啟始化向量。
SA的生命周期
SA可以使用安全參數(shù)索引SPI(32位)來描述,也就是一個(gè)SPI值決定一個(gè)特定的SA,而主機(jī)的IP地址與SPI則定義了唯一的SA。例如主機(jī)A可以通知主機(jī)B SPI值為1000,它所相對(duì)的SA環(huán)境,密碼功能為有只加密,用DES,金鑰為0x1234567890abcdef(長度64位,其中8個(gè)位為同位)。所以主機(jī)A就可以藉由SPI 1000的值來加密它的數(shù)據(jù),然后傳送到主機(jī)B。當(dāng)B收到封包后利用主機(jī)A和SPI的值就可以決定出SA而解密取回原始數(shù)據(jù)。
從上面的敘述可以發(fā)現(xiàn)SA是單向的(A B),但是對(duì)主機(jī)A與主機(jī)B這兩個(gè)要建立安全通訊的主機(jī)而言則需要兩個(gè)SA,每一方向一個(gè),(A B)和(B A)。
此外SA的使用有兩種鍵入方式,主機(jī)導(dǎo)向鍵入方式(Host-Oriented Keying)與使用者導(dǎo)向鍵入方或(User-Oriented Keying)。前者是不考慮使用者,從同一個(gè)系統(tǒng)所發(fā)出的封包,均使用相同的金鑰,而后者則是以使用者為考量,允許使用者有不同的金鑰。例如:同一使用者有多把金鑰用于不同的服務(wù),如FTP與Telnet使用不同的金鑰。
五、一個(gè)IPSec的實(shí)際例子
二~四節(jié)已介紹了IPSec的基本架構(gòu),IP AH, IP ESP, SA, SPI等。現(xiàn)在我們將這些全部放在一起以實(shí)際的例子來加以說明。
EXAMPLE:假設(shè)有一個(gè)主機(jī)yang.chtti.com.tw欲藉由IPSec安全機(jī)制將具有加密及認(rèn)證的TCP封包送到另一部主機(jī)yang.csie.ndhu.edu.tw。它希望它的gateway gatekeeper.chtti.com.tw能做加密,認(rèn)證的工作,而對(duì)方的gateway gw.csie.ndhu.edu.tw能解密這些封包并認(rèn)證,使用的SPI參數(shù)值假設(shè)是0x1234是指向大家事先同意的安全群組SA。
這個(gè)IPSec例子的說明示意圖,當(dāng)主機(jī)yang.chtti.com.tw所送的封包到它的gateway時(shí), gateway加密封包并加入ESP Header,然后加入AH和新的IP標(biāo)頭,其中以gateway的地址gatekeeper.chtti.com.tw當(dāng)作新的來源地址,并以gw.csie.ndhu.edu.tw當(dāng)作新的目的端地址,最后計(jì)算雜湊函數(shù)值并加在AH中。
CHECK POINT Firewall-1(CHEK POINT在Firewall市場(chǎng)占有率約44%)的例子,F(xiàn)irewall-1有很好的人機(jī)界面(GUI),從圖中可以清楚看出使用了AH和ESP,認(rèn)證用的單向雜湊函數(shù)為SHA-1,加密算法為DES,同時(shí)也可看到加密及認(rèn)證的金鑰,SPI的數(shù)值為0x1234。
由于安全群組SA可以是不同的,所以我們也可以在CHECK POINT Firewall-1中的Security Policy加入下面兩條規(guī)則(rule),如圖所示。因?yàn)槭褂玫腟PI值不一樣,從yang.chtti.com.tw到y(tǒng)ang.csie.ndhu.edu.tw的方向是使用SPI 0x1000,反方向則是使用SPI 0x2000,這兩臺(tái)主機(jī)彼此做FTP時(shí)使用的算法跟金鑰可以是不同的。
六、IPSce的金鑰管理方法
在IP AH和IP ESP中所用到的認(rèn)證與加密金鑰,如何交換與管理呢!一把金鑰是否一直使用呢!這些問題都尚末提及,這些問題對(duì)IPSec而言是非常重要的課題。
如果是幾臺(tái)主機(jī),可以用人工的方式來交換金鑰,例如打電話或E-mail,但是主機(jī)數(shù)目一多,或者是主機(jī)數(shù)據(jù)常更改,這時(shí)侯就需要一套安全且正式的協(xié)議來做這件事情了。
目前主要的金鑰管理協(xié)議的參考規(guī)范有:(1)SKIP(Simple Key-management for IP)(2)ISAKMP/Oakley(Internet Security Association Key Management Protocol /Oakley )。上述兩種方法都可應(yīng)用在IPv4與IPv6中,SKIP較為簡(jiǎn)單,而ISAKMP/Oakley則可以應(yīng)用于較多的協(xié)議。事實(shí)上,IP層的金鑰交換協(xié)議尚有Photuris和SKEME等。
1.SKIP:
SKIP是由Sun Microsystem所發(fā)展,目有三種版本:Sun, TIK,和ELVIS+SKIP。SKIP金鑰管理的觀念是階層式的金鑰管理,如圖所示。通訊的雙方真正共享的密鑰是Kij(這是利用Diffie Hellman的公開金鑰對(duì)而達(dá)到共享的)。為了安全的考量,公開金鑰應(yīng)至憑證管理中心(Certificate Authority;CA)申請(qǐng)憑證。因此IPSec的使用也需要每一國家的公開金鑰基礎(chǔ)建設(shè)(Public Key Infrastructure;PKI)來配合。
使用Kij推導(dǎo)而得Kijn=MD5(Kij/n),其中n是現(xiàn)在時(shí)間距離1995年1月1日零點(diǎn)的時(shí)數(shù),Kijn是一個(gè)長期金鑰(每隔1小時(shí)更換一次),利用Kijn這把金鑰將短期金鑰Kp(每隔2分鐘更換一次)加密后插入SKIP Header送到對(duì)方。接收端收到后利用Kijn解回Kp。接下來雙方使用E_Kp=MD5(Kp/0)及A_Kp=MD5(Kp/2)導(dǎo)出加密金鑰E_Kp和認(rèn)證金鑰A_Kp。由于金鑰推導(dǎo)過程是一層一層的,因SKIP稱之為階層式的金鑰管理架構(gòu)。
我們一樣使用第五節(jié)的例子:"當(dāng)主機(jī)yang.chtti.com.tw欲與主機(jī)yang.csie.ndhu.edu.tw啟動(dòng)通訊",來討論SKIP協(xié)議,圖是SKIP封包內(nèi)容的描述。
SKIP原欲與ISAKMP整合考量,但失敗了。因?yàn)镮Pv6已決定使用ISAKMP與Oakley金鑰交換的合并協(xié)議,也就是ISAKMP/Oakley(現(xiàn)已稱作IKE;Internet Key Exchange)。所以SKIP并非IPSec強(qiáng)制規(guī)定的金鑰管理方法。
2.ISAKMP/Qakley(IKE):
Oakley金鑰交換協(xié)議是由亞利桑那大學(xué)所提出,它與SEKME有相當(dāng)多的共同部份(注:SEKME則是Photuris的延伸)。
ISAKMP有兩個(gè)操作階段。第一階段中,相關(guān)的一些安全屬性經(jīng)過協(xié)商,并產(chǎn)生一些金鑰,…等。這些內(nèi)容構(gòu)成第一個(gè)SA,一般稱作ISAKMP SA,與IPSec SA不一樣的是它是雙向的。第二階段則是以ISAKMP SA的安全環(huán)境來建立AH或ESP的SA。
IKE則是ISAKMP使用Oakley的一些模式和SKEME快速rekey的觀念合并而成,它有(1)Main Mode (2)Aggressive Mode (3)Quick Mode(4)New group mode等四種模式。 [Page]七、IPSec在VPN上的應(yīng)用
在了解IPSec協(xié)議的工作原理后,我們來看它不同的用場(chǎng)合,值得注意的是在網(wǎng)絡(luò)層提供安全機(jī)制,對(duì)應(yīng)用層而言是完全透通的(trarsparent)。IPSec可以裝設(shè)在gateway或主機(jī)上,或是兩者同時(shí),若IPSec裝在gateway上,則可在不安全的Internet上提供一個(gè)安全的信道,若是裝在主機(jī),則能提供主機(jī)端對(duì)端的安全性。分別是gateway對(duì)gateway,主機(jī)對(duì)gateway,主機(jī)對(duì)主機(jī)三種可能的應(yīng)用狀況。
IPSec的優(yōu)點(diǎn)
IPSec在傳輸層之下,對(duì)于應(yīng)用程序來說是透明的。當(dāng)在路由器或防火墻上安裝IPSec時(shí),無需更改用戶或服務(wù)器系統(tǒng)中的軟件設(shè)置。即使在終端系統(tǒng)中執(zhí)行IPSec,應(yīng)用程序一類的上層軟件也不會(huì)被影響。
IPSec對(duì)終端用戶來說是透明的,因此不必對(duì)用戶進(jìn)行安全機(jī)制的培訓(xùn)。
如果需要的話,IPSec可以為個(gè)體用戶提供安全保障,這樣做就可以保護(hù)企業(yè)內(nèi)部的敏感信息。
IPSec正向Internet靠攏。已經(jīng)有一些機(jī)構(gòu)部分或全部執(zhí)行了IPSec。IAB的前任總裁Christian Huitema認(rèn)為,關(guān)于如何保證Internet安全的討論是他所見過的最激烈的討論之一。討論的話題之一就是安全是否在恰當(dāng)?shù)膮f(xié)議層上被使用。想要提供IP級(jí)的安全,IPSec必須成為配置在所有相關(guān)平臺(tái)(包括Windows NT,Unix和Macintosh系統(tǒng))的網(wǎng)絡(luò)代碼中的一部分。
實(shí)際上,現(xiàn)在發(fā)行的許多Internet應(yīng)用軟件中已包含了安全特征。例如,Netscape Navigator和Microsoft Internet Explorer支持保護(hù)互聯(lián)網(wǎng)通信的安全套層協(xié)議(SSL),還有一部分產(chǎn)品支持保護(hù)Internet上信用卡交易的安全電子交易協(xié)議(SET)。然而,VPN需要的是網(wǎng)絡(luò)級(jí)的功能,這也正是IPSec所提供的。
VPN工作原理
IPSec提供三種不同的形式來保護(hù)通過公有或私有IP網(wǎng)絡(luò)來傳送的私有數(shù)據(jù):
認(rèn)證:可以確定所接受的數(shù)據(jù)與所發(fā)送的數(shù)據(jù)是一致的,同時(shí)可以確定申請(qǐng)發(fā)送者在實(shí)際上是真實(shí)發(fā)送者,而不是偽裝的。
數(shù)據(jù)完整:保證數(shù)據(jù)從原發(fā)地到目的地的傳送過程中沒有任何不可檢測(cè)的數(shù)據(jù)丟失與改變。
機(jī)密性:使相應(yīng)的接收者能獲取發(fā)送的真正內(nèi)容,而無意獲取數(shù)據(jù)的接收者無法獲知數(shù)據(jù)的真正內(nèi)容。
在IPSec由三個(gè)基本要素來提供以上三種保護(hù)形式:認(rèn)證協(xié)議頭(AH)、安全加載封裝(ESP)和互聯(lián)網(wǎng)密鑰管理協(xié)議(IKMP)。認(rèn)證協(xié)議頭和安全加載封裝可以通過分開或組合使用來達(dá)到所希望的保護(hù)等級(jí)。
對(duì)于VPN來說,認(rèn)證和加密都是必需的,因?yàn)橹挥须p重安全措施才能確保未經(jīng)授權(quán)的用戶不能進(jìn)入VPN,同時(shí),Internet上的竊聽者無法讀取VPN上傳輸?shù)男畔?。大部分的?yīng)用實(shí)例中都采用了ESP而不是AH。密鑰交換功能允許手工或自動(dòng)交換密鑰。
當(dāng)前的IPSec支持?jǐn)?shù)據(jù)加密標(biāo)準(zhǔn)(DES),但也可以使用其它多種加密算法。因?yàn)槿藗儗?duì)DES的安全性有所懷疑,所以用戶會(huì)選擇使用Triple-DES(即三次DES加密)。至于認(rèn)證技術(shù),將會(huì)推出一個(gè)叫作HMAC(MAC 即信息認(rèn)證代碼Message Authentication Code)的新概念。
認(rèn)證協(xié)議頭(AH)是在所有數(shù)據(jù)包頭加入一個(gè)密碼。正如整個(gè)名稱所示,AH通過一個(gè)只有密鑰持有人才知道的"數(shù)字簽名"來對(duì)用戶進(jìn)行認(rèn)證。這個(gè)簽名是數(shù)據(jù)包通過特別的算法得出的獨(dú)特結(jié)果;AH還能維持?jǐn)?shù)據(jù)的完整性,因?yàn)樵趥鬏斶^程中無論多小的變化被加載,數(shù)據(jù)包頭的數(shù)字簽名都能把它檢測(cè)出來。不過由于AH不能加密數(shù)據(jù)包所加載的內(nèi)容,因而它不保證任何的機(jī)密性。兩個(gè)最普遍的AH標(biāo)準(zhǔn)是MD5和SHA-1,MD5使用最高到128位的密匙,而SHA-1通過最高到160位密匙提供更強(qiáng)的保護(hù)。
安全加載封裝(ESP)通過對(duì)數(shù)據(jù)包的全部數(shù)據(jù)和加載內(nèi)容進(jìn)行全加密來嚴(yán)格保證傳輸信息的機(jī)密性,這樣可以避免其他用戶通過監(jiān)聽來打開信息交換的內(nèi)容,因?yàn)橹挥惺苄湃蔚挠脩魮碛忻艹状蜷_內(nèi)容。ESP也能提供認(rèn)證和維持?jǐn)?shù)據(jù)的完整性。最主要的ESP標(biāo)準(zhǔn)是數(shù)據(jù)加密標(biāo)準(zhǔn)(DES),DES最高支持56位的密匙,而Triple-DES使用三套密匙加密,那就相當(dāng)于使用最高到168位的密匙。由于ESP實(shí)際上加密所有的數(shù)據(jù),因而它比AH需要更多的處理時(shí)間,從而導(dǎo)致性能下降。
密鑰管理包括密鑰確定和密鑰分發(fā)兩個(gè)方面,最多需要四個(gè)密鑰:AH和ESP各兩個(gè)發(fā)送和接收密鑰。密鑰本身是一個(gè)二進(jìn)制字符串,通常用十六進(jìn)制表示,例如,一個(gè)56位的密鑰可以表示為5F39DA752E0C25B4。注意全部長度總共是64位,包括了8位的奇偶校驗(yàn)。56位的密鑰(DES)足夠滿足大多數(shù)商業(yè)應(yīng)用了。密鑰管理包括手工和自動(dòng)兩種方式。
人工手動(dòng)管理方式是指管理員使用自己的密鑰及其它系統(tǒng)的密鑰手工設(shè)置每個(gè)系統(tǒng)。這種方法在小型網(wǎng)絡(luò)環(huán)境中使用比較實(shí)際。手工管理系統(tǒng)在有限的安全需要可以工作得很好。使用手工管理系統(tǒng),密鑰由管理站點(diǎn)確定然后分發(fā)到所有的遠(yuǎn)程用戶。真實(shí)的密鑰可以用隨機(jī)數(shù)字生成器或簡(jiǎn)單的任意拼湊計(jì)算出來,每一個(gè)密鑰可以根據(jù)集團(tuán)的安全政策進(jìn)行修改。
自動(dòng)管理系統(tǒng)能滿足其他所有的應(yīng)用要求。使用自動(dòng)管理系統(tǒng),可以動(dòng)態(tài)地確定和分發(fā)密鑰,顯然和名稱一樣,是自動(dòng)的。自動(dòng)管理系統(tǒng)具有一個(gè)中央控制點(diǎn),集中的密鑰管理者可以令自己更加安全,最大限度的發(fā)揮IPSec的效用。 另一方面,自動(dòng)管理系統(tǒng)可以隨時(shí)建立新的SA密鑰,并可以對(duì)較大的分布式系統(tǒng)上使用密鑰進(jìn)行定期的更新。自動(dòng)管理模式是很有彈性的,但需要花費(fèi)更多的時(shí)間及精力去設(shè)置,同時(shí),還需要使用更多的軟件。
IPSec的自動(dòng)管理密鑰協(xié)議的默認(rèn)名字是ISAKMP/Oakley?;ヂ?lián)網(wǎng)安全組織及密鑰管理協(xié)議(Internet Security Association and Key Management Protocol ISAKMP)對(duì)互聯(lián)網(wǎng)密鑰管理的架構(gòu)以及特定的協(xié)議提供支持。Oakley 密鑰使用的協(xié)議基于Diffle-Hellman 算法,但它也提供額外的安全功能。特別是Oakley包括認(rèn)證用戶的機(jī)制。
IPSec的實(shí)現(xiàn)方式
IPSec的一個(gè)最基本的優(yōu)點(diǎn)是它可以在共享網(wǎng)絡(luò)訪問設(shè)備,甚至是所有的主機(jī)和服務(wù)器上完全實(shí)現(xiàn),這很大程度避免了升級(jí)任何網(wǎng)絡(luò)相關(guān)資源的需要。在客戶端,IPSec架構(gòu)允許使用在遠(yuǎn)程訪問介入路由器或基于純軟件方式使用普通MODEM的PC機(jī)和工作站。通過兩種模式在應(yīng)用上提供更多的彈性:傳送模式和隧道模式。
IPSec數(shù)據(jù)包可以在壓縮原始IP地址和數(shù)據(jù)的隧道模式使用。
傳輸模式通常當(dāng)ESP在一臺(tái)主機(jī)(客戶機(jī)或服務(wù)器)上實(shí)現(xiàn)時(shí)使用,傳輸模式使用原始明文IP頭,并且只加密數(shù)據(jù),包括它的TCP和UDP頭。
隧道模式通常當(dāng)ESP在關(guān)聯(lián)到多臺(tái)主機(jī)的網(wǎng)絡(luò)訪問介入裝置實(shí)現(xiàn)時(shí)使用,隧道模式處理整個(gè)IP數(shù)據(jù)包:包括全部TCP/IP或UDP/IP頭和數(shù)據(jù),它用自己的地址做為源地址加入到新的IP頭。當(dāng)隧道模式用在用戶終端設(shè)置時(shí),它可以提供更多的便利來隱藏內(nèi)部服務(wù)器主機(jī)和客戶機(jī)的地址。
ESP支持傳輸模式,這種方式保護(hù)了高層協(xié)議。傳輸模式也保護(hù)了IP包的內(nèi)容,特別是用于兩個(gè)主機(jī)之間的端對(duì)端通訊(例如,客戶與服務(wù)器,或是兩臺(tái)工作站)。傳輸模式中的ESP加密及有時(shí)候會(huì)認(rèn)證IP包內(nèi)容,但不認(rèn)證IP的包頭。這種配置對(duì)于裝有IPSec的小型網(wǎng)絡(luò)特別有用。
但是,要全面實(shí)施VPN,使用隧道模式會(huì)更有效。ESP也支持隧道模式,保護(hù)了整個(gè)IP包。為此,IP包在添加了ESP字段后,整個(gè)包以及包的安全字段被認(rèn)為是新的IP包外層內(nèi)容,附有新的IP外層包頭。原來的(及內(nèi)層)包通過"隧道"從一個(gè)IP網(wǎng)絡(luò)起點(diǎn)傳輸?shù)搅硪粋€(gè)IP網(wǎng)點(diǎn),中途的路由器可以檢查IP的內(nèi)層包頭。因?yàn)樵瓉淼陌驯淮虬?,新的包可能有不同的源地址及目的地址,以達(dá)到安全的目的。
隧道模式被用在兩端或是一端是安全網(wǎng)關(guān)的架構(gòu)中,例如裝有IPSec的路由器或防火墻。使用了隧道模式,防火墻內(nèi)很多主機(jī)不需要安裝IPSec 也能安全地通信。這些主機(jī)所生成的未加保護(hù)的網(wǎng)包,經(jīng)過外網(wǎng),使用隧道模式的安全組織規(guī)定(即SA,發(fā)送者與接收者之間的單向關(guān)系,定義裝在本地網(wǎng)絡(luò)邊緣的安全路由器或防火墻中的IPSec軟件IP交換所規(guī)定的參數(shù))傳輸。
以下是隧道模式的IPSec運(yùn)作的例子。某網(wǎng)絡(luò)的主機(jī)甲生成一個(gè)IP包,目的地址是另一個(gè)網(wǎng)中的主機(jī)乙。這個(gè)包從起始主機(jī)被發(fā)送到主機(jī)甲的網(wǎng)絡(luò)邊緣的安全路由器或防火墻。防火墻把所有出去的包過濾,看看有哪些包需要進(jìn)行IPSec的處理。如果這個(gè)從甲到乙的包需要使用IPSec,防火墻就進(jìn)行IPSec的處理,并把網(wǎng)包打包,添加外層IP包頭。 這個(gè)外層包頭的源地址是防火墻,而目的地址可能是主機(jī)乙的網(wǎng)絡(luò)邊緣的防火墻?,F(xiàn)在這個(gè)包被傳送到主機(jī)乙的防火墻,中途的路由器只檢查外層的IP包頭。主機(jī)乙網(wǎng)絡(luò)的防火墻會(huì)把外層IP包頭除掉,把IP內(nèi)層發(fā)送到主機(jī)乙去。
IPSec 及VPN
由于企業(yè)及政府用戶需要把它們的專用WAN/LAN 架構(gòu)與互聯(lián)網(wǎng)連接,以便訪問互聯(lián)網(wǎng)的服務(wù),所以他們非常熱衷于部署安全的IP。用戶需要把它們的網(wǎng)絡(luò)與互聯(lián)網(wǎng)分隔,但同時(shí)要在網(wǎng)上發(fā)送及接收網(wǎng)包。安全的IP就可以提供網(wǎng)上的認(rèn)證及隱私機(jī)制。
因?yàn)镮P安全機(jī)制是獨(dú)立定義,其用途與現(xiàn)在的IP或IPv6不同,IP安全機(jī)制不需要依靠IPv6部署。我們可以看到安全I(xiàn)P的功能會(huì)首先被廣泛使用,它會(huì)比IPv6先流行起來,因?yàn)閷?duì)IP層的安全需求遠(yuǎn)比增加IPv6功能的需求多很多。
有了IPSec,管理人員就有了實(shí)施VPN的安全標(biāo)準(zhǔn)。此外,所有在IPSec中使用的加密及認(rèn)證算法已經(jīng)過仔細(xì)的研究和幾年的驗(yàn)證,所以用戶大可放心地將安全問題交付給IPSec。
眾信咨詢:互聯(lián)網(wǎng)資質(zhì)代理誠信品牌