?

可撤銷的多用戶無證書加密

2023-02-27 00:56鄧倫治
關鍵詞:多用戶私鑰公鑰

阮 玉,鄧倫治

(貴州師范大學 數學科學學院,貴州 貴陽 550025)

0 引言

為消除傳統公鑰密碼體制中需要證書管理的問題,Shamir[1]于1984年提出了基于身份的公鑰密碼體制(Public key cryptography, PKC)。在這種密碼體制中,將用戶獨一無二的信息作為身份,例如:身份證,IP地址等,私鑰生成器(Private key generator, PKG)用此身份生成用戶唯一的私鑰,并通過一個安全信道傳送給用戶。但在該密碼體制中存在密鑰托管問題,因此, Al-Riyami 等[2]提出了無證書的公鑰密碼體制(Certificateless public key cryptography, CL-PKC)。在這里,用戶的私鑰由兩部分組成,一部分由PKG根據用戶的身份生成,另一部分由用戶自己設置,這既消除了證書管理的問題,也解決了秘鑰托管問題。而系統中可能出現非法用戶,如公司中有員工離職,為了保護公司內部信息的安全,則需要對這些離職用戶的權利進行撤銷。

因此,提出了一個可撤銷的無證書加密方案,同時加入了多用戶機制,可以將一個消息加密后發送給多個用戶,而每個用戶僅需用自己的私鑰就可解密密文,有效提高了運行效率。

1 相關工作

對于系統中可能出現非法用戶的情況, Boneh等[3]于2001年提出了一種實現用戶撤銷的方法,讓PKG周期性地為用戶產生私鑰并通過安全信道傳輸給用戶,從而保證未撤銷的用戶可以及時更新他們的私鑰。為減少私鑰更新的總數,Boldyreva 等[4]提出了一種新的實現撤銷的方法,使用完整子樹結構去實現用戶的撤銷,但增加了加密解密階段的計算開銷。隨后,為了消除安全信道的需要,Tseng等[5]于2012年提出了一個使用公共信道傳輸時間更新密鑰的可撤銷加密方案。這里,用戶的私鑰由身份密鑰和時間更新密鑰構成,并使用公共信道為未撤銷用戶發送時間更新密鑰,想要撤銷用戶僅需停止發送時間更新密鑰給他。撤銷功能的實現使系統數據的完整性得到了進一步的保障,因此,被學者們廣泛研究[6-10]。

2013年,Tsai等[11]提出了首個采用時間密鑰撤銷非法用戶的無證書加密方案(Revocable certificateless encryption, RCLE),將解密密鑰分成部分私鑰、用戶秘密值及時間更新密鑰這3部分,使用公共信道為未撤銷的用戶發送時間更新密鑰,以此來實現對非法用戶的有效撤銷。并在隨機預言模型下針對3類敵手做了安全性證明,即:撤銷的用戶(能執行部分密鑰和秘密值查詢,但不能執行時間更新密鑰查詢)、外部敵手(能執行時間更新密鑰和秘密值查詢,但不能執行部分私鑰查詢)和誠實但好奇的PKG(由PKG扮演,能執行身份密鑰查詢和時間更新密鑰查詢,但并不能執行秘密值查詢)。在這里,用戶想要解密密文就必須知道部分私鑰、用戶秘密值及時間更新密鑰,而秘密值是由用戶自己產生,所以不存在密鑰托管問題。

