《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 新的同態(tài)加密方法——基于Paillier和RSA 密碼體制的代理重加密
新的同態(tài)加密方法——基于Paillier和RSA 密碼體制的代理重加密
2016年微型機(jī)與應(yīng)用第07期
段淑敏,殷守林,張燕麗,王學(xué)穎
(沈陽(yáng)師范大學(xué) 科信軟件學(xué)院,遼寧 沈陽(yáng) 110034)
摘要: 同態(tài)加密是一種加密形式,它允許特定類(lèi)型的計(jì)算對(duì)密文進(jìn)行加密,解密時(shí)對(duì)明文執(zhí)行匹配結(jié)果的操作可以獲得一個(gè)加密的結(jié)果,當(dāng)對(duì)位于遠(yuǎn)程服務(wù)器上的數(shù)據(jù)做計(jì)算時(shí),云供應(yīng)商有必要訪問(wèn)原始數(shù)據(jù)并解密。為滿(mǎn)足企業(yè)信息的數(shù)據(jù)和算法的私密性需求,數(shù)據(jù)加密方法與防篡改硬件技術(shù)被使用。公開(kāi)加密數(shù)據(jù)的計(jì)算上,隱私的建立成為必要條件。此時(shí)同態(tài)加密方法被使用且提出一種基于Paillier和RSA密碼體制的代理重加密技術(shù)。同態(tài)加密是一種無(wú)需解密即可在加密數(shù)據(jù)上進(jìn)行計(jì)算的方法,與在原始數(shù)據(jù)上計(jì)算能夠獲得相同的結(jié)果,并通過(guò)使用代理重加密技術(shù)防止被選擇的密文受攻擊。
Abstract:
Key words :

  段淑敏,殷守林,張燕麗,王學(xué)穎

  (沈陽(yáng)師范大學(xué) 科信軟件學(xué)院,遼寧 沈陽(yáng) 110034)

  摘要同態(tài)加密是一種加密形式,它允許特定類(lèi)型的計(jì)算對(duì)密文進(jìn)行加密,解密時(shí)對(duì)明文執(zhí)行匹配結(jié)果的操作可以獲得一個(gè)加密的結(jié)果,當(dāng)對(duì)位于遠(yuǎn)程服務(wù)器上的數(shù)據(jù)做計(jì)算時(shí),云供應(yīng)商有必要訪問(wèn)原始數(shù)據(jù)并解密。為滿(mǎn)足企業(yè)信息的數(shù)據(jù)和算法的私密性需求,數(shù)據(jù)加密方法與防篡改硬件技術(shù)被使用。公開(kāi)加密數(shù)據(jù)的計(jì)算上,隱私的建立成為必要條件。此時(shí)同態(tài)加密方法被使用且提出一種基于Paillier和RSA密碼體制的代理重加密技術(shù)。同態(tài)加密是一種無(wú)需解密即可在加密數(shù)據(jù)上進(jìn)行計(jì)算的方法,與在原始數(shù)據(jù)上計(jì)算能夠獲得相同的結(jié)果,并通過(guò)使用代理重加密技術(shù)防止被選擇的密文受攻擊。

  關(guān)鍵詞云計(jì)算;同態(tài)加密;代理重加密技術(shù);數(shù)據(jù)安全

