实现匿名且可追溯的高效智能电网异构聚合签密方案

2023-11-02 03:21张少敏王保义
电力科学与工程 2023年10期
关键词:密文电表异构

张少敏,李 凡,王保义

(华北电力大学 计算机系,河北 保定 071003)

0 引言

将先进的信息和通信技术整合进传统电网,智能电网可提供更经济高效的发电、输电和配电,保障电网安全、稳定运行[1]。同时,智能电网通过整合可再生能源可有效缓解燃烧化石能源所带来的环境污染问题[2]。

由于风光等可再生能源出力具有不确定性和波动性,其接入电网会大大影响电力的稳定供应,所以需求响应作为改善电网运行情况的有效手段,已经开始广泛应用。

作为实现需求响应的基础设施,智能电表会实时收集用户的用电数据,并将其发送到控制中心[3]。控制中心通过分析用户的电力消耗数据,将根据用户用电情况制定更合理的需求响应策略;同时,用户也可以根据时变的电价或激励措施及时调整其用电行为,最终实现错峰用电、削峰填谷,并达到节约用户用电成本的效果[4-6]。

实时的消费数据与用户的隐私密切相关。攻击者可能通过挖掘实时的用电数据来推断用户的行为信息而谋取利益[7,8]。在通信过程中,可能存在一些攻击者恶意篡改数据,企图影响智能电网的稳定运行,以及某些不诚实的用户为了少缴纳电费而发送错误的用电数据的行为;所以针对电网通信需要加强保护措施。

目前,已有很多使用密码技术实现智能电网安全通信与隐私保护的相关研究,但现有的方案均在不同实体侧部署相同的密码系统。由于通信网络复杂且资源能力存在差异,不同的通信实体可能会采用不同的密码系统[9-11]。因对于某种密码系统所带来的计算开销的负担能力不同,所以处于不同网络环境的智能电表和控制中心很可能采用不同的密码技术。比如,公钥密码体制(Public key infrastructure,PKI)复杂的证书管理过程对于智能电表来说负担过重,而控制中心却完全可以承受这种负担。这是因为智能电网中处于不同网络级别的节点具有异构性,这种异构性表现在智能电表和控制中心的计算能力和存储资源的巨大差异上。另外,随着越来越多由不同制造商生产的采用了不同密码技术的智能电表的部署,即使是处于同一网络环境的智能电表也存在着采用不同密码技术的情况。出于统一建设成本的考虑,智能电表和控制中心可能部署着不同的密码系统。比如,初期建设时,智能电表和控制中心都采用了基于身份的密码系统(Identity-based cryptosystem,IBC),而后期安装的智能电表考虑到IBC 的密钥托管对于存在大量智能电表环境的威胁采用了无证书密码系统(Certificateless cryptosystem,CLC)。因此,智能电网中各实体密码系统的异构是必须要考虑的问题。为实现在某一密码系统中智能电表传输的加密消息能被另一密码系统的控制中心正常解密,就必须实现异构安全通信。

异构签密技术作为一种新兴的密码技术,为上述问题的解决提供了思路。

文献[12]提出了一种异构签密方案,允许消息从IBC 环境中的智能电表安全传输到PKI 的控制中心。然而,该方案在解签密阶段使用了双线性配对运算,需要较大的计算开销,并且不支持批量验证。在智能电网中,存在需要同时验证多个智能电表的签密有效性的情况,批量验证是智能电网高效异构签密方案的重要特性。此外,该方案存在密钥托管问题。文献[13]提出了一种IBC到PKI 的异构签密方案。同样,复杂的配对计算和求幂运算的使用,导致该方案存在计算开销较大的问题。文献[11]构造了一个从无线传感器网络到互联网服务器的异构签密方案。在该方案中,传感器节点处于CLC 环境,而服务器处于IBC 环境。上述异构签密方案有一个共同的缺点是采用了计算复杂的双线性配对操作,这导致方案的效率较低。

为了降低计算开销,文献[14]设计了一种无配对的异构签密方案——发送方属于IBC,接收方属于PKI。由于未采用计算复杂的配对运算,所以该方案具有较低的运算开销,并且还可以抵抗重放攻击、支持对密文的批量验证。但是,该方案存在密钥托管问题。为了使用户可以匿名地进行异构签密,文献[15]设计了一种从IBC 到PKI的高效异构聚合签密方案,并将其用于车辆到基础设施的通信。该方案使用的由唯一权威机构可追溯的匿名身份模式为用户提供了有条件的隐私保护。这种条件隐私保护既不会泄露用户隐私又可以达到规范用户行为的目的。可利用这种可追溯性来确认通过对比发现的用电量异常的用户或者参加了需求响应却多次不按合同执行的用户的真实身份。但是,该方案涉及IBC 中的密钥托管问题和PKI 中的公钥证书管理问题。

