谢林利
摘 要
针对智慧城市电表数据采集过程中面临用户隐私泄露的风险问题,提出了一种基于随机森林算法和聚合签名方法相结合的数据加密方法。利用随机森林方法提取用户用电特征信息作为判断用户是否具有窃电行为的判据。采用一次性假名算法、聚合签名方法与同态加密算法相结合的方法对传输的数据进行加密。最后,算例结果表明与传统的K-NN、SVM方法相比,所提随机森林方法对用户用电特征的分类准确度提升2.2%与4.45%,此外隐私保护的效果更好。
关键词
智慧城市;物联网;电能表;随机森林;同态加密
中图分类号: TP391 文献标识码: A
DOI:10.19694/j.cnki.issn2095-2457.2020.05.048
0 引言
城市的出现是人类社会进入文明时代和人类社会生活的高级形式的象征。人类生产力的提高也促进了城市形态和功能的演变。城市的快速发展过程中也出现了社会问题:交通拥堵系统,环境监测系统不完善,应急系统不完善等[1]。智慧城市的建设可以显著解决与城市发展有关的难题,提高城市信息管理水平,促进全国高端产业的发展[2]。智慧城市计算是一个基于物联网感知的新概念,相关数据技术,大数据挖掘和分析技术为核心[3]。智慧城市计算的含义是,城市空间中的每个传感器,设备,人,车辆,建筑物和道路都可以视为感知到的城市动态的单位,共同完成城市级计算并为公民和城市服务。城市计算旨在通过城市感知,数据挖掘,智能提取和改进的循环过程来智能地改善公民和城市环境的生活。在智慧城市的快速发展过程中,数据通信的安全问题进一步凸显,海量的终端接入设备与复杂的通信网络都使基于物联网的智慧城市面临巨大的安全挑战。网络攻击是造成智慧城市安全问题的主要攻击手段,2015年乌克兰电网遭受“BlackEnergy”网络攻击,超过一半国土面积停电,严重地影响了城市的安全,为人民的生活和社会的安定造成了严重的后果。
智慧城市电网建设属于智慧城市建设的一部分,电能表是集合电压互感器和电流互感器的量测装置,是电力物联网中的终端设备[4]。用户侧海量装设的智能电表可以实时收集用户的用电数据发送到电网控制中心[5]。相应地,控制中心可根据这些数据完成诸如发电计划制定、用电行为分析、用电价格发布[6]等多种业务。然而,智能电表记录中包含了用户用电行为、家庭地址、个人信息等隐私数据。如果这些数据被不当利用,则会使用户面临严重的隐私泄露风险[5]。因此,保护智能电能表中用电数据的隐私问题引发了学术界和工业界相当大的关注。
针对智能电表的数据隐私保护问题已有诸多报道。文献[7]提出了针对智能电网中V2G网络的一种可追踪的隐私保护通信机制,但该方法在大量节点通信场合下时间开销过大。文献[8]提出了一种基于可链接匿名凭证的智能电表隐私保护方案,并满足隐私保护、消息认证、可追溯性等安全要求。但该方法仅能实现用户信息的加密,并不能准确辨识出故障的或恶意窃电的智能电表。
为实现智慧城市中电表数据隐私保护时间开销尽可能小且实现智能电表故障及时发现或窃电行为的可追溯性,提出一种基于机器学习结合聚合签名的智能电表数据加密方法。利用随机森林法提取用户用电行为,从而保证了用户用电信息的可追溯性以及用电行为的抗抵赖性;采用一次性假名算法保证了每次通信过程中攻击者无法获取真实的用户身份信息。
2 用电数据分解与用电特征提取
2.1 方案概述
1)初始化:TTP和CC确定一次性假名、基于身份的聚合签名、加密算法的相关参数。此外,SM在完成注册后获取上述参数以发送加密的电表数据。
2)数据处理:在用户侧,SM周期性地采集用户的用电数据。以SMi j为例,令分解后的局部分量为{Ci 1,Ci 2,…,Ci d}。随后用户侧执行随机森林算法提取用户用电行为特征,记为{Bi 1, Bi 2,…,Bi n}。SMi j在发送数据时,首先生成一次性假名对身份匿名化,然后将{Ci 1,Ci 2,…,Ci d}与{Bi 1,Bi 2,…,Bi n}作为整体进行Pailler同态加密,并使用一次性假名对加密数据进行基于身份的聚合签名,最后SMi j将加密数据、签名连同时刻t一并发送给LAGi。
3)验证与解密:CC对LAG发来的聚合数据首先验证签名的有效性,然后解密数据,从而得到整体的用电数据以及各SM的用电特征,从而及时发现用户侧SM的故障或窃电行为。
2.2 基于随机森林的用电特征提取
考虑到电表自身可能存在随机故障以及潜在的用户窃电行为,对数据进行真实性判断十分重要。换言之,需要对电表数据的真实性进行有效分类。我们采用近年来广受欢迎的机器学习算法,称之为随机森林(Random Forest,RF)算法进行电表数据真实性的分类。其基本思想为,通过生成相当数量的分类决策树形成森林,当新的电表数据样本进入时,每棵决策树都将对样本属于哪一类进行判断,然后对所有的判断结果进行统计。最终的判断结果为统计数量最大的那个所对应的类别。
显然,构造决策树是随机森林方法的关键步骤。决策树的任意一个,决策树的任一个叶子节点都不能再进一步划分,为了能准确地表示出分裂属性,使用信息增益和基尼(Gini)指数这两个度量来表示决策树的分裂程度。
1)信息增益RF算法中样本分类时的默认期望值表示为
式中,Sk(k=1,2,…,K)为电表数据真實性的分类等级,pk为第k个样本出现的概率,即pi=num(Si)/num(S) (num(·)为计数算子)。
分类时,Y(S1,S2,…,SK)越小,表示分类效果越明显,因此,在确定新的电表数据的属性时,选择具有最大信息增益的属性作为分裂属性。
2)基尼指数。其表征了从一个数据集中随机选取子项,度量其被错误的划分到其他组里的概率,数学表达为:
选择分裂属性时,遍历完所有的分类属性后,有先选择具有最小基尼指数的属性作为分类属性。
3 数据加密算法
3.1 一次性假名算法[9]
所提出的一次性假名算法由如下三个部分构成:
1)SM以真实ID从TTP处获取秘密值,并存储在SM的内置防篡改设备中,而TTP则存储(ID,Λ);
2)使用ID进而产生一次性假名OTPID
H(ID,τ)=OTPID (3)
式中,HΛ(·)为带密钥的Hash函数,τ为时间戳,Λ表示未为函数密钥。
3)TTP按照以下方式针对装有SM设备的恶意用户进行搜寻并追踪:然后对存储列表进行检索。验证每个元组(ID,Λ)和该SM的OTPID是否满足等式(3),若检索到存在一个ID与OTPID满足式(3),则说明该ID为该恶意用户身份。
3.2 基于身份的聚合签名算法
所提出的基于身份的聚合签名算法由以下5部分构成:
1)初始配置(Setup)。按照如下四个步骤生成系统参数:
第一,选择参数q,G1,G2,GT,g1,g2,φ,e满足:q为一个相当大的素数,G1,G2是阶为q的加法循环群,GT是阶为q的乘法循环群,g1,g2分别是群G1,G2的生成元且满足φ(g2)=g1。φ为一个计算的同构映射,e: G1×G2→GT是一个双线性映射;
第二,选择s∈Z* p作为系统主密钥,并计算y=gs 2作为系统公钥。
第三,选择两个Hash函数:H1(·): {0,1}*→G1和H2(·): {0, 1}→G2;
第四,公开系统参数:(e, q, G1, G2, GT, g1, g2, y, H1, H2)。
2)私钥生成。输入主密钥s和签名者的身份IDj,算法即可按照以下三个步骤生成签名者的私钥:
第一,计算:IDj,0=H1(IDj, 0),IDj,1=H1(IDj,1);
第二,计算:kj,0=IDs i,0, 0和kj,1= IDs i,1;
第三,设置kj=(kj,0,kj,1)作為签名者的私钥;
3)签名(Sign)。签名者使用IDj和私钥kj=(kj,0,kj,1)对消息mj签名:σj=kj,0khjj,1,其中hj=H2(messagej,IDj),σj即为签名者使用IDj对消息messagej的签名。
4)聚合。考虑到LAGi聚合的SM数量为N,SM的身份集合为{ID1,ID2,…,IDN},对应的消息签名对为:{(message1,σ1), (message2,σ2), …, (messageL,σN)},聚合签名为:
5)验证。根据如下两个步骤验证基于L个身份{ID1, ID2, …, IDN}下对L个消息{message1, message2, …, messageN}的聚合签名Ψ。
第一,对于1≤j≤N,计算每个IDj对应的如下值:hj=H2(messagej, IDj),IDj, 0=H1(IDj, 0)以及IDj, 1=H1(IDj, 1);
第二,验证等式(8)是否成立:
若等式(8)成立,则验证通过,反之则验证失败。
4 算例结果与讨论
4.1 用电数据真实性分类准确度分析
为检验RF算法对用电数据真实性分类的性能,我们选用家庭用户智能电表数据。该数据记录范围为从2018年6.19-2019年7.10,时间间隔30min。随机选择20000个SM在2017年5.31-7.31三个月的记录作为数据集。我们人为地随机挑选出5000个用户数据进行修改以模拟电表故障或恶意窃电行为。并选择2017年5.31-6.30这一个月的数据作为训练样本,剩余数据为测试集。定义如下评价指标:
式中,numTP是算法正确识别出不正常SM的数量;numTY是算法正确识别出正常SM的数量;numFP是算法错误识别出不正常SM的数量;numFY是算法错误识别出正常SM的数量。
表1示出了传统支持向量机SVM算法、K-NN算法与所提RF算法的分类准确度。
表1 不同隐私保护方法的平均时间开销
与SVM算法和K-NN算法相比,所提算法的分类准确度分别高出了4.45%、2.2%,从而表明,采用RF算法具有更好的性能。
4.2 执行效率分析
为检验所提方案的执行效率,同样采用江苏电网的家庭用户智能电表数据。本文随机选取了4000个家庭用户智能电表数据。研究算法时间开销随用户数量的变化关系。图3示出了不同隐私保护方案下的平均时间开销。
随着用户数量由400增长到4000,所有隐私保护方案的时间开销均增大。然而,所提算法的增长幅度较SVM算法与KNN算法小,在用户数量达到4000时,本文算法消耗时间为SVM算法的90.26%,为KNN算法的93.87%。此外,由图3同样可以看出,所提方法的执行时间与SM数量之间近似呈线性正相关关系。从而表明所提方案在用户数量较大时计算开销更小。
5 结论
本文研究了一种新的针对物联网安全防护技术环境下智慧城市智能电表数据加密的方法。所提方案利用机器学习算法在用户侧实现了用电特征的有效提取,保证电表故障与窃电行为及时发现。并采用一次性假名、聚合签名与同态加密算法保证了用电数据的隐私。与传统方法相比,所提算法拥有更准确的数据真实性辨识率以及更高的执行效率。未来工作将研究进一步提升研究算法的执行效率与隐私保护强度。
参考文献
[1]李连宏,刘运妍.当前我国智慧城市建设中的问题与对策[J].科技创新与应用(36):194+196.
[2]王静远,李超,熊璋, 等.以数据为中心的智慧城市研究综述[J].计算机研究与发展(2):5-25.
[3]黄子赫,高尚兵,潘志庚, 等.基于快速密度聚类的载客热点可视化分析方法[J]. 系统仿真学报,2019(7):1429-1438.
[4]朱庆.三维GIS及其在智慧城市中的应用[J].地球信息科学学报,2014,16(2):151-157.
[5]Mila Gascó Hernandez.Building a smart city: Lessons from Barcelona[J]. Communications of the Acm, 2018, 61(4):50-57.
[6]彭卫东.智慧电厂建设构想[J].中国工程咨询, 2017(1):34-36.
[7]G.Eason,B.Noble,and I.N.Sneddon,“On certain integrals of Lipschitz-Hankel type involving products of Bessel functions,”Phil.Trans. Roy.Soc.London,vol.A247,pp.529-551,April 1955.(references).
[8]J.Clerk Maxwell,A Treatise on Electricity and Magnetism,3rd ed.,vol.2.Oxford: Clarendon,1892,pp.68-73.
[9]李琪,陈杰.智能电网中具有隐私保护功能的聚合方案[J].智能电网,2014(02):12-19.