数据安全对整个电能计量系统来说至关重要。文章利用区块链技术分布式、防篡改、高度可扩展的特性,基于现行分布式采集,提出一种基于区块链技术的电能计量数据分布式采集模式及其安全机制。


通过将设备信息与公钥证书上链,以及设备间数据交互采用签名验签机制,保证了数据安全及设备不受非法攻击。通过实验分析,验证了该机制可以应用于分布式电能计量领域,能够提高计量设备及数据的安全性。


电能计量是电力贸易结算和考核电力生产技术经济指标的重要方法。随着泛在电力物联网建设的不断深入,多中心化的分布式计量方式已经成为电力系统各级网络准确计量的重要支撑。


多中心化的分布式能源计量方式可有效降低数据处理的时延,极大提升能源计量的效率,但存在以下安全风险:(1)任何数据集中器数据被篡改,均会影响系统的正确结算和安全运营,造成经济损失;(2)来自非法设备的数据攻击,可能造成智能电能表或集中器系统异常,甚至瘫痪;(3)数据传输过程中的隐私保护及数据安全无法保证 。


文中提出一种基于区块链技术的分布式电能计量的安全机制,借由区块链分布式、防篡改的技术特点,在不改变现行计量设备及方式的前提下,有效提高了数据安全性,保障了计量准确性。


1 现有分布式计量模型


在分布式电能计量数据采集模式下,电能计量数据采集系统中拥有多个数据集中器,每个数据集中器分别采集下辖智能电能表的电力负荷,图1为分布式电能计量模型。


如何维护电力物联网的电能计量数据采集及安全机制


Fig.1 Model of distributed energy metering


2 区块链技术原理


2.1 基本原理


区块链技术是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构分布式账本,并以密码学方式保证账本不可篡改、不可伪造。其关键点是多个参与方一起构建一个分布式对等网络,共同维护一个不可篡改的共享账本。图2为区块链节点与账本关系,图3为区块的详细结构。


如何维护电力物联网的电能计量数据采集及安全机制


Fig.2 Blockchain network and ledger


如何维护电力物联网的电能计量数据采集及安全机制


Fig.3 Structure of block


一个区块等同于一页账本,每个区块以加密方式记录交易数据,每笔交易可溯源且不可篡改,区块按时间顺序相连形成一条链,各节点都存储了该链。当新的区块产生时,区块中所有新的交易数据需要节点间共识达成一致,该块才能被添加到区块链中。根据加入规则不同,区块链分为公有链,联盟链及私有链。文中采用常见联盟链加入规则。


2.2 技术要点


(1)分布式存储:区块链系统中没有中心化的管控方控制整个系统,所有节点都存储全部或部分数据。在区块链系统中,若某节点的数据丢失,该节点会自动向其它节点同步数据,从而不影响整个系统的安全运行,可极大地提升了数据存储方面可靠性,图4为两种存储方式架构。


如何维护电力物联网的电能计量数据采集及安全机制


Fig.4 Centralized storage and distributed storage


(2)哈希(hash):数据的指纹。对于大到几个G小到几个Byte的数据,哈希算法可以把这些数据进行特征提取、转化,最终输出一串固定长度的字符,称为哈希值,常见的哈希算法有MD4、MD5、SHA系列等。求数据M的哈希值过程如下:


H=hash(M)  (1)


式中hash()为哈希算法实现函数。数据特征提取和转化的过程是单向不可逆的,无法从最终的字符串反推出原数据,但是原数据如果有任何微小的变化都会导致哈希值发生很大的变化,所以也不可能伪造一份假数据使其与原数据的哈希值相同。对数据做哈希运算,相当于只有加密过程,没有解密过程。也就是说,式(1)中根据H无法推导出M,也很难找到N,使得hash(N)=hash(M)。区块链中校验交易数据是否一致就是通过比较哈希的方式来实现的。