上述方案在不同的密码系统环境下采用了相同的密码系统参数。在实际应用中,在不同实体使用不同的密码系统条件下,应该使用不同的密码系统参数来提高系统的安全性[16]。针对此问题,文献[17]提出了一个CLC 到IBC 的匿名异构聚合签密方案并应用于车载网系统。方案中,发送方和接收方采用不同的主密钥,这为系统提供了更高的安全性。

本文针对智能电网设计了一个能够实现用户匿名且可追溯的、采用不同系统参数的、无配对高效异构聚合签密算法。算法优点是,在保证效率的情况下,方案不仅能够满足智能电网中用户隐私保护需求,还能实现对用户的电费收缴及追踪。

1 网络模型

参考相关文献[18,19],建立一个由智能电表(Smart meter,SM)、区域网关(Regional gateway,RG)、控制中心(Control center,CC)、服务提供商(Service provider,SP)组成的网络模型,如图1 所示。假设此模型存在异构情况,SM 及RG部署CLC,CC 采用IBC。

图1 本文方案网络模型Fig.1 Network model of the scheme in this paper

所构建的模型能够实现用户用电数据的采集、加密和聚合传输。其中,CC 管辖的用户被分成k个子区域,每个区域分配1 个RG 负责消息的聚合和转发;RG 覆盖范围下的每个用户都安装有SM 以采集用户的用电信息,在每个子区域内有n个用户;SP 提供系统参数生成与发布、实体注册及收费服务。

CLC 的密钥生成中心(Key generation center,KGC)负责SM、RG 部分公私钥的生成,并用于SM 的匿名身份的生成;IBC 的私钥生成中心(Private key generator,PKG)负责为CC 生成私钥和公钥。另外,KGC 还负责在收到CC 提供的SM 的匿名身份和账单时在计算出用户真实身份后向用户提供服务,以及恶意用户的身份确认。

结合图1,系统的执行流程概括如下:

①SM、RG、CC 分别提交身份进行注册。

②KGC、PKG 为相应实体分配密钥和匿名身份。

③SM 通过家域网收集家庭内用电设备的用电信息,并将采集的信息签密后通过邻域网(Wi-Fi、5G Wi-Fi、ZigBee 等)传输到RG。

④RG聚合区域内SM的签密并将聚合密文通过广域网(互联网或电力通信网)转发到CC。

⑤CC 解签密获取用户用电信息明文mij。

⑥当发现用电异常用户时,KGC 计算出用户真实身份,并将其广播到CC。

⑦若需计费,CC 将用户的电费账单及匿名身份转发给KGC。

⑧KGC 根据匿名身份计算出用户真实身份,将账单转发给对应用户。

2 异构聚合签密方案

2.1 方案描述

在本方案中,允许n个CLC 中的发送者SM与IBC 中的接收者CC 进行安全通信。表1 中给出了方案中所涉及的一些符号的含义。

表1 异构聚合签密方案的符号的含义Tab.1 The meaning of symbols in heterogeneous aggregation signcryption scheme

1)SP 初始化密码系统。

选取安全参数k,G为椭圆曲线上的一个q阶循环群,生成元为P。

定义5 个安全的Hash 函数:

其中c代表身份或匿名身份的长度,l是要传输的消息的长度。

KGC 随机选择s1∈Zq*作为主密钥并计算P1=s1P。

PKG 随机选择一个主密钥s2∈Zq*,并计算P2=s2P。

公开系统参数:

保密系统主密钥s1和s2。

2)SM 注册及密钥生成(CLC)。

SMij选择cij∈Zq*,计算AIDij,1=cijP作为其匿名身份的一部分,之后SMij通过安全信道将(IDij,AIDij,1)发送给KGC,IDij为SMij的真实身份。

为保护SM 的身份隐私,KGC 计算AIDij,2=IDij⊕H0(s1AIDij,1,s1P1),将AIDij=(AIDij,1,AIDij,2)作为SMij的匿名身份使用。

KGC 根据AIDij,随机选择rAIDij∈Zq*,计算YAIDij=rAIDijP,dAIDij=rAIDij+s1bij,其中bij=H1(AIDij,YAIDij),将(AIDij,dAIDij,YAIDij)通过安全信道发送给SMij。

