姜 哲,張 凱
(上海電力大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海 201300)
智能電網(wǎng)是工業(yè)互聯(lián)網(wǎng)的典型代表,旨在實(shí)現(xiàn)電網(wǎng)的安全、可靠和穩(wěn)定運(yùn)行。隨著云計(jì)算等新一代信息技術(shù)的賦能,智能電網(wǎng)進(jìn)入開(kāi)放融合的大規(guī)模監(jiān)視新環(huán)境,這使得智能電網(wǎng)信息安全面臨更大挑戰(zhàn)[1]。例如,在開(kāi)放云計(jì)算環(huán)境下,智能電網(wǎng)各終端用戶加密用電數(shù)據(jù)并存儲(chǔ)到云服務(wù)器中[2],為保障云存儲(chǔ)數(shù)據(jù)的安全和隱私,云服務(wù)器需具備對(duì)加密數(shù)據(jù)的搜索能力。但是,斯諾登“棱鏡門”事件[3]表明,密碼系統(tǒng)即使在實(shí)踐中被良好部署,仍可能受大規(guī)模監(jiān)視被嵌入后門,使算法隨機(jī)數(shù)等機(jī)密信息遭到泄露威脅,最終導(dǎo)致數(shù)據(jù)加密通信在處于大規(guī)模監(jiān)視的智能電網(wǎng)中無(wú)法保證數(shù)據(jù)的機(jī)密性,進(jìn)而泄漏用戶的隱私。因此,針對(duì)云架構(gòu)下大規(guī)模監(jiān)視智能電網(wǎng)環(huán)境,迫切需要滿足密文合法性功能需求與抵抗后門嵌入攻擊安全性要求的抗大規(guī)模監(jiān)視密碼解決方案[4],實(shí)現(xiàn)在不改變密碼系統(tǒng)功能的條件下,智能電網(wǎng)中各終端用戶設(shè)備可抵抗后門嵌入攻擊。
明文可校驗(yàn)加密(Plaintext-checkable encryption,PCE)方案被認(rèn)為是通過(guò)判定明文與密文的一致性和合法性實(shí)現(xiàn)可搜索加密的關(guān)鍵技術(shù)之一。Canard等[5]首次在標(biāo)準(zhǔn)模型下基于概率性或確定性加密算法提出了PCE方案的通用結(jié)構(gòu),并給出了不可鏈接性選擇明文攻擊(Chosen plaintext attack,CPA)安全的安全模型。近期,Ma等[6]在標(biāo)準(zhǔn)模型下利用平滑投影哈希函數(shù),提出了不可鏈接性選擇密文攻擊(Chosen ciphertext attack,CCA)安全的PCE方案。Chen等[7]改變PCE系統(tǒng)框架以及數(shù)據(jù)校驗(yàn)者的限制,提出了指定校驗(yàn)者PCE方案。Alornyo等[8]則在外包數(shù)據(jù)庫(kù)中引入身份基明文校驗(yàn)加密方案,使用數(shù)據(jù)接收者的身份作為公鑰以解決公鑰加密中的證書管理困難的問(wèn)題。
為防范后門嵌入攻擊,Mironov等[9]提出了密碼逆向防火墻(Cryptographic reverse firewall,CRF)的概念,通過(guò)在用戶設(shè)備和外界環(huán)境之間部署CRF抵抗監(jiān)視攻擊。Chen等[10]提出可延展平滑投影哈希函數(shù)的概念,并給出CRF的通用構(gòu)造。隨后,Ma等[11]給出面向在線/離線屬性基加密的CRF設(shè)計(jì)方案,方案可有效防止私有機(jī)密信息的泄露。然而,目前尚未有針對(duì)明文可校驗(yàn)加密方案的密碼逆向防火墻部署方案。
本文基于PCE方案,利用密鑰和元素延展性為PCE系統(tǒng)構(gòu)造密碼逆向防火墻,最終設(shè)計(jì)了面向云架構(gòu)下大規(guī)模監(jiān)視智能電網(wǎng)數(shù)據(jù)可校驗(yàn)加密系統(tǒng),并給出方案的正確性和不可鏈接性CPA安全分析,證明支持密碼逆向防火墻部署的明文可校驗(yàn)加密(Plaintext-checkable encryption with cryptographic reverse firewall,PCE-CRF)方案達(dá)到功能性和安全性要求。
一個(gè)明文可校驗(yàn)加密PCE=(PCE.KeyGen,P CE.Encrypt,PCE.Decrypt,PCE.PCheck)方案由以下4個(gè)概率多項(xiàng)式時(shí)間算法組成。
(1)(pk,sk)←PC E.KeyGen(1k):密鑰生成算法輸入安全參數(shù)1k,輸出一對(duì)密鑰(pk,sk);
(2)CT←PCE.Encrypt(pk,m):加密算法輸入公鑰pk和明文m,輸出密文CT;
(3)←PCE.Decrypt(sk,CT):解密算法輸入私鑰sk和密文CT,輸出明文;
(4){0,1}←PCE.P Check(pk,m,CT):檢驗(yàn)算法輸入公鑰pk,明文m和密文CT,如果CT是明文m基于公鑰pk的合法加密形式,輸出為1;否則輸出為0。
對(duì)于一個(gè)具備功能需求F和安全需求S的密碼方案ε,其密碼逆向防火墻W是一種狀態(tài)性的算法,有如下定義。
(1)密碼逆向防火墻W:以當(dāng)前狀態(tài)和消息作為輸入,輸出更新后的狀態(tài)和消息。對(duì)于實(shí)體P和逆向防火墻W,若W是由P組成的,則稱W為P的逆向防火墻,其中W的狀態(tài)初始化為方案公共參數(shù)。
(2)功能保留性:對(duì)于實(shí)體P的逆向防火墻W,令W1?P=W?P(k=1)和W k?P=W k-1?P(k≥2)表示防火墻W與實(shí)體P組合,稱W是為實(shí)體P部署的防火墻。對(duì)于一個(gè)滿足功能需求F的方案ε,若在方案ε中W k?P(k≥2)仍能保持P的功能需求F,則稱逆向防火墻W保留了P的功能需求F。
(3)弱安全性保護(hù):對(duì)于滿足安全性需求S和功能需求F的方案ε和逆向防火墻W,若方案εP→W?滿足S,則稱W保留P在方案ε中的弱安全需求S。
(4)弱抗信息溢出性:對(duì)于滿足功能F的方案ε和一個(gè)逆向防火墻W,若對(duì)于任意多項(xiàng)式時(shí)間攻擊者A,敵手在逆向防火墻W下泄漏信息的優(yōu)勢(shì)(λ)=Pr[LEAK(ε,P1,P2,W,λ)=1]-1/2關(guān)于安全參數(shù)λ是可忽略的,且實(shí)體保持實(shí)體P1的功能需求F,則稱W對(duì)于方案ε中的實(shí)體P1對(duì)實(shí)體P2是弱抗溢出的。
一個(gè)支持密碼逆向防火墻部署的明文可校驗(yàn)加密(PCE-CRF)系統(tǒng),如圖1所示,由如下實(shí)體組成:密鑰生成中心(Private key generation,PKG)、云服務(wù)器、數(shù)據(jù)擁有者(Data owner,DO)、WPKG(PKG的密碼逆向防火墻)、WDO(DO的密碼逆向防火墻)。PKG負(fù)責(zé)生成公鑰pk和私鑰sk并把它們發(fā)送給WPKG,WPKG利用公鑰和私鑰的延展性生成更新后的pk′和sk′;DO使用pk′加密數(shù)據(jù)生成密文CT,并將其發(fā)送給WDO進(jìn)行再隨機(jī)加密得到密文CT′上傳至云服務(wù)器;DO使用明文m向云服務(wù)器發(fā)送搜索請(qǐng)求;云服務(wù)器根據(jù)明文m和密文CT′的校驗(yàn)結(jié)果返回搜索情況。例如,在處于大規(guī)模監(jiān)視環(huán)境的智能電網(wǎng)中,終端用戶以加密形式將用電數(shù)據(jù)上傳電力云服務(wù)器保證數(shù)據(jù)機(jī)密性,下載數(shù)據(jù)前用戶使用明文關(guān)鍵字向云服務(wù)器發(fā)送公開(kāi)校驗(yàn)請(qǐng)求保證下載的數(shù)據(jù)正確。但是,PKG和用戶設(shè)備可能會(huì)被嵌入后門使算法隨機(jī)數(shù)等機(jī)密信息遭到泄露威脅從而破壞數(shù)據(jù)機(jī)密性和泄漏用戶隱私,此時(shí)為系統(tǒng)部署的密碼逆向防火墻WPKG和WDO提供防止PKG原始輸出和用戶用電數(shù)據(jù)被竊聽(tīng)的安全防護(hù),抵抗了后門嵌入攻擊帶來(lái)的安全問(wèn)題。具體地,PCE-CRF系統(tǒng)由以下算法組成:
(1)KeyGen(1k)→(pk,sk):PKG輸入安全參數(shù)1k,算法輸出公鑰和私鑰;
(2)WPKG.KeyGen(pk,sk)→(pk′,sk′):輸入原始公鑰和私鑰,輸出更新后的公鑰和私鑰;
(3)Encrypt(1k,pk,m)→CT:DO輸入公鑰pk和明文m,輸出密文CT;
(4)WDO.Encrypt(CT)→CT′:輸入原始密文CT,輸出更新后的密文CT′;
(5)PCheck(1k,pk′,CT′,m)→{0,1}:云服務(wù)器輸入明文m以及更新后的公鑰pk′和密文CT′,輸出校驗(yàn)結(jié)果;
(6)Decrypt(1k,sk′,CT′)→m:DO輸入更新后的私鑰和密文,輸出明文。
圖1 帶有逆向防火墻的明文可校驗(yàn)加密系統(tǒng)模型
攻擊者模型:在PCE-CRF系統(tǒng)中,盡管PKG和DO完全被信任,KeyGen算法和Encrypt算法執(zhí)行時(shí)仍可能會(huì)被竊聽(tīng)者監(jiān)視并植入后門。在其安全模型中,假定云服務(wù)器和逆向防火墻WDO是半誠(chéng)實(shí)的,即協(xié)議和算法在正常執(zhí)行時(shí)私有信息可能會(huì)被竊聽(tīng);逆向防火墻WPKG則是完全受信任的;同時(shí),假定WDO和WPKG不會(huì)被外界攻擊者篡改。對(duì)于一個(gè)PCE-CRF系統(tǒng)關(guān)于不可鏈接性CPA安全,挑戰(zhàn)者與攻擊者(A1,A2)間的安全游戲定義如下:
(1)初始化階段:挑戰(zhàn)者執(zhí)行具有功能保留性的算法Setup*和KeyGen*,生成密鑰對(duì)(pk′,sk′),并發(fā)送pk′給A=(A1,A2)。
(2)詢問(wèn)階段:A1獲得公鑰pk′。
(3)挑戰(zhàn)階段:A1選擇兩個(gè)等長(zhǎng)的明文m0和m1提交給挑戰(zhàn)者。挑戰(zhàn)者隨機(jī)選擇一個(gè)挑戰(zhàn)比特b∈{0,1}并發(fā)送挑戰(zhàn)密文=((Enc(pk′,mb),Enc(pk′,m1))。
(4)猜測(cè):A2輸出猜測(cè)b′。當(dāng)b=b′時(shí),A在游戲中獲勝,并輸出結(jié)果1;否則,輸出0。
定義:若對(duì)于任意概率多項(xiàng)式時(shí)間攻擊者在上述安全游戲中的獲勝優(yōu)勢(shì)是可忽略的,則稱P CE-CRF系統(tǒng)具有不可鏈接性CPA安全,即ε=,其中negl(λ)表示關(guān)于安全參數(shù)λ是可忽略的。
基于文獻(xiàn)[5]的PCE方案,本文為密鑰生成階段和數(shù)據(jù)加密階段分別部署密碼逆向防火墻。具體地,在PCE系統(tǒng)中PKG生成公鑰pk和私鑰sk,使用密鑰的延展性對(duì)pk和sk進(jìn)行再隨機(jī)化為PKG設(shè)計(jì)密碼逆向防火墻部署方案WPKG;同時(shí),在DO對(duì)數(shù)據(jù)加密得到密文CT后,利用元素的延展性對(duì)C T進(jìn)行再隨機(jī)化為DO設(shè)計(jì)密碼逆向防火墻部署方案WDO。此時(shí),云服務(wù)器需使用更新后的密文和公鑰進(jìn)行明文校驗(yàn)。對(duì)于非對(duì)稱雙線性群(p,G1,G2,GT,e,g,h),p是一個(gè)大素?cái)?shù),G1,G2,GT是p階循環(huán)群,e:G1×G2→GT是非退化性雙線性映射,元素g和h分別是G1和G2的生成元,PCE-CRF方案執(zhí)行過(guò)程如下:
(1)KeyGen(1k)→(pk,sk):輸入安全參數(shù)1k,隨機(jī)選擇作為私鑰,并計(jì)算公鑰pk=g x,返回公私密鑰對(duì)(pk,sk);
(2)WPKG.KeyGen(pk,sk)→(pk′,sk′):隨機(jī)選擇并計(jì)算x′=αx,y′=g x′=gαx,輸出更新后的公私密鑰對(duì)(pk′,sk′)=(gαx,αx);
(3)Encrypt(1k,pk,m)→CT:DO隨機(jī)選取r,,使用公鑰和隨機(jī)數(shù)r加密明文數(shù)據(jù)m,計(jì)算c1=m(y′)r,c2=g r,c3=h a,c4=h ar,返回密文CT=(c1,c2,c3,c4);
(4)WDO.Encrypt(CT)→CT′:隨機(jī)選擇r1,,計(jì)算,返回更新后的密文CT′=(c′1,c′2,c′3,c′4);
(5)PCheck(1k,pk′,CT′,m)→{0,1}:云服務(wù)器輸入(pk′,CT′,m),云服務(wù)器輸入(pk′,CT′,m),判斷e(g,c′4)=e(c′2,c′3)是否成立,若不成立,則返回0;再判斷等式e(c′1/m,c′3)=e(y′,c′4)是否成立,若成立,則返回1,否則,返回0;
(6)Decrypt(1k,sk′,CT′)→m:DO使用sk′解密密文獲取數(shù)據(jù),判斷e(g,c′4)=e(c′2,c′3)是否成立,如果成立,則計(jì)算m=c′1/(c′2)x′,否則終止運(yùn)算并返回⊥。
由密文防火墻WDO輸出的密文CT′=(c′1=,可以通過(guò)使用密碼逆向防火墻WPKG輸出的sk′執(zhí)行解密過(guò)程。
首先驗(yàn)證兩個(gè)關(guān)系式e(g,c′4)=e(c′2,c′3)和e(c′1/m,c′3)=e(y,c′4)成立,即
驗(yàn)證通過(guò)后,使用sk′恢復(fù)數(shù)據(jù)明文m=。 由此可見(jiàn),在部署逆向防火墻WDO和逆向防火墻WPKG之后,逆向防火墻并不會(huì)影響方案的密文解密和明文校驗(yàn)過(guò)程,PCE-CRF方案保留了原有方案的功能正確性要求。
本節(jié)將通過(guò)以下幾方面來(lái)證明PCE-CRF方案結(jié)構(gòu)的安全性。
(1)弱安全保護(hù)性:PCE-CRF方案中密鑰和密文的結(jié)構(gòu)與文獻(xiàn)[5]方案一致,如果PCE方案[5]具有不可鏈接性CPA安全,那么PCE-CRF也具有不可鏈接性CPA安全。
(2)抗大規(guī)模監(jiān)視:PCE-CRF方案的安全游戲與文獻(xiàn)[5]的PCE方案的安全游戲具有不可區(qū)分性。首先,定義如下安全游戲場(chǎng)景:
場(chǎng)景0:與章節(jié)2.2中定義的安全游戲一致。
場(chǎng)景1:修改場(chǎng)景0中密鑰由WPKG.KeyGen生成,改為由PCE.Key Gen生成。
場(chǎng)景2:修改場(chǎng)景1中挑戰(zhàn)密文由WDO.Encrypt生成,改為由PCE.Encrypt生成。
此時(shí),場(chǎng)景2為文獻(xiàn)[5]的PCE方案中給出的安全游戲,且場(chǎng)景0和場(chǎng)景1之間具有不可區(qū)分性,場(chǎng)景1和場(chǎng)景2之間具有不可區(qū)分性??梢酝茢?,場(chǎng)景0和場(chǎng)景2具有不可區(qū)分性。因此,本文提出的PCE-CRF方案在大規(guī)模監(jiān)視場(chǎng)景下具有不可鏈接性CPA安全。
本節(jié)從理論方面分析PCE-CRF方案的計(jì)算和存儲(chǔ)成本。本文使用|G1|表示群G1中元素的比特?cái)?shù),|G2|表示表示群G2中元素的比特?cái)?shù),表示群中每個(gè)元素的比特?cái)?shù)。
理論分析結(jié)果如表1所示,存儲(chǔ)開(kāi)銷主要為公鑰pk、密鑰sk和密文CT存儲(chǔ)3方面,計(jì)算開(kāi)銷主要為算法中的加法運(yùn)算Add、群G1和G2上的指數(shù)運(yùn)算Exp1,Exp2、雙線性運(yùn)算P和點(diǎn)乘運(yùn)算PM這4種計(jì)算開(kāi)銷。
表1 計(jì)算和存儲(chǔ)成本
本節(jié)進(jìn)行了一個(gè)仿真試驗(yàn)展示PCE-CRF方案的試驗(yàn)結(jié)果。試驗(yàn)中采用了基于配對(duì)的密碼術(shù)(Pairing-based cryptography,PBC)庫(kù),其中橢圓曲線類型為y2=x3+x,它在有限域Fq生成A型配對(duì)運(yùn)算(q為512 bit的大素?cái)?shù))。試驗(yàn)環(huán)境為:操作系統(tǒng)Ubuntu18.04,Intel Core(TM)i5-6200U CPU 2.30 GHz處理器,4 GB內(nèi)存。試驗(yàn)結(jié)果如表2所示,其中運(yùn)行加密算法和解密算法時(shí)間分別為0.004 14 s和0.002 745 s,通過(guò)對(duì)密鑰和密文的參數(shù)再隨機(jī)化來(lái)達(dá)到安全防護(hù)效果的密碼逆向防火墻WPKG.K ey G en和WDO.E ncr y pt則與其分別對(duì)應(yīng)的K ey G en和E ncr y pt算法運(yùn)行時(shí)間基本相同,PCE-CRF方案相當(dāng)于增加一倍計(jì)算時(shí)間,但PCE-CRF方案沒(méi)有出現(xiàn)超負(fù)荷的現(xiàn)象,因此部署CRF的PCE方案依然滿足文獻(xiàn)[5]的PCE方案的基本要求。
表2 運(yùn)行時(shí)間 s
本文結(jié)合明文可校驗(yàn)加密技術(shù)和逆向防火墻技術(shù),提出了云架構(gòu)下大規(guī)模監(jiān)視智能電網(wǎng)中數(shù)據(jù)可校驗(yàn)加密方案,為智能電網(wǎng)中由后門嵌入攻擊和數(shù)據(jù)不一致性所帶來(lái)的安全問(wèn)題提供了一種解決方案。能否針對(duì)可驗(yàn)證明文可校驗(yàn)加密方案部署密碼逆向防火墻是下一步需要研究的問(wèn)題。