基于ECC 的安全增强的智能电网认证密钥协商协议

2019-12-28 08:24郑奕隆袁平殷锋
现代计算机 2019年32期
关键词:会话攻击者密钥

郑奕隆,袁平,殷锋

(1.四川大学计算机学院,成都610065;2.重庆第二师范学院数学与信息工程学院,重庆400067;3.西南民族大学计算机科学与技术学院,成都610041)

0 引言

智能电网已成为下一代电网的发展方向,它利用最新的信息和通信技术,实现了从发电站到终端的实时负载和控制功能[1-3]。然而,智能电网正面临着严重的信息安全问题。研究结果表明,智能电网面临着来自虚拟世界和物理世界的恶意攻击[4]。例如,攻击者可以访问公开信道并对数据进行窃取、伪造[5]或实施中间人攻击欺骗参与者,也可以非法访问暴露在外的智能电网设备并获取用户的隐私数据[6],还可以通过拒绝服务攻击(DoS),恶意破坏智能电网通信系统,造成不可逆转的损害。因此,在智能电网快速发展的今天,如何保障智能电网系统的信息安全,成为关系到电力系统的安全、稳定、经济、优质运行的重大问题[7]。智能电网的安全解决方案包括异常检测技术、漏洞扫描技术、病毒扫描技术、信道加密技术以及身份认证技术等,其中,设计和实现包括密钥交换和身份认证的安全解决方案,以确保智能电网的安全性,近年来被广大研究者视为研究热点。然而,如何设计足够安全的密钥交换和身份认证的方案并且能够有效应用到智能电网应用场景,是目前亟待解决的问题。本文基于这一研究背景,改进了Mahmood 协议[8]易受已知会话特定临时信息攻击的问题,提出了安全增强的基于ECC(椭圆曲线加密)技术的智能电网认证密钥协商协议RE-AKASG(Robust ECC-based Authentication Key Agreement Protocol in Smart Grid),并通过安全性分析论证了协议的安全性。

1 ECC技术理论基础

ECC 也叫椭圆加密算法,由Koblitz 和Miller 两人于1985 年提出。ECC 加密算法是一种公钥加密技术,以椭圆曲线理论为基础。利用有限域上椭圆曲线的点构成的Abel 群离散对数难解性,实现加密、解密和数字签名。将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,就可以建立基于椭圆曲线的对应密码体制。

ECC 技术的相关定义如下所示:

点加运算:已知椭圆曲线E(a,b)上两点P,Q,作直线PQ 交于E(a,b)上另一点,过作y 轴的平行线交E(a,b)上另一点于R,规定P+Q=R。

倍点运算:若P,Q 两点重合(P=Q),则过P 点作E(a,b)的切线交于E(a,b)的另一点,过作y 轴的平行线交E(a,b)上另一点于R,将P+Q 作为倍点运算,此时R=P+Q=2P。

标量乘运算:在正整数集上取标量k,将(k 次)作为标量乘运算,记作R=kP。

椭圆曲线离散对数问题:已知椭圆曲线E(a,b)上两点,P,R=kP,其中k,由P,R 求解k 的问题被称为椭圆曲线离散对数问题(ECDLP),这个问题目前在数学上没有有效的解决办法。

2 RE-AKASG协议描述

本节结合智能电网应用场景,提出基于ECC 的安全增强的认证密钥协商协议,主要用于智能电网终端设备和智能电网监控中心之间密钥协商与相互认证。协议部分符号含义表如表1 所示。

表1 部分符号含义

本文提出的RE-AKASG 协议分为三个阶段,初始化阶段、注册阶段与认证阶段,本节按三个阶段分别介绍协议的执行过程。

(1)RE-AKASG 协议初始化阶段

在初始化阶段,可信第三方服务器S 选择两个大素数p,q,Fp作为椭圆曲线E(a,b):y2=x3+ax+b 上的有限域,选择a,b ∈Fp,并且满足4a3+27b2(mod p)≠0。除此之外,点P ∈E(Fp)是椭圆曲线的基点,q 作为由P生成的子群的阶。选取单向散列函数H(.)与对称加密、解密算法E(.),D(.),S 将可信任的协议实体身份标识录入数据库,其中每个协议实体设备的身份标识IDx采用硬件保护。S 选取一个随机数k ∈Z*q作为S 的长期私钥,计算K=k·P 作为S 的公钥,并通过公开信道将公钥S 下发给协议实体A,B。