0引言

  同態(tài)加密廣泛用于支持簡(jiǎn)單聚合,對(duì)加密數(shù)據(jù)的數(shù)值計(jì)算以及私人信息檢索。同態(tài)加密理論的突破產(chǎn)生了全同態(tài)加密[1],能夠計(jì)算加密數(shù)據(jù)的任意函數(shù)。同態(tài)加密通常被認(rèn)為是一種在加密數(shù)據(jù)基礎(chǔ)上解決數(shù)據(jù)庫(kù)查詢(xún)問(wèn)題的關(guān)鍵方式。用于處理更復(fù)雜結(jié)構(gòu)數(shù)字?jǐn)?shù)據(jù)和算法的隱私性需求呈指數(shù)形式增加,這正好平行于通信網(wǎng)絡(luò)及其設(shè)備的增長(zhǎng)和它們能力的增長(zhǎng)。為了數(shù)據(jù)的安全存儲(chǔ)和訪問(wèn),當(dāng)前技術(shù)提供了幾種保證數(shù)據(jù)隱私的方法如數(shù)據(jù)加密[23]和防篡改硬件[4]等。然而,當(dāng)私有數(shù)據(jù)使用同態(tài)加密公開(kāi)計(jì)算或者修改函數(shù)、算法時(shí),它們?nèi)匀豢梢詧?zhí)行,隱私也可得到確保。使用同態(tài)加密的系統(tǒng)可以計(jì)算與加密數(shù)據(jù)。

  數(shù)據(jù)在發(fā)送到服務(wù)器端之前將會(huì)被加密,但是客戶(hù)端面臨一些問(wèn)題,因?yàn)榉?wù)提供商需要執(zhí)行對(duì)數(shù)據(jù)的計(jì)算來(lái)回應(yīng)客戶(hù)端的請(qǐng)求,因此客戶(hù)端必須在執(zhí)行所需計(jì)算之前給服務(wù)器提供密鑰來(lái)解密數(shù)據(jù),這可能會(huì)影響存儲(chǔ)在云端的數(shù)據(jù)保密性。同態(tài)加密可以執(zhí)行加密數(shù)據(jù)的操作而無(wú)需解密[56]。提出這種方法的目的是解決托管在云計(jì)算中的數(shù)據(jù)安全問(wèn)題。本文主要研究同態(tài)加密的應(yīng)用對(duì)于云計(jì)算的安全性,尤其在沒(méi)有解密的情況下執(zhí)行加密數(shù)據(jù)計(jì)算的可能性。

1云計(jì)算

  云計(jì)算[7]是一個(gè)模型,能夠方便、按需訪問(wèn)可配置的網(wǎng)絡(luò)計(jì)算資源共享池(如網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)應(yīng)用程序和服務(wù)),可以快速地配置工作環(huán)境,并能以消耗最小的管理工作或服務(wù)與提供商交互發(fā)布。關(guān)于云計(jì)算流量、安全和資源管理有很多問(wèn)題,可以通過(guò)多種方式,在數(shù)據(jù)、網(wǎng)絡(luò)和存儲(chǔ)上保證云安全。同態(tài)加密方法給數(shù)據(jù)提供更加安全的保護(hù)[7],因?yàn)椴簧婕懊荑€的管理。使用代理重加密技術(shù)防止被選擇的密文受到攻擊,所以該系統(tǒng)比現(xiàn)有系統(tǒng)更安全。

  1.1新定義

  通過(guò)云計(jì)算概念,對(duì)其給出新定義:對(duì)于可計(jì)算的信息技術(shù)模型由所有的信息技術(shù)組件構(gòu)成包括硬件[8]、軟件、網(wǎng)絡(luò)以及服務(wù)等,以便開(kāi)發(fā)和通過(guò)因特網(wǎng)或者專(zhuān)用網(wǎng)絡(luò)云服務(wù)傳遞。這個(gè)定義在云計(jì)算中對(duì)于數(shù)據(jù)沒(méi)有安全定義。云供應(yīng)商,如IBM、谷歌和亞馬遜在他們的云平臺(tái)中使用虛擬化,在同一臺(tái)服務(wù)器中,它們可以共用存儲(chǔ)空間,也可以處理并發(fā)企業(yè)的虛擬化。

  1.2云計(jì)算結(jié)構(gòu)模型

  云計(jì)算系統(tǒng)可以分為兩部分:前端和后端。前端實(shí)現(xiàn)用戶(hù)與服務(wù)器交互,后端是服務(wù)器提供給用戶(hù)數(shù)據(jù),服務(wù)器和客戶(hù)端之間的網(wǎng)絡(luò)為中間件。圖1為云基本體系結(jié)構(gòu)。

  

