APP下载

基于群盲签名的智能电网隐私保护方案研究

2022-08-02李宇远于海洋

自动化仪表 2022年6期
关键词:身份验证攻击者电网

李宇远,于海洋

(南方电网数字电网研究院有限公司,广东 广州 510670)

0 引言

随着网络技术[1-2]的不断发展,智能电网[3]中的电力运行和管理可通过集成先进的双向通信和广泛的计算能力进行升级,以实现配电系统的可靠性和安全性。智能电网不但可以消除用户和供电商之间的障碍,而且可以通过智能监控了解用户的用电行为,对电力部署作适当调整,从而提高了供电服务质量[3]。

需要注意的是,传统电网与智能电网的主要区别在于,承载用户应用信息的智能电表通过有线或无线网络与变电站进行通信[4]。然而,电力请求有可能泄漏用户的日常日程,因此存在通信的隐私和安全等问题[5]。此外,电力需求不仅涉及用户的隐私,还关系到收费政策和公平性。因此,如何采取有效措施保证电力需求源的真实性和用户隐私是关键。为此,许多学者对电力隐私和安全进行研究,并提出了解决方案。

文献[6]提出基于双联盟链的智能电网数据共享模型。文献[7]设计了基于抗泄漏无证书同态加密的用户电力数据聚合和隐私保护协议。该协议主要将弹性泄漏密码体制与无证书同态加密技术相结合,既可以避免密钥托管问题,又可以实现密钥抗泄漏。文献[8]提出基于雾计算的智能电网安全与隐私保护数据聚合方案。该方案利用云雾合作的多级聚合模型和同态加密算法,对智能电表(smart meter,SM)实时数据进行多层隐私保护。然而,上述方案对签名实现过程描述简单,缺乏细致、全面的签名实施过程。

为改善上述问题,本文提出了基于群盲签名的智能电网隐私保护请求方案。方案中,智能电表(即用户)可以向变电站发送电力请求(即一定数量的盲签名凭证),而控制中心(control center,CC)无法通过盲标签验证识别真实的用户身份。这可以确保电力用户的隐私安全。

1 系统模型和攻击者模型

1.1 系统模型

智能电网隐私保护方案结构如图1所示。

图1 智能电网隐私保护方案结构

智能电网隐私保护方案由CC、智能变电站(smart substation,SS)和SM 3层组成。其中,CC主要用于系统参数生成、数据传输过程中验证等;SS主要用于和用户交互,负责验证用户及其身份信息,同时在验证过程中负责生产盲签名协议;SM主要用于记录智能电网传输时的数据,同时可按时将1个完整周期的消费数据发送给控制中心。由于该过程易受网络攻击,因此存在数据篡改、非法窃取等威胁。由于资源受限,实际工作过程中应当考虑SM的存储开销和计算开销。此外,SM作为一种物理载体安装在每个家电系统中,使用户可以借助SM向SS发送用电请求。SM将定期向SS发送设备信息。SM可以收集用户的实时需求,并通过监控和数据采集系统将其转发给CC。然后,CC将进行进一步的电力部署分析,并根据各种要求向SS分配适当的电量。最后,用户可以通过SS获得所需的电力。

1.2 攻击者模型

攻击者模型可根据网络攻击者的能力推断攻击者可能采取的行动。攻击者模型可作以下定义。

①敌方可以窃听用户与SS的通信数据,从而非法窃取用户的部分消费数据。此外,除非法窃取攻击行为以外,攻击方式还包括恶意伪造数据和数据替换两种。这些攻击方式可能会对数据完整性造成威胁。

②系统中包括2种类型的用户。其一为合法用户,且具备获取其他用户信息的需求。需要注意的是,这类用户仅对其他用户的消费记录数据感到好奇,但不存在对数据完整性造成威胁的行为。其二为有能力产生对消费数据完整性造成威胁行为的用户。

2 基于群盲签名隐私保护方案

基于群盲签名隐私保护方案执行过程如图2所示。

图2 基于群盲签名隐私保护方案执行过程

执行过程由以下5个步骤组成。

①对系统变量及数据进行初始化操作。

②对不同用户的请求进行匿名身份验证,从而产生相关数据分析报告。

③对数据消息进行签名授权。

④根据签名规则验证签名是否正确,同时校验数据是否完整。

⑤如果判断为合法用户,则请求授权过程通过;否则将该用户定义为非法用户,并跟踪用户行为及过程。

2.1 系统初始化

(1)系统参数生成和释放。

①CC选择满足条件p|q-1的2个不同的素数p和q,并计算n=p×q。

②CC计算满足ed≡1[modφ(n)]的RSA公钥对(e,d)。其中:φ(n)为欧拉函数;e和d分别为组公钥和组私钥。

③CC选择一个循环组G〈g〉。同时,CC随机选择元素x并计算y=gxmodn。其中:y和x分别为群管理员(group manager,GM)的公钥和私钥。

④CC公开选择安全的防冲突哈希函数:

H:{0,1}*→{0,1}k

⑤CC释放公共参数P={n,e,G,g,y,H}。

(2)注册。

①如果一个新的成员(SS)想要加入群组,则SS随机选择xi并将其发送给GM。此时,CC随机选择yi并计算C=yyiximodn和C1=gyimodn。GM返回Pk=(C,C1)和GM的证书至SS。

②用户i在CC中打开一个帐户并获取信息Ii,且有:

(1)

式中:IDi为用户ID;ads为用户地址,tt为访问信息时间。