SMij收到KGC 发送的部分密钥后,验证dAIDijP=YAIDij+P1bij是否成立。若等式成立,则说明KGC 发送的密钥有效,SMij随机选择秘密值xAIDij∈Zq*,XAIDij=xAIDijP,设置其私钥为SKAIDij=(dAIDij,xAIDij),公钥为PKAIDij=(YAIDij,XAIDij)。

在需要发送给用户账单或用户出现不合理操作时,KGC通过计算IDij=AIDij,2⊕H0(s1AIDij,1,s1P1)可还原用户真实身份。

3)RG 注册及密钥生成(CLC)。

RGi将自己的真实身份IDRGi提交到KGC 进行注册。由于SM 使用匿名身份通信可以达到防护用户隐私泄露的目的,所以此处无需为RG 生成匿名身份。密钥生成过程与SM 类似,其中bi=H2(IDRGi,YRGi)。

4)CC 密钥生成(IBC)。

CC 作为处于IBC 密码系统的接收方,提交自己的身份IDCC给PKG。PKG 随机选择aCC∈Zq*,计算ACC=aCCP,hIDCC=H2(IDCC,ACC),通过如下方式分别计算私钥和公钥为:sIDCC=aCC+s2hIDCC,QIDCC=(aCC+s2hIDCC)P=ACC+hIDCCP2,并通过安全信道将私钥sIDCC返回给CC。

5)SM 签密用电信息并上报。

SM 使用如下的异构签密算法签密用电信息明文mij:

①随机选择zij∈Zq*。

②计算γij=zijP。

③计算Tij=zijQIDCC。

④计算Cij=H3(Tij)⊕mij。

⑤计算hij=H4(cij,γij,AIDij,YAIDij,XAIDij),Sij=zij+hij(dAIDij+xAIDij)。

⑥输出σij=(γij,Cij,Sij,timestamp),转发σij给RGi。

其中,timestamp为时间戳,用以抵抗重放攻击。

6)RG 聚合签密。

RGi在收到n个密文σij后,首先检查时间戳是否在有效期内。对于在有效期之内的签密密文,通过如下步骤对区域内签密聚合:

③若批量验证未能通过,则需通过SijP=γij+hij(YAIDij+P1bij+XAIDij)逐个验证,丢弃无效签密,为其余的合法签密生成聚合签密。

由于批量验证n个签密的有效性可将标量乘运算从原本3n降低到2n+1,因此聚合可以降低计算与通信开销。

7)CC 解签密。

CC 收到各区域的聚合密文σi后,通过以下步骤进行解签密以获取用电信息明文mij,CC 据此进行数据分析以及电费账单的计算:

①查看时间戳,判断签密是否在有效期内。若是,则计算hij=H4(cij,γij,AIDij,YAIDij,XAIDij),bij=H1(AIDij,YAIDij)。

③Tij′ =sIDCCγij,mij=Cij⊕H3(Tij′)。

2.2 正确性验证

2.2.1 密文解密的正确性验证

CC 作为接收方通过自己的私钥可正确解签密从而获得用户的用电信息明文mij,即本方案具有密文解密正确性。

2.2.2 签密有效性的正确性验证

RG需要对区域内所有SM提供的密文中的签名进行正确性验证,以确保接收的所有密文发送者的身份是合法的,提供的密文是有效的。RG 可批量验证所有签密的有效性,具体证明如下:

若验证等式成立,即所接收的签密是来自合法用户的有效密文。当上述等式不成立时,即批量验证不通过,需逐个验证签密的有效性,无法通过验证的签密将被丢弃,证明如下:

此外,CC 验证签密有效性的证明过程类似,不再赘述。

3 性能分析

3.1 安全性分析

相关研究中,文献[11]、[12]、[14]和[17] 的异构签密方案具有代表性。本文从6 个方面对各方案进行了功能比较,结果如表2 所示。

表2 异构签密方案的功能比较Tab.2 Functional comparison of heterogeneous signcryption schemes

3.1.1 机密性

本文方案具有在自适应选择密文攻击下的不可区分性,即机密性,只有作为接收方的CC 利用其私钥才可以解密消息。

3.1.2 不可伪造性

本文方案具有在自适应选择消息攻击下的不可伪造性,即只有利用SM 的私钥生成的签名才能通过验证。

3.1.3 发送者匿名且可追溯性

在该方案中,SM 始终使用匿名身份AIDij与控制中心进行通信,确保异构环境通信过程中用户的隐私。该匿名身份AIDij=(AIDij,1,AIDij,2)是由用户和KGC 选择的秘密值共同生成的,除用户和KGC 外,其他任何实体由于不知道SM 真实身份与匿名身份的映射关系及KGC 的系统主密钥s1,所以无法将用户假名对应到用户的真实身份。所以,在电量信息的收集和电费收缴过程中,RG 和CC 仅知晓用户匿名身份,无法获知用户的真实身份,从而有效避免了在数据传输、分析过程中的隐私泄露。