(2)RE-AKASG 协议注册阶段

RE-AKASG 协议注册阶段示意图如图1 所示。

图1 RE-AKASG协议注册阶段示意图

图1 为RE-AKASG 协议注册阶段示意图。以协议实体A 为例,在协议注册阶段,协议实体A 首先选取随机数作为注册阶段的私钥,计算与S 通信的注册密钥kas=ma·K=ma·k·P,并计算A 的公钥Ma=ma·P,利用kas 将身份信息IDA加密,与Ma一起发送给S。S 在收到消息后,选取协议对实体A、B 相同的 随 机 数,计 算 Xab=xab·P ;计 算Lab=(k+xab)·P,ksa=k·Ma=k·ma·P。并利用与kas 相等的密钥ksa 解密IDA,随后计算A 的认证私钥ta=k+xab+k·H(H(IDA)||Lab),并与Xab加密后一并发送给协议实体A,协议实体A 解密得到Xab,ta,结束注册阶段。

协议实体B 的注册阶段与A 完全相同,注册阶段完成后得到Xab与tb。

(3)RE-AKASG 协议认证阶段

RE-AKASG 协议认证阶段示意图如图2 所示。

图2 RE-AKASG协议认证阶段示意图

图2 为RE-AKASG 协议认证阶段示意图。在该阶段,协议实体A 与协议实体B 完成会话密钥协商与相互认证工作。首先,协议实体A 选取会话随机数,计算Qa=qa·P,Ra=IDA·P 并生成时间戳TSa。随后,协议实体A 计算Ua=qa+IDA+ta·H(Qa||Ra||TSa),计算身份标识的散列值H(IDA),并用Xab将Ua进行异或加密得到Wa,该步骤结束后,将H(IDA),Wa,Ra,Qa,TSa通过公开信道发送给协议实体B。协议实体B 接收到A 的消息后,首先解密得到Ua,并计算Ua·P,判断Ua·P 的 数 值 计 算 结 果 与 (Qa+Ra)+((K+Xab)+K·H(H(IDA)||K+Xab))·H(Qa||Ra||TSa)是否相等,若结果相等,再验证时间戳TSa的新鲜性,若验证通过,则选取会话随机数,计算Qb=qb·P,Rb=IDB·P 并生成时间戳TSb。该步骤后协议实体B 按照以下方式计算得到Ub=qb+IDB+tb·H(Qb||Rb||TSb),计算身份标识的散列值 H(IDB) ,并按照如下方式计算得到Kab=(qb+IDB)·(Qa+Ra),该步骤后计算得到与A 的会话密钥SKab=H(H(IDA)||H(IDB)||Kab),随后生成校验值h1=H(Rb||Qb||SKab||Ra||Qa),并用Xab将Ub进行异或加密得到Wb,将H(IDB),Wb,Rb,Qb,TSb,h1通过公开信道发送给协议实体A。A 接收到消息后,首先用Xab对Wb进行解密得到Ub,计算Ub·P,并判断Ub·P 的数值计算结果 与(Qb+Rb)+((K+Xab)+K·H(H(IDB)||K+Xab))·H(Qb||Rb||TSb)是否相等,若结果相等,再验证时间戳TSb的新鲜性 ,若 验 证 通 过 ,则 通 过 计 算 得 到Kba=(qa+IDA)·(Qb+Rb)。该步骤结束后,计算与B 的会话密钥 SKba=H(H(IDB)||H(IDA)||Kba),生成校验值h2=H(Ra||Qa||SKba||Rb||Qb),比较h2与h1是否相等,若二者相等,将h2发送给协议实体B。B 收到h1之后,对比h1与h2是否相等,若相等,则认证成功。

3 RE-AKASG协议安全性分析

本节将对本文提出的RE-AKASG 协议进行密码分析,论证协议能够满足包括已知密钥安全性、抗模仿攻击、抗密钥泄露攻击、完全前向安全性、抗重放攻击、抗已知会话特定临时信息攻击在内的安全属性。各安全属性定义如下:

