您好, 访客   登录/注册

基于区块链的泛在电力物联网身份认证技术研究

来源:用户上传      作者:

  摘   要:为了实现泛在电力物联网中的万物互联,安全、便捷的身份可信认证是必要的前提。文章借鉴互联网企业在物联网领域采用“区块链+身份认证”的成功经验,提出在泛在电力物联网中引入区块链来构造身份认证服务模型,在架构上通过去中心化来降低数据泄露的风险,并促进多种信息和方式的融合。首先探索了区块链的体系架构以及关键技术,确立了技术基础,然后研究了基于区块链分布式信任服务合约机制,构建通用联盟链身份认证模型。
  关键词:区块链;泛在电力物联网;身份认证;联盟链;数据账本
  中图分类号:TP3-05          文献标识码:A
  Abstract: In order to achieve the interconnection of all things in the SG-eIoT(electric internet of Things), secure and convenient identity authentication is a necessary prerequisite. This article use the successful experience of Internet enterprises in the field of Internet of Things in adopting blockchain + identity authentication for reference, and proposes to introduce blockchain to construct identity authentication service model in the SG-EIOT(electric internet of Things). In the framework, the risk of data leakage is reduced by decentralization, and the integration of various information and modes is promoted. Firstly, the architecture and key technologies of blockchain are explored, and the technical foundation is established. Then, how to build a universal alliance chain identity authentication model based on blockchain distributed trust service contract mechanism is studied.
  Key words: blockchain; SG-eIoT; identity authentication; alliance chain; data account book
  1 引言
  国家电网公司在2019年“两会”报告以及在多个场合都提到了“三型两网”的战略目标,这里所说的“两网”分别是“坚强智能电网”和“泛在电力物联网”。泛在电力物联网覆盖能源电力“云、网、端”,是与智能电网“共同生存”的公司“第二张网”。所谓“泛在物联”是指任何时间、任何地点、任何人、任何物之间的信息连接和交互。“泛在电力物联网”将电力用户及其设备、电网企业及其设备、发电企业及其设备、供应商及其设备以及人和物连接起来,产生共享数据,为用户、电网、发电、供应商和政府社会服务。随着建设不断推进,类型复杂、数量巨大的物联设备将广泛接入,设备的安全身份认证及访问授权将面临严重的安全风险。在当前安全防护碎片化、物联身份认证标准缺失、体系化支撑能力不足的情况下,需要建立标准化、体系化、多层次覆盖的物联网身份认证体系,支撑泛在电力物联网安全落地。
  传统身份认证采用中心化的身份管理系统,中心化登录[1]过程,如图1所示。中心化管理的缺点也是显而易见的,一旦身份提供商 (IDentity Provider,IDP)不可用或丢失数据,所有的用户和应用都将被影响。
  当前,国内外对于身份认证的研究重点是改变目前主流的基于密码的在线身份验证技术,保证各厂商开发强认证技术间的互操作性,逐步消除用户对密码的依赖,包括致力于“无密码体验”[2](生物特征)的UAF标准和“双因子體验”(口令和特定设备)的 U2F标准。同时,传统的身份管理机制在泛在电力物联网的应用中还面临着问题,例如各个单位的数据孤岛不能沟通、中心化管理系统的数据泄露风险高、数据认证格式和安全级别不同。
  随着比特币近年来的快速发展与普及,区块链技术的研究与应用也呈现出爆发式增长态势。目前,区块链有Ripple、万向区块链实验室等应用项目,这些项目产品在应用中受到了学术专家的广泛关注,同时也在不断地更新和发展中[3]。2018年5月腾讯TUSI物联网联合实验室发布了身份区块链产品,为同一用户不同场景的身份提供交叉认证服务,通过TUSI可信标识串联多个场景下人与物的关联关系,将脱敏后的可信身份标识通过区块链索引给联盟成员,为物联网时代提供更高效可控的用户身份鉴权方案与业务应用接口。安全是身份认证场景的前提,在物联网领域,让更多企业、更多设备之间建立可信关系,这也是深度契合万物互联的目标。
  借鉴互联网企业在物联网领域采用“区块链+身份认证”的实践经验,本文提出泛在电力物联网引入区块链来实现身份服务的统一与激励[4],在架构上通过去中心化来降低数据泄露的风险,并促进多种信息和方式的融合。从跨域、跨联盟身份管理的应用种类来看,采用的区块链模型不同于比特币为代表的公有链,任何人都可以参与记账,也不是只能在一个组织或实体内部记账的私有链,而是典型的联盟链,设定多个组织、人、企业进行认证等。本文从泛在电力物联网的安全身份认证需求出发,以区块链的原理和架构为基础,提出了基于区块链的泛在电力物联网身份认证体系架构和设计原则,为电力物联网系统建设提供参考。   2 区块链体系架构及关键技术
  区块链是分布式存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块连技术是利用链式数据结构验证与存储数据,利用分布式节点共识算法生成和更新数据,利用密码学的方式保证数据传输和访问的安全,利用由自动化脚本代码组成的智能合约,编程和操作数据全新的分布式基础架构与计算范式[5]。
  2.1 体系架构
  区块链技术的体系架构模型如图2所示。区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等技术;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。
  (1)数据层
  区块链是去中心化系统各节点共享的数据账本。每个分布式节点都可以通过特定的哈希算法和Merkle树数据结构,将一段时间内接收到的交易数据和代码,封装到一个带有时间戳的数据区块中,并链接到当前最长的主区块链上,形成最新的区块。
  (2)网络层
  网络层封装了区块链系统的组网方式、消息传播协议和数据验证机制等要素。结合实际应用需求,通过设计特定的传播协议和数据验证机制,可使得区块链系统中每一个节点都能参与区块数据的校验和记账过程,当区块数据通过全网大部分节点验证后,才能记入区块链。
  (3)共识层
  Pow 共识的核心思想是通过引入分布式节点的算力競争,来保证数据一致性和共识的安全性。在比特币系统中,各节点基于各自的计算机算力相互竞争,来共同解决一个求解复杂但验证容易的SHA256数学难题,最快解决该难题的节点将获得区块记账权和系统自动生成的比特币奖励。
  (4)激励层
  区块链共识过程通过汇聚大规模共识节点的算力资源,来实现共享区块链账本的数据验证和记账工作,因而其本质上是一种共识节点间的任务众包过程。去中心化系统中的共识节点本身是自利的,最大化自身收益是其参与数据验证和记账的根本目标。因此,必须设计激励相容的合理众包机制,使得共识节点最大化自身收益的个体理性行为与保障去中心化区块链系统的安全和有效性的整体目标相吻合。区块链系统通过设计适度的经济激励机制并与共识过程相集成,从而汇聚大规模的节点参与并形成了对区块链历史的稳定共识。
  (5)合约层
  合约层封装区块链系统的各类脚本代码、算法以及由此生成的更为复杂的智能合约。合约层建立在区块链虚拟机之上的商业逻辑和算法,是实现区块链系统灵活编程和操作数据的基础。智能合约无须彼此信任,因为智能合约不仅是由代码进行定义的,也是由代码强制执行的,完全自动且无法干预。到了约定时间,机器就自动执行。
  2.2 关键技术
  本文主要从区块结构、非对称加密算法、分布式结构和智能合约四个部分进行阐述。
  (1)区块结构
  区块链是由一个个区块组成的链。每个区块分为区块头和区块体(含交易数据)两个部分。区块体保存的是若干条记录以及由每条记录的Hash值构成的二叉Merkle树。区块头一般包括版本号、前一区块的Hash值(Hash指针)、随机数、目标Hash值(本区块的Hash值)、Merkle根,有时还会有用于PoW的计算困难门限值Difficulty等。根据不同的应用,块头和块身的数据项也会有所不同。
  (2)非对称加密算法
  非对称加密是为满足安全性需求和所有权验证需求而集成到区块链中的加密技术,常见算法包括RSA、Elgamal、Rabin、D-H、ECC(即椭圆曲线加密算法)等。
  (3)分布式结构
  区块链建立的物理网络基础是点对点的分布式网络,这与中心化的“客户端/服务器”网络架构差别较大,它是一种去中心化的网络,这种分布式结构不再让数据集中在服务器上,而是使数据能够分散地存储在不同的节点上。当节点想要写入数据时,需半数以上其余节点通过共识机制确认该节点的身份,才能够将数据写入到节点中。这就提高了数据传输的效率,相比中心化的网络结构而言也具有更高的安全性。
  (4)智能合约
  智能合约是一种特殊协议,旨在提供、验证及执行合约,它在不需要第三方的情况下,执行可追溯、不可逆转和安全的交易。
  在智能合约中封装了预先设定的响应条件、触发条件等内容。各个节点就所签署的合约达成一致后将合约内容以代码的形式嵌入区块链中。一旦有满足合约中相应条件或者触发条件时,自动激活并且执行智能合约。本质上,智能合约是一个数字合约,除非满足要求,否则不会产生结果。
  3 基于区块链的物联网身份认证服务模型及优势
  3.1 身份认证服务模型
  大数据时代为信任服务引入了更多的实体,如何构建泛在电力物联网下的身份信任体系[6]十分重要,区块链系统弱中心化、公开透明、安全可靠的特点为网络空间的信任服务提供了理论基础。用户身份属敏感信息,用户和应用商对系统有隐私保护的需求,而身份管理则要加强权威。从当前中心化管理系统面临的问题出发,考虑各方需求,系统架构不可完全去中心化,也不可完全中心化,因此采用跨域、跨联盟的联盟链框架。该框架可以通过交易过程中的密码学处理实现监管。区块链分布式存储、不可篡改的特点是使用户获得数据操作主动权的重要手段,能够在了解身份提供商、监管方、应用商利益关系的基础上设计契合多方需求的解决方案。基于区块链分布式信任服务合约机制,对通用联盟链模型[7]进行分析,如图3所示。
  服务层提供基础区块链服务,包含三类逻辑结构分别为区块链服务模块、智能合约服务模块、成员管理模块。其通过系统中的时间或事件触发不同的模块,比如新节点加入触发成员管理模块的注册功能。   接口层为上层提供基本区块链操作接口,并设定了用户、应用、身份提供商、监管机构等几个实体,使得接口层能够对外提供基本身份认证服务,包括对应用、用户提供认证接口,对监管机构提供监管接口,同时与身份提供商接口对接,实现初始身份鉴别及登记。
  接口层和服务层作为信任服务模型为外部应用提供基础的区块链服务,基于该模型将彻底改变现有中心化身份管理体系的现状,同时兼顾到用户隐私保护需求与监管需求。下面以注册和认证为例进行说明。
  用户注册流程如图4所示,认证流程如图5所示。
  (1)用户注册流程
  1)身份提供商接到用户通过终端应用发起的注册申请。
  2)身份提供商选择注册要求,并将本次注册的相关政策发回用户。
  3)用户终端产生一对新公私钥,该公私钥对用户、身份提供商、区块链而言是唯一的。
  4)用户按政策要求选择属性、本人公钥及其他自由选择的属性等,将其发回身份提供商,并出示相关证明材料。
  5)身份提供商对用户证明材料进行验证,通过后保存用户公钥及关联用户,但不在本地保存用户数据,而是对属性数据进行哈希处理和签名处理,从而得到“证明”。
  6)将“证明”发送到区块链上进行加密存储。
  7)响应用户注册成功。
  (2)认证流程
  1)应用向用户发送随机数挑战,要求用户按策略认证所需的数据。
  2)用户按照认证要求的策略在终端选择之前注册时身份提供商认证过的数据属性。
  3)用户对挑战值签名,用公钥加密应用所需的属性材料,并提供身份提供商的公钥及关联信息发送给应用。
  4)应用根据提供的身份提供商信息,到身份提供商处查找用户公钥、关联信息、区块链“证明”位置信息。
  5)身份提供商返回应用要求的信息。
  6)应用自动到区块链查找“证明”信息。
  7)应用对用户提供的认证材料进行哈希处理,并与用身份提供商公钥签名过的区块链“证明”材料做比对,以验证认证数据的有效性。
  8)应用验证成功后,不在本地存储用户数据,而是对用户提供的有效数据进行哈希处理并签名,生成新的“认证”材料(带有时间戳等元数据)并发送到区块链做记录。
  9)返回用户认证成功信息。
  在注册和认证协议中,用户、应用、身份提供商之间的信息交互都通过非对称加密技术来保证价值传输的安全性,即发送方对信息先用发送方私钥签名,再用接受方公钥加密,然后发送给接收方。接收方接收到信息后先用发送方公钥验证,再用接收方私钥解密。
  认证步骤2)体现用户对自己数据的控制和许可。信任传递通过区块链的去中心交换来承诺实现,体现在认证步骤8)中生成本次认证的材料被应用签名记录在区块链中可供下次其他应用对用户认证时使用,关系如图6所示。
  3.2 基于区块链服务模型的优势
  由于底层区块链服务模型的支持,设计兼顾系统各参与方需求的注册、认证协议成为可能。借助区块服务模块增强系统的可靠性、抗攻击性并实现分布式用户数据管理。借助智能合约模块定制特定场景来符合双方需求的“合同”,用代码更好地保证公平性。成员管理模块维持系统各参与方有序进行,增加了系统的可扩展性。
  首先,目前信任服务机制还不够成熟,基于市场需求、身份提供商及身份使用方的利益关系,以现有信任服务及身份认证为基础,结合区块链的优势特点,提出基于区块链的信任服务模型,使之提供全网统一的信任模型,支持多个身份提供商的共同接入、多种格式身份的安全认证,以及多种身份信息源认证方式的融合统一。
  然后,所有的认证都是点对点发生的,用户数据存于手机终端,区块链只起到验证作用,管理机构则不用维护中心化数据库从而节约了大量成本,因为认证的真实性是由区块链上所有参与者共同验证和维护的,所以作为第三方的信用中介失去了价值。
  其次,在联盟链的框架下,系统间的信息交互不再因为兼容性和互斥性導致部署成本高且连接困难,因为所有系统使用相同的技术协议,而参与方之间的认证规则也依照协议共识写入区块链作为标准,不得篡改。
  最后,区块链智能合约可编程使得不同场景的管理机构根据需要使认证流程全自动化;通过在区块链嵌入预设好的认证规则,达到预定条件则自动完成,增加了用户体验并提高了工作效率。
  4 结束语
  本文结合泛在电力物联网建设过程中身份认证业务需求及区块链关键技术,提出了一种基于区块链的特点及优势,采用跨域、跨联盟的联盟链框架打造泛在电力物联网下的身份认证模型,构建可信身份信任体系的方案。
  文中只是初步提出了如何将区块链应用于泛在电力物联网身份认证模型与架构设计,对于智能设备、应用信息系统中人与物如何具体实现身份认证并未做深入的推究与探讨。下一步可以探索如何构建身份认证服务或者标准,推动“区块链+身份认证”在泛在电力物联网建设过程中的具体落地,还可研究如何在区块链公开账本中存储更多类型的信息,提供更多的服务,从而挖掘出区块链技术在泛在电力物联网应用场景中的更多潜力。
  参考文献
  [1] 陈剑勇,吴桂华.身份管理技术及其发展趋势[J].电信科学, 2009,25(02):35-41.
  [2] 胡可欣.FIDO UAF认证协议的安全性研究[D].合肥:中国科学技术大学,2016.
  [3] 袁勇,王飞跃.区块链技术发展现状与展望[J].自动化学报, 2016,42(04):481-494.
  [4] 邵奇峰,金澈清,张召,钱卫宁,周傲英.区块链技术:架构及进展[J].计算机学报,2018,41(05):969-988.
  [5] 林巧民.物联网安全及隐私保护中若干关键技术研究[D].南京:南京邮电大学,2014.
  [6] 李淼,马楠,周椿入.物联网系统应用层协议安全性研究[J].网络空间安全,2017,08(12):40-41.
  [7] 朱建明,付永贵.基于区块链的供应链动态多中心协同认证模型[J].网络与信息安全学报,2016,2(01):27-33.
转载注明来源:https://www.xzbu.com/1/view-15129067.htm