2014年,Shen等[12]提出了一個在標準模型下的可撤銷的無證書加密方案,并在q-ABDHE和DBDH假設下做了安全性證明。但他們的撤銷機制并不安全,對于某一用戶而言,即使他被系統撤銷,仍可以用撤銷之前的時間更新密鑰計算出當前的時間更新密鑰,Tang等在文獻[13]中做出了具體的描述。隨后,Tsai等[14]在2015年提出了一個在標準模型中具有委托撤銷權限的可撤銷的無證書加密方案,用委托權限減輕PKG的負載并降低了計算成本。為了提高效率,孫銀霞等[15]提出了一個無雙線性對的加密方案,但該方案的完整性和證明的合理性存在不足。為防止解密密鑰暴露的危險,Sun等[16]提出了2個抵抗解密密鑰暴露的可撤銷的無證書方案,第一個方案具有可擴展性,而第二個擁有較短的解密密鑰。2018年,Sun等[17]又提出了一個新的可撤銷的無證書加密方案,方案中使用更少的雙線性映射降低了加密解密的開銷。為進一步防止撤銷的用戶能用以前的時間更新密鑰解密密文, Sun等[18]在2018年提出了具有密文更新的可撤銷的無證書加密方案。但該方案并不能實現密文的不可區分性,故Sun等[19]又提出了一個能抵抗選擇密文攻擊(CCA)的可撤銷的無證書加密方案。2020年,Ma等[20]提出了一個帶有半誠信云撤銷代理的可撤銷的無證書加密方案,將時間更新密鑰委托給云的同時又將主時間密鑰分成多份,防止了云不誠信所帶來的威脅。隨后,Tseng等[21]在2022年提出了一個抗泄露的可撤銷的無證書加密方案,除了用時間更新密鑰實現用戶的撤銷,還使用密鑰更新技術使不同輪次的用戶私鑰不同,從而保證該方案可以抵抗密鑰泄露。

隨著多用戶加密機制的引入,Islam等[22]在2015年提出了第一個在橢圓曲線上的實現多用戶加密的無證書加密方案,該方案采用無證書密碼體制實現了多用戶的加密并在隨機預言模型下做出了安全性證明。隨后,He等[23]和Gao等[24]也分別提出了在橢圓曲線上實現多用戶加密的無證書方案,以更少的開銷和更高的效率實現了多用戶的加密。2017年,Hung等[25]提出了相較于文[22]的方案效率更高的在雙線性對運算下的多用戶無證書加密方案,且在解密中使用一個點乘運算和一個雙線性運算就可以解密,恒定了解密開銷。但以上方案均未實現對系統中非法用戶的撤銷。

雖然Tsai等[26]提出過一個可撤銷的多用戶加密方案,但該方案在加密解密過程中使用了較多的哈希運算和雙線性對運算,使得運行成本較高,效率較低,且是在基于身份的密碼體制下提出的。因此,我們提出了一個新的具有更高效率且實現了多用戶撤銷的加密方案。新方案將無證書系統、可撤銷機制與多用戶體制結合在一起,既解決了傳統公鑰密碼體制中的證書管理和基于身份密碼體制中的密鑰托管問題,也實現了多用戶下對非法用戶的撤銷。然后在DBDH和DDH困難問題下進行了安全性證明。最后與以前的幾個加密方案做了功能與效率上的比較,方案在實現多用戶可撤銷的同時具有更多的功能,更少的開銷,更高的運行效率。

2 預備知識

首先將介紹雙線性映射定義及2個困難問題。相關符號及定義如表1所示。

表1 符號及其定義Tab.1 Symbols and definitions

2.1 雙線性映射

2.2 困難問題

DDH困難問題:G1=

是一個q階的加法群,對于給定的四元組(P,aP,bP,X∈G1),判斷X=abP是否成立。

3 可撤銷的多用戶無證書加密的形式定義和安全性模型

3.1 可撤銷的多用戶無證書加密的形式定義

一個可撤銷的多用戶無證書加密(RMU-CLE)由以下7個算法組成:

設置:輸入一個安全參數k,私鑰生成器(PKG)生成主密鑰(α)及系統參數(PP)。

身份密鑰提?。狠斎肷矸軮D∈{0,1}*,PKG生成一個身份密鑰DID, 并通過一個安全信道將DID發送給用戶。

時間更新密鑰提?。狠斎朐M(ID,t),PKG生成一個時間更新密鑰DID,t,并通過一個公共信道將DID,t發送給用戶。

秘密值設置:用戶ID選擇一個秘密值xID。

用戶公鑰:用戶ID用秘密值xID生成他的公鑰PKID。

加密:在時間段t,輸入一個明文m及接收者集合W={ID1,ID2,…,IDn},發送者運行算法輸出密文C。

解密:輸入一個密文C,接收者IDi∈W運行算法解密密文,輸出明文m。

