基于身份认证和聚合加密的智能电表数据隐私保护方案
2018-11-06吕伟东李春哲滕晓红
吴 云,吕伟东,李春哲,滕晓红
(1.东北电力大学 信息工程学院,吉林 吉林 132012;2.国网辽源供电公司,吉林 辽源 136200;3.东北电力大学 学报编辑部,吉林 吉林 132012)
智能电网就是电网的智能化,旨在为电力用户提供更为稳定、可靠的电能[1].伴随智能电网和通信技术的不断发展,电力用户与电力公司间的双向通信成为可能,其中用户侧的智能电表是双向通信中的关键部件[2].然而,在智能电表为电力用户和电力企业带来便利的同时,也同样给电力用户带来了隐私威胁.智能电表数据中蕴藏着较多用户的隐私信息,一旦被攻击者掌握,将会给电力用户造成难以估量的损失[3].同时,在用户用电数据实时采集的过程当中,海量数据的远程发送所造成的汇聚效应[4]势必将给通信网络及数据中心带来巨大的负担,这对智能电网通信的安全性和准确性提出了较高要求[5~6].数据聚合技术可以显著减少智能电网中通信、计算与存储开销,因此结合隐私保护的聚合方案成为解决智能电网中海量数据安全通信问题的一个重要手段[7].
同态加密方法正是采用了数据聚合技术,非常适合应用在智能电网家庭用电数据的保护,不仅具有良好的加密效果,同时可很好的降低通信、计算开销.1999年,Paillier[8]首次提出加法同态加密算法,人们称之为Paillier算法,此后人们纷纷对Paillier算法展开研究,并逐渐应用在各个场景下.其中,Li等[9]结合聚合树的思想,将同态加密应用到智能电网安全信息的聚合方案当中,但树结构网络并不能适用于智能电网.Erkin和Tsudik[10]对Paillier算法进行了修改,提出了一个智能电网数据的聚合方案,但此方法需要每个智能电表提前被分配公钥的一个分量,这样就要求发送数据过程中,每个智能电网都必须参与,否则无法完成解密,并将极大的增加通信开销.
针对上述问题,本文先利用盲签名算法与密钥分配相结合的身份认证方式,依靠本地聚合器实现对电表数据的实时(每隔十五分钟一次)读取,再采用匿名化处理与Paillier同态加密的方法,将当天该区域内的用电数据发往数据中心.形成一套更为完整的智能电表数据隐私保护方案,将大大提高数据的安全性.
1 相关知识
1.1 系统模型
智能电表实时数据隐私保护的一般模型,如图1所示.图中主要涉及5个组成部分:智能电表(Smart Meter,SM)、区域网关(Regional Gateway,RG)、本地聚合器(Local Aggregator,LAG)、数据中心(Data Center,DC)和可信第三方(Trusted Third Party,TTP).
图1 系统模型
1.1.1 智能电表
智能电表是智能电网的智能终端,它已经不是传统意义上的电能表,智能电表除了具备传统电能表基本用电量的计量功能以外,为了适应智能电网和新能源的使用它还具有双向多种费率计量功能、用户端控制功能、多种数据传输模式的双向数据通信功能、防窃电功能等智能化的功能[11],智能电表代表着未来节能型智能电网最终用户智能化终端的发展方向[12].
1.1.2 区域网关
智能电表和智能电网之间的信息交互接口[13],智能电表通过区域网关将用户用电数据安全地发送到本地聚合器,是一定范围内的智能电表进行聚合的必经之路.
1.1.3 本地聚合器
本地聚合器是连接终端、计算机或通信设备的中心连接点设备,用来抄写智能电表数据并定时把电表数据通过有线网发送到电力公司的数据中心,实现智能电表与数据中心的实时在线连接.本地聚合器使得远程抄表的效率、费用以及数据完整率、数据共享等方面得到很大改善[14].
1.1.4 数据中心
数据中心是智能电表数据的处理和存储中心,为电力公司的供配电提供重要数据支持[15].对智能电表数据的采集主要出于两个目的:一是定期的用电信息采集,以便收缴计费;二是对用户实时用电数据进行分析来调整电量供应,避免多余发电和促进电力有效可靠传输.
1.1.5 可信第三方
可信第三方与数据中心之间的通信需要是绝对安全的,负责为系统生成各项参数及密钥,它同时具有强大的计算能力,可以实现对智能电表数据的快速计算[16].
1.2 Paillier算法
Paillier算法是由以下部分构成:
L(u)=(u-1)/n;
(3)数据解密:将密文c恢复成明文m:
2 方案描述
智能电表的使用促进了电力系统信息化的发展,使得用户侧和数据中心之间的双向通信成为可能.总购电量、累计用电量、剩余电量和购电次数等指标是数据中心比较关注的一些数据,因此,本地聚合器会定期向区域内的智能电表读取一次数据,并在数据库中进行短暂存储后发向数据中心.但在数据的读取和传输过程都存在一定的安全隐患,因此需要选择合适的隐私保护方法来提高数据的安全性.本文方案在智能电表与本地聚合器之间(即数据读取阶段)将对密钥分配过程进行盲化处理,以确保区域内所有参与数据读取的用户身份的合法性;在本地聚合器与数据中心之间(数据的传输阶段)采用匿名化处理和Paillier同态加密相结合的方法完成对数据的聚合加密,提高了用户隐私信息的安全性.最后,本地聚合器将聚合后的数据发往数据中心,在建立通信会话过程中,智能电表并不会使用真实身份,而是由可信第三方负责生成一个临时ID,只针对该次会话有效,数据到达数据中心后完成解密操作.
2.1 系统初始化
2.2 用户注册
在接入电网之前,用户需要在本地聚合器进行注册.用户Ui将具体的身份信息提交给本地聚合器,由本地聚合器对用户身份的合法性进行判断,若验证通过,则给智能电表SMi颁发含有唯一身份编号numi和公私钥(yi,xi)的入网许可证书permiti,而permiti=Sigxg(Pτ),并且本地聚合器会将Ui、numi和permiti存储在自己的数据库中.
2.3 数据读取
mi为智能电表的原始数据,ti是精确的时戳,发送过程如下:
(5)区域网关接收到消息后,存储k3,将广播消息Lj发给智能电表;
2.4 数据加密传输
在聚合数据阶段,本地聚合器采用匿名化处理和Paillier同态加密相结合的方法完成对数据的聚合加密,并将聚合数据发送给数据中心,具体步骤如下:
(1)本地聚合器以如下方式聚合同态加密数据得到E(Mt)
2.5 数据解密与恢复
(2)数据中心验证聚合签名后,将加密数据E(Mt)恢复成明文
其中:L(u)=(u-1)/n,Mt为本地聚合器中的一个用电数据;
(3)数据中心得到全部用电数据后,即可对整个智能电网的运行进行规划与调整.
3 性能分析
3.1 执行前提
本文提出的数据加密方案应当满足以下几个前提:
(1)可信第三方是绝对安全可信的实体,这是所有算法执行的基础和前提.
(2)椭圆曲线和有限域上的离散对数问题在多项式时间下是难解的.
(3)智能电表中拥有防篡改存储设备,读写数据只能由自身执行,其它任何设备无法篡改信息.
(4)本地聚合器具有较高的安全性,需要确保当日数据不遭窃取和丢失.
3.2 算法安全性
本文提出的智能电表数据加密方案具有抵抗重放攻击的能力,一旦恶意攻击者截获了某个智能电表SMi发给区域网关的消息c3,重复发送该消息给区域网关,则区域网关能够检测出该消息的正确性.此外,还具有匿名性和机密性的特点.由于数据传输的整个过程中,一直使用的身份信息是一个临时ID,未曾透露出用户的身份,因此具有匿名性;在数据传输过程中,即使某一恶意攻击者截获了用户发送的报文,该恶意攻击者仍然无法获得数据mi,体现了方案的机密性特征.
3.3 计算开销
表1 密码学运算符执行时间
图2 计算开销的比较
本方案不仅在数据安全性上有很好的保障,在加密过程中的计算开销也要优于普通数据加密方法.通过在RAM为8GB,CPU为AMD 羿龙ⅡX4 3.2GHz的平台上测试,得出密码学运算符执行所消耗的时间.其中,计算时间较长,运算包括双线性对计算时间Tp、Hash函数计算时间TMTP、指数计算时间Texp以及对Paillier算法的加解密计算时间TE和TD,它们的具体执行时间如表1所示.令每个本地聚合器所覆盖的智能电表个数用a表示,计算了方案执行过程中各实体总的计算开销,将其与传统数据加密方法[17]进行比较,如图2所示.
通过图2的比较可以看出,本文所提出的智能电表数据隐私保护方案不仅具有更高的隐私保护强度,同时随着参与聚合用户数量的增加,系统对计算开销的降低效果也越来越显著,做到了隐私保护的有效性和经济性兼顾.
4 结 论
本文结合智能电表所处的实际环境,提出了一个智能电表数据的隐私保护方案,可将远程终端将采集到的用户用电数据安全、高效地发送到数据中心.方案对密钥分配方案进行盲化处理,确保了参与数据聚合的用户身份的合法性;运用了匿名化的处理手段,有效地保护了用户身份隐私;采用了Paillier算法,在加密数据的同时,也有效地降低了系统的计算开销.