一种基于生物特征的电力系统安全认证协议
2022-11-09席禹林冬于力蒋文辉陈光侵
席禹,林冬,于力,蒋文辉,陈光侵
(南方电网数字电网研究院有限公司,广东 广州 510555)
电力系统的安全运行直接关系到民生的世界性问题,也是各国政府和电力公司十分关注的问题。到目前为止,由于一些国家电力安全系统设计不合理等原因[1],全世界已经发生了6次大规模停电事件。而电力员工和电力检测设备﹝如相量测量单元(pressure measuring unit,PMU)﹞之间缺乏安全的认证协议[2]是引发这些事件的重要原因之一。作为确保电网安全运行的重要设备,PMU[3-4]的原理是利用全球定位系统(GPS)秒脉冲作为同步时钟进行电力系统的监测、保护、分析和预测等。需要注意的是PMU设备借助互联网与工作人员共享信息[5-7],而互联网是开放的通道,因此共享信息的安全性值得研究。具体来说,存在的风险有:非法节点窃听并收集在员工和设备之间传输的消息,并对其进行分析以获取关键信息[8],一旦获得相关信息(如员工的身份、密码、网关或PMU设备的主密钥)[9-10]就可以冒充合法员工从而危害电力系统的安全。此外本研究考虑到PMU设备的监测环境复杂多变,当被部署在野外或者人烟稀少之地时,设备很容易受到敌手的物理捕获,进而通过功率分析攻击获取设备内部的秘密信息,同时其他各种类型的攻击(例如重放、节点跟踪等[11-13])也会破坏PMU设备的正常运行。
文献[14]针对常规认证协议无法在移动射频识别(radio frequency identification,RFID)系统中使用的问题,提出一种抗假冒攻击的移动RFID双向认证协议。该方案采用交叉位运算加密信息,能够较大幅度降低参与节点的计算量,并且为确保传输数据的安全性,在进行每个步骤前,先对发送消息的参与节点进行认证,认证未通过,协议马上结束;但是,该协议并不具备前向安全性,当前会话密钥被敌手获取时,并不能保证之前会话的安全性。
文献[15]提出匿名的三因子方案解决多服务器系统中身份匿名性问题。该方案使用椭圆曲线加密操作,保障认证的核心安全性,使用模糊提取器与验证器提取和恢复生物信息,还能有效应对智能卡盗窃攻击、假冒攻击等,实现匿名性、前向安全性等更全面的功能。当初始分配在节点间的密钥被敌手获取时,密钥需更新,但是该协议并没有给出应对方法。
为此本文提出一种基于生物特征的电力信息安全系统认证协议。该协议将电力员工的密码、生物特征和智能卡作为三因素进行认证;采用模糊提取器技术降低生物特征提取的假阳性概率;利用二元对称多项式实现对称密钥的分配管理、额外设备的添加以及密钥的动态更新,提高PMU设备面对攻击者的抗捕获能力。最后,对该协议进行安全分析、仿真和比较,验证它应对各种已知的攻击(如假冒、重放和智能卡盗窃攻击等)的能力。
1 系统模型
基于电力系统的认证模型如图1所示。在该模型中,假设已部署多个PMU设备,这些设备可以监控和收集周围电气设备的实时运行数据。PMU设备通过互联网网关将收集的信息传输到云存储数据库[16],此外,电力系统中可能有不同类型的人员,如监控人员和维护人员,他们时刻监测并分析PMU设备上传的数据,制订出相应的措施[17]。例如,如果电力系统某个区域发生事故,维护人员可以根据从一些PMU设备收集的实时数据采取相应的维修措施。
图1 基于PMU设备的电力系统认证模型
在该模型中,员工在与被访问的PMU设备成功完成相互身份验证后,借助网关访问PMU设备中的数据。工作人员首先向网关发送登录和身份验证请求消息,然后网关验证该消息的正确性,并将身份验证消息发送到工作人员想要访问的PMU设备。在接收到并验证来自网关的消息后,PMU设备向工作人员发送回复消息。一旦工作人员收到消息并完成身份验证,整个认证过程将在工作人员和PMU设备之间建立会话密钥,以供将来通信[18]。
2 认证协议设计
本章将详细阐述为电力系统设计的安全认证协议。该协议分为5个主要阶段,即系统设置、PMU设备注册、员工注册、登录认证、生物信息更新和密码更改阶段。其中认证阶段是最重要的,它能够在用户和PMU设备之间建立安全的会话密钥(用于将来的通信和数据传输)。所需参数及描述见表1。
表1 认证协议所需参数
当提取员工生物特征后,与密码验证相比,生物特征的复杂性以及特殊性会使得2次验证测量的结果可能不完全一样,如果仅直接对比验证生物特征,其失败率很高,而采用模糊提取器技术能够根据用户的嘈杂生物特征精准识别用户。模糊提取器包括生成函数G和复原函数R,即
G(BIOs)=(αs,βs),R(B′IOs,βs)=(αs).
式中:BIOs、B′IOs分别为第s个注册阶段生物信息、认证阶段生物信息,用上标“′”表示处于认证阶段且尚未确定是否为合法身份,下同;αs为秘密参数,βs为公开参数。当满足B′IOs和BIOs之间的汉明距离Dham不超过容错阈值t,即Dham(B′IOs,BIOs)≤t时,秘密参数αs能够被恢复出。
对于网关和PMU设备之间对称密钥的建立采用二元l次对称多项式。生成的对称密钥被分别存储在两者的数据库中,并在后续的登录认证过程中被利用,对称多项式
式中:m、n为输入参数;p为大素数;F(p)为p元有限域,F(p)[m,n]表示系数属于F(p)且输入为n、m的所有多项式的集合;多项式的系数asr在有限域F(p)=Zp(有限环Zp={0,1,…,p-1})中选取。
2.1 系统设置
在系统设置阶段,网关(GW)选取一些参数来初始化系统。具体来说,网关首先选择单向抗碰撞的哈希函数h、生成函数G和复原函数R分别用来加密传输数据以及提取和恢复工作人员的生物信息;然后,网关选取合适的二元l次对称多项式f(m,n);此外,网关还会选择自己的身份ID,GW和主密钥k,并且计算出自己的伪身份RID,GW=h(ID,GW‖k)(其中“‖”表示“或”)。
2.2 PMU设备注册
在将PMU设备部署到电力环境之前,该设备需要在网关的帮助下完成注册。①首先,网关为第j台PMU设备(PDj)生成相应的身份PDj和随机数a。②然后,计算出设备相应的伪身份RPDj=h(PDj‖ID,GW‖a);此外,网关和PDj还利用二元l次对称多项式分别计算出它们共享的对称密钥,由于多项式的对称性f(m,n)=f(n,m),对称密钥xj=h(f(RID,GW,RPDj)‖PDj)=h(f(RPDj,RID,GW)‖PDj),PDj将会在认证阶段用它来确认网关的身份。③最后,网关和PDj将{PDj,RPDj,xj,f(RID,GW,n)}和{PDj,RPDj,xj,f(RPDj,n)}分别存储进各自的数据库。
2.3 员工注册
为了能够成为访问PMU设备数据的合法用户,员工i(Si)也需要向网关进行注册。①首先,员工选择自己的身份IDi、密码PWi,并利用系统生成随机数b。此外,在特定的生物信息采集终端输入自己的生物信息BIOi。②然后,终端通过函数G生成用户的秘密参数αi和公共参数βi,即G(BIOi)=(αi,βi);此外系统还计算出Si的伪身份RIDi=h(IDi‖ID,GW‖b),以及个人信息Pi=h((IDi‖PWi‖αi)。③最后,系统将{Pi,βi,RIDi,G,R}存储进Si的智能卡i(SCi)中,并通过1个安全通道发送带有Si个人凭证(例如员工识别码等)的信息{IDi,RIDi}给网关。需要注意的是,员工最好与网关进行现场注册,这可以有效防止个人信息被窃取。
2.4 登录认证
在Si可以访问PDj的数据之前,Si需要以合法工作人员身份登录和验证。这种身份验证需要在Si、网关和PDj的帮助下完成,即在Si和PDj之间建立1个安全会话密钥(SK),用于将来的通信和数据传输。该阶段具体描述如下,如图2所示。
图2 登录和认证阶段
a)①Si根据其之前的注册信息输入自己的身份IDi和相应的密码P′Wi,之后在特定终端的传感器上输入个人生物特征信息,即B′IOi。同时Si在特定终端中插入自己的智能卡SCi。当Dham(B′IOi,BIOi)≤t时,SCi就能够通过复原函数计算出R(B′IOi,βi)=(αi)。②然后,SCi计算P′i=h(IDi‖P′Wi‖αi)并验证等式P′i=Pi是否成立。如果等式成立,则接受Si的登录请求;否则,来自该员工身份验证请求将被中止。③其次,SCi生成一个随机数c以及当前的时间戳T1,并且计算X1=RIDi⊕h(Pi‖c),Y1=h(h(Pi‖c)‖T1‖IDi)(其中,X1、Y1以及下文中Ai、Z2等均为为了简化表达而设定的变量,“⊕”表示“异或”)。④最后,将消息M1={X1,Y1,RPDj,T1}公开发送给网关,Si想要从PDj获取实时监测数据,必须向网关发送其想要访问的具体设备伪身份RPDj,以方便网关后续查找。
b)①一旦从Si接收到M1,网关首先需要在|T′1-T1|≤ΔT条件下验证时间戳T1的有效性,其中ΔT为最大传输延迟。②如果满足此条件,网关计算Ai=h(Pi‖c)=X1⊕RIDj,Y′1=h(Ai‖T1‖IDi),并验证等式Y′1=Y1是否成立,若等式不成立,网关将终止整个会话;如果不满足条件,则网关根据消息M1中的RPDj,在自己的数据库中获取相应的对称密钥xj,并生成随机数d和当前时间戳T2,计算X2=d⊕h(xj‖T2),Y2=Y1⊕h(d‖T2),Z2=h(RPDj‖xj‖Y1‖d‖T2)。③最后,网关将消息M2={X2,Y2,Z2,T2}公开发送给PDj。
c)①如果PDj在时间T′2接收到M2,它也需要在|T′2-T2|≤ΔT的条件下检查M2中T2的有效性。如果条件不满足,身份验证阶段将终止;如果条件满足,则PDj计算d=X2⊕h(xj‖T2),Y′1=Y2⊕h(d‖T2),Z′2=h(RPDj‖xj‖Y′1‖d‖T2),其中xj是网关在PMU设备注册阶段时分配的对称密钥。②然后,PDj验证等式Z′2=Z2是否成立。如果等式不成立,则整个身份验证过程将终止;如果等式成立,则PDj生成随机数e和当前时间戳T3,并计算X3=e⊕Y1,Y3=h(Y1‖e‖T3)。同时PDj还计算与Si共享的会话密钥SKDj=h(Y1‖RPDj‖e‖T3)。③最后,PDj将消息M3={X3,Y3,T3}公开发送给Si。
d)①当Si在时间T′3从PDj接收到M3,Si的智能卡SCi首先在|T′3-T3|≤ΔT的条件下检查消息M3中T3的有效性。如果条件不成立,那么会话过程将终止;如果条件成立,则SCi计算e=X3⊕Y1,Y′3=h(Y1‖c‖T3)。②然后,验证等式Y′3=Y3是否成立。如果等式成立,那么SCi相信消息M3来自合法节点。此外,SCi还计算出会话密钥SKSi=h(Y1‖RPDj‖e‖T3)。③最后,Si和PDj可以利用会话密钥SKSi=SKDj进行后续的通信和数据加密。
2.5 生物信息更新
通常来说,人的生物特征信息在长期内不会改变,然而一些用户希望通过使用其他生物特征(例如掌纹、脑电波等)来提高个人安全性,为此所提出的协议支持用户的生物特征更新。具体步骤如下。
①Si首先在特定终端插入自己的智能卡SCi,然后继续输入身份IDi和密码P′Wi,并在该终端的传感器处输入以前的生物特征信息BIOi,old(下标old表示旧的对象,下同)。②然后,SCi能够在满足Dham(BIOi,old,BIOi)≤t的条件下利用复原函数R计算出R(BIOi,old,βi)=(αi)。此外SCi还计算P′i=h(IDi‖P′Wi‖αi)并验证等式P′i=Pi是否成立。在验证成功后,Si输入一个新的生物特征BIOi,new(下标new表示更新的对象,下同)。③其次,系统利用生成函数G计算G(BIOi,new)=(αi,new,βi,new)和新的个人信息Pi,new=h(IDi‖PWi‖αi,new)。④最后,将原先值βi和Pi分别替换为当前值βi,new和Pi,new。最终智能卡SCi的信息更新为{Pi,new,βi,new,RIDj,G,R}。
2.6 密码更改
通常认证协议都具备密码更改功能,定期更改个人密码以防止恶意对手窃取隐私。具体步骤如下。
①Si首先将自己的SCi插入特定的数据采集终端,之后输入身份IDi、原始密码PWi,old和生物特征B′IOi。与2.5节相同,SCi在满足Dham(B′IOi,BIOi)≤t的条件下提取出秘密参数αi。②然后,计算P′i=h(IDi‖PWi,old‖αi)并验证等式P′i=Pi是否成立。如果等式满足,Si可以输入新密码PWi,new。③最后,SCi计算新的个人信息Pi,new=h(IDi‖PWi,new‖αi),替换Pi并存储在SCi的存储器中。
2.7 额外设备登记和添加
值得注意的是,离线PMU设备的登记和添加并不相同,前者主要用于初始部署,而后者主要用于实时动态添加这些部署过的设备。
a)额外设备登记:对于要部署新的PMU设备(例如PDj,new),网关首先在离线模式下为新的PMU设备生成相应的身份PDj,new和随机数anew,并计算出设备相应的伪身份RPDj,new=h(PDj,new‖ID,GW‖anew)。同时网关为新设备分配f(RPDj,new,n),最终存储在PDj,new和网关中的数据为{PDj,new,RPDj,new,f(RPDj,n)}。
b)额外设备添加:PDj,new和网关首先通过公开信道向对方发送自己的伪身份RPDj和RID,GW,接收后计算出相应的对称密钥,例如对于PDj,new,它利用存储在数据库中的f(RPDj,new,n)计算出xj,new=h(f(RPDj,RID,GW)‖PDj,new)。最后PDj,new和网关存储xj,new用于后续认证。此外网关还会以广播的形式向员工发送额外添加的PMU设备的伪身份RPDj,new,表明员工可以访问新添加的设备。
虽然在电力系统模型(如图1所示)中,网关是可信任的,但长期密钥的存在或者密钥管理不当的风险,会增加密钥被敌手获取的几率,从而破环整个认证协议的安全性。为此该协议支持动态更新密钥。具体地,网关和设备只需独立更新自己的伪身份RID,GW和RPDj(即RID,GW,new和RPDj,new),并通过公开信道向对方发送更新之后的伪身份。最终,两者利用存储的对称多项式f(RID,GW,new,n)和f(RPDj,new,n)计算出并保存更新过的对称密钥xj,new,xj,new=h(f(RID,GW,new,RPDj,new)‖PDj)=h(f(RPDj,new,RID,GW,new)‖PDj)。
3 形式化安全分析
本章利用BAN逻辑对所设计认证协议进行形式化分析数学证明,具体过程如下。
3.1 协议的理想化模型建立
该模型将协议的实际消息转化成BAN逻辑所能识别的公式。
消息1,Si→网关:(〈Pi,c〉RIDi,〈Pi,c,T1〉IDi,RPDj,T1).
消息2,网关→PDj:(〈Pi,c,T1,d,T2,RPDj,IDi〉xj,〈Pi,c,T1,d,T2〉IDi,T2).
消息3,PDj→Si:(〈Pi,c,T1,e,T3〉IDi,T3).
3.2 协议的初始假设
3.3 BAN逻辑最终证明的目标
3.4 协议的分析推理
步骤1:由消息2可知PDj◁(M),其中M表示PDj收到的内容,并且根据接收消息规则P◁(X,Y)|-P◁X(其含义是:若主体P收到的消息中有X和Y,则表明主体P收到了X)可得PDj◁〈Pi,c,T1,d,T2,RPDj,IDi〉xj。
步骤3:由初始假设协议3和消息新鲜性规则P|≡#(X)|-P∣≡#(X,Y)(其含义是:如果一个公式的部分是新鲜的,则该公式全部是新鲜的)可知PDj∣≡#(Pi,c,T1,d,T2,RPDj,IDi)。
4 非形式化安全分析以及效率性能对比
本章讨论所提出的协议能否符合常见的安全特性以及应对网络攻击,并与相关协议进行效率性能对比分析。
4.1 抗假冒攻击
假设对手想要模拟Si、网关或PDj并发送相应的消息,将考虑以下类型的模拟案例。
4.2 抗重放攻击
假设敌手在会话中截取消息M1={X1,Y1,RPDj,T1},M2={X2,Y2,Z2,T2}和M3={X3,Y3,T3},并在一段时间后重放这些消息。由于消息M1、M2和M3中存在时间戳T1、T2和T3,重放攻击无效。网关一旦收到消息,就会记录当前时间戳T′,如果T′与发送时间戳T1、T2和T3之间的差值大于特定阈值ΔT,那么整个认证过程终止,此外ΔT的值通常很小,以至于敌手很难在短时间内完成重放攻击,因此本协议可以应对重放攻击。
4.3 抗智能卡盗窃
假设敌手使用功率分析攻击,然后获取存储在SCi的数据,即窃取信息{Pi,βi,RIDi,G,R}。因为Pi=h(IDi‖PWi‖αi)和RIDi=h(IDi‖ID,GW‖b)中的IDi、PWi和ID,GW是秘密,敌手无法从Pi和RIDi中获得任何对其有用的信息,因此盗窃智能卡攻击在本协议中是无效的。
4.4 抗捕获能力
抗捕获能力是指当x个PMU设备被敌手获取时,即使敌手能够得到设备内所有存储的信息{PDj,RPDj,xj,f(RPDj,n)},其他没有被捕获设备的密钥也不会受到威胁的能力。由于本协议使用公开信道传输网关和设备的伪身份(见2.6节),假设敌手已经获取RID,GW和RPDj,但其还是无法通过拉格朗日插值法重构出原始的二元l次对称多项式。在本协议中只要使得多项式的次数大于所部署PMU设备的数量,那么敌手就无法得到其他未被捕获设备的对称密钥,因此本协议具有完美的抗捕获能力。
4.5 身份匿名性
匿名性意味着敌手不能在会话中获得参与者的身份(例如Si、网关和PDj),并且不能区分特定参与者的不同会话。在协议中,所有消息M1={X1,Y1,RPDj,T1}、M2={X2,Y2,Z2,T2}和M3={X3,Y3,T3}都不是使用原始身份IDi、ID,GW以及PDj直接传输的,而是使用代替的伪身份;因此,安全协议保证了会话参与者的匿名性,以防止非法节点的跟踪。
4.6 前向保密性
在本文所设计的协议中,生成的会话密钥SKSi=SKDj=h(Y1‖RPDj‖e‖T3)不仅由RPDj、Pi等长期秘密信息组成,还包括时间戳以及生成的随机数。即使在某一特定会话过程中,生成的密钥被泄露,也不会影响其他会话的安全性,因此本协议具有前向保密性。
4.7 安全特性分析对比
上述分析结果表明所提出的协议能够抵抗各种攻击,与现有方案的对比见表2。
表2 安全特性及功能对比
4.8 效率分析
本研究还进行了与相关协议的效率性能对比分析。假设Th、Tfe、Tm、Tf分别为哈希运算、模糊提取器、椭圆曲线密码学(elliptic curve cryptography,ECC)点乘、字合成运算所需要的时间,即Th≈Tfe=0.32 ms、Tm=17.1 ms、Tf=0.15 ms;同时假设在传递的消息中身份、字合成和哈希输出、ECC点乘输出、随机数以及时间戳所需的通信成本(通信量)分别为160 bit、160 bit、320 bit、128 bit以及32 bit[20]。在统一标准下,可以分析和对比本文所提出协议与其他相关协议的效率。虽然文献[14]的方法计算成本低(所需时间最少),但是根据上述分析可得其安全性较差。总体分析可知本协议能够在保证安全的前提下适用于存储资源有限的PMU设备,对比结果见表3。
表3 效率对比
5 Proverif安全分析
对于本文所提出协议的形式化安全分析是利用Proverif工具[21]进行的,它可以在Dolev-Yao模型[22]下进行密码协议相关的验证,具体来说,攻击者可以完全控制信道,进而读取、修改、删除以及注入消息等。
在本研究仿真中设置了2对信道,分别用来传输秘密信息和公开信息,例如:在员工注册阶段,员工通过安全信道(定义“sch1、sch2”)向网关发送自己的相关秘密信息;在认证过程中使用的是公开(即互联网)的公共信道(定义“ch1、ch2”),在此信道传输的消息能够被攻击者获取。所提协议的仿真结果是“RESULT not attacker(sk[]) is true.”,表明在员工和PMU设备之间生成的2个会话密钥不能够被攻击者所获取。
6 结束语
本文提出一种面向电力二次设备的、基于生物特征的身份认证协议,该协议利用模糊提取器技术对生物特征提取。与其他现有方案相比,本协议利用二元对称多项式实现网关和PMU设备的对称密钥分配和动态更新,提高PMU设备的抗捕获能力,增强电力系统的整体安全性。整个认证过程涉及员工、网关和PMU设备,员工和PMU设备通过互联网在网关的帮助下完成相互认证,并生成会话密钥以供将来通信。此外该协议还支持生物信息更新、密码更改以及额外设备的添加。对该协议进行形式化和非形式化安全分析,结果显示了其对不同类型攻击的鲁棒性以及具备匿名性、前向保密性等。最后与相关协议的比较分析可知本协议的计算成本和通信成本较低,适用于存储资源有限的PMU设备。
在接下来的工作中,考虑通过硬件设备实现协议的实际部署,并进一步减少身份验证所需的通信成本和计算成本。