已知密钥安全(Known-key security):如果攻击者获得了之前的一些会话密钥,他仍然不能获取本次会话密钥。

抗模仿攻击(Impersonation attacks resistance):如果攻击者不知道协议参与者A 的长期私钥,他将不能够模仿A 和其他参与方通信。

抗密钥泄露攻击(Key compromise impersonation attacks resistance):如果攻击者获得了协议参与者A 的长期私钥,在不知道其他参与方的长期私钥的情况下,攻击者不能够假冒其他参与方与协议参与者A 通信。

完全前向安全性(Perfect forward secrecy):所有协议参与者的长期私钥的泄露不影响之前建立的会话密钥的安全性。

抗重放攻击(Replay attacks resistance):攻击者无法发送一个目的主机已接收过的包,来达到欺骗系统的目的

抗已知会话特定临时信息攻击(Known session specific temporary information attacks resistance):临时中间结果的泄露不会影响其他会话的会话密钥的安全性。

RE-AKASG 协议的安全性分析如下:

(1)已知密钥安全性

由第2 节可得,RE-AKASG 协议的会话密钥为SKab=H(H(IDA)||H(IDB)||Kab),其中Kab的值由与会话相关的qb,Qa共同决定,其中qb,Qa的值随会话的不同而不同,即使攻击者获取了先前的会话密钥,也不能借此获取本次会话的会话密钥,RE-AKASG 协议具有已知密钥安全性。

(2)抗模仿攻击

RE-AKASG 协议的认证阶段验证步骤主要为判断Ub·P 以及Ua·P 的数值计算结果。由于攻击者无法获取由可信第三方服务器S 注册阶段通过加密下发的ta,tb,因此攻击者无法构造Ua与Ub,故RE-AKASG 协议能够抵抗模仿攻击。

(3)抗密钥泄露攻击

如 果 ta,tb被 攻 击 者 获 取 ,由 于Ua=qa+IDA+ta·H(Qa||Ra||TSa),攻击者无法获知qa,IDA的值,故无法计算得到Ua。同理,由于Ub=qb+IDB+tb·H(Qb||Rb||TSb),攻击者无法获知qb,IDB的值,故无法计算得到Ub。此外,由于Kab=(qb+IDB)·(Qa+Ra),Kba=(qa+IDA)·(Qb+Rb),会 话密钥与ta,tb无关。因此,密钥泄露对RE-AKASG 协议的安全性并未会造成影响,协议能够抵抗临时密钥泄露攻击。

(4)完全前向安全性

其中Kab的值由与会话相关的qb,Qa共同决定,其中qb,Qa的值随会话的不同而不同,即使攻击者获取了ta,tb,由于攻击者无法获取先前各次会话的qa与qb,因此攻击者不能计算的得到先前会话的会话密钥,故RE-AKASG 协议具有完全前向安全性。

(5)抗重放攻击

由于协议实体在认证阶段通信的过程中会附带时间戳信息,协议实体根据时间戳信息能够判断消息的新鲜性,故RE-AKASG 协议能够抵抗重放攻击。

(6)抗已知特定会话临时信息攻击

协议的会话密钥为SKab=H(H(IDA)||H(IDB)||Kab),其中Kab=(qb+IDB)·(Qa+Ra),即使临时信息qa与qb被攻击者获知,由于协议具有匿名性,攻击者无法获取协议实体的身份标识IDA与IDB,从而无法计算得到协议的会话密钥,故RE-AKASG 协议能够抵抗已知特定会话临时信息攻击。

4 结语

本文立足于智能电网应用场景,提出了安全增强的基于ECC 技术的智能电网认证密钥协商协议REAKASG,就该协议初始化阶段,注册阶段以及认证阶段的执行过程进行了详尽的描述,本文第三节通过对RE-AKASG 协议的安全性分析,证明了RE-AKASG 协议的安全性,本文的研究成果对后续研究具有启示意义。

猜你喜欢
会话攻击者密钥
基于贝叶斯博弈的防御资源调配模型研究
幻中邂逅之金色密钥
幻中邂逅之金色密钥
QQ和微信会话话轮及话轮转换特点浅析
正面迎接批判
Android密钥库简析
正面迎接批判
用绘画导入英语教学
一种新的动态批密钥更新算法
年龄大小的种种说法