文献标识码: A
DOI:10.16157/j.issn.0258-7998.190124
中文引用格式: 陈孝莲,徐晓海,过烽,等. 基于Hyperledger的电力物联网分布式认证研究[J].电子技术应用,2019,45(5):57-60,65.
英文引用格式: Chen Xiaolian,Xu Xiaohai,Guo Feng,et al. Research on distributed authentication of power IoT based on Hyperledger blockchain[J]. Application of Electronic Technique,2019,45(5):57-60,65.
0 引言
随着智能电网和能源互联网的发展,电力物联网在电力生产的各个环节起到了越来越重要的作用。特别是在作为电力传输最后10公里的配电网中,在用电计量、售电服务、分布式发电、新能源并网、智能充电桩等应用场景中,电力物联网的应用更加常见。
现有电力业务系统大部分采用中心化的架构,随着分布式电源、可控负荷、增量配电网、物资服务等业务的不断发展,各主体之间的信息交互的频度、复杂性和时效性要求越来越高,集中化的信息交互手段已无法满足源网荷储互动、物资精准供应等由多方参与的业务系统信任需求。
电力物联网在广泛应用的同时,也带来了愈加严峻的安全挑战。一方面,电力物联网终端节点数量多、部署范围广,节点物理环境不可控,容易受到物理劫持、节点复制、信号截获窃取重放、中间人攻击等威胁;另一方面,电力物联网终端由于体积和电量限制,其计算、存储和通信能力有限,无法部署完整的密码算法。此外,信息传递和交互多采用集中式广播和组播实现,容易出现单点失效问题。
区块链(Blockchain)技术具有去中心化、防篡改、高度可扩展等特点,正成为继大数据、云计算、人工智能、虚拟现实等技术后又一项将对未来产生重大影响的新兴技术。在美国、日本和欧盟一些国家和地区已将区块链发展上升为国家重要发展战略。我国政府亦高度重视区块链技术创新与产业发展,积极推动国内区块链的相关领域研究、标准化制定,大力推进区块链技术研发和应用推广,《“十三五”国家信息化规划》、《国务院办公厅关于积极推进供应链创新与应用的指导意见》及习总书记在中国科学院第十九次院士大会、中国工程院第十四次院士大会上发表的讲话中,均明确指出了区块链等技术在科技强国中的战略意义。
区块链可分为公有链、私有链、联盟链、许可链等类型。其中联盟链是指由联盟或行业内若干个机构共同参与管理的区块链,较为适合应用于电力场景。其数据只允许系统内的机构进行读取修改和访问等活动,通过制定接入准测和访问权限,保证系统安全性。联盟链的典型开发平台是Hyperledger项目,它提供一个模块化的构架,实现节点、链码(智能合约)执行以及可配置的共识和成员服务。在接入认证方面,通过MSP(Membership Service Provider)服务,实现X.509证书管理和成员身份验证。本文基于Hyperledger联盟链架构,研究适用于电力物联网的分布式认证策略,改进传统物联网安全协议中对认证中心节点的依赖,实现群体接入认证,在保证安全的前提下,提高电力物联网中大量节点并发接入的响应速度。
1 相关工作
传统物联网安全接入认证方面的研究多侧重于降低安全算法的计算复杂度、存储复杂度和通信开销,例如CHANG Q等人[1]提出了一种基于椭圆曲线加密算法的无线传感节点认证协议;邹长忠等人[2]提出的基于节点ID验证的抗DoS攻击节点认证协议在保证良好攻击防御性的前提下,降低了认证的时间开销和网络的通信负载。在去中心化的分布式认证方面,有研究者提出了采用秘密共享概念的分布式节点认证机制[3],通过利用节点的ID生成会话密钥或采用数字签名算法达到安全认证的目的。
基于公钥基础设施(PKI)的身份认证是目前较为成熟的认证技术,目前的算法中为了实现其分布式应用,往往采用门限密码机制,需要消耗较大的计算和通信开销,不利于在电力物联网中大范围部署。为了达到去中心化的效果,有学者开始研究区块链技术在身份认证领域的应用。文献[4]基于比特币系统提出了分布式PKI认证体系,但是存在用户公钥等敏感信息泄露的问题。针对这个问题,文献[5]提出了一种带隐私保护的PKI认证方案进行改进。文献[6]基于以太坊平台提出了提高证书撤销和证书查询效率的方案。
在联盟链方面,佘维等人[7]针对分布式能源交易认证中的安全问题,探讨了基于联盟链的分布式能源交易认证模型。通过区块链权益证明、数据加密、时间戳和分布式共识的方法,提高了分布式能源交易数据安全性、信息透明度和自动化认证水平。
目前基于区块链的物联网接入认证方案大多基于公共区块链平台,实现了分布式PKI的模拟,但未能针对电力物联网业务将联盟链和轻量级分布式认证协议进行有效的整合,难以满足智能电网和能源互联网去中心化、泛在接入、广域互联的需求。本文基于Hyperledger架构,设计分布式门限加密认证算法,提高电力物联网分布式安全级别,支撑安全可靠的电力物联网应用。
2 预备知识
2.1 Hyperledger区块链
超级账本(Hyperledger)是Linux基金会于2015年发起的开源区块链项目,目标是满足行业用户案例,并简化业务流程。基于完全共享、透明和去中心化特征,Hyperledger非常适合制造、能源、物联网等行业应用。
Hyperledger由成员服务(Membership)、区块链服务(Blockchain)和链码服务(Chaincode)3个组件构成,具有成员节点身份验证、共识算法灵活、智能合约易于实现等优点。Hyperledger架构如图1所示。
不同于以太坊等区块链平台,Hyperledger在成员服务中,利用PKI 体系、数字证书、加解密算法等安全技术,加强了身份证书管理服务,实现了权限管理、交易加解密、分布式账本机制等模块化可拔插架构,用户可以根据业务需要灵活部署应用。
在区块链服务中,分布式账本是最核心的结构,基于前后关联的链式结构,Hyperledger通过P2P网络、数据库和共识机制,记录应用信息。应用则通过发起交易来向账本中记录数据。
智能合约部分通过链码服务实现,链码基于容器、状态机等技术,可基于第三方开发语言和相应SDK实现,应用程序可以通过API实现安全的业务逻辑和功能。
超级账本Fabric平台采用两种类型节点:(1)order节点,负责执行数据的读写、查询操作,借助区块链共识算法、一致性协议,维护区块链账本数据库;(2)Peer节点,用来连接用户和邻近的Peer节点,执行查询验证操作,不执行记入交易数据操作。
在基于Hyperledger的区块链认证系统中,电力物联网终端APP从CA获取合法的数字证书,使用SDK访问Fabric网络并发起认证请求,构造交易申请并提交给Endorser 进行背书,终端收集到足够的背书支持后可以构造一个合法的请求,发给Orderer进行记账处理。
2.2 Difffe-Hellman密钥交换
Diffe-Hellman算法是电力物联网系统中常用的密钥交换算法,该算法基于有限域中离散对数难解问题,可在公开信道中安全交换密钥信息。假设密钥交换双方为Alice和Bob,算法步骤如下:
初始化阶段,双方约定随机选取的大素数n和原始根g。
Alice产生一个秘密的随机数x,计算X=gx mod n并通过公开信道发送给Bob。
Bob产生一个秘密的随机数y,计算Y=gy mod n并通过公开信道发送给Alice。
A通过计算Key=Yx mod n获得密钥Key,B通过计算Key=Xy mod n获得密钥Key。
3 认证模型和算法
3.1 认证模型
身份认证技术是通过密码学手段在计算机系统中确认实体对某种资源或服务是否有访问权限的方法和机制[8]。电力物联网中终端节点数量多、单点计算存储能力弱,其身份认证需要采用效率高的方案。基于区块链技术的电力物联网分布式认证过程中,从电力应用场景中选择同属一个应用或者覆盖区域的终端认证组,负责对新接入的节点进行接入认证。终端认证组节点通过电力物联网业务流程和规范对新入节点进行准入投票,获得51%的节点通过后获得认证区块链记账权限,调用Hpyerledger功能创建区块链节点。具体认证模型如图2所示。
其中,认证过程可分为3个阶段:(1)终端节点向接入网关发送接入请求,网关对请求进行应答,终端获得内网访问权限;(2)终端向认证组中的排序节点发送认证请求,认证组Peer节点发起分布式认证,排序节点结合认证结果访问超级账本系统并记账,记账完成后返回认证结果;(3)认证组排序节点,向接入网关下发令牌,接入网关将授权令牌反馈给终端,终端因此获得业务接入权限。
3.2 认证算法
认证算法分为注册阶段、密钥协商阶段和认证阶段三个过程:注册阶段生成公钥和私钥,排序节点公布系统参数,认证组节点根据系统公布的参数生成自己的秘密多项式;密钥协商阶段,排序节点广播发送认证请求报文,认证组Peer节点通过电力物联网业务逻辑选择对新接入节点的准入结果,如果同意节点接入,则向排序节点提交签名,排序节点得到多于门限数量份签名后可以形成认证许可,发送给电力物联网接入网关作为认证依据;认证阶段,网关可通过公开参数中的群公钥验证签名的合法性。
得到群密钥Sk,说明满足门限数量的合法终端已经确认对新入终端的认证。排序节点将认证信息提交记账节点,生成新的区块,同时,用Sk加密令牌,将结果发送给网关。
网关用公钥Pk解密令牌,发送给请求入网的电力物联网终端,认证结束。
4 仿真验证
本节通过在实验室部署Hyperledger和链码来模拟电力物联网接入认证过程,用于验证本文所提算法的有效性。实验环境为Intel CoreTM i7-7700HQ CPU@2.80 GHz,8 GB内存,CentOS 7操作系统。仿真实验时,模拟终端发起接入认证请求,用docker模拟认证组节点和排序节点,通过在链码上部署认证算法进行接入认证仿真。所有仿真数据为运行10次的平均值。
图3 是不同节点数量下接入认证时间的曲线图,可以看出,认证时间随节点数量的增加呈增大趋势,但是增大幅度有所降低,这是因为随着节点数量的增加,基于区块链的接入认证方案通过分布式认证降低了系统总体开销,效率较集中式接入认证有所提高。
图4是系统并发数量与认证网关CPU负载的关系图,数据显示,并发数量增加会导致接入网关CPU负载增高,这是因为网关需要处理更多的认证信息,但是负载总体情况在可接受的范围内。
5 结论
电力物联网是信息通信技术和电力系统基础设施的有效融合,对电网发、输、变、配、用电等环节提供了重要技术支撑。本文基于超级账本区块链技术,提出了适用于电力物联网的分布式接入认证系统,可提高电力物联网系统安全性和有效性。下一步将在电网实际应用场景中,研究基于区块链的高并发的电力物联网终端接入技术。
参考文献
[1] CHANG Q,ZHANG Y G,QIN L L.A node authentication protocol based on ECC in WSN[C].International Conference on Computer Design And Appliations(ICCDA 2010),NJ United States:IEEE Computer Society,2010,2:606-609.
[2] 邹长忠.线传感器网络中基于节点ID验证的防御DOS攻击策略[J].小型微型计算机系统,2012,33(3):486-491.
[3] HAIMABATI D,RAJA D.Monitoring threshold cryptography based wireless sensor networks with projective plane[C].5th International Conference on Computers and Devices for Communication(CO-DEC),Kanyakumari,India,Washington DC United States:IEEE Computer Society,2012:1-4.
[4] SUN Y,YU Y,LI X,et al.Batch verifiable computation with public verifiability for outsourcing polynomials and matrix computations[C].Proceedings of the 21st Australasian Conference on Information Security and Privacy:Part I,LNCS 9722.Cham:Springer,2016:293-309.
[5] 张昕伟,张华,郭肖旺,等.基于区块链的电子投票选举系统研究分析[J].电子技术应用,2017,43(11):132-135.
[6] GARG S,GENTRY C,HALEVI S.Candidate multilinear maps from ideal lattices[C].EUROCRYPT 2013:Proceedings of the2013 Annual International Conference on the Theory and Applications of Cryptographic Techniques,LNCS 7881.Berlin:Springer,2012:1-17.
[7] 佘维,胡跃,杨晓宇,等.基于能源区块链网络的虚拟电厂运行与调度模型[J].中国电机工程学报,2017,37(13):3729-3736.
[8] 徐琳,温蜜,李晋国.智能配电网中具有隐私保护的数据安全认证方案[J].电子技术应用,2015,41(12):98-101.
作者信息:
陈孝莲1,徐晓海2,过 烽1,李 洋3,蔡世龙3,高 雪3
(1.国网无锡供电公司,江苏 无锡214002;2.国网镇江供电公司,江苏 镇江212050;
3.南瑞集团有限公司(国网电力科学研究院),江苏 南京211106)