(3)共识机制:同一个区块链网络里面的各个节点之间的账本内容一致,那么在用户使用区块链的过程中,账本会自然增长。在账本增长的过程中,保证各个节点的新增数据一致的方法,就是该区块链的共识机制。简单来讲,就是多个参与方在一定时间内对数据上链事件达成一致。以适用于联盟链并且安全性较高的实用拜占庭容错(PBFT)共识为例,假设故障节点个数最大为m(m>0,m图片N),根据算法安全性要求总的节点数至少为:


T=3m+1  (2)


若有1个故障节点,总节点数为4个,一笔交易的共识过程如图5所示。


图中Client为客户端,即共识模块调用者,Node1至Node3为正常节点,Node4为故障节点。若客户端收到的请求响应中有R(R≥m+1)个相同,则该笔交易共识成功,否则共识失败。


(4)智能合约:智能合约中包含了有关交易的所有信息以及业务逻辑,它以代码形式写在区块链上,一旦符合执行条件,按约定规则自动执行。智能合约运行在区块链网络的安全可信执行环境中,其利用区块链上的账本作为数据输入源,协同实现相互认可的业务逻辑。图6描述了智能合约与区块链账本的关系。


如何维护电力物联网的电能计量数据采集及安全机制


Fig.5 Process of consensus


如何维护电力物联网的电能计量数据采集及安全机制


Fig.6 Smart contract and blockchain ledger


(5)数据安全:区块链系统中采用了安全性较高的椭圆曲线签名算法对数据进行签名,区块链网络中相关节点对此进行验签。文中采用ECDSA非对称椭圆曲线E作为加密算法。


E=x3-y3+ax+b,4a3+27b2≠0  (3)


通过定义有限域P、基点的阶N、基点坐标G(x,y)、曲线公式常量等参数来定义椭圆曲线。如P-256、P-284、secp256k1等。


区块链系统中每个节点都有私钥与公钥,节点通过选择倍数k作为私钥,由节点数据库保存。在有限域上取点G(x,y)作为基点,那么节点的公钥为:


P=kG(x,y)  (4)


两个节点N1向N2发送消息M,N1随机生成一个临时密钥对a,aG(Ax,Ay),通过公开签名算法得到签名(r、s);


r=AxmodN  (5)


式中 Ax为临时倍数点kA的横坐标,如果r=0,则重新选择进行计算。


H=hash(M)  (6)


式中 M为数据明文。


s=a-1(e+rk)modN  (7)


式中 k为私钥;e为H经过转换后得到的数据;r为式(5)计算结果;a为生成的临时密钥对的私钥。如果s= 0,则重新选取a从式(5)开始重新计算。


最终(r, s)为消息明文M的签名结果。


节点N2通过公钥和s,恢复得到临时密钥对,计算得出新的r′。


H=hash(M)  (8)


式中 H为数据明文M的hash,或直接从签名方获取。


u1=es-1modN  (9)


式中 e为H经过转换后得到的数据;s为签名结果的纵坐标。


u2=rs-1modN  (10)


式中 r为签名结果的横坐标。


R(x,y)=u1G+u2kG  (11)


根据式(11)计算点R的坐标值,其中G为基点坐标,kG为公钥坐标。


r′=RxmodN  (12)


如果r′ ≡ r,则验签成功。


3 基于区块链技术的计量改进模型及安全机制


3.1 计量改进模型与区块链网络


在分布式多中心的计量方式下,电力计量系统中拥有多个集中器,每个集中器分别统计下辖智能电能表的总体电力负荷(如图1所示)。在基于区块链的分布式计量数据采集模式下,为每个数据集中器或者就近的多个数据集中器配备一个区块链网络节点,使其采集的数据通过调用该节点的计量合约就近上链。所有数据集中器的区块链节点组成一个电能采集区块链网络PCBN(Power Collection Blockchain Net),其结构模型如图7所示。


如何维护电力物联网的电能计量数据采集及安全机制


Fig.7 Distributed metering and blockchain network


