姜輝
摘要:針對電子信息的集中管理問題,提出了一個分布式的基于身份的代理重加密方案。該方案利用代理將用發(fā)送方身份加密的密文,轉(zhuǎn)化成接收方可以利用自己的私鑰解密的密文,而在這個過程中,半可信的代理不能對密文進(jìn)行解密。該方案不用存儲公鑰證書,降低了密鑰管理的難度;采用了分布式計算環(huán)境,進(jìn)一步提高了資源利用率;密文經(jīng)過聚合后,使得長度變短,極大地減少了通信開銷。
關(guān)鍵詞:集中管控;分布式;代理重加密
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2017)09-0187-02
隨著電子政務(wù)、電子軍務(wù)和電子商務(wù)的逐漸普及,產(chǎn)生了巨量的電子信息。這些電子信息的管理、規(guī)范和控制引起了學(xué)術(shù)界和工業(yè)界的高度重視[1]。針對電子信息的集中管理問題,本文結(jié)合分布式并行系統(tǒng),提出一個分布式的基于身份的代理重加密方案,能有效地解決電子信息的管理控制。
1 方案模型
本方案的網(wǎng)絡(luò)模型為兩層結(jié)構(gòu)。第一層網(wǎng)絡(luò)叫“主干網(wǎng)”,由發(fā)送方和一些代理節(jié)點組成。這些節(jié)點都是一個基本的并行分布式單元,通常由一個服務(wù)器節(jié)點和若干計算節(jié)點組成,服務(wù)器節(jié)點負(fù)責(zé)分配任務(wù),并由計算節(jié)點并行執(zhí)行計算任務(wù)。當(dāng)任務(wù)執(zhí)行完畢,計算結(jié)果返回至服務(wù)器,經(jīng)過聚合輸出最終結(jié)果;第二層網(wǎng)絡(luò)由客戶端組成,這些客戶端可能是筆記本電腦、平板電腦甚至是手機(jī)。這些節(jié)點組成了一個由代理節(jié)點管理的子組。根節(jié)點是發(fā)送方,信息在此處以并行分布的方式進(jìn)行加密。半可信的代理為中間節(jié)點,對并行加密的結(jié)果進(jìn)行重加密。
2 分布式并行架構(gòu)[2]
該方案的算法可分為四個步驟:參數(shù)預(yù)處理,分配任務(wù),并行運算,進(jìn)行聚合。
參數(shù)預(yù)處理階段,選擇或生成一些常用參數(shù),比如密鑰、組參數(shù)和其他常用參數(shù)。這些參數(shù)是普遍的。
分配任務(wù)階段,服務(wù)器根據(jù)某種策略,將計算任務(wù)分配給一些電腦節(jié)點。
并行運算階段,此階段存在兩種運算,為發(fā)送方與代理進(jìn)行加密以及為代理節(jié)點進(jìn)行重加密。包含接收者公鑰的信息被分配給電腦節(jié)點進(jìn)行計算,此過程叫做加密過程。如果輸入的信息是密文和重加密密鑰,該計算過程叫做重加密。
聚合階段,每一個運算單元的運算結(jié)果返回至服務(wù)器進(jìn)行匯總。如果密文存在相同的部分,那么我們只保留一份,并添加上其他必要的部分。
3 方案構(gòu)造
本文構(gòu)造了基于身份的分布式并行多接收方案DParPre (Distributed Parallel Multi-recipient Proxy Re-encryption)。發(fā)送方為接收者加密不同的信息 ,并將密文發(fā)送給半可信的代理。代理將該密文轉(zhuǎn)化為接收者可以解密的密文并進(jìn)行廣播,在轉(zhuǎn)化過程中,接收者不能得知密文對應(yīng)的明文。接收者收到密文,可以用自身私鑰進(jìn)行解密。DParPre由五個算法組成:密鑰生成算法,并行加密算法,并行重加密算法,解密算法。
密鑰生成算法()。發(fā)送方公鑰為,私鑰為。接收者公鑰為,私鑰為。
并行分布加密算法()。加密明文 時,發(fā)送方按如下操作進(jìn)行。
Begin:
(1)預(yù)運算。發(fā)送方選取隨機(jī)數(shù)和,計算,,此結(jié)果將用于代理重加密密鑰的生成過程。對于加密過程,選擇和,計算。
(2)并行分布的代理密鑰生成和加密過程。
將明文分成組,每組由一個計算節(jié)點負(fù)責(zé)運行。
For :
分配至每個計算節(jié)點每一個電腦,這里;
Distributed Para begin
(a)代理密鑰生成
計算,,
返回
(b)分布式加密
①計算。
②計算,。
③計算,輸出密文。
Distributed Para end
End For
(3)聚合過程。
將所有輸出聚合為一個密文
,并傳送給代理節(jié)點。
End
分布式并行重加密()。代理利用將發(fā)送者發(fā)送的密文轉(zhuǎn)化為傳送給接收者的密文。
Begin:
將密文分成組,每一組由一個計算節(jié)點負(fù)責(zé)運算。
For ,
將傳送給單個計算節(jié)點。
Para begin
①如果不成立,返回。
②否則,計算,輸出。
Para end
End For
將輸出聚合為一個密文,并廣播給所有接收者。
End
解密()。根據(jù)廣播密文,接收者得到自己的密文部分,并利用私鑰按如下過程解密。
(1)計算,。
(2)如果和成立,返回;否則返回。
4 實驗和效果分析
將本文算法與串行基于身份的代理重加密算法Serial(Serial ID-based Proxy Re-encryption)進(jìn)行對比模擬實驗,以此檢驗本文算法。實驗硬件環(huán)境為多臺聯(lián)想電腦,配置為Inter CoreTM i5 CPU 2.53 GHz,2.00 GB RAM;密碼算法使用JPBC庫[3]編寫;分布式并行算法由并行分布式框架Fourinone執(zhí)行,該函數(shù)庫提供了分布式結(jié)構(gòu)和易用程序api來同時管理使用多臺計算機(jī)及其內(nèi)存、硬盤等設(shè)備。為了對接收者的數(shù)量不同進(jìn)行模擬,假設(shè)處理25600bits信息。對比Serial的提升效果可以由下述公式計算:提升= (Serial DParaPRe)/Serial。結(jié)果如表1所示,效率提高很明顯。
5 結(jié)語
本文提出了一個適用于電子信息集中管控系統(tǒng)的分布式代理重加密方案。實驗和分析表明,本方案充分利用了分布式環(huán)境,提高了運算效率;同時,降低了密鑰管理負(fù)擔(dān),進(jìn)一步縮短了密文長度。
參考文獻(xiàn)
[1]禹立宏.涉密電子信息集中管控方法初探[J].保密科學(xué)技術(shù),2015,(2):60-61.
[2]孫大為,張廣艷,鄭緯民.大數(shù)據(jù)流式計算:關(guān)鍵技術(shù)及系統(tǒng)實例[J].軟件學(xué)報,2014, 25(4):839-862.
[3]Caro A D, Iovino V. jPBC: Java pairing based cryptography[C].IEEE Symposium on Computers and Communications. IEEE Computer Society, 2011:850-855.endprint