张瑞
(上海电力大学,上海,200090)
智能电网已逐渐取代传统电网,实现电网智能化、自我监测、远程控制的功能。像智能电网中的传感器、智能电表和控制系统等都可以促进电网系统的双向通信。智能电网在进行双向通信时,存在不同的网关等级,由控制中心到城市网关(BAN)再到用户网关(HAN)(也即终端用户)有上下级之分,具有各自的访问权限,也是电网通信过程中必须考虑的问题。智能电网因其强大而特殊的功能特点而流行,同时智能电网的安全通信也越来越多地受到研究者的关注。然而,智能电网通信中存在很多安全隐患。通信过程中很有可能会使消费者的信息泄露,导致人身财产安全的损失。信息泄露一种是传送过程中不法分子的恶意攻击获得,一种是管理者为了利益而出卖消费者信息。前者可通过信息加密传输保证安全,后者就要管理者本人具有很强的诚信,能够抵制住利益的诱惑。
为了保证信息传输过程的安全,研究者不断探索,提出了很多相关方案。Mahmood K等人提出基于混合的Diffie–Hellman轻量级认证方案,使用AES和RSA来生成会话密钥,没有降低安全性的前提下降低了计算和通信开销,但开销依然较大;Abdallah A等人提出一个轻量级的安全与隐私保护方案,该方案采用非对称加密及签名加密实现电量通信预测,开销较大。上述方案普遍都没有考虑到电网通信过程中上下级的特殊关系,不同级别网关存在不同访问权限即不能实现细粒度访问。
针对上述存在的问题,本文提出基于层次密钥管理的细粒度访问的方案。智能电网远程控制占据主要地位,上下级关系明显,存在不同的访问权限。层次密钥就是来解决这个问题,上级可以知晓下级密钥,但下级无法得知上级密钥,进而可以实现细粒度的访问。
本文提出一种采用层次密钥的方案来实现智能电网安全通信并保护数据的隐私,其系统结构模型如图1所示。该系统模型由控制中心(control central)、NAN(neighbor area network)、BAN(building area network)、HAN(home area network)、可信第三方五部分组成。
图1 系统结构模型
如图系统模型中,假设可信第三方已经为各个部分分配了各自的密钥,控制中心通信密钥为KCC,依次BAN、HAN对应通信密钥分别为KBAN、KHAN。各个网络部分收到分配的密钥自身保存。
在系统中我们需要设置一个公告牌,用来公示计算过程所用的单向哈希函数和计算所得的公共参数α,其中α是一个二维向量。各级凭访问控制权限对公告牌上的信息进行修改操作,而不能越权操作。具体操作过程如下:
假设公告牌已公布了单向哈希函数,有系统结构模型可得各上下级关系。下级网络通信密钥经安全通道发送给直接上级网络服务器,例如,HAN网络用户将密钥KHAN经安全通道发送给BAN网络服务器,BAN收到KHAN后,计算得
同样可得
然后将所计算得到的公共参数都公布到公告牌上,上级删除其所收到的下级密钥,这样就不会增加额外的存储负担。
密钥导出分两种情况:
(1)直接上下级关系时,通过公告牌上的信息,一步即可计算得到:
(2)如果进行串级通信,需要找准通信路径,多次利用上述公式依次求出对应密钥,从而得到所需密钥。
当在系统结构中加入一个新的网络BANj时,相应的系统模型会跟着改变。该网络BANj加入系统结构时需要向控制中心和可信第三方认证注册,此时可信第三方会给新加入的BANj分配一个密钥KBANj,并秘密传给它的所有的直接上级,之后其直接上级NAN,利用公式计算关系参数α.并将α公布在公告牌上。BANj还需要向它的所有直接下级索取它们的密钥,其下级HAN认证它确实是自己的直接上级后将密钥KHAN秘密发送给BANj,BANj套用公式计算,并将αBjH公布于公告牌上。
(1)底层网络节点删除
若是底层某个网络节点删除,如住户HAN1搬离该处,只需将其从系统中删除,并修改结构模型,同时对应上级BAN1将公告牌上对应的公共参数αB1H1删除,其他不做任何修改。
(2)非底层网络节点删除
若删除节点不是底层节点时,操作稍微复杂一些。例如当BAN1要从系统中撤离出去时,系统结构就要发生变化,它的下级HAN1-3就要直接通过NAN连接至控制中心。此时,为了防止秘密泄露,可信第三方需要给重新分配密钥,并经控制中心计算出相应公共参数,同时删除公告牌上对应的参数,即完成删除操作。
如果某一节点需要修改密钥,需要向可信第三方发送请求认证,同意后便可重新分配密钥完成修改,同时公告牌上的相关参数也要发生改变。如节点BAN1要修改密钥,其需要向TA发送请求认证,认证通过TA将一个新的密钥发送给网关收到新的密钥后,需要将此密钥经安全通道发送给控制中心,控制中心利用公式,计算得到新的参数,将公告牌上的原参数删除。网络节点需要重新计算参数并删除原有参数,进而完成节点密钥的修改。
可信第三方(TA)已给各个网络分配了对称密钥KCC、,然后TA需要给控制中心、BAN网关提供签名密钥,防止出现重放攻击。这里使用NTRU加密系统中的签名方案,签名密钥生成方法如下:
定义:首先确定一个模数q,密钥大小为d,认证参数NB。TA选择两个多项式f和g,且f mod q和g mod q可逆,f、g多项式满足d+1个系数为1,d个系数为-1,其余系数为0。首先TA计算签名公钥h为
该通信过程如下:
(1)CC→BAN:控制中心将任务包M进行签名加密。由M得出
(3)HAN→BAN:用户HAN收到加密后的任务包后,先加密验证包的合法性。如果合法,用户将其年月或日用电量xi签名加密,即,然后连同自己身份i发送给BAN网关。
(4)BAN→CC:BAN网关收到来自HAN加密的各用电量数据包后,解密验证签名和时间戳等数据的合法性。验证通过后,BAN计算总电量,然后BAN网关需要向控制中心发送电量x。BAN先对总电量x进行签名,然后再用自身密钥加密发送给控制中心。BAN从x中创造 x1, x2(mod q),得出
以上为整个网络简单的通信过程,从消息请求到消息回复,使用了签名加密和时间戳的方法,更加安全,且可防止重放攻击。
我们提出的方案是为了保证用户信息的隐私,并能完成系统安全通信。方案保证了信息传送的机密性、完整性和可用性,下面对提出方案的安全性进行分析。
本文提出的方案通信采用层次密钥对称加密消息进行传送,用户用电量和消费价格只有其对应上级可以获得,攻击者无法解密得到用户消息,保证了用户的隐私,同时还保护了信息的机密性,进而实现了细粒度安全访问。方案中实现了对电量的签名加密传送,并引入时间戳,如果攻击者中途截取该消息不仅不能获得明文,也不能伪造或更改数据信息,不能通过签名、时间戳的合法验证,进而可以判断数据的合法性,因此数据信息的完整可用性得到了很好的保障。
通信开销和计算开销是许多通信环境中必须考虑的问题,下面对文中提出的方案进行分析。
4.2.1 通信开销
为了简单起见,由文献[5]可知,假设时间戳和网关身份ID的大小一般为16字节,对称和非对称加解密算法的安全大小为128字节。文中提出的方案BAN网关和HAN网关间通信开销和文献[2]比较结果如表1所示。
表1 通信开销
4.2.2 计算开销
这里主要分析HAN和BAN网关两个实体的计算开销,主要涉及对称加密和解密TSED、非对称加密和解密TASED,哈希Th,签名Ts和认证TV。对称加密解密时间一般在0.0046ms,非对称加解密时间TASED为3.85ms,乘法操作时间0.6ms,哈希操作时间0.0023ms。文中方案和文献[3][4]进行计算开销的比较结果如表2所示。
表2 计算开销
由表2可知,文中提出的方案计算开销相较于文献[3][4]是有所降低的,节约计算成本,提高了运行效率。
智能电网中消费者隐私和通信安全是一直是国家电网发展和建设的重点内容,文中我们采用层次密钥加上签名加密的方式来实现用户和控制中心的安全通信,完成控制中心对电量的统计过程。该方案既可以保证信息的安全传输又可以保证的信息的完整可用性。我们的分析结果展示了提出的方案的满足基本的安全要求,并降低了计算和通信开销。