根据PCBN模型特点,每个区块链节点与下面的数据集中器及智能电能表可以看作是一个组织,区块链节点代表该组织参与PCBN共识并存储账本数据,数据集中器及下属智能电能表作为组织中的一个客户端。数据集中器采集智能电能表数据后打包成交易提交至PCBN中,PCBN节点间达成共识后将交易数据写入账本,完成数据采集。


3.2 安全机制


在PCBN模式下,电能计量数据采集整个流程要经历以下阶段:设备接入阶段、数据采集阶段、数据存储阶段。


(1)设备接入阶段


在设备接入PCBN时,设备所在组织管理员将智能电能表和数据集中器的设备信息与公钥上链存储,保证了公钥和设备之间的匹配关系及公钥内容不可篡改,为后续阶段提供安全可靠的数据输入,接入过程如图8中所示。


如何维护电力物联网的电能计量数据采集及安全机制


Fig.8 Device entrance


后续阶段中,需要用到设备公钥时都从PCBN中获取,若获取失败表明该设备未被该组织管理员接入,直接被拒绝后续操作,为PCBN模式最外层的安全防护。


设备的公钥生成采用椭圆曲线算法,取设备d的位置坐标Pd(x,y)为基点,设备系统产生的随机数u为私钥,那么该设备的公钥为:


K=uPd(x,y)  (13)


接下来在PCBN中安装并初始化设备管理合约,然后生成上链交易包TX:


TX={uuid,K,ORG,OP}  (14)


式中 uuid为设备的唯一标识码;ORG为设备所在的组织;OP为交易的提交人,这里为设备所在组织的管理员,管理员及其公钥、私钥在PCBN创建时生成。由式(8)得到交易包哈希值:


H=hash(TX)  (15)


设备所在组织管理员对交易签名,即:


如何维护电力物联网的电能计量数据采集及安全机制


式中 w为签名私钥;k为签名时选择的随机数;G为生成公钥时选择的椭圆曲线上的一个基点。生成共识请求CRQ = {TX,TX_SIGN,H},并发送至PCBN。PCBN中采用安全性较高的实用拜占庭容错(PBFT)共识。假设PCBN中有N(N≥4)个节点,PCBN中的主节点收到CRQ后生成消息PM :


PM ={{V,S,CRQ.H,CRQ.TX },CRQ.TX_SIGN }


V是视图编号;S是给CRQ分配的序号。主节点将PM发送给其它副节点。副节首先计算验签结果:


TX_VERIFY={k{{CRQ.H+G(x,y)}+{xwG(x,y)}}/(CRQ.H+wx)}  (17)


若TX_VERIFY= kG(x,y)验签成功,这主要是验证数据在节点间交互中是否被篡改过。副节点决定接受PM的满足以下条件:(1)验签成功且hash(CRQ.TX)= CRQ.H ;(2)当前最新的视图编号是V;(3)该节点没有接受过视图编号为V序号为S但CRQ.H,CRQ.TX,CRQ.TX_SIGN与当前PM中不同的视图。


副节点决定接受PM后,向其它节点回复消息RM = {{V,S,CRQ.H, CRQ.TX },CRQ.TX_SIGN,I },I是节点编号。N个节点中在约定的时间内若有M(M <N)个节点没有接受PM,收到的RM中有等于或者多于M+1个相同进入最后的确认过程,反之,消息PM共识失败。确认过程与接受PM过程类似,最后返回共识结果。共识成功后,将TX写入PCBN账本。图9和图10分别展示了数据集中器和智能电能表准入验证过程。


如何维护电力物联网的电能计量数据采集及安全机制

Fig.10 Device entrance of smart meter


如何维护电力物联网的电能计量数据采集及安全机制

Fig.9 Device entrance of data collection


(2)数据采集阶段


集中器可以通过两种方式采集下辖智能电能表的电量数据:(1)集中器定时向下辖智能电能表轮询当前的电力数据;(2)智能电能表定时向所在区域的集中器主动上报。为了保证电能表采集的数据在上报过程中不被篡改以及智能电能表和集中器不受非法设备的攻击,PCBN中利用设备接入阶段生成的私钥与公钥,采取双向签名验签的机制作为智能电能表和数据集中器间的身份识别及数据确认,流程如图11所示。