KGC 可通过IDij=AIDij,2⊕H0(s1AIDij,1,s1P1)还原用户真实身份。这种可追溯性确保电费收缴以及为参与需求响应的用户分发补贴等服务能对应到具体用户。同时,对于存在一定次数非法行为的用户,系统将会将其加入黑名单,之后不再为其提供某项服务。

KGC 虽然有权获知用户真实身份但无法获取用户细粒度用电数据,不会对用户隐私造成威胁。

3.1.4 抗重放攻击

由于在本文方案中SM 生成的签密密文σij=(γij,Cij,Sij,timestamp)以及由RG 生成的聚合签密σi=〈γi1……γin,Ci1……Cin,Si,timestamp〉中都加入了时间戳timestamp,所以RG 和CC 在收到消息后,可以根据时间戳判断消息是否在有效期内,并将不在有效期内的消息将视为非法密文并丢弃。因此,本文方案能够抵抗重放攻击。

3.1.5 公开可验证性

在本文方案验证签密有效性的等式中不涉及SM 和CC 的私有信息,模型中任何有计算能力的实体均可验证签密是否合法有效。

3.1.6 双系统参数

本文方案采用不同的系统主密钥,安全性优于使用相同主密钥的方案。假设PKG 被攻击,攻击者可获得PKG 的主密钥和CC 的私钥,因此可以解密获得用户的用电数据,但因PKG 的系统主密钥与KGC 不同,攻击者仍然无法获得SM 的真实身份,用户隐私仍可以得到保障。

3.2 效率分析

3.2.1 理论分析

表2 中各方案的计算开销比较结果如表3 所示。在表3 所示的比较结果中,只关注计算量较大的双线性配对运算(Tbp)、标量乘运算(Tsm)、映射到点Hash 运算(Tmtp)和GT中求幂运算(Tex),而忽略一些计算量很小的运算。

表3 所选异构方案的计算开销对比Tab.3 Comparison of the computational cost of selected heterogeneous solutions

3.2.2 实验结果分析

结合文献[20],在配置为Intel Core i5-5200U 2.20 GHz processor、8GB RAM、Windows 10 操作系统的笔记本电脑实验条件下,在80 位安全级别的情况下,采用椭圆曲线y2+y=x3+x以及双线性对:G×G→GT计算得到基本实验结果。

根据文献[20],得到Tbp、Tsm、Tmtp和Tex的运行时间分别为2.373 ms、0.304 ms、0.319 ms、0.297 ms。签密、解签密、批量解签密的时间消耗对比结果分别如图2、图3 和图4 所示。

图2 签密的耗时比较Fig.2 Comparison of time consumption of signcryption

图3 解签密的耗时比较Fig.3 Comparison of time consumption of unsigncryption

图4 批量解签密的耗时比较Fig.4 Comparison of time consumption of batch unsigncryption

从图2、3 可以看出,本文方案相比现有的智能电网异构签密方案[12],在计算开销上明显降低,因为本文方案中耗时的运算仅包含椭圆曲线上的标量乘运算而没有使用双线性配对运算。本方案在这2 个阶段时间开销不是最小的,低于文献[11]、[17]方案,与文献[14]方案相同。文献[14]的方案存在的问题是:发送方属于IBC,接收方属于PKI,IBC 可以掌握用户私钥。在智能电网中,多个智能电表需要向控制中心发送用电信息。IBC 部署在用户一侧,这将会带来极大的隐私泄露风险。此外,PKI 存在证书管理的负担。

图4 描述了接收方同时对于来自多个用户的密文解签密的效率比较。可以看到,随着用户数量的增加,本文方案始终保持着低开销。本文方案效率较高是因为方案支持生成聚合密文和批量验证功能。

综合来看,本文方案在这些方案中具有最优的性能,更适合应用于智能电网场景。

4 结论

为保证信息在异构环境下的安全传输,本文提出了一个从CLC 到IBC 的异构聚合签密方案,实现了发送者身份的匿名且可追溯。该方案的计算开销较低,适合应用于智能电网环境。

猜你喜欢
密文电表异构
一种针对格基后量子密码的能量侧信道分析框架
巧判电表测量对象
试论同课异构之“同”与“异”
一种支持动态更新的可排名密文搜索方案
电表“对”与“错”归类巧掌握
基于模糊数学的通信网络密文信息差错恢复
看电表
异构醇醚在超浓缩洗衣液中的应用探索
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究