001.jpg

2同態(tài)加密

  同態(tài)加密指的是在加密過(guò)程中純文本和密文都被看作具有等效的代數(shù)函數(shù)。同態(tài)加密允許服務(wù)器在不知道原始明文情況下做加密數(shù)據(jù)的操作。數(shù)據(jù)保護(hù)基本流程如圖2所示。

002.jpg

  同態(tài)加密允許在加密的數(shù)據(jù)上執(zhí)行復(fù)雜的數(shù)學(xué)運(yùn)算而無(wú)需原始數(shù)據(jù)。對(duì)于明文X1和X2以及對(duì)應(yīng)的密文Y1和Y2,基于同態(tài)加密方案,已知Y1和Y2,就可以直接計(jì)算出X1ΘX2的值。密碼系統(tǒng)的乘法同態(tài)或者加法同態(tài)取決于運(yùn)算符號(hào)Θ是乘還是加[910]。

  以下重點(diǎn)介紹乘法同態(tài)加密。

  一個(gè)同態(tài)加密方案是乘法的(其中m是明文的個(gè)數(shù)),如果:

  Enc(xy)=Enc(x)Enc(y)

  Enc(∏mi=1mi)=∏mi=1Enc(mi)

  RSA加密系統(tǒng)過(guò)程:

  第一步:密鑰產(chǎn)生KeyGen(p,q)

  ①輸入:p,q∈P

 ?、谟?jì)算:n=p×q,φ(n)=(p-1)(q-1)

  ③選擇一個(gè)數(shù)e使Gcd(e,φ(n))=1,確定一個(gè)d使e×d≈1modφ(n)。

 ?、茌敵觯?pk,sk)

  公鑰:pk=(e,n);私鑰:sk=(d)

  第二步:加密Enc(m,pk)

 ?、佥斎耄簃∈Zn

 ?、谟?jì)算:c=memodn

 ?、圯敵觯篶∈Zn

  第三步:解密Dec(c,sk)

 ?、佥斎耄篶∈Zn

 ?、谟?jì)算:m=cdmodn

  ③輸出:m∈Zn

  假設(shè)有兩個(gè)密碼C1和C2,而且:

  C1=me1modn

  C2=me2modn

  C1C2=me1me2modn=(m1m2)emodn

  因此,RSA密碼系統(tǒng)找到乘法同態(tài)加密的屬性,但是不符合好的安全概念,原因是:假設(shè)兩個(gè)密鑰C1和C2以及相對(duì)應(yīng)的信息m1和m2:

  C1=me1modn

  C2=me2modn

  發(fā)送器把密鑰對(duì)(C1,C2)發(fā)送到云服務(wù)器上,服務(wù)器根據(jù)客戶(hù)要求執(zhí)行計(jì)算并發(fā)送加密之后的密文(C1×C2)到客戶(hù)。如果攻擊者攔截了這兩個(gè)使用相同密碼加密的密鑰,那么將會(huì)解密兩個(gè)客戶(hù)之間交流的全部信息,因?yàn)橥瑧B(tài)加密是乘法的,也就說(shuō)密碼的積等于積的密碼。

3新系統(tǒng)設(shè)計(jì)

  為防止密文信息從CCA泄露,提出了使用Paillier和RSA密碼體制的代理重加密算法[1112]。在同態(tài)加密體制中數(shù)據(jù)由私鑰加密,公鑰只有客戶(hù)端有。再次通過(guò)代理重加密算法獲得每次隨機(jī)密鑰生成的密碼數(shù)據(jù),如果攻擊者獲得一個(gè)密鑰,那么還需要另外一個(gè)不同于此的密鑰解密數(shù)據(jù)[1316]。即使攻擊者得到了這些數(shù)據(jù),也不能在客戶(hù)機(jī)和服務(wù)器之間解密得到明文。所以新系統(tǒng)比現(xiàn)有系統(tǒng)提供了更安全的保障。

  3.1代理重加密算法

  第一步:密鑰產(chǎn)生KeyGen(p,q)

  ①選擇兩個(gè)素?cái)?shù)p,q

 ?、谟?jì)算n=p·q和φ(n)=(p-1)(q-1)

  選擇數(shù)e使gcd(e,φ(n))=1

 ?、鄞_定一個(gè)d使e×d=1modφ(n)

 ?、艽砉€由Rpk=(e,n)產(chǎn)生,代理私鑰由Rsk=d產(chǎn)生。

  第二步:加密Enc(c,Rpk)

  令m是即將加密的消息,且m∈Zn

  計(jì)算密文:Rc=m·e modn

  第三步:解密Dec(Rc,Rsk)

  密文:c∈Zn

  計(jì)算消息:M=c·d modn

  3.2基于Paillier算法提出的代理重加密

  第一步:產(chǎn)生密鑰。

 ?、匐S機(jī)選擇兩個(gè)比較大且相互獨(dú)立的素?cái)?shù)p,q。令(pq,(p-1)(q-1))=1

 ?、谟?jì)算n=pq和λ=1cm(p-1,q-1)

 ?、圻x擇隨機(jī)整數(shù)g,使g∈Z*n2

 ?、芡ㄟ^(guò)下面計(jì)算判斷模塊化的乘法逆元素是否存在,來(lái)確定n及劃分g的順序:

  μ=(L(aλmodn2))-1modn

  其中函數(shù)L被定義為L(zhǎng)(u)=u-1/n

 ?、莨€密鑰為(n,g),私鑰密鑰為(λ,μ)

  第二步:加密Enc(m,pk)

  ①令m是要被加密的消息且m∈Zn

 ?、陔S機(jī)選擇r,使r∈Zn*

  ③計(jì)算密文:c=gm·nrmodn2

  第三步:代理重加密

 ?、儆?jì)算公鑰和私鑰(Rsk,Rpk)

  ②重加密密文由Paillier算法生成并發(fā)送公鑰(Rpk)到云服務(wù)器

  第四步:解密Dec(c,sk)

 ?、倜芪腸∈Zn*

 ?、谟?jì)算消息:

  m=L(cλmodn2)/L(gλmodn2)modn

  3.3基于RSA算法提出的代理重加密

  第一步:產(chǎn)生密鑰。

 ?、龠x擇兩個(gè)素?cái)?shù)p,q,計(jì)算n=pq和φ(n)=(p-1,q-1)

  ②選擇整數(shù)e,使gcd(e,φ(n))=1

 ?、鄞_定d使e·d=1modφ(n)

 ?、芄€由(e,n)產(chǎn)生,私鑰由(d)產(chǎn)生

  第二步:加密Enc(m,pk)

 ?、倭頼是要被加密的消息且m∈Zn

 ?、谟?jì)算密文:c=memodn

  第三步:代理重加密

 ?、儆?jì)算公鑰和私鑰(Rsk,Rpk)

  ②重加密密文由RSA算法生成并發(fā)送公鑰(Rpk)到云服務(wù)器

  第四步:解密Dec(c,sk)

 ?、倜芪腸∈Zn

 ?、谟?jì)算消息:m=cdmodn