3.2 安全性模型

在新的RMU-CLE方案中,有3類敵手需要被考慮:

階段2:進行與階段1相同的查詢,但不能對挑戰密文C*進行解密查詢。

4 具體的方案

具體的RMU-CLE方案的組成如下:

● 設置:輸入一個安全參數k, PKG執行以下步驟:

1)選擇階均為q的加法群G1和乘法群G2,P是G1的生成元。

3)密文空間為M={0,1}l1。

4)選擇5個哈希函數:H1:{0,1}*→G1,

H2:{0,1}*×{0,1}*→G1,

5)公共參數PP={G1,G2,P,P0,H1~5}。

● 身份密鑰生成: PKG計算QID=H1(ID),用戶ID的身份密鑰為DID=αQID。

● 時間更新密鑰: PKG計算QID,t=H2(ID,t),用戶ID在時間段t的時間更新密鑰為DID,t=αQID,t。

● 用戶公鑰:計算PKID=xIDP作為公鑰。

● 加密:在時間段t,接收者集合為W={ID1,ID2,…,IDn},發送者執行以下步驟:

1)隨機選擇σ∈{0,1}l2,計算r=H3(m,σ),U=rP。

3)計算hi=H4(Ki,Ei)。

=xn+gn-1xn-1+…+g1x+g0。

5)計算W=H5(s,U)⊕(m‖σ)。

6)密文是C=(g0,…,gn-1,U,W)。

● 解密:接收者IDi∈W執行如下步驟:

2)構造f(x)=xn+gn-1xn-1+…+g1x+g0,計算f(hi)=s。

3)計算m‖σ=H5(s,U)⊕W。

檢查U=H3(m,σ)P是否成立,成立則輸出m,否則,拒絕。

5 方案的安全性證明

在隨機預言模型下,新的RMU-CLE方案是安全的,如下:

1)設置U*=cP。

4)隨機選取τ*∈{0,1}l1+l2,σ*∈{0,1}l2,計算W*=τ*⊕(mλ‖σ*)。

H3~H5查詢、公鑰查詢及公鑰替代查詢:與定理1相同。

秘密值查詢:與定理1相同。

解密查詢:與定理1相同。

1)設置U*=cP。

4)隨機選取τ*∈{0,1}l1+l2,σ*∈{0,1}l2,計算W*=τ*⊕(mλ‖σ*)。

H3~H5查詢:與定理1相同。

公鑰替代查詢:與定理1相同。

身份密鑰查詢:與定理1相同。

解密查詢:與定理1相同。

1)設置U*=bP。

4)隨機選取τ*∈{0,1}l1+l2,σ*∈{0,1}l2,計算W*=τ*⊕(mλ‖σ*)。

6 方案的效率分析

在這部分,將新的RMU-CLE方案與文獻[6-7,17,25-26]的方案進行了比較。為了方便,定義了以下符號:

Te:一個冪運算運行時間。

Tm:一個點乘運算運行時間。

TH:一個到點的哈希運算運行時間。

表2 運算時間Tab.2 Operation time

圖1 加密計算開銷Fig.1 Computation cost of encryption

表3 效率比較Tab.3 Comparison of the efficiency

7 結論

可撤銷的多用戶無證書加密方案,將無證書系統、可撤銷機制與多用戶體制結合在一起,實現了對多用戶下非法用戶的撤銷,解決了傳統公鑰密碼體制中的證書管理和基于身份密碼體制中的密鑰托管問題。另外,相比于以前的無證書加密方案,新的方案還具有更高的效率和更少的開銷。

猜你喜歡
多用戶私鑰公鑰
安泰科多用戶報告訂閱單
清掃機器人避障系統區塊鏈私鑰分片存儲方法
比特幣的安全性到底有多高
安泰科多用戶報告訂閱單
基于改進ECC 算法的網絡信息私鑰變換優化方法
安泰科多用戶報告訂閱單
安泰科多用戶報告訂閱單
一種基于混沌的公鑰加密方案
一種基于虛擬私鑰的OpenSSL與CSP交互方案
HES:一種更小公鑰的同態加密算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合