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