呂 佳,曹素珍,寇邦艷,張志強(qiáng),韓龍博
(西北師范大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,蘭州 730070)
隨著5G網(wǎng)絡(luò)的迅速發(fā)展[1-2],用戶在體驗(yàn)5G網(wǎng)絡(luò)帶來便利的同時(shí)[3-4],也承擔(dān)著隱私信息被泄露的風(fēng)險(xiǎn),因此安全問題成為當(dāng)前5G網(wǎng)絡(luò)研究的熱點(diǎn)之一[5-6]。無證書的發(fā)展歷程從傳統(tǒng)公鑰密碼體制開始,由于傳統(tǒng)公鑰密碼體制存在公鑰證書管理的問題,因此文獻(xiàn)[7]提出基于身份的密碼體制,但是基于身份的密碼體制存在密鑰托管問題。為解決密鑰托管這一問題,文獻(xiàn)[8]提出基于無證書的公鑰密碼體制,其中用戶私鑰由兩部分組成,一部分是用戶秘密值,另一部分是密鑰生成中心(Key Generation Center,KGC)產(chǎn)生的部分私鑰。
5G網(wǎng)絡(luò)環(huán)境下的安全問題越來越突出。文獻(xiàn)[9]指出5G網(wǎng)絡(luò)的安全問題可能會(huì)成為制約其發(fā)展的瓶頸,并明確5G網(wǎng)絡(luò)中用戶身份與數(shù)據(jù)隱私保護(hù)的重要性。文獻(xiàn)[10]給出5G網(wǎng)絡(luò)初級(jí)階段的系統(tǒng)架構(gòu),并闡述5G網(wǎng)絡(luò)中涉及的網(wǎng)絡(luò)安全、用戶安全及應(yīng)用安全等問題。文獻(xiàn)[11]通過不同的5G網(wǎng)絡(luò)切片部署不同的公共密鑰密碼系統(tǒng)來解決5G環(huán)境下異構(gòu)系統(tǒng)之間的安全性問題,但忽視了身份隱私泄露問題。文獻(xiàn)[12]提出將數(shù)字簽名和身份信息隱藏相結(jié)合的方案,由于該方案需建立零往返傳輸時(shí)間連接,因此對(duì)信息傳輸?shù)陌踩杂兴鲆暋N墨I(xiàn)[13]提出基于KP-ABE的匿名接入認(rèn)證方案,通過加密算法及建立用戶設(shè)備與歸屬網(wǎng)絡(luò)之間的假名來保護(hù)用戶身份隱私信息。文獻(xiàn)[14]所提方案基于身份的簽密技術(shù)[15],使協(xié)議運(yùn)行所產(chǎn)生的記錄不會(huì)泄露參與者身份信息,從而保護(hù)用戶身份隱私。文獻(xiàn)[16]提出簽密概念并得到了廣泛應(yīng)用和關(guān)注。為避免5G技術(shù)為用戶提供方便快捷的同時(shí)[17],敏感隱私數(shù)據(jù)被惡意盜取的問題,本文在文獻(xiàn)[14,16]的基礎(chǔ)上,結(jié)合無證書密碼體制,提出基于5G網(wǎng)絡(luò)的無證書身份隱藏簽密方案。該方案在解簽密階段,簽密者的身份信息不作為輸入數(shù)據(jù),以此完成對(duì)用戶身份信息的隱藏。與此同時(shí),簽密者的身份信息作為解密階段的輸出之一用于解決用戶認(rèn)證的正確性驗(yàn)證問題,敵手就無法攻擊并獲取簽密者的隱私,從而有效防止數(shù)據(jù)傳輸過程中可能存在的各種攻擊。
設(shè)G1和G2是階為素?cái)?shù)q的循環(huán)群,P是G1的一個(gè)生成元,若e:G1×G1→G2符合以下性質(zhì)的描述,則稱e是一個(gè)雙線性映射[18-19]。
2)非退化性:e(P,P)≠1。
系統(tǒng)模型參與實(shí)體包括密鑰生成中心、發(fā)送方Alice、接收方Bob及5G互聯(lián)網(wǎng)環(huán)境,如圖1所示。
1)密鑰生成中心:產(chǎn)生部分密鑰,并將其安全密鑰發(fā)送給用戶。
2)發(fā)送方Alice:將明文進(jìn)行加密,通過5G移動(dòng)通信網(wǎng)與接收方之間建立對(duì)話。
3)接收方Bob:接收發(fā)送方發(fā)送的密文,并獲取發(fā)送方Alice的請(qǐng)求和身份信息,通過驗(yàn)證解密的消息,Bob可以確定請(qǐng)求是否來自Alice,然后選擇是否接受會(huì)話。
4)5G移動(dòng)通信網(wǎng):為發(fā)送者和接收者之間建立實(shí)現(xiàn)雙方合法會(huì)話的通信連接。
圖1 系統(tǒng)模型
無證書簽密方案由以下6個(gè)算法組成。
1)Setup:安全參數(shù)k作為輸入,KGC生成系統(tǒng)參數(shù)params作為公開參數(shù)和主密鑰ω,其中KGC保存ω秘密。
2)Partial-Key-Extract:輸入用戶身份IDi、主密鑰ω和系統(tǒng)參數(shù)params,KGC計(jì)算生成用戶IDi的部分私鑰Di和部分公鑰Ri并發(fā)送給用戶IDi。
3)Set-Private-Secret-Value:根據(jù)用戶身份信息IDi及系統(tǒng)參數(shù)params,計(jì)算該用戶的私有秘密值。
5)Signcrypt:將系統(tǒng)參數(shù)params、消息m、簽密者的私鑰SKs、簽密者身份信息IDs、解簽密者的身份信息IDr、解簽密者的公鑰PKr作為輸入,計(jì)算并輸出簽密密文C。
6)Unsigncrypt:將系統(tǒng)參數(shù)params、密文C、簽密者的公鑰PKs及解簽密者私鑰SKr作為輸入,計(jì)算并經(jīng)過驗(yàn)證判斷所得消息是否合法,如果合法,則輸出消息m和簽密者的身份信息IDs,否則輸出⊥。
用戶部分密鑰提取步驟具體如下:
2)KGC將計(jì)算得到的Ri、Di分別作為用戶的部分公鑰和私鑰,通過安全信道發(fā)送給用戶。
用戶完整密鑰產(chǎn)生步驟具體如下:
1)輸入params和數(shù)據(jù)用戶的私有秘密值,計(jì)算Xi=xiP,用戶公鑰PKi為{Ri,Xi}。
2)用戶私鑰SKi為{Di,xi}。
為將一段消息m進(jìn)行簽密,給定IDs、SKs、IDr、PKr,對(duì)消息m的簽密過程如下:
2)預(yù)共享密鑰為PSSV=e(Ws,H1(IDs,Rs)·P)ω,計(jì)算qr=H1(IDr,Rr)、F=u(Rr+qrP0)+vXr。
3)計(jì)算g=H2(m,F,U)、h=H3(m,F,V)和δ=gDs+hxs+u+v+H1(IDs,Rs)·ω。
4)計(jì)算密文C=(m‖δ‖IDs)⊕F,發(fā)送(C,U,V,N)給接收者。
接收者在接收到發(fā)送者發(fā)來的信息(C,U,V,N)后,執(zhí)行如下解簽密步驟:
1)計(jì)算F′=DrU+xrV、PSSV=e(Wr,N)。
2)對(duì)密文C進(jìn)行解簽密(m‖δ‖IDs)=F′⊕C,解簽密輸出消息m和IDs。
3)計(jì)算g′=H2(m,F′,U)、h′=H3(m,F′,V)和qs=H1(IDs,Rs)。
為驗(yàn)證本文基于無證書的身份隱藏簽密方案的正確性,具體過程如下:
其中,F=F′,故等式成立,正確性驗(yàn)證成立。
證明若假設(shè)存在敵手能攻破本文方案,則一定存在一個(gè)能利用敵手A1來解決DDH困難問題的挑戰(zhàn)者B。
輸入(P,αP,βP,T)∈G為挑戰(zhàn)實(shí)例,B的目標(biāo)是計(jì)算并判定等式T=αβP是否成立。將B與A1進(jìn)行模擬游戲,過程如下:
1)初始化
游戲開始階段,挑戰(zhàn)者B運(yùn)行Setup算法,產(chǎn)生參數(shù)(p,q,G,P,P0),并將產(chǎn)生的參數(shù)發(fā)送給敵手A1。生成系統(tǒng)公鑰為P0=ωP,不公開主密鑰。
2)第一階段詢問
(1)H1詢問
(2)H2詢問
(3)H3詢問
德國(guó)漢諾威展覽公司林業(yè)木工展全球總監(jiān)Christian Pfeiffer、德國(guó)木工機(jī)械制造商協(xié)會(huì)總經(jīng)理Bernhard Dirr博士和漢諾威米蘭展覽會(huì)(中國(guó))有限公司董事總經(jīng)理劉國(guó)良在新聞發(fā)布會(huì)上做了主題發(fā)言,漢諾威米蘭展覽(上海)有限公司副總經(jīng)理申倩主持會(huì)議。
(4)部分私鑰提取詢問
(5)私有秘密值詢問
敵手A1查詢用戶身份IDi的秘密值,挑戰(zhàn)者B應(yīng)答并返回對(duì)應(yīng)的私有秘密值xi。
(6)公鑰提取詢問
敵手A1查詢用戶身份IDi的公鑰,挑戰(zhàn)者B將用戶IDi的公鑰
(8)簽密詢問
(9)解簽密詢問
提交密文(Ci,Ui,Vi,Ni)、接收者身份IDb,如果IDb≠ID*,B計(jì)算F=DbUi+xbVi,解密消息(mi‖δi‖IDa)=Fi⊕Ci,查詢列表L2和L3,如果L2中存在元組
3)挑戰(zhàn)
4)第二階段詢問
在這一階段詢問中,敵手除了不能進(jìn)行部分私鑰和對(duì)于挑戰(zhàn)密文的解簽密詢問外,A1可以繼續(xù)進(jìn)行其他詢問。
5)猜測(cè)
證明若先假設(shè)存在敵手A2能攻破本文的無證書身份隱藏簽密方案,則一定存在利用A2來解決DDH問題的挑戰(zhàn)者B。
1)初始化
2)第一階段詢問
(1)哈希詢問
H1、H2、H3詢問與定理1相同。
(2)部分私鑰提取詢問
(3)私有秘密值詢問
當(dāng)敵手A2查詢用戶身份IDi的秘密值時(shí),如果IDi=ID*,則游戲被B終止;否則,B將與之對(duì)應(yīng)的私有秘密值xi作為應(yīng)答返回給敵手。
(4)公鑰提取詢問
與定理1相同。
(5)公鑰替換詢問
在進(jìn)行公鑰替換詢問時(shí),敵手A2首先提交用戶的身份IDi以及進(jìn)行公鑰替換的公鑰Xi′,然后敵手A2進(jìn)行詢問,若IDi=ID*,則B將終止游戲;否則,B將原公鑰替換為Xi′,并將與之對(duì)應(yīng)的私有秘密值xi作為應(yīng)答進(jìn)行返回。
(6)簽密詢問
(7)解簽密詢問
與定理1相同。
3)挑戰(zhàn)
4)第二階段詢問
在這一階段中,敵手A2除了不能進(jìn)行部分私鑰詢問以及對(duì)于挑戰(zhàn)密文的解密詢問外,A2可以執(zhí)行以上的其他詢問。
5)猜測(cè)
在Visual C++實(shí)驗(yàn)環(huán)境下,本文利用PBC庫對(duì)文獻(xiàn)[12]方案(方案1)、文獻(xiàn)[14]方案(方案2)與本文方案進(jìn)行仿真對(duì)比,通過折線圖對(duì)方案效率進(jìn)行比較。由圖2可知,在密鑰生成階段,隨著用戶個(gè)數(shù)的增加,本文方案增長(zhǎng)速度較慢,并且效率略高于方案1和方案2。由圖3可知,在簽密階段,隨著用戶個(gè)數(shù)的增加,本文方案的優(yōu)勢(shì)越來越明顯。由圖4可知,在解簽密階段,不僅本文方案運(yùn)行時(shí)間的增長(zhǎng)幅度一直小于方案1和方案2,而且運(yùn)行時(shí)間也一直處于優(yōu)勢(shì)。由圖5可知,在驗(yàn)證階段,本文方案的運(yùn)行時(shí)間隨著用戶數(shù)量的增加一直處于高效狀態(tài)。由圖6可知,本文方案在整體運(yùn)行階段尤其是簽密和解簽密階段具有明顯優(yōu)勢(shì)。
圖2 密鑰生成階段的方案效率比較
Fig.2Comparison of scheme efficiency in the keygeneration phase
圖3 簽密階段的方案效率比較
Fig.3Comparison of scheme efficiency in thesigncryption phase
圖4 解簽密階段的方案效率比較
Fig.4Comparison of scheme efficiency in theunsigncryption phase
圖5 驗(yàn)證階段的方案效率比較
圖6 4個(gè)階段的方案效率比較
5G網(wǎng)絡(luò)的普及給人們的生活帶來極大便利的同時(shí),也將用戶的身份信息直接暴露在公開網(wǎng)絡(luò)中。因此在5G網(wǎng)絡(luò)的使用過程中,安全問題顯得尤為重要,為解決用戶身份信息泄露的問題,本文基于無證書的密碼體制,提出適用于5G網(wǎng)絡(luò)環(huán)境的簽密方案。該方案將簽密者的身份與其公鑰綁定并且不作為解簽密的輸入信息,既實(shí)現(xiàn)了對(duì)簽密者身份信息的隱藏及用戶身份信息的隱私保護(hù),又能防止替換公鑰攻擊。安全性分析結(jié)果表明,本文方案在隨機(jī)預(yù)言模型下是可證安全的。下一步將設(shè)計(jì)結(jié)合用戶身份信息與用戶位置信息的隱私保護(hù)方案,實(shí)現(xiàn)位置和身份的雙重匿名。