基于区块链的综合能源管理系统身份验证方法
2021-03-24刘英莉
周 琦,沈 韬,朱 艳,刘英莉
1.昆明理工大学信息工程与自动化学院,云南昆明650500
2.昆明理工大学云南省计算机技术应用重点实验室,云南昆明650500
随着近年来经济的飞速发展,商业和服务业等第三产业的整体占比升高,分布式能源负荷的比例也随之增长,能源的需求更分散,更灵活。在此背景下,传统的能源供给模式与交易市场的弊端逐步显现—— 损耗的经济效益与不稳定的集中供能技术难以继续支撑现阶段能源系统的发展[1]。因此,信息时代新型能源体系的建立势在必行。作为世界能源技术的重要发展方向,综合能源系统重新定义了个体与能源的关系,让每个人不仅仅是能源的使用者,更要成为能源的生产者和管理者。相对于传统的集中式供能系统,综合能源系统有多样化、动态化、复杂化的特点。凭借多能互补与复杂信息流通的特点,综合能源系统不仅能及时掌控突发的电力峰值与中断等情况,还可以更灵活地安排能源消耗。要实现综合能源系统高效而灵活的调配策略,关键在于其核心的综合能源管理系统。
综合能源管理系统旨在合理地结合用能设备和能源的生产与存储模块,建立区域智慧能源网络,消除用户因权衡用能价格与生活质量而导致的忧虑。从用户角度来看,这与当前普遍提倡的智能家居概念息息相关。综合能源管理系统的出现使得智能家居可以结合实时能耗监控和需求响应技术,依照用户的负荷需求来协调日常用能行为与偏好,从而降低整体能源使用成本,提高能源利用率。
区块链3.0 时代的到来,意味着区块链技术可以在能源系统中充分发挥其自身去中心化、匿名性、防止篡改等特点,更简便更高效地被人们广泛使用。区块链提供开放、分布式的数据体系,使得参与者能够匿名参与交易。区块链具备不可篡改、可审计、可追踪等特性,可以用来构建一个全新的信任体系。在此体系中,每一笔交易数据将包含独有的信任信息,并实现数据来源共享,从而大幅提升了综合能源管理系统的安全性与整体效率。由此看来,区块链技术安全而可信的记账机制与综合能源管理系统中多区域节点生产、消纳的交易模式十分契合。
文献[2] 提出了一种在不依赖可信第3 方的情况下可以匿名协商能源价格并安全执行交易的方法。文献[3] 将配售能源交易机制编写成智能合约,设计了考虑网络约束和多次背包问题的能源交易撮合模型以提高交易效率和用户体验。文献[4] 提出基于区块链的架构来管理能源系统中对等能源交易的运行,支持各个节点之间的P2P 能源交易。文献[5] 提出基于以太坊区块链技术的去中心化电能交易方法,能将用户在实际负荷与发用电计划出现偏差时的成本最小化。文献[6] 以智能合约技术和属性基加密技术实现身份信息共享,保证各方访问权限。现有文献大多研究区块链技术在能源交易中的应用机制及智能合约的改进方案,而对于区块链技术如何应用于综合能源管理系统,以及在综合能源背景下能源交互的身份验证隐私保护问题则研究得较少。
本文在现有研究的基础上提出了一种基于区块链技术的综合能源管理系统框架,并设计了一种特殊的零知识证明身份验证方法,这样任何用户都不会直接将其个人信息存储于数据系统,而是用一系列融合与加密手段将这些信息转化为硬件地址,从而实现了用户与各主体之间自动安全可靠的身份验证模式,保护了用户的隐私。
1 能源互联网与综合能源管理系统
1.1 能源互联网
随着可再生能源发电技术和互联网技术的快速发展,能源互联网成为传统能源系统发展的必然趋势[7]。能源互联网是一种将互联网与能源生产、传输、存储、消费和能源市场相结合的新型能源产业发展形式[8]。以往中国电网、热网、燃气网均作为个体独立运行,造成资源配置冗余或能源需求高峰压力过大[9]。然而在能源互联网架构中,可以利用多种能源之间的互补特性打破行业间能源壁垒,起到削峰填谷、减少资源浪费以及促进多种能源耦合发展的作用。此外,多能耦合的系统关系复杂,各节点的利益需求多种多样。因此,需要智能化的信息网络支撑这一庞大的能源系统,实现多方参与互动并保证能源互联网中各个节点的安全运作。
1.2 综合能源管理系统
当今集中式能源系统的能源利用率低,环境污染严重。因此,既能满足系统内多元化用能需求,又能有效提升能源利用效率的新型一体化综合能源管理系统逐渐走进了人们的视野[10]。由于用户侧在整个综合能源管理系统中的用能占比较大,人们对于能源的高效利用和智能化管理的需求逐步上升。综合能源管理系统作为能源互联网实现的一种形式,能够充分利用大数据、物联网以及区块链技术建立综合能源管理服务平台,方便用户进行需求侧管理。依据需求响应计划改变用户的能耗习惯,可以在降低用户用能成本的同时提高能源管理的效率。
2 问题陈述
能源系统的核心需求与矛盾主要集中在两方面:宏观与微观,也就是整体效益与个体效益。从宏观角度看,能源消耗的监管、整体经济效益的透明和相关政策的执行构成了能源系统的核心需求。在传统集中式能源供应系统中,电力消耗的随机性和间歇性特点使得负荷聚合器在供应时出现持续浮动偏差,不利于能源的利用效率与供应的安全稳定。综合能源管理系统能准确把握个体用户的用电需求,有效平抑间歇性能源负荷波动,降低整体系统峰谷落差,提升整体经济效益。在政策执行方面,例如权责贪腐所导致的能源经济数据造假问题、用户伪造自己的用电信息以谋取相关政策补贴问题等,都为能源系统的管理增加了难度。
从微观角度来看,个体用户所关心的问题主要是新技术对生活质量所带来的直接影响,如用电价格的浮动、电力供应的稳定性等。抛去纯粹的能源技术性问题,用户的隐私泄漏始终是综合能源管理系统智能化与规模化面临的挑战之一。事实上,反观宏观角度所提到的能源消耗的监管、整体经济效益的透明和相关政策的执行等,无一不涉及到及时准确的用户数据交换。在综合能源管理系统中,负荷聚合器聚合用户的负荷信息并上报给能源供应中心。当每个用户向其对应的负荷聚合器实时传递电力需求与使用情况时,会出现复杂的数据交互。为了加强隐私保护,在数据交互过程中必须有第3 方信誉保证,以避免用户将隐私信息集中托付于任何单一机构。
3 解决方案
区块链技术在综合能源管理系统中的应用将解决上述问题。下面将从区块结构、系统框架和身份验证三方面进行研究。
3.1 区块结构
区块链是由区块头和区块体两部分共同构成的按时间顺序存储的链式数据结构[11]。如图1左侧所示,区块头包括版本号、父区块Hash、时间戳、Merkle 根、难度目标、随机数,详细描述如表1所示[12]。区块体则记录了所有产生的交易,且每一笔交易的Hash 值都是唯一的,这样任何一笔交易数据的更改都会影响区块头中的Merkle 根,如图1右侧所示。因此,区块链的结构能够有效地防止交易数据的篡改,确保了交易数据的安全性和完整性。
图1 区块结构Figure 1 Block structure
表1 区块头结构表Table 1 Block header structure table
3.2 基于区块链的综合能源管理系统框架
基于区块链的综合能源管理系统框架拟将能源供应商、系统管理商、大型购能用户与负荷聚合商作为区块链网络中的不同对等方进行平等交互,具体结构如图2所示。其中,能源供应商为系统管理商和大型购能用户提供电、气等二次能源。系统管理商负责从能源供应商中购买能源,投资并运营风电、光伏、热电联产、储能等设备,保证用户需求及其自身售能的收益。负荷聚合商将综合能源系统内中小型用户负荷需求聚合后参与综合能源管理系统运行,减少了能源市场的负担。具体框架与交互过程如下:系统管理商接收到负荷聚合商整合的负荷需求后从能源供应商协商购能,并优化自身设备出力,将能源传递给负荷聚合商完成交易;大型购能用户可直接向能源供应商发送请求完成交易。
图2 基于区块链的综合能源管理系统框架Figure 2 Integrated energy management system framework based on blockchain
区块链在该网络的应用,解决了用户与负荷聚合商、用户与用户、能源供应商与系统管理商等渠道的数据交换中的双向信任问题。在实际场景中,综合能源管理系统可能涉及到需要保密的非公开信息,例如身份验证、资产查验、能源供需情况回报等,而区块链技术的数据透明性与身份脱敏性特质正好可以提供完整的公证验证与加密存储方案。区块链的共识机制有效地保证了交易的正确性与时效性,有利于准确及时地发放相关补贴;区块链的分布式数据库存储方式也大大节约了交易机构的服务器成本,同时保证了交易数据的透明与安全[13]。综合能源管理系统日渐成熟,但在整合诸多能源、信息、资金数据的过程中面临更加复杂的情况,而区块链技术将赋予综合能源管理系统实现高可信、易溯源、平等决策等自动化交易流程的能力。例如:个体能源单位也可以享受共享经济带来的红利,将多余的能源以租赁的方式提供给家庭储能设备、电动充电设备等,而区块链技术可以建立安全高效的授信机制,解决共享经济中的信任难题。纵观综合能源管理系统,信任为解决一切问题的核心。在信息安全所涉及的诸多场景中,身份验证是其中交互频次最高且最易受攻击的功能模块。
3.3 基于零知识证明的身份验证方法
现代身份验证作为系统安全的基础,有许多验证方式是基于生物信息的。因此,生物信息的泄漏可能直接导致严重且不可逆的隐私侵犯后果。为此,本文设计了一种特殊的零知识证明身份验证方法,即便数据库被攻破攻击者也无法单独从数据中判别数据的含义以及这些数据与用户的对应关系。身份验证方法的具体步骤如下:
步骤1用户信息初始化
用户的生物信息如指纹、人脸等可以作为传统身份验证中数字密码的替代信息,具有不重复且同类信息不可变等特性。该系统利用密码学手段将用户的登录验证信息转化为多种加密密钥与一串硬件存储地址,其中登录信息包括用户名与密码,而密码即为上文提到的用户生物信息。当用户注册时,系统将为每一用户随机生成一段身份识别码作为系统内后续用户身份验证的唯一凭证。该编码将根据上述用户登录信息所衍生的各种加密密钥生成密文,并存储于对应的硬件存储地址。当用户登录时,系统将以同样的加密转化方式把用户的登录信息转化为硬件地址与各种加密密钥。若登录信息正确,则系统将定位并解密出对应的用户信息;反之则验证失败。该系统本身并不直接保存任何用户的信息,因此即便数据硬件被攻破也能确保攻击者无法从中获取任何有效的或与具体用户对应的信息。
用户信息初始化的具体步骤如下:
步骤1-1在新用户注册期间,用户可以自定义用户名(username) 并录入生物信息作为验证密码(password)。
步骤1-2系统将结合username 与password 作为blake hash 算法中的message 与salt,合并生成一段64 bit 的数组如图3所示,并以16 bit 为段落拆解出4 段数组,其中3 段分别作为加密密钥、HMAC 密钥、随机码,另一段16 bit 数组作为硬件存储地址,如图4所示。
图3 用户信息加密流程Figure 3 User information encryption process
图4 用户加密信息拆分详解Figure 4 Detailed explanation of user’s encrypted information
步骤1-3随机生成系统内部用户唯一身份识别码。
步骤1-4使用步骤1-1 至步骤1-3 中生成的加密密钥与随机码,以CFB + XOR 算法加密数据用户信息,通过HMAC 密钥生成HMAC 标签以便用户登录时进行信息完整性验证,并将加密后的数据连同HMAC 标签一起存储到硬件存储地址。CFB 的加/解密原理在本质上使用自同步的流密码,这样每一分段的文件内容对另一分段的内容就可以进行辅助加密,其流程如图5所示。
图5 加密流程Figure 5 Encryption flow
令Ci代表第i段的密文,Pi代表第i段的明文,其操作过程如下:
HMAC 的核心原理如下:数据发送方在数据存储/运输时按照含有密钥的散列函数算法将原message 生成一个标签——HMAC 标签,并与原数据一同存储/传送;数据接收方收到信息后用同样的HMAC 密钥对原数据进行HMAC 标签计算,并将运算结果与数据有关的标签进行对比。若两者相同,则证明数据未被篡改,反之则证明数据可能有所变动,如内容丢失或被第3 方篡改。
步骤1-1 至步骤1-4 的用户数据初始化过程如图6所示。
图6 用户数据初始化Figure 6 User data initialization
步骤2用户信息验证
登录时只需验证用户输入数据转换而来的密钥信息即可获得用户对应的全部数据,而该数据并不包括用户的任何输入信息。
步骤2-1本文首先生成密钥信息,得到该长密钥对信息内容与完整度加密的内容。
步骤2-2首先验证HMAC 值,可以确保保存的数据未经变动,该验证过程如图7所示。
图7 HMAC 验证Figure 7 HMAC validation
接下来读取用户的数据以获得当初随机生成的身份识别码,用作后续系统操作中的唯一身份验证凭证,具体过程如图8所示。
图8 获取用户信息Figure 8 Getting user information
4 结 语
本文在能源互联网的背景下,利用区块链去中心化、不可篡改、可追溯等特点提出一种基于区块链技术的综合能源管理系统框架。在此架构中,每一笔交互数据都完整记录并实现数据来源共享,从而大幅提升了综合能源管理系统的信息安全性与整体运行效率。在此基础上提出一种基于零知识证明的身份验证方法,使得任何用户的个人信息均不直接存储于数据系统中,而是利用一系列的融合与加密手段将其身份信息转化为硬件地址,这样即使数据库被攻破,也能确保攻击者无法单独从数据中判别数据的含义及其与用户的对应关系。研究表明,区块链技术可以为综合能源管理系统的信息安全与信用体系提供重要技术支撑,更好地满足用户需求,可见本文的研究工作进一步推动了区块链技术在综合能源系统中的应用。