段淑敏,殷守林,張燕麗,王學(xué)穎
(沈陽師范大學(xué) 科信軟件學(xué)院,遼寧 沈陽 110034)
?
新的同態(tài)加密方法
——基于Paillier和RSA密碼體制的代理重加密
段淑敏,殷守林,張燕麗,王學(xué)穎
(沈陽師范大學(xué) 科信軟件學(xué)院,遼寧 沈陽 110034)
同態(tài)加密是一種加密形式,它允許特定類型的計(jì)算對密文進(jìn)行加密,解密時(shí)對明文執(zhí)行匹配結(jié)果的操作可以獲得一個(gè)加密的結(jié)果,當(dāng)對位于遠(yuǎn)程服務(wù)器上的數(shù)據(jù)做計(jì)算時(shí),云供應(yīng)商有必要訪問原始數(shù)據(jù)并解密。為滿足企業(yè)信息的數(shù)據(jù)和算法的私密性需求,數(shù)據(jù)加密方法與防篡改硬件技術(shù)被使用。公開加密數(shù)據(jù)的計(jì)算上,隱私的建立成為必要條件。此時(shí)同態(tài)加密方法被使用且提出一種基于Paillier和RSA密碼體制的代理重加密技術(shù)。同態(tài)加密是一種無需解密即可在加密數(shù)據(jù)上進(jìn)行計(jì)算的方法,與在原始數(shù)據(jù)上計(jì)算能夠獲得相同的結(jié)果,并通過使用代理重加密技術(shù)防止被選擇的密文受攻擊。
云計(jì)算;同態(tài)加密;代理重加密技術(shù);數(shù)據(jù)安全
同態(tài)加密廣泛用于支持簡單聚合,對加密數(shù)據(jù)的數(shù)值計(jì)算以及私人信息檢索。同態(tài)加密理論的突破產(chǎn)生了全同態(tài)加密[1],能夠計(jì)算加密數(shù)據(jù)的任意函數(shù)。同態(tài)加密通常被認(rèn)為是一種在加密數(shù)據(jù)基礎(chǔ)上解決數(shù)據(jù)庫查詢問題的關(guān)鍵方式。用于處理更復(fù)雜結(jié)構(gòu)數(shù)字?jǐn)?shù)據(jù)和算法的隱私性需求呈指數(shù)形式增加,這正好平行于通信網(wǎng)絡(luò)及其設(shè)備的增長和它們能力的增長。為了數(shù)據(jù)的安全存儲(chǔ)和訪問,當(dāng)前技術(shù)提供了幾種保證數(shù)據(jù)隱私的方法如數(shù)據(jù)加密[2-3]和防篡改硬件[4]等。然而,當(dāng)私有數(shù)據(jù)使用同態(tài)加密公開計(jì)算或者修改函數(shù)、算法時(shí),它們?nèi)匀豢梢詧?zhí)行,隱私也可得到確保。使用同態(tài)加密的系統(tǒng)可以計(jì)算與加密數(shù)據(jù)。
數(shù)據(jù)在發(fā)送到服務(wù)器端之前將會(huì)被加密,但是客戶端面臨一些問題,因?yàn)榉?wù)提供商需要執(zhí)行對數(shù)據(jù)的計(jì)算來回應(yīng)客戶端的請求,因此客戶端必須在執(zhí)行所需計(jì)算之前給服務(wù)器提供密鑰來解密數(shù)據(jù),這可能會(huì)影響存儲(chǔ)在云端的數(shù)據(jù)保密性。同態(tài)加密可以執(zhí)行加密數(shù)據(jù)的操作而無需解密[5-6]。提出這種方法的目的是解決托管在云計(jì)算中的數(shù)據(jù)安全問題。本文主要研究同態(tài)加密的應(yīng)用對于云計(jì)算的安全性,尤其在沒有解密的情況下執(zhí)行加密數(shù)據(jù)計(jì)算的可能性。
云計(jì)算[7]是一個(gè)模型,能夠方便、按需訪問可配置的網(wǎng)絡(luò)計(jì)算資源共享池(如網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)應(yīng)用程序和服務(wù)),可以快速地配置工作環(huán)境,并能以消耗最小的管理工作或服務(wù)與提供商交互發(fā)布。關(guān)于云計(jì)算流量、安全和資源管理有很多問題,可以通過多種方式,在數(shù)據(jù)、網(wǎng)絡(luò)和存儲(chǔ)上保證云安全。同態(tài)加密方法給數(shù)據(jù)提供更加安全的保護(hù)[7],因?yàn)椴簧婕懊荑€的管理。使用代理重加密技術(shù)防止被選擇的密文受到攻擊,所以該系統(tǒng)比現(xiàn)有系統(tǒng)更安全。
1.1 新定義
通過云計(jì)算概念,對其給出新定義:對于可計(jì)算的信息技術(shù)模型由所有的信息技術(shù)組件構(gòu)成包括硬件[8]、軟件、網(wǎng)絡(luò)以及服務(wù)等,以便開發(fā)和通過因特網(wǎng)或者專用網(wǎng)絡(luò)云服務(wù)傳遞。這個(gè)定義在云計(jì)算中對于數(shù)據(jù)沒有安全定義。云供應(yīng)商,如IBM、谷歌和亞馬遜在他們的云平臺(tái)中使用虛擬化,在同一臺(tái)服務(wù)器中,它們可以共用存儲(chǔ)空間,也可以處理并發(fā)企業(yè)的虛擬化。
1.2 云計(jì)算結(jié)構(gòu)模型
云計(jì)算系統(tǒng)可以分為兩部分:前端和后端。前端實(shí)現(xiàn)用戶與服務(wù)器交互,后端是服務(wù)器提供給用戶數(shù)據(jù),服務(wù)器和客戶端之間的網(wǎng)絡(luò)為中間件。圖1為云基本體系結(jié)構(gòu)。
圖1 云體系結(jié)構(gòu)模型
同態(tài)加密指的是在加密過程中純文本和密文都被看作具有等效的代數(shù)函數(shù)。同態(tài)加密允許服務(wù)器在不知道原始明文情況下做加密數(shù)據(jù)的操作。數(shù)據(jù)保護(hù)基本流程如圖2所示。
圖2 一種云下數(shù)據(jù)保護(hù)的基本框架
同態(tài)加密允許在加密的數(shù)據(jù)上執(zhí)行復(fù)雜的數(shù)學(xué)運(yùn)算而無需原始數(shù)據(jù)。對于明文X1和X2以及對應(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)
RSA加密系統(tǒng)過程:
第一步:密鑰產(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)
①輸入:m∈Zn
②計(jì)算:c=memodn
③輸出:c∈Zn
第三步:解密→Dec(c,sk)
①輸入:c∈Zn
②計(jì)算:m=cdmodn
③輸出:m∈Zn
假設(shè)有兩個(gè)密碼C1和C2,而且:
因此,RSA密碼系統(tǒng)找到乘法同態(tài)加密的屬性,但是不符合好的安全概念,原因是:假設(shè)兩個(gè)密鑰C1和C2以及相對應(yīng)的信息m1和m2:
發(fā)送器把密鑰對(C1,C2)發(fā)送到云服務(wù)器上,服務(wù)器根據(jù)客戶要求執(zhí)行計(jì)算并發(fā)送加密之后的密文(C1×C2)到客戶。如果攻擊者攔截了這兩個(gè)使用相同密碼加密的密鑰,那么將會(huì)解密兩個(gè)客戶之間交流的全部信息,因?yàn)橥瑧B(tài)加密是乘法的,也就說密碼的積等于積的密碼。
為防止密文信息從CCA泄露,提出了使用Paillier和RSA密碼體制的代理重加密算法[11-12]。在同態(tài)加密體制中數(shù)據(jù)由私鑰加密,公鑰只有客戶端有。再次通過代理重加密算法獲得每次隨機(jī)密鑰生成的密碼數(shù)據(jù),如果攻擊者獲得一個(gè)密鑰,那么還需要另外一個(gè)不同于此的密鑰解密數(shù)據(jù)[13-16]。即使攻擊者得到了這些數(shù)據(jù),也不能在客戶機(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)生密鑰。
①隨機(jī)選擇兩個(gè)比較大且相互獨(dú)立的素?cái)?shù)p,q。令(pq,(p-1)(q-1))=1
②計(jì)算n=pq和λ=1cm(p-1,q-1)
③選擇隨機(jī)整數(shù)g,使g∈Z*n2
④通過下面計(jì)算判斷模塊化的乘法逆元素是否存在,來確定n及劃分g的順序:
μ=(L(aλmodn2))-1modn
其中函數(shù)L被定義為L(u)=u-1/n
⑤公鑰密鑰為(n,g),私鑰密鑰為(λ,μ)
第二步:加密→Enc(m,pk)
①令m是要被加密的消息且m∈Zn
②隨機(jī)選擇r,使r∈Zn*
③計(jì)算密文:c=gm·nrmodn2
第三步:代理重加密
①計(jì)算公鑰和私鑰(Rsk,Rpk)
②重加密密文由Paillier算法生成并發(fā)送公鑰(Rpk)到云服務(wù)器
第四步:解密→Dec(c,sk)
①密文c∈Zn*
②計(jì)算消息:
m=L(cλmodn2)/L(gλmodn2)modn
3.3 基于RSA算法提出的代理重加密
第一步:產(chǎn)生密鑰。
①選擇兩個(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是要被加密的消息且m∈Zn
②計(jì)算密文:c=memodn
第三步:代理重加密
①計(jì)算公鑰和私鑰(Rsk,Rpk)
②重加密密文由RSA算法生成并發(fā)送公鑰(Rpk)到云服務(wù)器
第四步:解密→Dec(c,sk)
①密文c∈Zn
②計(jì)算消息:m=cdmodn
本文使用同態(tài)加密技術(shù)在云端提供安全服務(wù)。同態(tài)加密是一個(gè)新的安全概念,能夠在不知道原始數(shù)據(jù)情況下對加密的數(shù)據(jù)提供計(jì)算結(jié)果,保證了數(shù)據(jù)的機(jī)密性?;诖碇丶用芩惴ǎ状翁岢隽薘SA和Paillier同態(tài)加密算法,可有效防止密文受到選擇性密文文本攻擊。因此,這個(gè)系統(tǒng)比現(xiàn)有系統(tǒng)更安全。在以后的工作中,可以通過減少密鑰的大小來提高工作效率,并且也可以為其他同態(tài)加密方案進(jìn)行代理?;谌瑧B(tài)加密云計(jì)算安全也是一個(gè)新的安全概念,也將是以全同態(tài)加密應(yīng)用為基準(zhǔn)的。
[1] 陳智罡,王箭,宋新霞. 全同態(tài)加密研究[J].計(jì)算機(jī)應(yīng)用研究, 2014(6):1624-1631.
[2] 馮朝勝,秦志光,袁丁. 云數(shù)據(jù)安全存儲(chǔ)技術(shù)[J]. 計(jì)算機(jī)學(xué)報(bào),2015(1):150-163.
[3] 張澤普,李國剛.基于OHNN和驅(qū)動(dòng)表的公鑰加密算法[J].微型機(jī)與應(yīng)用,2013,32(12):48-50,53.
[4] 段國云,陳浩,黃文,等. 一種Web程序防篡改系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程,2014(5):149-153.
[5] 劉天華,殷守林,李航. 一種新的在線社交網(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.
[7] 韋茜,王晨,李星毅,等.基于RSA算法的快遞信息隱私保護(hù)應(yīng)用[J].電子技術(shù)應(yīng)用,2014,40(7):58-60.
[8] 殷守林,劉天華,李航. 基于模擬退火算法的卡爾曼濾波在室內(nèi)定位中的應(yīng)用研究[J]. 沈陽師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2015(1):86-90.
[9] 陳智罡,宋新霞,張延紅.基于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.
[11] 劉東升,樊沛,張亮. 云計(jì)算環(huán)境下數(shù)據(jù)安全防護(hù)探討[J]. 信息安全與通信保密,2015(1):87-89,94.
[12] 周德華. 代理重加密體制的研究[D].上海:上海交通大學(xué),2013.
[13] 藍(lán)才會(huì),王彩芬,屈宜麗. 基于身份的單向多用的代理重加密方案[J]. 計(jì)算機(jī)應(yīng)用研究,2014(8):2477-2480,2484.
[14] 錢萍,吳蒙.同態(tài)加密隱私保護(hù)數(shù)據(jù)挖掘方法綜述[J].計(jì)算機(jī)應(yīng)用研究,2011(5):1614-1617,1622.
[15] 李少鯤.標(biāo)準(zhǔn)模型下可證安全的無證書全同態(tài)加密體制[J].計(jì)算機(jī)應(yīng)用,2015(2):387-392,406.
[16] 張祖蓮,王命全,李景林,等.一種自定義動(dòng)態(tài)密鑰預(yù)防DDoS攻擊的算法鄢[J].微型機(jī)與應(yīng)用,2013,32(20):77-79,86.
段淑敏(1991-),女,碩士研究生,主要研究方向:大數(shù)據(jù)分析、數(shù)據(jù)挖掘。
殷守林(1990-),男,碩士研究生,主要研究方向:云計(jì)算、濾波算法、網(wǎng)絡(luò)安全。
張燕麗(1969-),通信作者,女,博士,副教授,主要研究方向:知識(shí)發(fā)現(xiàn)與知識(shí)表示。E-mail:757334027@qq.com。
A new homomorphic encryption——proxy re-encryption based on Paillier and RSA
Duan Shumin, Yin Shoulin, Zhang Yanli, Wang Xueying
(Software College, Shenyang Normal University, Shenyang 110034, China)
Homomorphic encryption is an encryption form. It allows specific type computation to encrypt ciphertext. When decryption, it can obtain one encryption result by matching the result of operations performed on the plaintext. When it does calculations on data located on a remote server, the cloud provider has to access the raw data and it will decrypt them. To realize this demand, data encryption and tamper-resistant hardware are used and this paper proposes proxy re-encryption scheme based on Paillier and RSA. But it is necessary to establish privacy for public encrypted data. So it introduces homomorphic cryptosystems. It is a method that enables us to carry on computations for encrypted data without decryption and provide the same result as well that the calculations were carried out on raw data and it uses proxy re-encryption technique that prevents ciphertext from chosen cipher text attack.
cloud computing; homomorphic encryption; proxy re-encryption technique; data security
TP393.08
A
1674-7720(2016)07- 0006- 03
段淑敏,殷守林,張燕麗,等. 新的同態(tài)加密方法——基于Paillier和RSA密碼體制的代理重加密[J].微型機(jī)與應(yīng)用,2016,35(7):6-8,18.
2015-12-06)作者簡介: