摘 要: 量子計算機技術的進步,使傳統(tǒng)公鑰密碼系統(tǒng)受到了巨大的威脅,特別對基于傳統(tǒng)公鑰加密的應用系統(tǒng)帶來不可估量的損失。與此同時,辮子群公鑰密碼算法的提出,有效地防止了量子技術對公鑰密碼的破譯而且可以抵抗已知的各種攻擊。在研究辮子群密碼算法和傳統(tǒng)公鑰算法、按需裝配Agent的概念和系統(tǒng)模型特點的基礎上,提出了一種辮子群混合加密方法并有效地應用到按需裝配Agent的系統(tǒng)中,從而大大提高了Agent系統(tǒng)的安全性。
關鍵詞: 辮子群;公鑰密碼系統(tǒng);混合加密;按需裝配Agent
公鑰密碼算法自產(chǎn)生之日起就占據(jù)了現(xiàn)代密碼學的核心地位,其主要思想是利用數(shù)學中的某些難解問題如大整數(shù)分解問題、離散對數(shù)問題等構造了一些安全性很好的公鑰算法。然而,隨著現(xiàn)代計算機性能的不斷提高,與交換群相關的問題逐漸變得容易處理了。量子計算的最新研究也表明,基于有限域特性的某些難解問題可以用量子的多項式時間算法解決,因此在量子計算機時代,這些密碼算法將不再是安全的。于是產(chǎn)生了辮子群的公鑰密碼算法,它不但可以有效地抵抗量子計算的攻擊,還可以抵抗目前已知的各種攻擊。
目前學術界對辮子群公鑰密碼算法的破譯沒有實質性的進展,但這并不表示在未來的幾年或幾十年中不會出現(xiàn)有效的攻擊手段,因此,本文提出一種辮子群密碼與公鑰密碼相結合的混合密碼算法并且將其應用到按需裝配Agent的系統(tǒng)中,這樣的混合密碼算法可以同時保留辮子群公鑰加密和傳統(tǒng)公鑰加密的優(yōu)點,從而大大地提高密碼算法的安全性。同時,將其應用到按需裝配Agent的系統(tǒng)中,可增強混合密碼算法的實用性。
2 按需裝配Agent
2.1 按需裝配Agent的特點[3-5]
(1)能夠及時實現(xiàn)功能的動態(tài)擴展與更新,優(yōu)化網(wǎng)絡計算等資源的配置。
(2)Agent能夠在遇到具體問題、需要某個特定功能時才調入具體的功能模塊,無需一開始就加載很多可能用不著的功能,具有良好的動態(tài)擴展能力,也減少了一些不必要的開銷。
(3)為動態(tài)環(huán)境下復雜問題的解決提供了靈活有效的模式。在動態(tài)環(huán)境下Agent所遇到的問題很可能是事先無法預料的,而且在類似電子商務的領域中一個Agent的角色還可能發(fā)生很大的變化,而按需裝配移動Agent在遇到問題時能夠進行相應功能擴展,賦予了Agent極大的靈活性,使得Agent能夠從容地解決這些問題。
2.2 按需裝配Agent系統(tǒng)的實現(xiàn)[3]
Agent的按需裝配過程可以用圖1來描述,具體過程如下:
(1)當按需裝配Agent發(fā)現(xiàn)某網(wǎng)絡主機需要裝載某功能構件時,就會根據(jù)服務類別和需要解決的問題向系統(tǒng)的構件管理器提交加載申請;
(2)Agent系統(tǒng)根據(jù)請求返回相應功能構件的構件基地路徑;
(3)按需裝配Agent根據(jù)返回的基地路徑利用自身的構件裝載器動態(tài)地將該功能構件加載到本地;
(4)按需裝配Agent通過加載到本地的功能構件完成相應的功能。
3 混合加密應用于按需裝配Agent系統(tǒng)
通過對目前現(xiàn)有的密碼算法和國內(nèi)外的密碼學發(fā)展進行研究和分析,提出了基于辮子群和公鑰密碼RSA相混合的加密算法,并將其應用于按需裝配Agent系統(tǒng)中。
3.1 混合密碼算法所用符號的意義
PKH:客戶機的RSA加密公鑰;
SKH:客戶機的RSA解密私鑰;
PKA:Agent運行機的RSA加密公鑰;
SKA:Agent運行機的RSA解密私鑰;
PK3:構件服務器的RSA加密公鑰;
SK3:構件服務器的RSA解密私鑰;
BPKH:客戶機的辮子群加密公鑰;
BSKH:客戶機的辮子群解密公鑰;
BPKA:Agent運行機的辮子群加密公鑰;
BSKA:Agent運行機的辮子群解密私鑰;
BPK3:構件服務器的辮子加密公鑰;
BSK3:構件服務器的辮子解密私鑰;
SHA-512:Hash函數(shù)的信息摘錄。
i為標志符(當i=1時,加密順序為先辮子加密后RSA加密;當i=0時,加密順序為先RSA加密后辮子加密)。
3.2 混合密碼加密過程
(1)客戶機、Agent運行機和構件服務器三方分別產(chǎn)生并公布各方的公鑰。
(2)如果客戶機有任務,先判斷當前系統(tǒng)時間的秒鐘,如果秒鐘為偶數(shù),設i=0;如果秒鐘為奇數(shù),設i=1。
(3)客戶機根據(jù)i的值對BPKA、PKA和BPK3、PK3進行相應順序的加密,同時將任務用SHA-512進行信息摘錄,最后將用公鑰加密的結果、SHA-512的摘錄和i的值打包分別傳給Agent運行機和構件服務器。
(4)Agent運行機和構件服務器同時收到客戶機發(fā)來的任務,構件服務器等待Agent運行機的響應。Agent運行機首先判斷i的值并根據(jù)i的值對加密任務用自已的私鑰BSKA、SKA進行正確的順序解密。然后將解密后的任務進行SHA-512摘錄提取并與客戶機發(fā)來的SHA-512的值進行對比,如果相同則執(zhí)行任務,否則返回步驟(2)。
(5)Agent運行機在執(zhí)行任務時,首先將i值進行取反,然后用取反的i值對客戶機發(fā)來的任務用構件服務器的公鑰BPK3、PK3進行相應順序的加密, 同時將任務用SHA-512進行信息摘錄,最后將用公鑰加密的結果、SHA-512的摘錄和i的值一起傳給構件服務器來申請生成構件。
(6)當構件服務器收到Agent運行機的信息時,同樣需要先判斷i值并根據(jù)i值用自己的私鑰BSK3、SK3對收到的信息(包括從客戶機和Agent運行機傳來的信息)進行順序解密。之后,判斷客戶機和Agent運行機傳來的信息的合法性(通過對比解密后直接得到的摘錄和任務提取的SHA-512摘錄),再對客戶機和Agent傳來的SHA-512值進行對比判斷。如果有一個判斷不符合要求,則返回步驟(2),否則進行下一步。
(7)構件服務器首先將從Agent運行機傳來的i值取反,之后根據(jù)取反后的i值進行相應順序的加密并用運行機的公鑰BPKA、PKA對構件進行加密傳輸。Agent運行機對收到的構件進行解密并裝載,執(zhí)行任務后,將得到的結果傳遞給客戶機。
3.3 安全性分析
辮子群混合加密下的按需裝配Agent系統(tǒng)的安全性分析如下:
(1)混合加密算法的安全機制存在于Agent運行機、構件服務器和客戶機中。這樣,攻擊者就不能從這三者中進行非法攻擊。
(2)辮子群混合加密算法采用了判斷合法的機制,因此即使Agent運行機是惡意主機或成為傀儡機,也不可以在客戶機和構件服務器之間進行欺騙。同時攻擊者無論是從客戶機和Agent運行機之間進行攻擊,還是在客戶機和構件服務器之間進行欺騙,都是不可行的。
(3)RSA公鑰加密算法可以抵抗非量子計算以外的攻擊;辮子群算法可以抵抗量子計算的攻擊,因此辮子群和RSA的混合加密算法可以有效地抵抗各種攻擊。
(4)將參考文獻[6]中的Hash函數(shù)使用相對安全的SHA-512函數(shù)進行加密,也提高了Agent系統(tǒng)的安全性。
將辮子群和傳統(tǒng)加密方法混合加密應用于Agent系統(tǒng)中,有針對性地改進了Agent系統(tǒng)存在的缺點, 提高了系統(tǒng)的安全性。對于一些單純地只用傳統(tǒng)加密算法或者辮子加密算法加密的系統(tǒng),也可以用混合加密的方法來提高安全性。
參考文獻
[1] CHA J C,KO K H,LEE S J,et al.An efficient implementation of braid groups[C].In:Boyd C,ed.Advances in Cryptology-ASIACRYPT2001.LNCS 2048,Berlin:Springer Verlag,2001:144-156.
[2] KO K H,LEE S J,CHEON J H,et al.New public-key cryptosystem using braid groups[C].In:Bellare M,ed. Advances in Cryptology-CRYPTO 2000.LNCS1880,Berlin:Springer-Verlag,2000:166-183.
[3] 黃曉斌,李琦,吳少巖.一種按需裝配的Agent[J].計算機科學,2002,29(5):89-91.
[4] 馬繼業(yè),張仲義,呂永波.按需裝配Agent系統(tǒng)的構件安全機制研究[J].中國安全科學學報,2005,15(4):77-80.
[5] Huang Xiaobin,Li Qi,Wu Shaoyan.Assemble-on-demand Agent[A].信息技術與信息網(wǎng)絡國際會議ICII2001 Conferences[C].北京:科學出版社,2001:286-291.
[6] Wang Xiaoyun,Yu Hongbo.How to break MD5 and other Hash function[A].EUROCRYPTO′05[C].2005.