(北京工業大學 計算機學院, 北京 100022)
摘 要:移動代理存在的安全問題限制了它的應用。為此,通過引入HIBE技術,解決了主機和代理兩方面的安全問題,為移動代理系統提供一種新的安全解決方案。同時,該方案與基于PKI技術的移動代理安全方案相比,簡化了證書管理和交叉認證問題。
關鍵詞:基于等級身份的加密;基于身份的加密;移動代理;安全
中圖分類號:TP309 文獻標志碼:A
文章編號:10013695(2009)01034202
Mobile agent security scheme based on HIBE
SHI Weimin
(College of Computer Science Technology, Beijing University of Technology , Beijing 100022, China)
Abstract:The security problem in the mobile agent technology restricted its application. This paper solved host and agent security problem by introducing HIBE technology, which proposed a new security scheme for mobile agent system. Compared with the mobile agent security scheme based on PKI, this scheme simplify the certificate management and crosscertification.
Key words:hierarchical identitybased encryption; identitybased encryption; mobile agent; security
移動代理(mobile agent)技術是一種新興技術,能為分布式系統帶來更大的靈活性和更好的性能,尤其是在大型的異構網絡上,移動代理可以看做是一種能在異質網絡中各計算機間自主遷移的程序,代表用戶完成特定的任務。它具有自主性、移動性、協作性、安全性和智能性,能有效地減少分布式計算的網絡負載,提高通信效率,支持異步及自主交互,支持非連接互操作,為移動計算提供了一種靈活的模式,有廣闊的應用前景,如電子商務、信息收集與發布、網絡管理及并行計算等[1,2]。
阻礙移動代理技術廣泛應用的一個主要原因是其安全性問題。由于移動代理的遷移執行,引起了主機保護和移動代理保護兩個方面的安全問題。這兩方面的要求并不一致,甚至是對立的。一方面為了保證主機安全,防止代理進行操作,主機必須對代理進行身份識別;另一方面為了保證代理的安全,防止惡意主機對代理進行侵害,代理必須進行加密且保證主機身份的合法性,這就使系統在采用安全策略時面臨兩難境地[3~6]。針對以上問題,本文引入了新型IBE[7,8](identitybased encryption)的擴展技術即HIBE(hierarchical identitybased encryption)[9],解決兩者的矛盾,為移動代理系統提供一種新的安全解決方案。
1 HIBE方案
HIBE方案是IBE的一種擴展,因此它的核心同樣基于超奇異橢圓曲線上的一個雙線性映射,其安全性也是建立在WDH困難問題之上。下面以Gentry和Silverberg提出的HIBE為例,描述其方案的執行過程。該方案分四個執行階段:
a)根PKG參數建立。
(a)系統產生一個安全的參數K;
(b)由I(K)產生G1、G2、e⌒。其中:G1、G2是由素數q生成的群;e⌒:G1×G1→G2為超奇異橢圓曲線上的一個雙線性映射Weil pairing。
(c)隨機選擇s0∈Zq,P0∈G1,使Q0=s0P0。其中:SK*=s0為根PKG的密鑰;公鑰PK=Q0。
(d)定義hash函數H1:{0,1}*,H2:G2→{0,1}n。
(e)公開參數為(G1,G2,e⌒,P0,Q0,H1,H2)。
b)私鑰提取。若處于t(t≥0)層的PKG為它的下層即t+1層的子節點實體(ID1,ID2,…,IDt+1)產生私鑰。其過程如下:
(a)計算Pt+1=H1(ID1,…,IDt+1)∈G1;
(b)隨機選擇st∈Zq,計算用戶的私鑰St+1=St+stPt+1=t+1i=1si-1Pi(其中設根PKG的S0=0)。
(c)獲取所有父節點的公開參數Q1,…,Qt-1。其中Qt=stP0。
(d)最終該實體的私鑰為St+1=t+1i=1si-1Pi,Q1=s1P0,…,Qt=stP0。其中設根PKG的S0=0。
c)加密。以公鑰值Q0為輸入參數加密(ID1,ID2,…,IDt)的文明M∈{0,1}n。其過程如下:
(a)計算Pi=H1(ID1,…,IDi)∈G1;
(b)隨機選擇r∈Zq,并設g=e⌒(Q0,rP1)∈G2;
(c)計算密文C=[rP0,MH2(g),rP2,…,rPt]。
d)解密。解密密文C=[U0,V,U2,…,Ut],令f0=e⌒(U0,St),fi=e⌒(Qi-1,Ui)(2≤i≤t),計算VH2(f0/f2…ft)=M獲取明文。
2 基于HIBE移動代理安全方案
在大規模分布式網絡環境中,移動代理系統中執行代理的主機平臺不僅分布廣而且多,若僅有一個PKG為主機平臺分發私鑰,將會使PKG的負擔很重。因此本章基于HIBE技術提出了一種新的移動代理安全方案,為用戶實體分發私鑰的PKG呈樹型結構,用戶只需向它所在域的PKG申請即可。這不僅減少了單個PKG為系統所有用戶分發私鑰的負擔,而且某個PKG的密鑰泄露并不影響較高層PKG及其他PKG的安全;同樣也不影響該域用戶私鑰的安全。以下通過圖1的工作模式,來詳細描述該方案的實現過程。
主代理平臺HAP通過移動代理向其他主機獲取所需要的信息。在發布代理以前,它首先設置一個有效期Texp,并規定在此有效期內移動代理返回的結果是有效的。
密鑰產生器(privacy key henerator,PKG)負責為系統的所有實體產生私鑰。系統中的PKG是以樹型結構分布,下層PKG的私鑰是由其上層的PKG產生,用戶的私鑰是由它所在域的PKG產生。
host1,host2,…,hostn主要用來為移動代理提供服務請求的平臺,稱之為代理平臺(agent platform,AP)。
此外,該系統中所有實體的標志均是以它在HIBE樹型結構的位置來確定,如主機hosti的位置標志IDi=(ID2,ID2,…,IDt)i。其中t表示主機hosti處于HIBE樹型結構中的第t層。
假設HAP需要依次向host1,host2,…,hostn個主機請求信息,則該系統的執行過程如下:
a)HAP向其所在域的PKG申請與公鑰IDH相對應的私鑰dH=s×H(IDH)。
b)用HAP的私鑰dH簽名MA的標志token={IDMA,IDH,Texp}即sigdH(token)。
c)當MA移動到第一個主機host1之前,HAP首先構造host1的公鑰IDT1={IDH‖H(dH)‖ID1};用IDT1加密MA的執行代碼,把加密的結果及{IDT1,token,sigdH(token)}發送給host1。
d)Host1驗證MA的合法性,即用IDH驗證sigdH(token)。
e)Host1為了解密MA的執行代碼,需要向它所在域的PKG申請與公鑰IDT1相對應的私鑰。申請私鑰前,需要向PKG認證自己的身份。在該系統中,PKG通過IDT1中的H(dH)來確認host1的身份(除HAP本身外,只有PKG知道HAP的私鑰dH)。若PKG認證通過,發送d1=s×H(IDT1)給host1,host1再用私鑰d1解密MA的執行代碼。
f)類似的方法,在MA移動到下一個目標主機host2之前,host1首先構造host2的公鑰IDT2={IDT1‖H(d1)‖ID2},發送用此公鑰加密MA的執行代碼和從host1獲取的結果以及{IDT2,token,sigd1(token)}給host2。Host2向PKG認證身份后,獲取私鑰d2=s×H(IDT2)并解密MA的執行代碼。
g)依此類推,在規定的時間內hostn最終將所有的請求結果返回給HAP。
若以上步驟存在有驗證或加解密失敗以及其他異常(如網絡異常等現象),則系統的執行終止。
3 方案分析
基于HIBE的移動代理安全方案很好地解決了移動代理系統中AP和MA存在的安全問題。
1)AP的安全分析 由于AP在執行MA程序之前,通過HAP的公鑰IDH來驗證sigdH(token)簽名,嚴格驗證了MA身份的合法性。從而解決了AP遭受非法MA攻擊所帶來的安全問題。
2)MA的安全分析 一方面,本方案采用目標主機的公鑰加密MA及其相關信息發送給目標主機,因為只有目標主機擁有與其公鑰對應的私鑰,既使攻擊者竊取了該信息,也不可能解密此加密的信息。因此解決了MA在移動到目標主機的傳輸過程中,可能被攻擊者竊取并獲取有用的信息的安全問題。另一方面,MA程序必須在AP上運行,因此,其代碼和數據對于AP來說都是暴露的。當一個AP是惡意的,或是被攻擊者侵占或偽裝時,將會威脅MA的安全。本方案采用AP在解密MA之前,首先需要向PKG進行身份認證并獲取私鑰,若認證其AP是合法后才能獲取解密MA的私鑰,從而解決MA在AP中運行時所存在的安全問題。
此外,本方案是采用新型IBE的擴展技術HIBE來解決移動代理系統中存在的安全問題,由于各實體的公鑰是從該實體的位置標志得到,無須PKG為其頒發公鑰證書,而且不同域之間的實體相互認證時也不存在交叉認證問題。與傳統的PKI的技術相比[10] ,本方案簡化了證書管理和交叉認證問題。
參考文獻:
[1]
朱森良,邱瑜. 移動代理系統綜述[J].計算機研究與發展,2001,38(1):1625.
[2]PHAM V A,KARMOUCH A.Mobile software agent: an overview[J].IEEE Communication Magazine,1998,36(7):2637.
[3]GREENBERG M S,BYINGTON J C.Mobile agents and security[J].IEEE Communication Magazine,1998,36(7):7685.
[4]劉建勛,張申生,等.移動agent的安全性問題探討[J].小型微型計算機系,2000,21(12):13161319 .
[5]劉創,鄒華.本地化代理——一種移動代理安全問題的解決方案[J].北京郵電大學學報,2000,23(3):5963.
[6]姜學明, 馮志勇,周玉清.如何防止移動代理和代理平臺之間的相互攻擊[J].計算機工程與設計,2004,25(1):7880.
[7]SHAMIR A.Identitybased cryptosystem and signature schemes[C]//BLAKLEY G R,CHAUM D.Proc of CRYPTO’84.Berlin:SpringerVerlag,1984:4753.
[8]BONEH D,FRANKLIN M. Identitybased encryption from Weil pairing[C]//KILIAN J.Proc of CRYPTO.Berlin:SpringerVerlag, 2001:213229.
[9]GENTRY C,SILERGERG A.Hierachical IDbased cryptography[C]//ZHENG Y.Proc of ASICCRYPT.Berlin:SpringerVerlag, 2002:548566.
[10]丁曉. 基于PKI的移動代理安全策略研究[J]. 現代電子技術,2006,21(7):3537.