本發(fā)明涉及數(shù)據(jù)加密領(lǐng)域,特別是一種基于身份的抗事后持續(xù)輔助輸入泄漏加密系統(tǒng)及方法。
背景技術(shù):
隨著信息技術(shù)的發(fā)展,用戶的隱私和敏感數(shù)據(jù)的安全受到人們的廣泛關(guān)注,信息安全技術(shù)研究也應(yīng)運(yùn)而生?;谏矸莸募用?IBE)系統(tǒng)具有非常廣泛的應(yīng)用,并受到了越來越多的關(guān)注?;谏矸莸募用芊椒ㄔ?984年由Shamir首次提出,是為了解決公鑰加密系統(tǒng)中存在的證書管理問題?;谏矸莸募用芟到y(tǒng)中公鑰可以是一個(gè)任意的字符串,這個(gè)串與用戶的身份信息相關(guān),如:用戶的身份證號(hào)、學(xué)號(hào)、郵箱地址等。一個(gè)可信的私鑰生成中心在獲取用戶公鑰后,結(jié)合自己擁有的主私鑰生成用戶的私鑰。由于該系統(tǒng)中的公鑰是用戶公開的身份信息,私鑰生成中心分發(fā)給用戶的私鑰是由主私鑰和用戶公鑰產(chǎn)生的,這個(gè)私鑰可以看作是私鑰生成中心對(duì)用戶身份的認(rèn)證,基于身份的加密系統(tǒng)不需要像公鑰加密系統(tǒng)一樣對(duì)用戶公鑰進(jìn)行有效性驗(yàn)證,也不需要另外生成公鑰證書,因此該系統(tǒng)更加靈活。
一般基于身份加密系統(tǒng)的安全性是基于理想環(huán)境下考慮的,敵手僅僅關(guān)注方案的輸入輸出,不能獲得內(nèi)部秘密狀態(tài)。但是,在現(xiàn)實(shí)環(huán)境下,敵手可以通過密鑰泄漏攻擊獲得秘密狀態(tài)的部分信息。密鑰泄漏攻擊包括很多種方式:(1)邊信道攻擊:敵手通過密碼學(xué)算法在運(yùn)行中泄漏的信息,如計(jì)算時(shí)間、功率消耗、聲音、熱、輻射等獲取相關(guān)秘密信息;(2)冷啟動(dòng)攻擊:敵手可以獲得機(jī)器內(nèi)存中的一些不完整的數(shù)據(jù)來獲得信息,甚至機(jī)器關(guān)機(jī)時(shí)也可以從內(nèi)存里獲得信息;(3)惡意軟件攻擊:遠(yuǎn)程敵手可以通過惡意軟件下載攻擊目標(biāo)用戶的大量秘密信息。遺憾的是,之前存在的諸多基于身份的加密系統(tǒng)假設(shè)私鑰是保密的,但在現(xiàn)實(shí)世界中,私鑰可能被泄漏。在理想環(huán)境下構(gòu)造的安全系統(tǒng),若敵手獲得少量的私鑰信息,都可能對(duì)系統(tǒng)造成毀滅性的攻擊。一般來說,泄漏攻擊的形式化模型分為以下幾種類型:(1)僅計(jì)算泄漏模型;(2)相對(duì)泄漏模型;(3)有界恢復(fù)模型;(4)輔助輸入模型;(5)持續(xù)泄漏模型;(6)事后泄漏模型等。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是克服現(xiàn)有技術(shù)的不足,而提供一種基于身份的抗事后持續(xù)輔助輸入泄漏加密系統(tǒng)及方法,在敵手通過邊信道攻擊持續(xù)地獲得私鑰的部分信息,并且能在看到挑戰(zhàn)密文后繼續(xù)詢問更多的秘密信息的情況下,保證數(shù)據(jù)的安全性,能夠抵抗密鑰泄漏攻擊。
本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案:
根據(jù)本發(fā)明提出的一種基于身份的抗事后持續(xù)輔助輸入泄漏加密方法,包括以下步驟:
步驟A、設(shè)定系統(tǒng)公開參數(shù)params和一個(gè)主私鑰msk;
步驟B、根據(jù)params、msk和用戶身份ID生成用戶的私鑰skID;
步驟C、根據(jù)params、ID對(duì)消息M進(jìn)行加密得到對(duì)應(yīng)的密文c;
步驟D、根據(jù)skID、params和c解密出M;
步驟E、根據(jù)skID產(chǎn)生一個(gè)新的私鑰其中,|*|表示尺寸。
作為本發(fā)明所述的一種基于身份的抗事后持續(xù)輔助輸入泄漏加密方法進(jìn)一步優(yōu)化方案,所述步驟A具體包括:
步驟A1、選取兩個(gè)階為N=p1p2p3的循環(huán)群和其中,p1、p2、p3是三個(gè)不同的素?cái)?shù);
步驟A2、選取長度為λ的安全參數(shù)1λ,選取一個(gè)雙線性映射和強(qiáng)提取器其中,→表示輸出,l,均表示比特串的長度,N是整數(shù)集合,l,都是整數(shù);
步驟A3、選取x∈{0,1}l,系統(tǒng)公開參數(shù)主私鑰為msk={αi}i∈[1,n];其中,αi是整數(shù),下標(biāo)n∈N,u,h是群中的元素,x是長度為l的0,1比特串,e表示雙線性映射,表示e(g1,g1)的αi次冪,e(g1,g1)表示g1和g1的配對(duì)運(yùn)算,是中階為p1的子群,g1和g3分別是和的生成元,為中階為p3的子群,i為整數(shù)且i∈[1,n]。
作為本發(fā)明所述的一種基于身份的抗事后持續(xù)輔助輸入泄漏加密方法進(jìn)一步優(yōu)化方案,所述步驟B具體包括:
B1:私鑰生成中心隨機(jī)選擇計(jì)算私鑰skID={sk1,i,sk2,i}i∈[1,n],將skID通過安全信道發(fā)送給用戶;其中,si是中的元素且是一個(gè)整數(shù),v3,i,σ3,i是中的元素。
作為本發(fā)明所述的一種基于身份的抗事后持續(xù)輔助輸入泄漏加密方法進(jìn)一步優(yōu)化方案,所述步驟C具體包括:
C1:隨機(jī)選擇并計(jì)算δi=Ext(x,ri);ri是長度為的0,1比特串,δi是一個(gè)長度為的比特串,Ext(x,ri)是x,ri在提取器Ext作用下得到的值;
C2:對(duì)消息M進(jìn)行加密,計(jì)算密文c={c1,c2,i,c3,i}i∈[1,n],其中
作為本發(fā)明所述的一種基于身份的抗事后持續(xù)輔助輸入泄漏加密方法進(jìn)一步優(yōu)化方案,所述步驟D具體包括:
計(jì)算其中,e(sk1,i,c2,i)、e(sk2,i,c3,i)均表示雙線性映射的值。
作為本發(fā)明所述的一種基于身份的抗事后持續(xù)輔助輸入泄漏加密方法進(jìn)一步優(yōu)化方案,所述步驟E具體包括:
隨機(jī)選擇以及計(jì)算新的私鑰其中,si是中的元素且是一個(gè)整數(shù),均是中的元素。
一種基于身份的抗事后持續(xù)輔助輸入泄漏加密系統(tǒng),包括系統(tǒng)參數(shù)設(shè)置模塊、私鑰生成模塊、加密模塊、解密模塊和私鑰更新模塊;其中,
系統(tǒng)參數(shù)設(shè)置模塊,用于生成一個(gè)系統(tǒng)公開參數(shù)和一個(gè)主私鑰,將系統(tǒng)公開參數(shù)發(fā)送給私鑰生成模塊、加密模塊和解密模塊,主私鑰發(fā)送給私鑰生成模塊;
私鑰生成模塊,用于根據(jù)系統(tǒng)公開參數(shù)、主私鑰和用戶身份ID,生成各個(gè)用戶的私鑰,并將私鑰發(fā)送給解密模塊;
加密模塊,用于根據(jù)系統(tǒng)公開參數(shù)對(duì)消息進(jìn)行加密,并將產(chǎn)生的密文發(fā)送給解密模塊;
解密模塊,用于根據(jù)私鑰、系統(tǒng)公開參數(shù)和密文解密出消息;
私鑰更新模塊,用于根據(jù)私鑰產(chǎn)生一個(gè)新的私鑰。
本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
(1)本發(fā)明方法用于解決由邊信道攻擊產(chǎn)生密鑰泄漏的安全問題;
(2)本發(fā)明考慮了事后泄漏、持續(xù)泄漏和輔助輸入這三種泄漏情況,本發(fā)明在敵手通過邊信道攻擊持續(xù)地獲得私鑰的部分信息,并且能在看到挑戰(zhàn)密文后繼續(xù)詢問更多的秘密信息的情況下,保證數(shù)據(jù)的安全性。
附圖說明
圖1為本發(fā)明加密系統(tǒng)的工作示意圖。
圖2為本發(fā)明加密方法的流程圖。
具體實(shí)施方式
下面結(jié)合附圖,對(duì)本發(fā)明提出的一種基于身份的抗事后持續(xù)輔助輸入泄漏加密系統(tǒng)及方法進(jìn)行詳細(xì)說明。
本發(fā)明所用的數(shù)學(xué)理論說明:
1、雙線性映射
令和為兩個(gè)具有相同素?cái)?shù)階p的乘法循環(huán)群。g是的生成元。若映射滿足下面三個(gè)性質(zhì),則被為雙線性映射:
-雙線性性:e(ga,gb)=e(g,g)ab,其中
-非退化性:
-可計(jì)算性:e是高效可計(jì)算的。
2、強(qiáng)提取器
一個(gè)函數(shù)其中如果給定任意值且滿足SD((Ext(X,S),S,I),(Uk,S,I))≤εExt,其中εExt∈R+,Uk和S是兩個(gè)分別在{0,1}m,{0,1}μ上均勻分布的隨機(jī)變量,則稱此函數(shù)為平均情況(k,εExt)-強(qiáng)提取器。
3、合數(shù)階雙線性群
輸入安全參數(shù)一個(gè)群生成算法產(chǎn)生一個(gè)元組其中p1,p2,p3是三個(gè)不同的素?cái)?shù),令和為兩個(gè)階為N的循環(huán)群,是一個(gè)雙線性映射。令是階分別為p1,p2,p3的的子群。和的正交性:為中單位元,其中即:令g是中生成元,由生成,由生成,由生成。對(duì)于其中則有
4、合數(shù)階雙線性群上的三個(gè)困難假設(shè)
假設(shè)1:令為階是p1p2的中子群。給定其中算法A區(qū)分T0和T1的優(yōu)勢(shì)是:
對(duì)于任意概率多項(xiàng)式時(shí)間(PPT)算法A,若是可忽略的,則稱假設(shè)1成立。
假設(shè)2:令為階是p1p3的中子群。給定和其中算法A區(qū)分T0和T1的優(yōu)勢(shì)是:
對(duì)于任意PPT算法A,若是可忽略的,則稱假設(shè)2成立。
假設(shè)3:給定以及其中算法A區(qū)分T0和T1的優(yōu)勢(shì)是:
對(duì)于任意PPT算法A,若是可忽略的,則稱假設(shè)3成立。
一、本發(fā)明的實(shí)現(xiàn)過程
下面將結(jié)合附圖說明本發(fā)明的具體過程。
如圖1所示,本發(fā)明提供的基于身份的抗事后持續(xù)輔助輸入泄漏加密系統(tǒng)包括如下五個(gè)模塊:
1、系統(tǒng)參數(shù)設(shè)置模塊Setup(1λ):輸入安全參數(shù)生成一個(gè)系統(tǒng)公開參數(shù)params和一個(gè)主私鑰msk。
2、私鑰生成模塊KeyGen(params,msk,ID):輸入params,msk和用戶身份ID,返回用戶的私鑰skID。
3、加密模塊Enc(params,ID,M):輸入params,ID和一個(gè)消息M,返回消息對(duì)應(yīng)的密文c。
4、解密模塊Dec(skID,c):輸入skID和c,輸出M或者輸出無效標(biāo)志符⊥。
5、私鑰更新模塊UpdateSK(skID,params):輸入skID和params,輸出一個(gè)新的私鑰其中
下面將結(jié)合基于身份的抗事后持續(xù)輔助輸入泄漏加密系統(tǒng)及方法的流程圖對(duì)該加密系統(tǒng)的各個(gè)模塊進(jìn)行具體說明。
如圖2所示,本發(fā)明提供的加密方法執(zhí)行流程具體如下:
步驟A,系統(tǒng)參數(shù)生成:
選取兩個(gè)階為N=p1p2p3的循環(huán)群和其中p1,p2,p3是三個(gè)不同的素?cái)?shù)。為中階分別為p1,p2,p3的子群。g1和g3分別是和的生成元。指定一個(gè)安全參數(shù)1λ,令0<ε<1,選取一個(gè)雙線性映射x∈{0,1}l和-強(qiáng)提取器其中假設(shè)ε2,是可忽略的值。令msk={αi}i∈[1,n]。
步驟B,根據(jù)系統(tǒng)公開參數(shù)產(chǎn)生用戶的私鑰:
PKG隨機(jī)選擇其中i∈[1,n],并返回私鑰skID={sk1,i,sk2,i}i∈[1,n],其中PKG通過安全信道將skID發(fā)送給用戶。
步驟C,對(duì)消息M進(jìn)行加密:
發(fā)送方隨機(jī)選擇其中i∈[1,n],并計(jì)算δi=Ext(x,ri)和密文c={c1,c2,i,c3,i}i∈[1,n],其中
步驟D,對(duì)密文c進(jìn)行解密獲得消息:
接收方獲得密文c={c1,c2,i,c3,i}i∈[1,n]后,根據(jù)私鑰skID={sk1,i,sk2,i}i∈[1,n]做下面計(jì)算:
步驟E,對(duì)私鑰進(jìn)行更新:
接收方根據(jù)skID={sk1,i,sk2,i}i∈[1,n],隨機(jī)選擇以及其中i∈[1,n]。接著輸出一個(gè)新的私鑰其中
下面將對(duì)以上所述的基于身份的抗事后持續(xù)輔助輸入泄漏加密系統(tǒng)應(yīng)用于電子郵件系統(tǒng)中的情形進(jìn)行說明。
當(dāng)用戶A想發(fā)送一封郵件給用戶B,B的郵件地址為B@XX.com.cn,A直接使用B的郵件地址作為公鑰進(jìn)行加密。按照本發(fā)明的步驟,具體過程如下:A發(fā)送郵件給B,用B的郵件地址作為公鑰對(duì)內(nèi)容進(jìn)行加密,并把密文發(fā)送給B;B收到郵件后,與可信第三方PKG聯(lián)系,PKG驗(yàn)證了B的合法身份后,將B的私鑰通過安全信道發(fā)送給B;B用該私鑰解密A發(fā)來的密文。
本發(fā)明帶來的有益效果是:以用戶郵件地址標(biāo)識(shí)用戶身份,該身份是公開的,不需要證書和相關(guān)操作,簡化了公鑰證書的的使用與管理。系統(tǒng)構(gòu)成較簡單,僅需設(shè)立可信機(jī)構(gòu)對(duì)用戶身份進(jìn)行認(rèn)證以及生成私鑰,使用也較方便。該系統(tǒng)在邊信道攻擊情況下也能保證用戶的信息安全。
本發(fā)明提出了一種基于身份的抗事后持續(xù)輔助輸入泄漏加密系統(tǒng)及方法,所述系統(tǒng)包括系統(tǒng)參數(shù)設(shè)置模塊、私鑰生成模塊、加密模塊、解密模塊和私鑰更新模塊。系統(tǒng)參數(shù)設(shè)置模塊產(chǎn)生系統(tǒng)公開參數(shù),并公開給其他模塊,把主私鑰發(fā)送給私鑰生成模塊。私鑰生成模塊產(chǎn)生用戶的私鑰,并發(fā)送私鑰給解密模塊和私鑰更新模塊。加密模塊用于加密消息。解密模塊用于消息的解密。私鑰更新模塊用于更新用戶的私鑰。本發(fā)明方法用于解決由邊信道攻擊產(chǎn)生密鑰泄漏的安全問題。
本領(lǐng)域普通技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)例限制,上述實(shí)例的描述只是為說明本發(fā)明的基本原理與特點(diǎn),在上述實(shí)例的基礎(chǔ)上可以很容易的聯(lián)想到其他的優(yōu)點(diǎn)和變形。在不背離本發(fā)明宗旨的范圍內(nèi),本領(lǐng)域普通技術(shù)人員可以根據(jù)上述具體實(shí)施例通過各種等同替換所得到的技術(shù)方案,但是這些技術(shù)方案均應(yīng)該包含在本發(fā)明的權(quán)利要求的范圍及其等同的范圍之內(nèi)。