智能电网中数据可校验加密的密码逆向防火墙设计

2022-06-09 07:47哲,张
南京理工大学学报 2022年2期
关键词:公钥明文密文

姜 哲,张 凯

(上海电力大学 计算机科学与技术学院,上海 201300)

智能电网是工业互联网的典型代表,旨在实现电网的安全、可靠和稳定运行。随着云计算等新一代信息技术的赋能,智能电网进入开放融合的大规模监视新环境,这使得智能电网信息安全面临更大挑战[1]。例如,在开放云计算环境下,智能电网各终端用户加密用电数据并存储到云服务器中[2],为保障云存储数据的安全和隐私,云服务器需具备对加密数据的搜索能力。但是,斯诺登“棱镜门”事件[3]表明,密码系统即使在实践中被良好部署,仍可能受大规模监视被嵌入后门,使算法随机数等机密信息遭到泄露威胁,最终导致数据加密通信在处于大规模监视的智能电网中无法保证数据的机密性,进而泄漏用户的隐私。因此,针对云架构下大规模监视智能电网环境,迫切需要满足密文合法性功能需求与抵抗后门嵌入攻击安全性要求的抗大规模监视密码解决方案[4],实现在不改变密码系统功能的条件下,智能电网中各终端用户设备可抵抗后门嵌入攻击。

明文可校验加密(Plaintext-checkable encryption,PCE)方案被认为是通过判定明文与密文的一致性和合法性实现可搜索加密的关键技术之一。Canard等[5]首次在标准模型下基于概率性或确定性加密算法提出了PCE方案的通用结构,并给出了不可链接性选择明文攻击(Chosen plaintext attack,CPA)安全的安全模型。近期,Ma等[6]在标准模型下利用平滑投影哈希函数,提出了不可链接性选择密文攻击(Chosen ciphertext attack,CCA)安全的PCE方案。Chen等[7]改变PCE系统框架以及数据校验者的限制,提出了指定校验者PCE方案。Alornyo等[8]则在外包数据库中引入身份基明文校验加密方案,使用数据接收者的身份作为公钥以解决公钥加密中的证书管理困难的问题。

为防范后门嵌入攻击,Mironov等[9]提出了密码逆向防火墙(Cryptographic reverse firewall,CRF)的概念,通过在用户设备和外界环境之间部署CRF抵抗监视攻击。Chen等[10]提出可延展平滑投影哈希函数的概念,并给出CRF的通用构造。随后,Ma等[11]给出面向在线/离线属性基加密的CRF设计方案,方案可有效防止私有机密信息的泄露。然而,目前尚未有针对明文可校验加密方案的密码逆向防火墙部署方案。

本文基于PCE方案,利用密钥和元素延展性为PCE系统构造密码逆向防火墙,最终设计了面向云架构下大规模监视智能电网数据可校验加密系统,并给出方案的正确性和不可链接性CPA安全分析,证明支持密码逆向防火墙部署的明文可校验加密(Plaintext-checkable encryption with cryptographic reverse firewall,PCE-CRF)方案达到功能性和安全性要求。

1 预备知识

1.1 明文校验加密

一个明文可校验加密PCE=(PCE.KeyGen,P CE.Encrypt,PCE.Decrypt,PCE.PCheck)方案由以下4个概率多项式时间算法组成。

(1)(pk,sk)←PC E.KeyGen(1k):密钥生成算法输入安全参数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。

1.2 密码逆向防火墙

对于一个具备功能需求F和安全需求S的密码方案ε,其密码逆向防火墙W是一种状态性的算法,有如下定义。

(1)密码逆向防火墙W:以当前状态和消息作为输入,输出更新后的状态和消息。对于实体P和逆向防火墙W,若W是由P组成的,则称W为P的逆向防火墙,其中W的状态初始化为方案公共参数。

