(1.解放軍信息工程大學(xué) 電子技術(shù)學(xué)院, 鄭州 450004; 2. 解放軍63880部隊(duì)研究所, 河南 洛陽 471003; 3. 解放軍信息工程大學(xué) 國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心, 鄭州 450002)
摘要:
研究了網(wǎng)格中加密系統(tǒng),分析了已有的適用于網(wǎng)格的基于身份的加密系統(tǒng),發(fā)現(xiàn)該系統(tǒng)存在設(shè)計(jì)上的安全漏洞,給出了一個(gè)基于身份的源可認(rèn)證加密系統(tǒng)。該系統(tǒng)不僅能夠保證信息的機(jī)密性、完整性,而且還能實(shí)現(xiàn)對(duì)密文來源的認(rèn)證。
關(guān)鍵詞:網(wǎng)格; 基于身份; 加密系統(tǒng);源可認(rèn)證
中圖分類號(hào):TP309. 2文獻(xiàn)標(biāo)志碼:A
文章編號(hào):10013695(2009)03106902
Study of identitybased encryption and origin authentication for grid
WANG Bin1,3, CHENG Ying2
(1. Institute of Electronic Technology, PLA Information Engineering University, Zhengzhou 450004, China; 2. Graduate School of 63880 Army, Luoyang Henan 471003, China; 3. National Digital Switching System Engineering Technological RD Center, PLA Information Engineering University, Zhengzhou 450002, China)
Abstract:
By analyzing the security of an existent systemidentitybased encryption system for grid, the system was pointed out that it had some secure leak. To solve the problems of authenticating the users identity, this paper proposed a new scheme was based on identitybased encryption. This system not only can protect datas confidentiality and integrality but also can authenticate the origins identity.
Key words:grid; identitybased; encryption system; authentication
0引言
網(wǎng)格(grid) 作為建立在互聯(lián)網(wǎng)之上的新一代基礎(chǔ)設(shè)施, 近年來在國內(nèi)外引起了廣泛的關(guān)注。網(wǎng)格計(jì)算系統(tǒng)就是將地理分布、系統(tǒng)異構(gòu)、性能各異的各種資源, 通過高速互聯(lián)網(wǎng)絡(luò)連接并集成起來, 形成廣域范圍的協(xié)同計(jì)算環(huán)境[1]。
網(wǎng)格以Internet作為通信支撐平臺(tái),而Internet是一個(gè)開發(fā)性、異構(gòu)性極大的公共網(wǎng)絡(luò),這就使得在Internet上運(yùn)行的網(wǎng)格作業(yè)面臨著各種各樣的安全威脅,如數(shù)據(jù)被竊取、信息內(nèi)容被竄改或刪除、假冒合法用戶和服務(wù)器等。因此,在網(wǎng)格環(huán)境中需要采取各種有效的安全措施確保系統(tǒng)安全。
目前的Globus[2]可以認(rèn)為是網(wǎng)格技術(shù)的典型代表和事實(shí)上的規(guī)范。GSI是Globus的安全基礎(chǔ)構(gòu)件工具包,是網(wǎng)格安全體系結(jié)構(gòu)的一個(gè)實(shí)現(xiàn)。GSI安全策略實(shí)現(xiàn)主要包括三部分,即通用安全服務(wù)編程接口GSSAPI(generic security service API)、安全認(rèn)證管理和用戶代理的實(shí)現(xiàn)。GSI著重解決認(rèn)證問題。為了支持用戶認(rèn)證,Globus的安全認(rèn)證管理實(shí)現(xiàn)手段主要包括建立Globus安全認(rèn)證中心、用TIS MOSS軟件生成使用證書、綁定本地名字和證書上的名字、撤回證書、從本地節(jié)點(diǎn)消除用戶等。所以公鑰加密消息的方式是網(wǎng)格中一種常用的安全保密通信方式。在GSI 中負(fù)責(zé)公鑰加密消息的方式通信的系統(tǒng)稱為基于證書的加密系統(tǒng),這種系統(tǒng)將證書的加密系統(tǒng)本身的缺陷完全移植到網(wǎng)格中來。所以,2004 年在文獻(xiàn)[3]中Lim 和Robshaw首次將IBC[4]引入網(wǎng)格, 也證明了IBC與網(wǎng)格天然的和諧性;文獻(xiàn)[5]中,Huang xiaoqin等人[5]提到在中國網(wǎng)格項(xiàng)目中, 安全性將從IBC的角度來考慮;文獻(xiàn)[6]中給出了適用于網(wǎng)格的基于身份的加密系統(tǒng)(記為GIBE,Grid IBE) 。
1GIBE系統(tǒng)
1.1GIBE系統(tǒng)概述
GIBE系統(tǒng)中,GTA(grid trust authority)代表網(wǎng)格信任權(quán)威,它的地位類似于IBE 系統(tǒng)中的PKG(private key generator), 其主要功能是生成系統(tǒng)中的公開參數(shù)與網(wǎng)格中各主體的私鑰。
設(shè)G1、G2分別是階為q的加法群和乘法群。其中q是大素?cái)?shù),在G1、G2中離散對(duì)數(shù)問題都是難解的。設(shè)e是G1×G2→G2的一個(gè)雙線性映射,它是滿足以下條件的映射:
a)雙線性。如果對(duì)任意的P,Q,R∈G1,e(P,Q+R)=e(P,Q)×e(P,R),e(P+Q,R)=e(P,R)×e(Q,R),則稱映射e:G1×G2→G2是雙線性的。對(duì)a∈Z+,本文用aP表示P自加a次。由e的雙線性易得:對(duì)任意的a,b∈Z,e(aP,bQ)=e(P,Q)ab。
b)非退化性。存在P,Q∈G1,使得e(P,Q)不等于G2的單位元。
c)可計(jì)算性。有一個(gè)多項(xiàng)式時(shí)間算法來計(jì)算e(P,Q)∈G1。
通常G1取為有限域Fq上的橢圓曲線有理點(diǎn)群的一個(gè)加法子群,G2取為這個(gè)有限域的擴(kuò)域上的一個(gè)乘法子群,雙線性映射e由橢圓曲線上的Weil配對(duì)派生得到。設(shè)ID是一個(gè)表示用戶身份的字符串,H1、H2、H3、H4是公開的加密用哈希函數(shù)。其中H1:{0,1}k→G1,H2,H3,H4:{0,1}k→{0,1}n。
雙線性DiffieHellman 問題(BDH 問題)。設(shè)g是G1的生成元,隨機(jī)選擇a,b,c∈F*p ,給定ga,gb,gc∈G1,計(jì)算e(g,g)abc。 BDH 問題在某些橢圓曲線群上是困難的,即沒有多項(xiàng)式時(shí)間的算法能解決BDH問題。GIBE系統(tǒng)就是基于BDH 問題構(gòu)造的。
1)參數(shù)的初始化
GIBE系統(tǒng)中需要一個(gè)負(fù)責(zé)生成并傳送用戶私鑰的可信第三方PKG(private key generator)。PKG系統(tǒng)參數(shù)的選取步驟如下:a)PKG可信中心隨機(jī)選取一個(gè)元素P∈G1,然后再選擇一個(gè)整數(shù)s∈Fq作為自己的主密鑰;b)計(jì)算PP∪B=sP,作為自己的公開密鑰。PKG的公開參數(shù)是(P,PP∪B)。
2)用戶私鑰提取
當(dāng)用戶需要與他的身份對(duì)應(yīng)的私鑰時(shí),向可信中心提出申請(qǐng),可信中心在驗(yàn)證了用戶的身份后給出用戶身份所對(duì)應(yīng)的私鑰。設(shè)用戶的身份ID由一個(gè)字符串給出,則他的公鑰可以使用PID=H1(ID) 算出,私鑰dID=t×PID,然后通過安全信道將SID送給用戶。用戶的密鑰對(duì)為(PID,dID)。
3)加密和解密
加密過程為
a)計(jì)算QID=H1(ID);
b)選擇P,σ∈{0,1}n;
c)計(jì)算r=H3(σ,M);
d)計(jì)算密文C=〈rP,σH2(e(QID,PP∪B)r),MH4(σ)〉,記為C=〈U,V,W〉。
解密過程為
a)計(jì)算VH2(e(dID,U))=σ;
b)計(jì)算WH4(σ)=M;
c)計(jì)算r=H3(σ,M), 測試U是否等于rP。如果相等,M為密文C 對(duì)應(yīng)的明文; 如果不相等, 說明密文C 被竄改過。
1.2GIBE系統(tǒng)安全性分析
經(jīng)過對(duì)GIBE系統(tǒng)的安全性分析,發(fā)現(xiàn)GIBE系統(tǒng)存在以下安全缺陷:
a)該方案存在設(shè)計(jì)上的全漏洞。如果用戶A給用戶B兩次加密使用相同的隨機(jī)數(shù)σ,并且兩次的明文M1和M2的其中一個(gè)是漏洞,那么攻擊者就能計(jì)算出另外一個(gè)明文。具體攻擊步驟如下:
(a)使用相同的隨機(jī)數(shù)σ,用戶A對(duì)明文M1和M2進(jìn)行加密得到:W1=M1H4(σ),W2=M2H4(σ)。
(b)攻擊者知道明文M1,得到W1、W2,并且計(jì)算W1W2=M1M2。由于知道明文M1,攻擊者可以輕易地計(jì)算出明文M2。
b)該方案中接收方無法認(rèn)證信源的出處。當(dāng)用戶B收到一份密文C=〈U,V,W〉,他可以解密得到明文M,也可以驗(yàn)證密文C 是否被竄改過,但是他并不知道該消息是哪個(gè)用戶發(fā)送給他的。因?yàn)橛脩粼谶M(jìn)行加密預(yù)算時(shí)并沒有使用任何與自身相關(guān)的信息,任何非法的用戶均可以加密消息并發(fā)送給接收方,這樣整個(gè)加密系統(tǒng)就基本上失去了該系統(tǒng)的功能。
2基于身份的源可認(rèn)證加密系統(tǒng)
2.1源可認(rèn)證加密系統(tǒng)
該系統(tǒng)中參數(shù)的初始化和用戶私鑰提取與GIBE系統(tǒng)的完全相同。
加密過程為
a)計(jì)算QID=H1(ID);
b)選擇P,σ∈{0,1}n;
c)計(jì)算r=H3(σ,M),h=e(σdA,QB);
d)計(jì)算密文C=〈U,V,W〉。其中:U=rP;V=σH2(e(rQB,PP∪B));W=hMH4(σ)。
解密過程為
a)計(jì)算VH2(e(dB,U))=σ;
b)計(jì)算h=e(σQA,dB);
c)計(jì)算WhH4(σ)=M;
d)計(jì)算r=H3(σ,M), 測試U是否等于rP。如果相等,M為密文C對(duì)應(yīng)的明文,并且密文是由用戶A發(fā)送出來的;如果不相等, 說明密文C被竄改過,或密文不是用戶A發(fā)送出來的。
定理方案可以正確地進(jìn)行加/解密操作。
證明要證明方案的加密消息是可以解密的,只需證明VH2(e(dB,U))=VH2(e(sQB,rP))和h=e(σQA,dB)=e(σdA,QB)。
VH2(e(dB,U))=VH2(e(sQB,rP))=
VH2(e(QB,P)sr)=VH2(e(QB,sP)r)=
VH2(e(QB,PP∪B)r)=
σH2(e(rQID,PP∪B))H2(e(QB,PP∪B)r)=σ
h=e(σQA,dB)=e(σQA,sQB)=
e(σsQA,QB)=e(σdA,QB)
綜上所述,方案可以正確地進(jìn)行加/解密運(yùn)算。
2.2源可認(rèn)證加密系統(tǒng)安全性分析
a)機(jī)密性,即加密后的數(shù)據(jù)能夠保證在傳輸、使用和轉(zhuǎn)換過程中不被第三方非法解密。由上述方案可以看到解密的第一步必須有用戶B的私鑰dB的參與,否則無法得到σ,只有得到了σ才能進(jìn)一步運(yùn)算得到h和M,從而滿足機(jī)密性的要求。
b)完整性,即信息在存儲(chǔ)或傳輸過程中保持不被非法修改或破壞,并且能夠判別出數(shù)據(jù)是否已被改變。在解密的步驟d),計(jì)算r=H3(σ,M), 測試U是否等于rP。如果密文C被竄改過,那么可以證明密文被修改過,從而保證了密文的完整性。
c)信源可認(rèn)證性,由于在加密的過程中,h的計(jì)算必須要用戶A的私鑰參與運(yùn)算,當(dāng)用戶B按照方案解密得到明文M,就可以確定密文C是用戶A發(fā)送出來的,此時(shí)用戶B可以認(rèn)證該密文來自A,從而實(shí)現(xiàn)密文的源認(rèn)證。
d)克服了原GIBE系統(tǒng)設(shè)計(jì)上的安全漏洞