如何维护电力物联网的电能计量数据采集及安全机制


Fig.11 Process of data collection


在智能电能表验证数据集中器身份阶段,数据集中器使用其私钥签名数据采集请求发送给智能电能表;智能电能表通过数据集中器设备信息向PCBN获取数据集中器公钥,然后用该公钥验证数据集中器的签名数据,验签成功则数据集中器身份验证通过。


在数据集中器验证智能电能表身份阶段,智能电能表使用其私钥对电量数据进行签名并发送给数据集中器;数据集中器从PCBN中获取智能电能表的公钥,然后对其发送过来的签名数据作验签,验证通过则认为智能电能表身份认证通过且发来的电量数据在传输中未被修改过。在数据采集过程中,签名和验签与设备接入阶段一样,只是签名用设备私钥u,验签用设备公钥K=uPd(x,y)。


(3)数据存储阶段


本阶段主要是数据集中器将采集阶段收到的智能电能表电量数据上链。上链过程与设备接入阶段中生成TX到TX写入PCBN账本过程相同。需要特别说明的是,交易信息由数据集中器提交,签名验签的私钥和公钥使用数据集中器Ci(i=1, 2, …)的私钥ui和公钥Ki。PCBN账本结构如图12所示。


如何维护电力物联网的电能计量数据采集及安全机制


Fig.12 PCBN ledger structure


4 验证分析


为了验证基于区块链的分布式电能计量数据采集模式及其安全机制的有效性,在四台主机组成的集群下部署一个含有16个节点的PCBN,每个节点配备一个数据集中器,每个数据集中器下配备多个智能电能表,并在每个节点部署好设备管理智能合约与计量智能合约。通过软件仿真,模拟测试了电能计量中常见的两种异常场景:数据篡改和设备攻击。


4.1 数据篡改验证结果


在PCBN中,根据计量系统中的常见情况,先后对设备交互阶段篡改签名数据、上链共识阶段篡改源数据两种情况进行验证。


在设备交互阶段篡改签名数据测试结果如表1所示。


如何维护电力物联网的电能计量数据采集及安全机制


在上链共识阶段的安全风险,主要包括篡改已分配序号的数据和篡改确认中的数据两种情况,针对源数据内容的不同,又可分为篡改设备名、篡改设备厂商,篡改数据值等多种情况。具体测试结果如表2所示。


如何维护电力物联网的电能计量数据采集及安全机制


验证结果表明,篡改签名后的数据会导致验签失败,在共识过程中任一阶段对源数据做篡改都会造成签名发生很大变化,无法通过验证。相比于现行计量模型中安全漏洞,任何阶段篡改数据都会在第一时间被区块链网络安全机制发现,验证了基于区块链技术的分布式计量改进模型和安全机制的有效性。篡改数据测试结果如表3所示。


如何维护电力物联网的电能计量数据采集及安全机制


4.2 设备攻击验证结果


除了篡改数据,设备攻击也是计量系统的常见安全风险。文中先后测试攻击智能电能表、数据集中器和PCBN系统,测试结果如表4所示。


表4 设备攻击测试结果


如何维护电力物联网的电能计量数据采集及安全机制


验证结果表明,当计量系统中设备被攻击时,由于区块链技术的验签机制,使得设备攻击均失败,保证了系统的安全性。


5 结束语


提出了基于区块链的分布式电能计量数据采集模式及其安全机制。将区块链与数字签名技术结合并应用于分布式电能计量的数据采集中,实现了电能计量设备间的身份识别、传输过程中数据的隐私保护。保障了分布式电能计量设备与数据更加可靠。实验验证表明:所述基于区块链技术的分布式计量改进模型和安全机制能够避免电力设备受到非法攻击,电力数据传输过程中可靠性得到有效提高。


文章来源: 电工仪器仪表生产力促进中心,

免责声明

我来说几句

不吐不快,我来说两句
最新评论

还没有人评论哦,抢沙发吧~