(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下泄漏信息的优势(λ)=Pr[LEAK(ε,P1,P2,W,λ)=1]-1/2关于安全参数λ是可忽略的,且实体保持实体P1的功能需求F,则称W对于方案ε中的实体P1对实体P2是弱抗溢出的。

2 支持CRF部署的PCE方案

2.1 系统模型

一个支持密码逆向防火墙部署的明文可校验加密(PCE-CRF)系统,如图1所示,由如下实体组成:密钥生成中心(Private key generation,PKG)、云服务器、数据拥有者(Data owner,DO)、WPKG(PKG的密码逆向防火墙)、WDO(DO的密码逆向防火墙)。PKG负责生成公钥pk和私钥sk并把它们发送给WPKG,WPKG利用公钥和私钥的延展性生成更新后的pk′和sk′;DO使用pk′加密数据生成密文CT,并将其发送给WDO进行再随机加密得到密文CT′上传至云服务器;DO使用明文m向云服务器发送搜索请求;云服务器根据明文m和密文CT′的校验结果返回搜索情况。例如,在处于大规模监视环境的智能电网中,终端用户以加密形式将用电数据上传电力云服务器保证数据机密性,下载数据前用户使用明文关键字向云服务器发送公开校验请求保证下载的数据正确。但是,PKG和用户设备可能会被嵌入后门使算法随机数等机密信息遭到泄露威胁从而破坏数据机密性和泄漏用户隐私,此时为系统部署的密码逆向防火墙WPKG和WDO提供防止PKG原始输出和用户用电数据被窃听的安全防护,抵抗了后门嵌入攻击带来的安全问题。具体地,PCE-CRF系统由以下算法组成:

(1)KeyGen(1k)→(pk,sk):PKG输入安全参数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′,输出校验结果;

(6)Decrypt(1k,sk′,CT′)→m:DO输入更新后的私钥和密文,输出明文。

图1 带有逆向防火墙的明文可校验加密系统模型

2.2 安全模型

攻击者模型:在PCE-CRF系统中,尽管PKG和DO完全被信任,KeyGen算法和Encrypt算法执行时仍可能会被窃听者监视并植入后门。在其安全模型中,假定云服务器和逆向防火墙WDO是半诚实的,即协议和算法在正常执行时私有信息可能会被窃听;逆向防火墙WPKG则是完全受信任的;同时,假定WDO和WPKG不会被外界攻击者篡改。对于一个PCE-CRF系统关于不可链接性CPA安全,挑战者与攻击者(A1,A2)间的安全游戏定义如下:

(1)初始化阶段:挑战者执行具有功能保留性的算法Setup*和KeyGen*,生成密钥对(pk′,sk′),并发送pk′给A=(A1,A2)。

(2)询问阶段:A1获得公钥pk′。

(3)挑战阶段:A1选择两个等长的明文m0和m1提交给挑战者。挑战者随机选择一个挑战比特b∈{0,1}并发送挑战密文=((Enc(pk′,mb),Enc(pk′,m1))。

(4)猜测:A2输出猜测b′。当b=b′时,A在游戏中获胜,并输出结果1;否则,输出0。

定义:若对于任意概率多项式时间攻击者在上述安全游戏中的获胜优势是可忽略的,则称P CE-CRF系统具有不可链接性CPA安全,即ε=,其中negl(λ)表示关于安全参数λ是可忽略的。

2.3 PCE-CRF方案

基于文献[5]的PCE方案,本文为密钥生成阶段和数据加密阶段分别部署密码逆向防火墙。具体地,在PCE系统中PKG生成公钥pk和私钥sk,使用密钥的延展性对pk和sk进行再随机化为PKG设计密码逆向防火墙部署方案WPKG;同时,在DO对数据加密得到密文CT后,利用元素的延展性对C T进行再随机化为DO设计密码逆向防火墙部署方案WDO。此时,云服务器需使用更新后的密文和公钥进行明文校验。对于非对称双线性群(p,G1,G2,GT,e,g,h),p是一个大素数,G1,G2,GT是p阶循环群,e:G1×G2→GT是非退化性双线性映射,元素g和h分别是G1和G2的生成元,PCE-CRF方案执行过程如下:

(1)KeyGen(1k)→(pk,sk):输入安全参数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,,使用公钥和随机数r加密明文数据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′解密密文获取数据,判断e(g,c′4)=e(c′2,c′3)是否成立,如果成立,则计算m=c′1/(c′2)x′,否则终止运算并返回⊥。

3 功能正确性及方案安全性分析

3.1 功能正确性分析

由密文防火墙WDO输出的密文CT′=(c′1=,可以通过使用密码逆向防火墙WPKG输出的sk′执行解密过程。

首先验证两个关系式e(g,c′4)=e(c′2,c′3)和e(c′1/m,c′3)=e(y,c′4)成立,即

验证通过后,使用sk′恢复数据明文m=。 由此可见,在部署逆向防火墙WDO和逆向防火墙WPKG之后,逆向防火墙并不会影响方案的密文解密和明文校验过程,PCE-CRF方案保留了原有方案的功能正确性要求。

3.2 方案安全性分析

本节将通过以下几方面来证明PCE-CRF方案结构的安全性。

(1)弱安全保护性:PCE-CRF方案中密钥和密文的结构与文献[5]方案一致,如果PCE方案[5]具有不可链接性CPA安全,那么PCE-CRF也具有不可链接性CPA安全。

(2)抗大规模监视:PCE-CRF方案的安全游戏与文献[5]的PCE方案的安全游戏具有不可区分性。首先,定义如下安全游戏场景:

场景0:与章节2.2中定义的安全游戏一致。

场景1:修改场景0中密钥由WPKG.KeyGen生成,改为由PCE.Key Gen生成。

场景2:修改场景1中挑战密文由WDO.Encrypt生成,改为由PCE.Encrypt生成。

此时,场景2为文献[5]的PCE方案中给出的安全游戏,且场景0和场景1之间具有不可区分性,场景1和场景2之间具有不可区分性。可以推断,场景0和场景2具有不可区分性。因此,本文提出的PCE-CRF方案在大规模监视场景下具有不可链接性CPA安全。

4 效率评估

4.1 理论分析

本节从理论方面分析PCE-CRF方案的计算和存储成本。本文使用|G1|表示群G1中元素的比特数,|G2|表示表示群G2中元素的比特数,表示群中每个元素的比特数。

理论分析结果如表1所示,存储开销主要为公钥pk、密钥sk和密文CT存储3方面,计算开销主要为算法中的加法运算Add、群G1和G2上的指数运算Exp1,Exp2、双线性运算P和点乘运算PM这4种计算开销。

表1 计算和存储成本

4.2 试验分析

本节进行了一个仿真试验展示PCE-CRF方案的试验结果。试验中采用了基于配对的密码术(Pairing-based cryptography,PBC)库,其中椭圆曲线类型为y2=x3+x,它在有限域Fq生成A型配对运算(q为512 bit的大素数)。试验环境为:操作系统Ubuntu18.04,Intel Core(TM)i5-6200U CPU 2.30 GHz处理器,4 GB内存。试验结果如表2所示,其中运行加密算法和解密算法时间分别为0.004 14 s和0.002 745 s,通过对密钥和密文的参数再随机化来达到安全防护效果的密码逆向防火墙WPKG.K ey G en和WDO.E ncr y pt则与其分别对应的K ey G en和E ncr y pt算法运行时间基本相同,PCE-CRF方案相当于增加一倍计算时间,但PCE-CRF方案没有出现超负荷的现象,因此部署CRF的PCE方案依然满足文献[5]的PCE方案的基本要求。

表2 运行时间 s

5 结束语

本文结合明文可校验加密技术和逆向防火墙技术,提出了云架构下大规模监视智能电网中数据可校验加密方案,为智能电网中由后门嵌入攻击和数据不一致性所带来的安全问题提供了一种解决方案。能否针对可验证明文可校验加密方案部署密码逆向防火墙是下一步需要研究的问题。

猜你喜欢
公钥明文密文
一种支持动态更新的可排名密文搜索方案
一种新的密文策略的属性基加密方案研究
一种抗攻击的网络加密算法研究
神奇的公钥密码
奇怪的处罚
国密SM2密码算法的C语言实现
基于身份的聚合签名体制研究
奇怪的处罚
奇怪的处罚