4結(jié)論

  本文使用同態(tài)加密技術(shù)在云端提供安全服務(wù)。同態(tài)加密是一個(gè)新的安全概念,能夠在不知道原始數(shù)據(jù)情況下對(duì)加密的數(shù)據(jù)提供計(jì)算結(jié)果,保證了數(shù)據(jù)的機(jī)密性?;诖碇丶用芩惴?,首次提出了RSA和Paillier同態(tài)加密算法,可有效防止密文受到選擇性密文文本攻擊。因此,這個(gè)系統(tǒng)比現(xiàn)有系統(tǒng)更安全。在以后的工作中,可以通過(guò)減少密鑰的大小來(lái)提高工作效率,并且也可以為其他同態(tài)加密方案進(jìn)行代理?;谌瑧B(tài)加密云計(jì)算安全也是一個(gè)新的安全概念,也將是以全同態(tài)加密應(yīng)用為基準(zhǔn)的。

參考文獻(xiàn)

 ?。?] 陳智罡,王箭,宋新霞. 全同態(tài)加密研究[J].計(jì)算機(jī)應(yīng)用研究, 2014(6):16241631.

 ?。?] 馮朝勝,秦志光,袁丁. 云數(shù)據(jù)安全存儲(chǔ)技術(shù)[J]. 計(jì)算機(jī)學(xué)報(bào),2015(1):150163.

 ?。?] 張澤普,李國(guó)剛.基于OHNN和驅(qū)動(dòng)表的公鑰加密算法[J].微型機(jī)與應(yīng)用,2013,32(12):4850,53.

 ?。?] 段國(guó)云,陳浩,黃文,等. 一種Web程序防篡改系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程,2014(5):149153.

 ?。?] 劉天華,殷守林,李航. 一種新的在線(xiàn)社交網(wǎng)絡(luò)的隱私保護(hù)方案[J]. 電子技術(shù)應(yīng)用,2015,41(4):122124,128.

  [6] TIAN M, HUANG L. Certificateless and certificatebased signatures from lattices[J]. Security & Communication Networks, 2015, 8(8):15751586.

 ?。?] 韋茜,王晨,李星毅,等.基于RSA算法的快遞信息隱私保護(hù)應(yīng)用[J].電子技術(shù)應(yīng)用,2014,40(7):5860.

 ?。?] 殷守林,劉天華,李航. 基于模擬退火算法的卡爾曼濾波在室內(nèi)定位中的應(yīng)用研究[J]. 沈陽(yáng)師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2015(1):8690.

 ?。?] 陳智罡,宋新霞,張延紅.基于BinaryLWE噪音控制優(yōu)化的全同態(tài)加密方案與安全參數(shù)分析[J].四川大學(xué)學(xué)報(bào)(工程科學(xué)版),2015(2):7581.

  [10] 李超良,劉琴,謝永明,等.基于同態(tài)加密的物聯(lián)網(wǎng)隱私保護(hù)計(jì)算方案[J].計(jì)算機(jī)工程與應(yīng)用,2015(6):2226.

 ?。?1] 劉東升,樊沛,張亮. 云計(jì)算環(huán)境下數(shù)據(jù)安全防護(hù)探討[J]. 信息安全與通信保密,2015(1):8789,94.

  [12] 周德華. 代理重加密體制的研究[D].上海:上海交通大學(xué),2013.

 ?。?3] 藍(lán)才會(huì),王彩芬,屈宜麗. 基于身份的單向多用的代理重加密方案[J]. 計(jì)算機(jī)應(yīng)用研究,2014(8):24772480,2484.

 ?。?4] 錢(qián)萍,吳蒙.同態(tài)加密隱私保護(hù)數(shù)據(jù)挖掘方法綜述[J].計(jì)算機(jī)應(yīng)用研究,2011(5):16141617,1622.

 ?。?5] 李少鯤.標(biāo)準(zhǔn)模型下可證安全的無(wú)證書(shū)全同態(tài)加密體制[J].計(jì)算機(jī)應(yīng)用,2015(2):387392,406.

 ?。?6] 張祖蓮,王命全,李景林,等.一種自定義動(dòng)態(tài)密鑰預(yù)防DDoS攻擊的算法鄢[J].微型機(jī)與應(yīng)用,2013,32(20):7779,86.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。