赵百捷,刘良帅,侯勃旭,姬艳鹏,杜晓东
(1.国网河北省电力有限公司电力科学研究院,河北 石家庄 050021;2.广西大学计算机与电子信息学院,广西 南宁 530004)
电力物联网作为电力系统重要的演进方向,能够有效支撑电力系统的信息与物理的深度融合[1-2],实现广泛互联和人机交互,提升电网的服务质量[3]。近年来,频发的物联网安全事件,引发了人们对电力物联网系统安全性的担忧。电力物联网是电网数据传输网络的重要组成部分,其设备通信的安全与稳定运行对电网有重要的意义[4]。
通过虚拟专用网(Virtual Private Net work,VPN)、安全套接层(Security Socket Layer,SSL)或安全传输层协议(Transport Layer Security,TLS)等安全协议,在开放的物理线路中,为对等的通信双方建立逻辑上的加密数据通信管道[4],是确保数据通信安全的一种重要形式。而电力物联网感知层网络中的智能电力传感器和断路控制器等小型智能终端设备(Smart Ter minal Device,STD)具有海量分散部署[5]、无人值守、计算资源较少且不易扩充等特点。在网络结构方面,通常STD需要接入一个智能网关(Smart Gate Way,SGW),对大量感知数据及状态量进行输入、输出、控制和协议转换。然而随着海量的STD接入到物联网中,带来了一系列的压力和问题:STD的计算资源需求增加,降低了设备稳定性;设备之间的直接通信被远程服务器隔离,不利于本地实时应用;密钥管理的人工成本和密钥泄漏的风险增加;感知层网络对STD接入的身份认证策略不足,数据存在安全风险。
为有效应对上述问题,近年来,国内外研究者们运用计算资源需求相对较少的椭圆曲线(Elliptic Cur ves,EC)和哈希(Hash)算法,为物联网或电力物联网提出了多种轻量级的设备认证和密钥协商协议[3-8]。2018年,MAH MOOD等[3]提出一种基于EC加密体制的轻量级双向身份验证协议,该协议在安全性和降低计算的复杂度方面具有一定的优势,但在匿名性、已知密钥安全性、内部人员攻击等方面存在不足。2020年,WANG等[9]利用椭圆曲线加密算法(Elliptic Curve Cr yptography,ECC)提出一种考虑了本地实时数据监控、远程数据存储物联网应用需求的轻量级身份认证协议,但在隐私保护和计算性能方面仍存在较大的改进空间。2021年,KHAN A.A等[10]基于椭圆曲线加密机制和预分配密钥策略,提出了一种轻量级的密钥协商框架(Passwor d-based anony mous light weight key,PALK),可提升物联网安全性,同时具有匿名性和降低计算复杂度的特点。但该方案存在会话密钥泄漏的缺陷,在身份认证和计算会话密钥的过程中进行了3次双线性配对运算,消耗了较多的计算资源。
为解决电力物联网系统安全性与资源冲突的问题,本文在椭圆曲线动态密钥协商协议(Elliptic Curve Diffie-Hell man key Exchange,ECDH)的基础上,提出一种面向电力物联网STD和智能网关(Smart Gate Way,SGW)的轻量级双向身份认证策略,并对该策略的安全性和计算性能进行分析。
电力物联网系统应用的一般架构见图1[2-5]。图1中物联网单元末端的感知层网络,部署海量的STD。针对图1描述的电力物联网,结合SGW、STD和服务器TA构成的三层网络结构特点,STD对设备身份认证与密钥协商策略的高安全性、低资源消耗性的需求,本文提出一种基于EC算法和对称密钥算法混合的身份认证与密钥协商的策略。
图1 电力物联网系统组成
表1列出了本文提出方案所需的参数、方法、符号的名称及其说明。
表1 提出方案的相关参数及说明
在系统部署时,服务器TA首先需要选择椭圆曲线方程(E p(a,b):y2≡x3+ax+b mod p,4a3+27b2≠0mod panda,b∈F p)的一组公共参数,并计算出TA的密钥对{q s,Q s}。SGW或STD在安全环境下注册时,通过公式Q i=q i·G,选择一个随机数q i,并计算出K i,s=q i·Qs;服务器TA通过安全途径接收Qi,并计算出K'i,s=q s·Q i。根据ECDH的原理K i,s=K'i,s=q i·q s·G。
图2描述了基于EC算法,电力物联网三方身份认证与密钥协商策略的执行过程。
(1)服务器TA授权SGW接入STD。
服务器TA根据管理员用户的操作,从本地数据库中查询出需要建立网络链接的SGW和STD的{I D g,Q g,K g,s}和{I D d,Q d,K d,s}。然后,依次完成图2中计算,得出密文C s,g,并通过公共网络发送给指定的SGW。
图2 轻量级身份认证策略
(2)SGW验证TA的身份,请求接入STD。
SGW收到消息C s,g后,使用注册阶段生成的K s,g,计算SK s,g=h(K s,g),得出明文M s,g,并使用公式|t g-t's|?<Δt,I D'g?=I D g,验证消息的来源是否为服务器TA。验证成功后,计算SK g,d=h(q g·P d),作为与服务器TA指定的STD的会话密钥。然后,依次计算出变量x,V g,d、C g,d的值,并通过本地网络广播消息{C g,d,t s,P g,V s,d}。
(3)STD验证TA和SGW的身份。
STD收到消息C g,d之后,通过公式V s,d?=h(t's‖I D d‖K d,s‖P g),验证消息的接收方是否为自身。如果确定自身是接收方,继续计算出SK d,g=h(q d·P g)。根据ECDH的原理,可以得出SK d,g=SK g,d=h(q g·r g·q d·G)。所以通过公式I D'd?=I D d,验证SGW的身份。成功后,继续计算出变量y、V d,g、C d,g的值,并将C d,g返回给SGW。
(4)SGW验证STD的身份。
SGW接收到STD返回的消息后,使用第2步计算得出的SK g,d,解码出V'd,g,并通过计算公式I D'g?=I D g,y'?=x+1,验证发送当前消息STD的身份。
对提出策略P的安全性进行证明,建立了策略P的形式化安全验证模型[11](Real Or Rando m,ROR)。该模型中P的参与者I包括{TA,SGW,STD},攻击者A具有如下的能力。
(1)Excute(TA,SGW,STD):截获{TA,SGW,STD}之间,交换的所有消息的副本。
(2)Send(I,m):可以I的实例发送消息m。
(3)Reveal(I):获取I的会话密钥,并发动已知密钥攻击。
(4)Corr upt(I):获得I的长期密钥,用于验证会话密钥SK的强前向安全性能。Corr upt(SGW):获得SGW的{I D g,q g,Q g,K s,g};Corr upt(STD):获得SGW的{I D d,q d,Q d,K s,d}。
(5)Test(I):使用一个抛硬币的测试,挑战会话密钥。当ρ=1时,返回正确的会话密钥SK,当ρ
=0时,返回一个随机字符串。
(6)Hash(m):通过哈希碰撞攻击h(·)。
(7)Enc(m):破坏对称密钥算法的安全性。
(8)Dictionary(m):使用字典D发动攻击。
(9)Ecdl p(m):破坏ECC算法安全性。
(10)Ecdhlp(m1,m2):破坏ECDH安全性。
P安全基础是由椭圆曲线E p(a,b)上的点构成了一个阶为q的有限循环群G。|D|表示字典D的长度。QS,QE,QH分别表示攻击者A执行Send()、Excute()和Hash()查询次数。ε是一个极小的可以忽略的实数。假设A破坏h(·)的成功概率为AdvHash(A)≤Q2H/2l+1[12];A使用字典攻击的成功概率为Advdic≤Q s/|D|;A破坏对密钥算法安全性的成功概率为AdvEnc(A)≤ε;A破坏ECC算法安全性的成功概率为AdvECDLP(A)≤ε;破坏ECDH安全性的成功概率为AdvECDHLP(A)≤ε。
结合协议执行过程,攻击者A成功破坏会话密钥SK g,d安全性的概率可使用以下公式描述:
公式表明,策略P中SK g,d安全性与密钥的长度、h(·)哈希函数、ECC、ECDH、对称密钥等算法的安全性紧密相关。当攻击者A无法破坏任意一种上述算法的安全性时,Adv SK g,dP≤ε,即攻击者A成功的概率可以忽略,SK g,d的安全性能够得到保证。
分析身份认证策略的计算资源需求情况,需要在相同安全级别的基础上进行对比。为此选取ECC私钥长度为160 bits,对密钥算法的密钥长度为128 bits。在相同硬件平台上,完成1024 bits模乘运算所需的时间通常表示为1 T mm,则进行ECC标量乘法运算、ECC加法运算、哈希运算,需要的计算时间分别约为29 T mm、5 T mm、0.4 T mm。再此基础上可以得出表2中的数据,表中描述了本文提出策略在计算资源需求方面与一些近期公布的典型方案的对比情况。
表2 身份认证策略的计算性能对比 Tmm
由表2可以看出,本文提出策略在计算资源需求方面具有优势,如STD完成身份认证与密钥协商工作的计算时间仅需30.6 T mm;三方设备总体计算需求为178.4 Tmm,在对照方案中表现最优。
本文提出了一种使用ECC、Hash函数、对称密钥算法技术混合的,在服务器TA协助下,实现SGW与STD双向身份认证与密钥协商的策略。并通过ROR形式化的安全性验证模型证明了该方案良好的安全性。在计算性能方面,该策略针对单一STD与SGW的身份认证的情况,进行了优化。其中STD和SGW完成身份认证与密钥协商工作,各自只需要消耗30.6 T mm的计算时间,与相关协议比较具有一定的优势。在多STD接入同一个SGW的情况下,SGW与TA的优化不足,SGW只能依次顺序接入每一个STD,并发性能较低,导致身份认证的周期较长,后续研究工作可从该方向开展。