摘要:在分析IPSec協(xié)議的基礎(chǔ)上,提出了將IPSec協(xié)議與IBE技術(shù)相結(jié)合的方法,即基于IBE的IPSec協(xié)議擴(kuò)展。同時(shí)給出了IPSec協(xié)議擴(kuò)展體系結(jié)構(gòu),以及基于IBE加密算法和基于IBE的密鑰交換算法。
關(guān)鍵詞:IBE;IPsec;PKI;加密算法
中圖分類號(hào):TP309文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)32-1074-03
Extend IPSec Protocol Based on IBE
WANG Jian-feng1, SONG Xiao-qiu2
(1.Fujian Institute of Economics Management,F(xiàn)uzhou 350007,China;2.Fujian College of Financial Technology,F(xiàn)uzhou 350007,China)
Abstract: Extend IPSec protocol based on IBE that is combined IPSec protocol with IBE technology is given in the paper. On the other hand, Extend IPSec protocol Architecture, encryption Algorithms and key exchange Algorithms based on IBE technology are also shown.
Key words: IBE; IPsec; PKI; encryption algorithms
1 前言
隨著以Internet為代表的全球性信息化浪潮的興起,信息技術(shù)的發(fā)展與廣泛使用深刻地改變著人們的生活方式、生產(chǎn)方式與管理方式,加快了國(guó)家現(xiàn)代化和社會(huì)文明的發(fā)展。世界上大多數(shù)國(guó)家都已經(jīng)將信息化提高到國(guó)家發(fā)展戰(zhàn)略的高度。然而,人們?cè)谙硎苄畔⒒瘞?lái)的便利的同時(shí),必須面對(duì)信息的安全風(fēng)險(xiǎn)。幸運(yùn)地是,近幾年網(wǎng)絡(luò)安全技術(shù)也在發(fā)生著日新月異的變化,從對(duì)稱加密到傳統(tǒng)的公鑰密碼技術(shù),一直到今天的基于身份的加密(IBE)技術(shù)。
眾所周知,IP協(xié)議現(xiàn)在已成為事實(shí)上的網(wǎng)絡(luò)標(biāo)準(zhǔn)協(xié)議,在Windows 2000 Server、Windows xp、Windows 2003 Server等操作系統(tǒng)中廣泛使用。但是最初設(shè)計(jì)IP協(xié)議時(shí)并沒(méi)有過(guò)多地考慮安全問(wèn)題,只是為了能夠使網(wǎng)絡(luò)方便地進(jìn)行互聯(lián)互通,IP包的安全僅依靠其頭部的校驗(yàn)和字段,非法修改IP包并重新正確計(jì)算校驗(yàn)和是很容易的,因此IP協(xié)議從本質(zhì)上是不安全的。近幾年隨著Internet由IPv4協(xié)議向IPv6協(xié)議快速過(guò)度,伴隨著IPv6協(xié)議制定而產(chǎn)生了一種新的協(xié)議IPSec(IP Security)。顧名思義,IPSec是保障IP層安全的網(wǎng)絡(luò)技術(shù),而且是目前唯一一個(gè)能夠?yàn)镮nternet通信提供安全保障的協(xié)議。在IPv6中IPSec是強(qiáng)制實(shí)施的,而IPv4中則是可選的。值得注意的是,IPSec并不是指某一項(xiàng)具體的協(xié)議,而是指用于實(shí)現(xiàn)IP層安全的協(xié)議套件集合[1],它已經(jīng)成為工業(yè)標(biāo)準(zhǔn)的網(wǎng)絡(luò)安全協(xié)議。 IPSec實(shí)質(zhì)上是一種隧道傳輸技術(shù),它將IP分組或IP上層載荷封裝在IPSec報(bào)文內(nèi),并根據(jù)需要進(jìn)行加密和完整性保護(hù)處理,以此保證數(shù)據(jù)在公共網(wǎng)絡(luò)中傳輸過(guò)程的安全。
IPSec協(xié)議在多年的使用中,人們發(fā)現(xiàn)其許多不足之處,因此也提出很多改進(jìn)意見(jiàn)。2001年,Dan Boneh博士和Matt Franklin博士取得了數(shù)學(xué)上的突破,由強(qiáng)大的數(shù)學(xué)方法得到了一種方便的機(jī)制,可以將簡(jiǎn)單且易于辨認(rèn)的身份轉(zhuǎn)化為公/私鑰對(duì),從而保證通信的安全。這種機(jī)制就是實(shí)用的基于身份的加密(IBE)系統(tǒng)。目前,IBE與傳統(tǒng)加密技術(shù)的結(jié)合使用,已經(jīng)成為可能和必然的趨勢(shì)。
2 IPSec協(xié)議
2.1 IPSec協(xié)議簡(jiǎn)介
1994年,Internet體系結(jié)構(gòu)委員會(huì)(IAB)就網(wǎng)絡(luò)安全問(wèn)題提交了一個(gè)名為《Internet體系結(jié)構(gòu)的安全》(RFC1636)的報(bào)告。報(bào)告指出,Internet需要更多更好的安全手段,并就安全機(jī)制的關(guān)鍵領(lǐng)域達(dá)成共識(shí),其中包括:必須防止未經(jīng)授權(quán)訪問(wèn)網(wǎng)絡(luò)基礎(chǔ)設(shè)施;必須對(duì)網(wǎng)絡(luò)通信業(yè)務(wù)流進(jìn)行控制;必須使用加密和驗(yàn)證機(jī)制;保護(hù)終端用戶間的通信等。即IPSec的主要功能有:
1) 作為一個(gè)隧道協(xié)議實(shí)現(xiàn)VPN通信;
2) 保證數(shù)據(jù)來(lái)源可靠;
3) 保證數(shù)據(jù)完整性;
4) 保證數(shù)據(jù)機(jī)密性;
IAB的報(bào)告提出后,其下屬機(jī)構(gòu)IETF(Internet工程任務(wù)組)立即組織人員進(jìn)行研究,并于1995年8月公布了RFC1825等IP安全標(biāo)準(zhǔn)的系列文檔,即IPSec協(xié)議[2-3]。
2.2 IPsec協(xié)議體系主要功能模塊
Ipsec安全體系主要由驗(yàn)證頭(AH)協(xié)議、封裝安全載荷(ESP)協(xié)議、密鑰交換(IKE)協(xié)議、安全關(guān)聯(lián)(SA)以及加密和驗(yàn)證算法共同組成。
1) AH協(xié)議。AH協(xié)議為數(shù)據(jù)包提供身份驗(yàn)證、完整性和抗重播功能,并簽署整個(gè)數(shù)據(jù)報(bào),但不加密該包,因此不提供機(jī)密性。
2) ESP協(xié)議[4]。ESP協(xié)議提供身份驗(yàn)證、完整性、抗重播及機(jī)密性。在傳輸模式下,只保護(hù)數(shù)據(jù)而不保護(hù)IP報(bào)頭。
3) IKE協(xié)議[5]。IKE協(xié)議是一種實(shí)現(xiàn)密鑰交換定義的協(xié)議,是Oakley和SKEME協(xié)議的一種組合,并在ISAKMP(Internet Security Association and Key Management Protocol)定義的框架內(nèi)運(yùn)作。ISAKMP、Oakley、SKEME三個(gè)協(xié)議構(gòu)成了IKE的基礎(chǔ),IKE沿用了ISAKMP的基礎(chǔ)、Oakley的模式及SKEME的共享和密鑰更新技術(shù),從而定義出驗(yàn)證加密生成技術(shù)以及協(xié)商共享策略。因此IKE可用于在對(duì)等端之間驗(yàn)證密鑰,并在他們之間建立共享的安全策略。
4) SA安全關(guān)聯(lián)。SA是策略和密鑰的結(jié)合,用來(lái)定義保護(hù)端到端通信的安全服務(wù)、機(jī)制和密鑰,它可以看成是兩個(gè)IPSec對(duì)等端之間的一條隧道,可以為不同類型的流量創(chuàng)建獨(dú)立的SA。比如為TCP創(chuàng)建獨(dú)立的SA,也可以為UDP創(chuàng)建獨(dú)立的SA。
5) 加密和驗(yàn)證算法。為保護(hù)通信安全,IKE執(zhí)行兩個(gè)階段的操作:密鑰交換和數(shù)據(jù)保護(hù)。通過(guò)在彼此通信的計(jì)算機(jī)或網(wǎng)關(guān)上協(xié)商,從而達(dá)成一致的加密和身份驗(yàn)證算法,保證機(jī)密性和身份驗(yàn)證。在進(jìn)行密鑰安全交換時(shí),用于生成實(shí)際密鑰的基本密鑰材料的組是DH(Diffie一Hellman)組,可以生成768位或1024位的主密鑰的密鑰材料。加密算法有DES、3DES。完整性算法包括MDS和SHAI。身份驗(yàn)證方式有Kerberos V5、公鑰證書和預(yù)共享密鑰。
3 IPsec協(xié)議擴(kuò)展
3.1 IPsec協(xié)議擴(kuò)展體系結(jié)構(gòu)
IPSec協(xié)議擴(kuò)展是指在原來(lái)IPSec協(xié)議下結(jié)合了IBE的優(yōu)點(diǎn)進(jìn)行擴(kuò)展,其安全體系結(jié)構(gòu)由驗(yàn)證頭(Authentication Header)協(xié)議、封裝安全載荷(Encapsulating security Payload)協(xié)議、密鑰交換IKE(Internet Key Exchange)協(xié)議、安全關(guān)聯(lián) SA(Security Association)以及IBE加密和IB驗(yàn)證算法共同組成,其安全體系如圖1所示。
3.2 基于身份的加密(IBE)技術(shù)
3.2.1 IBE發(fā)展概況
1984年,Adi Shamir,RSA公鑰系統(tǒng)的發(fā)明人之一,首先提出了不依賴于認(rèn)證,而將身份直接作為公鑰的思想,認(rèn)為這也許是簡(jiǎn)化公鑰密碼學(xué)的最好的途徑。
2001年,Dan Boneh博士和Matt Franklin博士發(fā)明了可實(shí)際應(yīng)用的基于身份的加密(IBE)系統(tǒng)。他們的方案是應(yīng)用雙線性映射,也就是Weil對(duì)和Tate對(duì)(Weil and Tate pairing)[6],在橢圓曲線[7]上得到一種算法,這種強(qiáng)大的數(shù)學(xué)方法可以實(shí)現(xiàn)將簡(jiǎn)單、易于辨認(rèn)的身份轉(zhuǎn)化為公/私鑰對(duì),得到一種方便的機(jī)制從而保證通信的安全。
3.2.2 IBE的優(yōu)點(diǎn)
基于身份的加密(IBE)技術(shù)是繼非對(duì)稱加密技術(shù)之后的新一代加密機(jī)制,克服了現(xiàn)有技術(shù)的種種弊端,滿足了安全通信的重要需求。其主要優(yōu)點(diǎn)有:
1) IBE不需要證書,也不需要對(duì)證書進(jìn)行管理,因而可以減少管理成本。
2) 在IBE體系中,任何種類的串(string)都可用來(lái)作為IBE的加密密鑰。這個(gè)“串”包括任何字符或比特序列,例如一篇文章,一個(gè)名字,一個(gè)電子郵件地址,一幅圖片,一個(gè)項(xiàng)目和條件列表,一個(gè)角色描述等等。信息由這個(gè)串加密。在本方案中采用IP地址+計(jì)算機(jī)名作為身份ID來(lái)加密信息,這種雙重身份識(shí)別大大增加了系統(tǒng)的安全性。
3) IBE的解密密鑰(與IBE加密密鑰相關(guān)聯(lián))可以延遲生成。換句話說(shuō),PKG(Private Key Generator)可以在生成加密密鑰很長(zhǎng)一段時(shí)間之后再生成相應(yīng)的IBE解密密鑰。
4)IBE使管理員更易于操作。
3.2.3 基于IBE的加密方案
IBE方案主要由四個(gè)部分組成,如圖2所示。
1) PKG運(yùn)行setup程序,生成系統(tǒng)參數(shù)和主密鑰。
2) PKG驗(yàn)證用戶身份,運(yùn)行extract程序,生成ID相關(guān)聯(lián)的私鑰。
3) 發(fā)送方運(yùn)行encrypt程序,使用接收方ID加密信息。
4) 接收方運(yùn)行decrypt程序,利用PKG生成的私鑰解密信息。
3.3 基于IBE的加密算法[8]
1) PKG運(yùn)行初始化算法,公開(kāi)系統(tǒng)參數(shù)。
Setup:給定一個(gè)安全參數(shù)k∈Z+,步驟如下:
① 用k生成一個(gè)素?cái)?shù)q,G1和G2的階為q,雙線性影射ê:G1×G1→G2,選擇一個(gè)隨機(jī)的P∈G1;
② 選擇一個(gè)隨即的s∈Zq*,使PPUB=s.P;
③ 選擇一個(gè)hash函數(shù):H1: {0,1}*→ G1*,再選擇一個(gè)hash函數(shù),對(duì)某一個(gè)n來(lái)說(shuō):H2:G2→ {0,1}n,明文空間M={0,1}n,密文空間C=G1*×{0,1}n,系統(tǒng)參數(shù)params=,主密鑰s∈Zq*。
2) 用戶A使用PKG提供的公開(kāi)系統(tǒng)參數(shù)加密消息,并把加密后的密文傳送給用戶B。
Encrypt:用ID加密明文M,步驟如下:
① 計(jì)算QID=H1(ID)∈G1*;
② 選擇一個(gè)隨機(jī)的r∈Zq*;
③ 使密文C=
3) 用戶B收到用戶A的密文后向PKG申請(qǐng)解密的私鑰,接著PKG執(zhí)行私鑰生成程序Extract:對(duì)于給定的ID∈{0,1}*,算法如下:
① 計(jì)算QID=H1(ID)∈G1*;
② 設(shè)定dID=s. QID。
4) 用戶B使用從PKG處得到的私鑰解密密文得到明文
Decrypt:是密文C=〈U,V〉,用dID∈G1*解密C,計(jì)算V⊕H2(ê(dID,U)))=M
3.4 基于IBE的IKE(密鑰交換)[9]
基于IBE的IKE密鑰交換算法的根本目的是為了允許兩個(gè)主機(jī)產(chǎn)生和共享一個(gè)秘密密鑰,該算法的工作過(guò)程如下:
1) 通訊雙方中A隨機(jī)選擇a∈Z*q,然后計(jì)算TA=aP,并把TA送給B
2) 通訊雙方中B隨機(jī)選擇b∈Z*q,然后計(jì)算TB=BP,并把TB送給A
3) A計(jì)算共享密鑰KAB=e(a.QB,PPUB)e(SA,TB)
4) 同樣地,B計(jì)算共享密鑰KBA=e(b.QA,PPUB)e(SB,TA)
5) 這樣A,B雙方在通訊時(shí)就擁有了共同的共享密鑰:
KAB=KBA=e(aSB+bSA,P)
共享密鑰:K=kdf(KAB)= kdf(KBA),kdf是一個(gè)hash函數(shù)H2: G2→{0,1}*
4 討論
IPSec協(xié)議擴(kuò)展主要是在IPSec協(xié)議的基礎(chǔ)上引進(jìn)了基于IBE加密算法和基于IBE的密鑰交換算法。
IPSec協(xié)議擴(kuò)展中的加密算法采用了橢圓曲線加密算法(ECC),橢圓曲線加密算法是定義在有限域(Fp 或F(2m))的橢圓曲線(y2=x3+ax+b)上的點(diǎn)(x,y),再加上無(wú)窮點(diǎn)O,如按一定的規(guī)則運(yùn)算(估且稱為乘法)將組成一個(gè)群(數(shù)學(xué)中的一種代數(shù)結(jié)構(gòu))。有限域上橢圓曲線乘法群也有相對(duì)應(yīng)的離散對(duì)數(shù)計(jì)算困難性問(wèn)題。它與IPSec協(xié)議中采用的RSA方法相比有著很多技術(shù)優(yōu)點(diǎn):
1) 安全性能更高
加密算法的安全性能一般通過(guò)該算法的抗攻擊強(qiáng)度來(lái)反映。ECC和其它幾種公鑰系統(tǒng)相比,其抗攻擊性具有絕對(duì)的優(yōu)勢(shì)。因?yàn)闄E圓曲線的離散對(duì)數(shù)計(jì)算困難性(ECDLP)在計(jì)算復(fù)雜度上目前是完全指數(shù)級(jí),而RSA 是亞指數(shù)級(jí)的,所以ECC比RSA的每bit安全性能更高。
2) 計(jì)算量小,處理速度快
在一定的相同計(jì)算資源條件下,雖然在RSA中可以通過(guò)選取較小公鑰(可以小到3)的方法提高公鑰的處理速度,即提高加密和簽名驗(yàn)證的速度,使其在加密和簽名驗(yàn)證速度上與ECC有可比性。但在私鑰的處理速度上(解密和簽名),ECC遠(yuǎn)比RSA、DSA快得多,如ECC系統(tǒng)的密鑰生成速度比RSA快百倍以上。總體來(lái)看,ECC的速度比RSA、DSA要快得多。因此,在相同條件下,ECC具有更高的加密性能。
3) 存儲(chǔ)空間占用小
ECC的密鑰尺寸和系統(tǒng)參數(shù)與RSA、DSA相比要小得多。如160位 ECC與1024位 RSA、DSA具有相同的安全強(qiáng)度,210位 ECC則與2048bit RSA、DSA具有相同的安全強(qiáng)度。由此可見(jiàn),ECC所占用的存貯空間要小得多。這對(duì)于加密算法在資源受限環(huán)境上(如智能卡等)的應(yīng)用具有特別重要的意義。
4) 帶寬要求低
當(dāng)對(duì)長(zhǎng)消息進(jìn)行加解密時(shí),三類密碼系統(tǒng)有相同的帶寬要求,但應(yīng)用于短消息時(shí)ECC對(duì)帶寬要求卻低得多。通常情況下,公鑰加密系統(tǒng)多用于短消息,例如用于數(shù)字簽名和用于對(duì)對(duì)稱系統(tǒng)的會(huì)話密鑰傳遞。帶寬要求低使ECC在無(wú)線網(wǎng)絡(luò)領(lǐng)域具有廣泛的應(yīng)用前景。
另外,IPSec協(xié)議擴(kuò)展所采用的基于IBE的密鑰交換算法對(duì)IKE算法做了些改進(jìn),在原來(lái)Diffie-Hellman密鑰交換算法基礎(chǔ)上進(jìn)行了優(yōu)化,具體如下:
在IKE中,協(xié)議的協(xié)商是基于Diffie-Hellman密鑰交換的,這就決定了協(xié)議通信的響應(yīng)方具有的存儲(chǔ)和計(jì)算能力是有限的,拒絕服務(wù)Dos(Denial of Service)[10]攻擊正是利用這一點(diǎn)來(lái)實(shí)施對(duì)通信雙方密鑰協(xié)商進(jìn)行破壞的攻擊方法。因此,原IKE協(xié)議不能抵御Dos攻擊。但基于IBE的密鑰交換算法采用cookie[11]技術(shù),響應(yīng)方在接收并驗(yàn)證發(fā)起方返回cookie之前,不會(huì)進(jìn)行大量的計(jì)算和存儲(chǔ)操作,同時(shí)也不用為交換保存任何狀態(tài),這樣可以在一定程度上抵御Dos攻擊。
另外,基于IBE的密鑰交換算法引入了連鎖協(xié)議[12],連鎖協(xié)議的思想是將通信雙方所需傳輸?shù)膱?bào)文劃分為兩半,利用通信雙方各自的公共密鑰為前一半報(bào)文加密,然后用后一半報(bào)文進(jìn)行再次加密,以達(dá)到防止中間人攻擊的目的。
由此可以看出,在IPSec協(xié)議中采用基于IBE的密鑰交換算法是對(duì)原Diffie-Hellman密鑰交換算法的優(yōu)化。
5 結(jié)論與展望
本文通過(guò)研究目前比較流行的IPSec協(xié)議的不足之處,提出了一種基于IBE的IPSec擴(kuò)展協(xié)議,并給出了IPSec擴(kuò)展協(xié)議的安全體系結(jié)構(gòu),以及加密算法和密鑰交換算法。IPSec擴(kuò)展協(xié)議只須對(duì)原IPSec協(xié)議進(jìn)行少許改動(dòng),在理論及技術(shù)上都是可行的。由于系統(tǒng)是基于IBE的系統(tǒng),不需要進(jìn)行證書產(chǎn)生、保存、交換、注銷等管理,而且其加密算法也優(yōu)于3DES,所以IPSec擴(kuò)展協(xié)議與原來(lái)的IPSec協(xié)議相比較,機(jī)大地提高了系統(tǒng)的安全性和使用靈活性。當(dāng)然,IPsec協(xié)議擴(kuò)展協(xié)議的安全性和過(guò)程簡(jiǎn)化方面,仍然存在不少問(wèn)題有待進(jìn)一步的研究與認(rèn)證,相信隨著對(duì)這些問(wèn)題的逐步解決,IPsec協(xié)議擴(kuò)展協(xié)議將會(huì)走向完善。
參考文獻(xiàn):
[1] IPsec協(xié)議相關(guān)的RFC[EB/OL].http://www.faqs.org/rfcs.
[2] Doraswamy N,Harkins D.IPSec新一代因特網(wǎng)安全標(biāo)準(zhǔn)[M].北京:機(jī)械工業(yè)出版社,2000.
[3] 宋健,王玉英,孫為. IPv6網(wǎng)絡(luò)應(yīng)用IPsec策略的網(wǎng)絡(luò)性能分析與研究. 網(wǎng)絡(luò)于通信,2004.
[4] Kent S,Atkinson R.IP Encapsulating security Payload(ESP),RFC2406[S].Internet Engineering Task Force,1998.
[5] Harkins D,Carrel D.The Internet Key Exehange(IKE),RFC2409[S].Internet Engineering Task Force,1998.
[6] Boneh D,F(xiàn)ranklin M.Identity-Based Encryption from the WeilPairing[M].Springer-Verlag:volume 2139 of LectureNotes in Computer Science,2001:213-229.
[7] 邱慧敏,楊義先,胡正名.一種基于橢圓曲線密碼機(jī)制的用戶認(rèn)證方案設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2005(3):28-30.
[8] Boneh D,F(xiàn)ranklin M.Identity-based Encryption from the Weil pairing[J].SIAM J of Computing,2003,32(3):586-615. [9] Smart N P.An ID-based authenticated key agreement protocol based on the Weil pairing[J].Electron Lett,2002,38(13):630-632.
[10] 趙小林.網(wǎng)絡(luò)安全技術(shù)教程[M].北京:國(guó)防工業(yè)出版社,2002:147-158.
[11] Kam R.The Photuris Key Management Protocol(draft-kam-Poturis-00.tzt)[S].Dec 1999.
[12] 郭豐娟,宋雨.IKE分析與改進(jìn)[J].微機(jī)發(fā)展,2004,14(3):123-24.