③用户i将保存公共值gi:

gi=H(Ii)xmodn

(2)

式中:H(·)为哈希函数。

④CC在用户家中安装智能电表。SMi保存gi并随机选择zi,计算Ii:

Ii=gzimodn

(3)

式中:Ii为用户i的id信息。

2.2 匿名身份验证和数据报告

每个SM首先通过基于schnorr密码体制执行身份验证协议,然后向SS说明其为有效用户,最后将加密消息传递给SS。

2.2.1 匿名身份验证

用户匿名身份验证详细过程如下。

①SMi随机选择ti,计算T=gtimodn并发送给SS。

③用户计算Si=ti-cbzi,并将Si发送给SS。

2.2.2 数据报告

①考虑到数据传输过程中安全性要求,本文应用安全参数λ对不同用户的消费数据进行限制,即SM在一天内生成数据块的个数不超过λ个。同时,消耗数据定义为m=(co,tt)。其中:co表示不同用户消费数据,且有co={L1,L2,…,Ll},l为数据维数。

(4)

⑤SMk选择任意盲因子b,并乘以H(m),计算H(m)′=bH(m)和β=gbmodn。然后,SMk将[H(m)′,β]发送给签名者。

2.3 盲签名过程

生成签名过程执行如下。

①签名者首先随机选择一个素数k并计算k-1(乘法逆),然后计算签名σ*=(r,s*,C,C1)。其中:s*=k-1[H(m)′-ryi]modn;r=βkmodn;C1=gyi;C=yyixi。

②SMk通过s去除盲因子。其计算过程描述如下。

s=s*b-1=b-1k-1[H(m)′-ryi]modn

(5)

然后,计算签名σ=(r,s,C,C1),并将σ发送给CC。

2.4 签名验证

2.4.1 验证过程

为确保数据的正确性和数据的完整性,详细验证过程步骤如下。

②CC判断验证签名是否正确。具体公式如下。

(6)

如果签名验证过程正确,则说明m在执行传输过程中没有被篡改过。

③若签名验证过程通过,则根据标签T验证m,从而确定测试数据是否被修改过。因此,CC可解密M计算T、m和ui。计算过程如下:

(7)

式中:TG为时间戮。

(8)

式中:MGj为第j个用户的电子原文。

(9)

式中:DG为数字签名信息。

(10)

式中:HG为待验证的数据。

④CC验证式(11)是否成立。

DG×e(H,ptk)=e(TG,gSMk)

(11)

⑤如果式(11)成立,则说明消费者的信息未被篡改;如果验证失败,CC将执行撤销用户的匿名过程,从而校验是否有恶意用户对消费者消费信息进行更改。

2.4.2 撤销用户匿名过程

跟踪签名人身份,撤销用户匿名过程如下。

①当签名验证过程存在疑问时,CC获取验证者的身份xi,并根据CC发送的私钥获取SS相关信息。

(12)

(13)

CC根据数据库中的ifmi与通过与gSM比较,从而计算gSMi。该过程确保了不同用户的身份验证过程。

3 仿真与分析

本节以计算量和时间消耗为指标,与同态加密[9]、属性基群签名(attribute base group signature,ABGS)[10]、数据聚合方案[11]等方法进行对比,对所提方案进行性能及分析。

首先,将系统执行过程分为系统初始设置阶段、匿名认证过程阶段、盲签名生成阶段和验证过程阶段。令M为每个阶段计算时的模乘运算、E为计算时的模幂运算、W为计算时的Weil配对运算、H为计算时的哈希运算、v为SM的数量、s为SS的数量。各阶段的计算复杂度对比结果如表1所示。

表1 各阶段的计算复杂度对比结果

为了模拟不同方案在现实中时间消耗,在操作系统为Ubuntu16.04、 Intel Core i5 CPU和32 GB内存的计算机端,用C语言进行了仿真试验。需注意,试验中使用了基于配对的密码学(pairing based cryptography,PBC)库和GUN多精度算法(GNU multiple precision,GMP)库,且所有运算消耗时间均为PBC及GMP实际统计值。为排除随机现象带来的干扰,共进行20组试验,且取平均值为最终结果。得到最终结果后,本文利用Python matplotlib库作图。

不同用户和SM条件下,各方案时间消耗结果分别如图3和图4所示。

图3 各方案时间消耗对比结果(不同用户数量)

图4 各方案时间消耗对比结果(不同SS数量)

图3中,不同模型中智能变电站个数为4。图4中,不同模型中用户个数为40。由图3和图4可知,时间成本随用户和变电站的数量线性增加,但增加速度比略低于其他方法。仿真结果验证了本文方法能够应用于大规模用户。

4 结论

本文提出了一种实用的、具有匿名认证和隐私保护功能的智能电网群盲签名方案。方案中,SM(即用户)可以向SS发送电力请求(即一定数量的盲签名凭证),而CC无法通过盲标签验证来识别真实的用户身份,从而确保电力用户隐私的安全性。

猜你喜欢

身份验证攻击者电网
基于贝叶斯博弈的防御资源调配模型研究
计及SOC恢复的互联电网火储联合AGC控制策略研究
穿越电网
电网调控技术在电力系统中的应用
正面迎接批判
正面迎接批判
声纹识别认证云落户贵州
电网基建施工现场注意事项及改善
人脸识别身份验证系统在养老保险生存核查中的应用
基于Windows下的文件保密隐藏系统的设计与实现