CN114024766B - 一种面向边缘计算节点的零信任身份认证方法 - Google Patents

一种面向边缘计算节点的零信任身份认证方法 Download PDF

Info

Publication number
CN114024766B
CN114024766B CN202111395731.7A CN202111395731A CN114024766B CN 114024766 B CN114024766 B CN 114024766B CN 202111395731 A CN202111395731 A CN 202111395731A CN 114024766 B CN114024766 B CN 114024766B
Authority
CN
China
Prior art keywords
node
edge
identity
industrial
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111395731.7A
Other languages
English (en)
Other versions
CN114024766A (zh
Inventor
魏旻
荣春萌
肖峰
黄庆卿
向雪琴
王平
洪承镐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN202111395731.7A priority Critical patent/CN114024766B/zh
Publication of CN114024766A publication Critical patent/CN114024766A/zh
Application granted granted Critical
Publication of CN114024766B publication Critical patent/CN114024766B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种面向边缘计算节点的零信任身份认证方法,属于计算机领域。该方法包括以下步骤:S1:系统初始化;S2:身份注册;S3:行为分析;S4:身份认证;S5:身份更新。本发明提出了一种面向工业边缘计算节点的身份认证架构,包括现场设备层、边缘层及工业云平台层;同时,工业边缘服务器对边缘计算节点的行为特征进行采集,利用采集的行为特征数据和行为分析算法判别边缘计算节点的风险等级,在身份认证的过程中根据边缘计算节点的风险等级采取不同的身份认证方法,提出一种结合行为分析算法的身份认证方法解决了集中式实体带来的单点故障问题和身份认证效率较低的问题。

Description

一种面向边缘计算节点的零信任身份认证方法
技术领域
本发明属于计算机领域,涉及一种面向边缘计算节点的零信任身份认证方法。
背景技术
工业云服务器对工业现场的海量数据进行收集、存储和分析,并为工业应用提供计算密集型服务,但由于工业网络实时计算需求的不断增加,工业云云服务器无法满足实时计算的服务需求,因此在工业网络中引入了边缘计算。工业边缘服务器在云服务器和终端设备之间,对数据进行初步分析、存储和计算等,解决了云服务器网络带宽负担大、计算响应延迟改的问题。
但是,引入边缘计算后,工业网络在边缘侧更易遭受攻击。如果恶意的或被俘获的边缘节点接入工业网络,可能导致工业生产巨大的损失。因此,在满足工业网络中边缘侧计算能力和实时响应要求的同时,确保边缘节点的安全接入是一个边缘计算安全必须要解决的问题。
安全接入即是要解决设备身份认证问题。设备交互之前需验证设备的身份,且期望不泄露设备隐私身份信息。在基于边缘计算的大规模、异构的工业网络中,传统的公钥基础设施(PKI,public key infrastructure)通过权威机构CA(Certificate Authority)为每个边缘节点分配数字证书,但这种集中式实体CA容易引发单点故障问题,在工业网络中基于PKI的身份认证难以实现。目前,边缘计算环境中基于密码学的身份认证机制研究较多,一定程度上解决了边缘计算中的身份认证问题,但基于密码学的身份认证方法大多伴随着较大的通信和计算开销。
目前,传统的身份认证技术大多采用一次认证授权,攻击者通过俘获边缘节点,冒用边缘节点的合法身份入侵网络,而零信任的核心思想是认为工业网络中的一切实体是不可信的,需要对网络中的实体的状态进行持续的监测,安全策略随实体的状态动态调整。目前,结合零信任的身份认证机制已有一些相关的研究,这些研究主要是基于信任评估机制或零知识证明机制,这些研究为可信身份认证提供了安全保障,但都依赖于集中式实体进行信任评估或作为零知识证明的集中式实体,容易引发单点故障问题。
针对工业边缘计算的环境下分布式、可信的身份认证需求,本方案提出一种面向边缘计算节点的零信任身份认证方法,在方案中利用边缘层的工业边缘服务器提供分布式、高效、低成本的身份认证服务;工业边缘服务器对边缘节点进行行为分析,判别边缘节点是否存在行为异常,根据边缘节点的行为风险等级采用不同的身份认证方式,提高身份认证的安全性。解决了传统身份认证方案集中式实体带来的单点故障问题和身份认证效率较低的问题。
发明内容
有鉴于此,本发明的目的在于提供一种面向边缘计算节点的零信任身份认证方法。
为达到上述目的,本发明提供如下技术方案:
本发明提出的基于联盟链的身份认证架构。架构共分为3层,工业云平台层、边缘层和现场设备层。工业云平台层包含工业云服务器;边缘层是工业边缘计算系统的边缘侧,包含了由工业边缘服务器组成的联盟链网络,边缘节点包括工业边缘服务器、工业边缘网关和工业控制器等;现场设备层包含工业现场设备。
1.工业云服务器(ICS,Industrial Cloud Server):为边缘节点和工业现场设备提供资源密集型服务。工业云服务器同时加入所有的群组,从群组内的工业边缘服务器获取身份认证信息,对身份数据进行存储。
2.工业边缘服务器(IES,Industrial Edge Server):为工业边缘网关、边缘控制器和工业现场设备提供计算、存储等服务。在边缘层的联盟链网络中担任共识节点(Sealer),共识节点在边缘层的联盟链网络中分为主节点(Leader)和副本节点(Replica)。
a)群组(Group):邻近的工业边缘服务器组成一个群组。一个工业边缘服务器可以同时加入多个群组。
b)主节点(Leader):负责将交易打包成区块和区块的共识。每轮共识过程中每个群组中拥有一个Leader。
c)副本节点(Replica):负责区块的共识,每个群组中有多个副本节点。
d)共识节点(Sealer):主节点(Leader)和副本节点(Replica)统称为共识节点。
e)机构(Agency):按照工业边缘服务器提供的不同服务类型,可将工业边缘服务器划分为多个机构,也可以所有节点属于同一机构。
f)分布式存储系统:在工业边缘服务器间搭建的分布式存储系统,用于链下存储节点的详细身份信息。工业边缘服务器拥有分布式存储系统读取权限。
3.工业边缘网关(IEG,Industrial Edge Gateway):负责工业通信协议和以太网的协议转换等。
4.边缘控制器(EC,Edge Controller):负责I/O控制等。
5.工业现场设备(IFD,Industrial Field Device):工业现场设备通过边缘网关接入边缘层。
一种面向边缘计算节点的零信任身份认证方法,该方法包括以下步骤:
S1:系统初始化;
S2:身份注册;
S3:行为分析;
S4:身份认证;
S5:身份更新。
进一步,所述S1具体为:
S11:工业边缘服务器初始化;
工业边缘服务器在边缘层的联盟链网络中担任共识节点,IESi为边缘层的某个工业边缘服务器,IESi初始化首先安装联盟链客户端,然后IESi获得联盟链节点地址BCAddri以及联盟链证书BCCrti;IESi采用非对称加密算法,获得唯一的会话密钥对,IESi私钥为IESkeyi,IESi公钥为IESPKi;IESi被配置所属机构Agencyi,根据其所配置的机构,IESi被配置加入的一个群组GroupID;IESi配置完成后作为共识节点加入边缘层的联盟链网络,加入后在共识节点列表SealerList中添加该节点的BCAddri;IESi完成初始化后即加入了边缘层的联盟链网络,无需进行身份注册操作;
S12:群组初始化
联盟链采用PBFT共识算法,故障节点或恶意节点称为拜占庭节点,PBFT算法的共识模型为3f+1,即超过2/3的节点的执行结果一致才能完成共识,系统最多容忍f个拜占庭节点;根据容忍拜占庭节点数f设置工业边缘服务器加入联盟链网络的数量;
群组g是一个GroupID为g的群组,其初始化过程如下:
S121:在g中选择一个IESi,并将该IESi所在的Agencyi作为发起群组初始化的机构,群组内的所有机构集合为{Agency1,Agency2,...,Agencyi,...};
S122:所选发起群组初始化的节点IESi收集群组内所有节点的联盟链节点地址、联盟链证书、机构、群组和对等网络P2P连接信息;P2P连接信息包括IP地址、P2P端口号和远程过程调用RPC接口信息RPCInfo;
S123:IESi将群组中所有联盟链节点信息收集完成后,IESi根据GroupID创建群组,并将所有节点的信息打包成群组g的起始区块;起始区块创建后不可修改,群组建成后,已有联盟链节点信息变更和新的联盟链节点的加入都将不再修改起始区块;
S124:IESi将群组g的初始区块分发至群组g中所有的联盟链节点,包括群组g下所有的机构集合{Agency1,Agency2,...,Agencyi,...}的联盟链节点;群组中所有机构在拥有了群组g内所有节点的P2P连接信息,各机构通过P2P连接信息生成节点部署程序,各机构调用节点部署程序启动各机构中的联盟链节点;
S13:边缘控制器和工业边缘网关初始化
在初始化阶段,由于边缘控制器EC和工业边缘网关IEG资源受限,无法安装联盟链客户端,边缘控制器和工业边缘网关初始化在初始化阶段获得节点标识NodeID;边缘控制器和工业边缘网关使用与IES相同的非对称加密算法获得唯一的会话密钥对,边缘节点私钥Nodekey和边缘节点公钥NodePK;边缘控制器和工业边缘网关需要配置其RPC接口信息RPCInfo和所属机构Agency。
进一步,所述S2具体为:
边缘控制器和工业边缘网关加入边缘网络前必须完成身份注册;边缘控制器和工业边缘网关将身份注册请求发送至目标群组内的工业边缘服务器,工业边缘服务器作为共识节点调用身份注册智能合约将身份注册交易放入交易池,主节点从交易池中取出交易打包成区块并发起共识,最终落成包含身份注册交易的区块;预编译的身份注册的智能合约RegSC由部署在工业边缘服务器的控制台进行部署;部署完成后,工业边缘服务器会获得身份注册智能合约地址RegSCAddr;
边缘控制器和工业边缘网关身份注册具体步骤如下:
S21:边缘控制器或工业边缘网关NodeA在进行身份注册时需要其节点标识NodeIDA、设备类型DevTypeA,设备型号DevModelA、所属机构AgencyA,NodeA远程调用接口RPC信息RPCInfoA作为身份注册信息;
S22:NodeA的身份注册信息表示为Sr,Sr=(NodeIDA||DevTypeA||DevModelA||AgencyA||RPCInfoA),其中||为连接符;Signature(·)为数字签名函数,Tr为身份注册消息时间戳,对Sr和Tr生成身份注册消息签名Sigr=Signature(Sr||Tr),NodeA向IESi发送身份注册消息Mr={Sr||Tr||Exfield||Sigr},其中Exfield为边缘节点的其他扩展信息,包括接入工业边缘网关的工业现场设备集合{IFD1,IFD2,IFD3,...};
S23:IESi接收到身份注册消息后,首先验证消息格式,如果身份注册消息格式错误则丢弃该消息,否则继续验证时间戳Tr,如果消息超时则丢弃该消息,否则验证身份注册消息签名VerifySig(Sigr),其中VerifySig(·)为验证数字签名函数,如果验证失败则丢弃该消息;IESi通过智能合约将边缘控制器和工业边缘网关关键身份信息存储在链上,隐私身份信息存储在链下,并将链上与链下的身份信息关联,链上数据保证关键身份信息不可篡改,隐私身份信息存储在链下,防止隐私身份信息泄露;
S24:链下身份信息存储;IESi会将在分布式存储系统中以Merkel树结构存储对NodeA的注册身份信息进行存储,存储的信息包括NodeIDA、DevTypeA、DevModelA、AgencyA和RPCInfoA,其存储地址为StoreAddrA,Merkel树中叶子节点存储边缘控制器或工业边缘网关的身份信息数据,非叶子节点则存储其子节点的Hash值,身份信息Merkel树根节点为MR;
S25:IESi调用身份注册智能合约RegSC(RegSCAddr,Mr)发起NodeA身份注册交易
Figure BDA0003370266880000051
S251:边缘控制器的
Figure BDA0003370266880000052
包含TxNum交易编号、交易时间戳Ttx、身份信息有效期Tvalid、身份注册信息的Hash值DigestA=Hash(Sr)和StoreAddrA,其中Hash(·)为Hash函数;
S252:工业边缘网关
Figure BDA0003370266880000053
包含TxNum交易编号、交易时间戳Ttx、身份信息有效期Tvalid、身份注册信息的Hash值DigestA=Hash(Sr)、StoreAddrA和接入该工业边缘网关的工业现场设备集合{IFD1,IFD2,IFD3,...};
S26:身份信息交易
Figure BDA0003370266880000054
的落成;IESi将/>
Figure BDA0003370266880000055
放入群组的交易池中;主节点从交易池中取出身份注册交易/>
Figure BDA0003370266880000056
发起共识,联盟链网络对身份注册交易完成共识后,系统将在账本中落成一个新的区块Block,在区块Block中记录身份注册交易/>
Figure BDA0003370266880000057
IESi将区块信息返回给NodeA
S27:NodeA注册完成后,在本地记录自身身份信息区块Block及该区块的哈希值BlockHash,并按照分布式存储系统中的Merkel树结构存储自身的身份信息;并在本地记录在边缘层的联盟链网络中身份注册交易时间Ttx,身份信息的有效期Tvalid
进一步,所述S3具体为:
S31:特征值提取;
群组内的所有工业边缘服务器收集边缘节点的行为特征数据,特征数据的收集周期为t;对边缘节点身份认证前,工业边缘服务器收集的边缘节点行为特征数据包括:
Feature1:边缘节点在t内的身份认证失败次数Numaf
Feature2:边缘节点在t内的其他边缘节点对其进行身份认证成功率Rateamf
Feature3:边缘节点在t内的对其他边缘节点身份认证成功率Rateauf
Feature4:边缘节点在t内的重新接入边缘层的次数Numac
Feature5:边缘节点在t内发起身份信息更新交易次数Numupdate
Feature6:边缘节点在t内的访问工业边缘服务器资源次数Numsr
Feature7:边缘节点在t内发送的身份信息报文数量Nummsgi
Feature8:边缘节点在t内发送的业务报文数量Nummsgb
特征数据的收集具体方法如下:
S311:Feature1、Feature2和Feature3:边缘节点的身份认证失败次数Feature1包括一个边缘节点对其他边缘节点身份认证失败次数Numauf、其他节点对其进行身份认证失败的次数Numamf,二者的和为Numaf;还包括总的认证次数Numaus。边缘节点完成身份认证后,工业边缘服务器根据身份认证结果对该边缘节点的特征值进行更新;
Feature2其他节点对边缘节点进行身份认证成功率
Figure BDA0003370266880000061
Feature3对其他边缘节点身份认证成功率
Figure BDA0003370266880000062
S312:Feature4:边缘节点在t内的重新接入边缘层的次数Numac,当边缘节点反复接入边缘层的联盟链网络时,可能会带来安全风险;在t内每当边缘节点重新接入边缘层的联盟链网络,工业边缘服务器将特征值Numac+1;
S313:Feature5:边缘节点在t内发起身份信息更新交易次数Numupdate,在t内每当边缘节点发起一次身份信息更新交易,Leader将特征值Numupdate+1;
S314:Feature6:边缘节点在t内的访问工业边缘服务资源次数Numsr,在t内每当边缘节点访问工业边缘服务器的资源和请求计算服务,工业边缘服务器在本地记录信息Numsr
S315:Feature7:边缘节点发送的身份信息报文数量Nummsgi,工业边缘服务器在本地记录与边缘节点间发送的身份信息相关的报文数量,包括身份认证、身份更新过程中的相关报文;
S316:Feature8:边缘节点发送的业务报文数量Nummsgb,工业边缘服务器在本地记录与边缘节点间发送的业务相关的报文数量,包括传感数据上传、请求计算服务和访问工业服务器资源过程中的报文;
S32:行为分析算法
行为分析算法采用分类器模型,对采集到的边缘节点特征值进行分类,分类器将边缘节点的行为划分为3类,即低风险、中风险和高风险;在边缘节点身份认证和身份更新过程中,根据边缘节点的风险等级,工业边缘服务器将会采取不同的措施;
算法初始化阶段,设群组内有y个工业边缘服务器节点,主节点将行为分析模型分发至群组内的工业边缘服务器j∈{1,2,...,y-1},主节点随机生成模型参数
Figure BDA0003370266880000063
主节点配置固定参数m,表示主节点每轮收集的梯度数量;FL为模型的损失函数,t轮的模型参数为θt,梯度gt是损失函数FL在θt的变化率;
行为分析的训练更新过程如下:
S321:主节点将在t轮的模型参数θt发送至群组内的工业边缘服务器j;
S322:工业边缘服务器j在周期t采集的行为数据进行标准化处理,将特征向量中的每个特征缩放至区间[0,1],生成行为数据集为
Figure BDA0003370266880000071
S323:工业边缘服务器j通过
Figure BDA0003370266880000072
计算得到的局部梯度为/>
Figure BDA0003370266880000073
然后边缘服务器j将局部梯度/>
Figure BDA0003370266880000074
发送至主节点;
S324:主节点将收集的数据生成梯度集合G,若梯度集合G中梯度数量小于m,则继续等待其他边缘服务器的梯度值,若G中梯度数量大于等于m,主节点通过梯度过滤器RD对G进行处理,过滤异常的梯度数据,减少拜占庭节点对于行为分析模型训练的影响;梯度过滤器RD具体步骤如下:
S3241:计算集合G中梯度的欧氏范数,||·||表示梯度的欧式范数,其定义为
Figure BDA0003370266880000075
S3242:找到G中第f大的欧氏范数的梯度x,其中f表示群组可容忍拜占庭节点数;
S3243:丢弃欧式范数前f大的梯度;检查G中的每个梯度,如果
Figure BDA0003370266880000076
则丢弃梯度/>
Figure BDA0003370266880000077
否则将梯度/>
Figure BDA0003370266880000078
添加到G′中,G′;返回过滤后的梯度集合G′;
S325:主节点聚合梯度数据,根据过滤后的数据得到gt←∑g′∈G′g′;主节点使用SGD方法更新参数θt;θt+1=θt-ηgt,其中η为算法训练的步长。
进一步,所述S4具体为:
预编译的身份认证的智能合约AuthenSC由部署在工业边缘服务器的控制台进行部署;部署完成后,工业边缘服务器会获得身份认证智能合约地址AuthenSCAddr;身份认证智能合约通过BlockHash读取账本上指定区块的交易数据,群组内的工业边缘服务器都有权限调用身份认证智能合约;
边缘节点之间相互认证:
边缘节点NodeA和NodeB,当NodeA需要对NodeB进行身份认证时,需要通过以下步骤完成认证:
S41:NodeB首先计算其自身身份信息Hash值Digest′B=Hash(Sr),然后,NodeB计算其节点标识NodeIDB和其所属机构AgencyB的稀疏默克尔多值证明(Sparse Merklemultiproofs)proofB,proofB的计算需要NodeB的身份信息Merkel树的非叶子节点
Figure BDA0003370266880000081
以及NodeB的身份注册信息,NodeB的证明/>
Figure BDA0003370266880000082
NodeB生成认证消息签名Sigau=Signature(proofB||Tau),Tau为身份认证消息时间戳,发送身份认证消息Mau={proofB||Tau||Sigau},BlockHashB为NodeB的身份信息区块哈希;
S42:NodeA接收到NodeB的身份认证消息Mau后,首先验证认证消息格式,若身份认证消息格式错误则丢弃该消息,否则对Mau的时间戳Tau进行验证,若消息超时则丢弃该消息,否则验证Mau的消息签名VerifySig(Sigau),若验证失败则丢弃该认证消息,若验证成功NodeA向群组内的IESi发起验证请求Mv={proofB||Tv||Sigv},NodeA的验证请求消息签名Sigv=Signature(proofB||Tv);
S43:当群组内的IESi收到验证请求Mv时,验证请求消息格式,若验证请求消息格式错误则丢弃该消息,否则继续验证时间戳Tv,若消息超时则丢弃该消息,否则验证Mv的消息签名VerifySig(Sigv),若验证失败,则丢弃该消息;
S44:调用身份认证智能合约AuthenSC(AuthenSCAddr,BlockHashB);AuthenSC读取NodeB在账本上的身份信息交易TxB,IESi会获得NodeB在账本上的身份信息交易TxB,信息包括NodeB的Ttx、Tvalid、DigestB和StoreAddrB
S45:调用行为分析模型,对边缘节点NodeB进行行为分析,根据边缘节点行为分析算法,NodeB会分为高风险、中风险和低风险3个风险等级;根据NodeB的风险等级具体的处理方式如下:
S451:若NodeB为高风险边缘节点,则返回验证失败;
S452:若NodeB为低风险边缘节点,IESi通过Ttx和Tvalid计算身份信息是否在有效期内,若身份信息不在有效期内,则认证失败;若身份信息在有效期内,IESi对比Mv中的Digest′B与身份注册交易信息DigestB进行对比,若二者不一致,则认证失败;若二者一致,则认证成功;
S453:若NodeB为中风险边缘节点,首先IESi通过Ttx和Tvalid计算身份信息是否在有效期内,若身份信息不在有效期内,则认证失败;若身份信息在有效期内,IESi对比Mv中的Digest′B与身份注册交易信息DigestB进行对比,若二者不一致,则认证失败;若二者一致,则根据NodeB的身份注册交易信息中的StoreAddrB,读取NodeB的身份信息Merkel树根值MRB,并根据Mv中的proofB计算证明结果MR′B,MR′B计算公式如式4-1所示,式中+表示合并两个字符串;对比MRB与MR′B,若二者一致,则认证成功;若二者不一致,则认证失败;
Figure BDA0003370266880000091
S46:IESi返回验证响应消息
Figure BDA0003370266880000092
Figure BDA0003370266880000093
为IESi的验证结果,/>
Figure BDA0003370266880000094
为验证响应消息签名;
S47:NodeA将收到的验证响应后,验证时间戳Tvr,若消息超时则丢弃该消息,否则验证响应消息签名VerifySig(Sigvr),若验证消息签名失败则丢弃该验证响应,若验证成功则将
Figure BDA0003370266880000095
加入验证响应消息列表;若NodeA的验证响应消息列表中接收到f+1个验证成功的result时,NodeB认证成功;若NodeA的验证响应消息列表中接收到f+1个验证失败的result时,NodeB认证失败。
进一步,所述S5具体为:
当边缘控制器、工业边缘网关满足以下任一条件时,边缘控制器和工业边缘网关对自身的身份信息进行更新;
1)当边缘控制器或工业边缘网关包含自身身份信息的交易将要过期时,包括身份注册交易、身份更新交易;
2)当边缘控制器或工业边缘网关远程调用接口信息RPCInfo重新配置;
3)当边缘控制器或工业边缘网关由于遭受网络攻击和电源耗尽原因需要重新接入边缘层的联盟链网络时;
预编译的身份更新的智能合约UpdateSC由部署在工业边缘服务器的控制台进行部署;部署完成后,工业边缘服务器获得身份更新智能合约地址UpdateSCAddr;调用身份更新智能合约将新的身份信息交易发起共识,将交易记录在账本中,并在分布式系统中删除原身份信息,存储新的身份信息;身份更新智能合约仅限工业边缘服务器调用;
边缘节点完成以下步骤进行身份信息更新;
S51:边缘节点NodeA,NodeA原身份证明proofA,原身份注册交易所在区块Hash值BlockHashA,原身份信息Hash值DigestA,其新的身份信息为Sr′=(NodeID′||DevType′||DevModel′||Agency′||RPCInfo′||Exfield′);NodeA向IESi发送身份更新消息Mup={proofA||S′r||Tup||Sigup},其中Tup为身份更新消息时间戳,Sigup=Signature(Sr′||Tup)为身份更新消息签名;
S52:IESi收到NodeA的身份更新消息Mup后,IESi验证消息格式,若验证失败则丢弃该消息,否则验证Mup的消息签名VerifySig(Sigup),若验证失败则丢弃该消息,否则IESi调用身份分析算法,若NodeA为高风险节点,则身份更新失败;
S53:调用身份认证智能合约AuthenSC(AuthenSCAddr,BlockHashA)对NodeA的身份进行认证,若认证失败,IESi则丢弃该消息;若认证成功,IESi则调用身份更新智能合约UpdateSC(UpdateSCAddr,S′r);
S54:通过身份更新智能合约UpdateSC,IESi在分布式存储系统中以Merkel树结构存储NodeA新的身份信息,存储地址为StroeAddr′A,删除StroeAddrA的原身份信息;
S55:IESi生成NodeA的身份信息更新交易Txup={TxNum||Ttx||T′valid||Digestnew||StoreAddr′A||Exfield′},其中Digestnew=Hash(S′r),IESi将Txup放入群组的交易池,主节点取出交易并发起共识,在群组内完成共识后,群组内的工业边缘服务器在账本中落成一个新的区块Blocknew,Blocknew中包含Txup
S56:NodeA从IESi获取新的区块Blocknew信息;NodeA更新BlockHashA为Blocknew的Hash值BlockHash′A;更新本地身份信息Merkel树;更新身份信息交易时间
Figure BDA0003370266880000101
更新身份信息有效期/>
Figure BDA0003370266880000102
本发明的有益效果在于:本发明提出了一种面向工业边缘节点的身份认证架构,包括现场设备层、边缘层及工业云平台层;同时,工业边缘服务器对边缘计算节点的行为特征进行采集,利用采集的行为特征数据和行为分析算法判别边缘计算节点的风险等级,在身份认证的过程中根据边缘计算节点的风险等级采取不同的身份认证方法,提出一种结合行为分析算法的身份认证方法解决了集中式实体带来的单点故障问题和身份认证效率较低的问题。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为基于联盟链的身份认证架构图;
图2为边缘节点身份注册流程图;
图3为EC和IEG身份信息存储结构;
图4为边缘节点之间相互认证流程;
图5为边缘节点身份信息更新。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
本发明提出的基于联盟链的身份认证架构如图1所示。架构共分为3层,工业云平台层、边缘层和现场设备层。工业云平台层包含工业云服务器;边缘层是工业边缘计算系统的边缘侧,包含了由工业边缘服务器组成的联盟链网络,边缘节点包括工业边缘服务器、工业边缘网关和工业控制器等;现场设备层包含工业现场设备。
1.工业云服务器(ICS,Industrial Cloud Server):为边缘节点和工业现场设备提供资源密集型服务。工业云服务器同时加入所有的群组,从群组内的工业边缘服务器获取身份认证信息,对身份数据进行存储。
2.工业边缘服务器(IES,Industrial Edge Server):为工业边缘网关、边缘控制器和工业现场设备提供计算、存储等服务。在边缘层的联盟链网络中担任共识节点(Sealer),共识节点在边缘层的联盟链网络中分为主节点(Leader)和副本节点(Replica)。
a)群组(Group):邻近的工业边缘服务器组成一个群组。一个工业边缘服务器可以同时加入多个群组。
b)主节点(Leader):负责将交易打包成区块和区块的共识。每轮共识过程中每个群组中拥有一个Leader。
c)副本节点(Replica):负责区块的共识,每个群组中有多个副本节点。
d)共识节点(Sealer):主节点(Leader)和副本节点(Replica)统称为共识节点。
e)机构(Agency):按照工业边缘服务器提供的不同服务类型,可将工业边缘服务器划分为多个机构,也可以所有节点属于同一机构。
f)分布式存储系统:在工业边缘服务器间搭建的分布式存储系统,用于链下存储节点的详细身份信息。工业边缘服务器拥有分布式存储系统读取权限。
3.工业边缘网关(IEG,Industrial Edge Gateway):负责工业通信协议和以太网的协议转换等。
4.边缘控制器(EC,Edge Controller):负责I/O控制等。
5.工业现场设备(IFD,Industrial Field Device):工业现场设备通过边缘网关接入边缘层。
身份认证方案分为系统初始化注册、行为分析算法、认证、更新。具体过程如下:
一、系统初始化
1.工业边缘服务器初始化
工业边缘服务器在边缘层的联盟链网络中担任共识节点(Sealer),IESi为边缘层的某个工业边缘服务器,IESi初始化首先需要安装联盟链客户端,安装完成联盟链客户端后,IESi将获得联盟链节点地址BCAddri,以及联盟链证书BCCrti。IESi采用一种非对称加密算法,如ECC(Elliptic Curve Cryptography)算法,获得唯一的会话密钥对,IESi私钥为IESkeyi,IESi公钥为IESPKi。然后,IESi被配置了所属机构Agencyi,根据其所配置的机构,最后IESi将被配置加入的一个群组GroupID。IESi配置完成后作为共识节点(Sealer)加入边缘层的联盟链网络,加入后在共识节点列表SealerList中添加该节点的BCAddri。IESi完成初始化后就加入了边缘层的联盟链网络,无需进行身份注册操作。
2.群组初始化
联盟链通常采用PBFT(Practical Byzantine Fault Tolerance)共识算法,故障节点或恶意节点称为拜占庭节点,PBFT算法的共识模型为3f+1,即超过2/3的节点的执行结果一致才能完成共识,系统最多可容忍f个拜占庭节点。因此通常根据容忍拜占庭节点数f设置工业边缘服务器加入联盟链网络的数量。
群组g是一个GroupID为g的群组,其初始化过程如下:
(1)在g中选择一个IESi,并将该IESi所在的Agencyi作为发起群组初始化的机构,群组内的所有机构集合为{Agency1,Agency2,...,Agencyi,...}。
(2)所选发起群组初始化的节点IESi收集群组内所有节点的联盟链节点地址、联盟链证书、机构、群组和对等网络P2P(Peer to Peer)连接信息。P2P连接信息包括IP地址、P2P端口号和远程过程调用RPC(Remote Procedure Call)接口信息RPCInfo。具体收集的节点信息如表1所示。
表1IESi收集的联盟链节点信息
Figure BDA0003370266880000131
(3)IESi将群组中所有联盟链节点信息收集完成后,IESi根据GroupID创建群组,并将所有节点的信息打包成群组g的起始区块。起始区块创建后不可修改,群组建成后,已有联盟链节点信息变更和新的联盟链节点的加入都将不再修改起始区块。
(4)IESi将群组g的初始区块分发至群组g中所有的联盟链节点,包括群组g下所有的机构集合{Agency1,Agency2,...,Agencyi,...}的联盟链节点。群组中所有机构在拥有了群组g内所有节点的P2P连接信息,各机构通过P2P连接信息生成节点部署程序,各机构调用节点部署程序启动各机构中的联盟链节点。
3.边缘控制器和工业边缘网关初始化
在初始化阶段,由于边缘控制器(EC)和工业边缘网关(IEG)资源受限,无法安装联盟链客户端,边缘控制器和工业边缘网关初始化在初始化阶段获得节点标识NodeID。边缘控制器和工业边缘网关使用与IES相同的非对称加密算法获得唯一的会话密钥对,边缘节点私钥Nodekey和边缘节点公钥NodePK。边缘控制器和工业边缘网关需要配置其RPC接口信息RPCInfo和所属机构Agency。
二、身份注册
边缘控制器和工业边缘网关等加入边缘网络前必须完成身份注册。边缘控制器和工业边缘网关将身份注册请求发送至目标群组内的工业边缘服务器,工业边缘服务器作为共识节点调用身份注册智能合约将身份注册交易放入交易池,主节点从交易池中取出交易打包成区块并发起共识,最终落成包含身份注册交易的区块。预编译的身份注册的智能合约RegSC由部署在工业边缘服务器的控制台进行部署;部署完成后,工业边缘服务器会获得身份注册智能合约地址RegSCAddr。
边缘控制器和工业边缘网关身份注册步骤如下。
1)边缘控制器或工业边缘网关NodeA在进行身份注册时需要其节点标识NodeIDA、设备类型DevTypeA,设备型号DevModelA、所属机构AgencyA,NodeA远程调用接口RPC信息RPCInfoA作为身份注册信息。
2)上述NodeA的身份注册信息表示为Sr Sr=(NodeIDA||DevTypeA||DevModelA||AgencyA||RPCInfoA),其中||为连接符。Signature(·)为数字签名函数,Tr为身份注册消息时间戳,对Sr和Tr生成身份注册消息签名Sigr=Signature(Sr||Tr),NodeA向IESi发送身份注册消息Mr={Sr||Tr||Exfield||Sigr},其中Exfield为边缘节点的其他扩展信息,如接入工业边缘网关的工业现场设备集合{IFD1,IFD2,IFD3,...},如图2所示。
3)IESi接收到身份注册消息后,首先验证消息格式,如果身份注册消息格式错误则丢弃该消息,否则继续验证时间戳Tr,如果消息超时则丢弃该消息,否则验证身份注册消息签名VerifySig(Sigr),其中VerifySig(·)为验证数字签名函数,如果验证失败则丢弃该消息。IESi通过智能合约将边缘控制器和工业边缘网关关键身份信息存储在链上,隐私身份信息存储在链下,并将链上与链下的身份信息关联,链上数据保证关键身份信息不可篡改,隐私身份信息存储在链下,防止隐私身份信息泄露。
4)链下身份信息存储。IESi会将在分布式存储系统中以Merkel树结构存储对NodeA的注册身份信息进行存储,存储的信息包括NodeIDA、DevTypeA、DevModelA、AgencyA和RPCInfoA,其存储地址为StoreAddrA,具体结构如图3所示,Merkel树中叶子节点存储边缘控制器或工业边缘网关的身份信息数据,非叶子节点则存储其子节点的Hash值,身份信息Merkel树根节点为MR。
5)IESi调用身份注册智能合约RegSC(RegSCAddr,Mr)发起NodeA身份注册交易
Figure BDA0003370266880000151
交易内容如表2所示。其中“-”表示为空。
表2身份注册交易结构
Figure BDA0003370266880000152
I.边缘控制器的
Figure BDA0003370266880000153
包含TxNum交易编号、交易时间戳Ttx、身份信息有效期Tvalid、身份注册信息的Hash值DigestA=Hash(Sr)和StoreAddrA,其中Hash(·)为Hash函数。
ii.工业边缘网关
Figure BDA0003370266880000154
包含TxNum交易编号、交易时间戳Ttx、身份信息有效期Tvalid、身份注册信息的Hash值DigestA=Hash(Sr)、StoreAddrA和接入该工业边缘网关的工业现场设备集合{IFD1,IFD2,IFD3,...}。
6)身份信息交易
Figure BDA0003370266880000155
的落成。IESi将/>
Figure BDA0003370266880000156
放入群组的交易池中。主节点从交易池中取出身份注册交易/>
Figure BDA0003370266880000157
发起共识,联盟链网络对身份注册交易完成共识后,系统将在账本中落成一个新的区块Block,在区块Block中记录身份注册交易/>
Figure BDA0003370266880000158
IESi将区块信息返回给NodeA
7)NodeA注册完成后,在本地记录自身身份信息区块Block及该区块的哈希值BlockHash,并按照分布式存储系统中的Merkel树结构存储自身的身份信息。并在本地记录在边缘层的联盟链网络中身份注册交易时间Ttx,身份信息的有效期Tvalid
三、行为分析算法
1.特征值提取
群组内的所有工业边缘服务器收集边缘节点的行为特征数据,特征数据的收集周期为t。对边缘节点身份认证前,工业边缘服务器收集的边缘节点行为特征数据包括:
Feature1:边缘节点在t内的身份认证失败次数Numaf
Feature2:边缘节点在t内的其他边缘节点对其进行身份认证成功率Rateamf
Feature3:边缘节点在t内的对其他边缘节点身份认证成功率Rateauf
Feature4:边缘节点在t内的重新接入边缘层的次数Numac
Feature5:边缘节点在t内发起身份信息更新交易次数Numupdate
Feature6:边缘节点在t内的访问工业边缘服务器资源次数Numsr
Feature7:边缘节点在t内发送的身份信息报文数量Nummsgi
Feature8边缘节点在t内发送的业务报文数量Nummsgb
上述特征的收集具体方法如下:
1)Feature1、Feature2和Feature3
边缘节点的身份认证失败次数Feature1包括一个边缘节点对其他边缘节点身份认证失败次数Numauf、其他节点对其进行身份认证失败的次数Numamf,二者的和为Numaf;还包括总的认证次数Numaus
Feature2其他节点对边缘节点进行身份认证成功率
Figure BDA0003370266880000161
Feature3对其他边缘节点身份认证成功率
Figure BDA0003370266880000162
2)Feature4
边缘节点在t内的重新接入边缘层的次数Numac,当边缘节点反复接入边缘层的联盟链网络时,可能会带来安全风险。在t内每当边缘节点重新接入边缘层的联盟链网络,工业边缘服务器将特征值Numac+1。边缘节点完成身份认证后,工业边缘服务器根据身份认证结果对该边缘节点的特征值进行更新。
3)Feature5
边缘节点在t内发起身份信息更新交易次数Numupdate,在t内每当边缘节点发起一次身份信息更新交易,Leader将特征值Numupdate+1。
4)Feature6
边缘节点在t内的访问工业边缘服务资源次数Numsr,在t内每当边缘节点访问工业边缘服务器的资源、请求计算服务等,工业边缘服务器在本地记录信息Numsr
5)Feature7
边缘节点发送的身份信息报文数量Nummsgi,工业边缘服务器在本地记录与边缘节点间发送的身份信息相关的报文数量,主要包括身份认证、身份更新过程中的相关报文。
6)Feature8
边缘节点发送的业务报文数量Nummsgb,工业边缘服务器在本地记录与边缘节点间发送的业务相关的报文数量,主要包括但不限于传感数据上传、请求计算服务、访问工业服务器资源等过程中的报文。
2.行为分析算法
行为分析算法主要采用分类器模型,对采集到的边缘节点特征值进行分类,分类器可将边缘节点的行为划分为3类,低风险,中风险和高风险。在边缘节点身份认证和身份更新过程中,根据边缘节点的风险等级,工业边缘服务器将会采取不同的措施。
算法初始化阶段,设群组内有y个工业边缘服务器节点,主节点将行为分析模型分发至群组内的工业边缘服务器j∈{1,2,...,y-1},主节点随机生成模型参数
Figure BDA0003370266880000171
主节点配置固定参数m,表示主节点每轮收集的梯度数量。FL为模型的损失函数,t轮的模型参数为θt,梯度gt是损失函数FL在θt的变化率。
行为分析的训练更新过程如下:
1.主节点将在t轮的模型参数θt发送至群组内的工业边缘服务器j。
2.工业边缘服务器j在周期t采集的行为数据进行标准化处理,将特征向量中的每个特征缩放至区间[0,1],生成行为数据集为
Figure BDA0003370266880000172
3.工业边缘服务器j通过
Figure BDA0003370266880000173
计算得到的局部梯度为/>
Figure BDA0003370266880000174
然后边缘服务器j将局部梯度/>
Figure BDA0003370266880000175
发送至主节点。
4.主节点将收集的数据生成梯度集合G,若梯度集合G中梯度数量小于m,则继续等待其他边缘服务器的梯度值,若G中梯度数量大于等于m,主节点通过梯度过滤器RD对G进行处理,过滤异常的梯度数据,减少拜占庭节点对于行为分析模型训练的影响。梯度过滤器RD具体步骤如下:
(1)计算集合G中梯度的欧氏范数,||·||表示梯度的欧式范数,其定义为
Figure BDA0003370266880000176
(2)找到G中第f大的欧氏范数的梯度x,其中f表示群组可容忍拜占庭节点数。
(3)丢弃欧式范数前f大的梯度。检查G中的每个梯度,如果
Figure BDA0003370266880000177
则丢弃梯度
Figure BDA0003370266880000178
否则将梯度/>
Figure BDA0003370266880000179
添加到G′中,G′。返回过滤后的梯度集合G′。
5.主节点聚合梯度数据,根据过滤后的数据得到gt←∑g′∈G′g′。主节点使用SGD方法更新参数θt。θt+1=θt-ηgt,其中η为算法训练的步长。
四、身份认证
预编译的身份认证的智能合约AuthenSC由部署在工业边缘服务器的控制台进行部署;部署完成后,工业边缘服务器会获得身份认证智能合约地址AuthenSCAddr。身份认证智能合约通过BlockHash读取账本上指定区块的交易数据,群组内的工业边缘服务器都有权限调用身份认证智能合约。
1.边缘节点之间相互认证
边缘节点NodeA和NodeB,当NodeA需要对NodeB进行身份认证时,需要通过以下步骤完成认证,认证的流程如图4所示。
1)NodeB首先计算其自身身份信息Hash值Digest′B=Hash(Sr),然后,NodeB计算其节点标识NodeIDB和其所属机构AgencyB的稀疏默克尔多值证明(Sparse Merklemultiproofs)proofB,proofB的计算需要NodeB的身份信息Merkel树的非叶子节点
Figure BDA0003370266880000181
以及NodeB的身份注册信息,NodeB的证明/>
Figure BDA0003370266880000182
NodeB生成认证消息签名Sigau=Signature(proofB||Tau),Tau为身份认证消息时间戳,发送身份认证消息Mau={proofB||Tau||Sigau},BlockHashB为NodeB的身份信息区块哈希。
2)NodeA接收到NodeB的身份认证消息Mau后,首先验证认证消息格式,若身份认证消息格式错误则丢弃该消息,否则对Mau的时间戳Tau进行验证,若消息超时则丢弃该消息,否则验证Mau的消息签名VerifySig(Sigau),若验证失败则丢弃该认证消息,若验证成功NodeA向群组内的IESi发起验证请求Mv={proofB||Tv||Sigv},NodeA的验证请求消息签名Sigv=Signature(proofB||Tv)。
3)当群组内的IESi收到验证请求Mv时,验证请求消息格式,若验证请求消息格式错误则丢弃该消息,否则继续验证时间戳Tv,若消息超时则丢弃该消息,否则验证Mv的消息签名VerifySig(Sigv),若验证失败,则丢弃该消息。
4)调用身份认证智能合约AuthenSC(AuthenSCAddr,BlockHashB)。AuthenSC读取NodeB在账本上的身份信息交易TxB,IESi会获得NodeB在账本上的身份信息交易TxB,信息包括NodeB的Ttx、Tvalid、DigestB和StoreAddrB
5)调用行为分析模型,对边缘节点NodeB进行行为分析,根据边缘节点行为分析算法,NodeB会分为高风险、中风险和低风险3个风险等级。根据NodeB的风险等级具体的处理方式如下:
i.若NodeB为高风险边缘节点,则返回验证失败。
ii若NodeB为低风险边缘节点,IESi通过Ttx和Tvalid计算身份信息是否在有效期内,若身份信息不在有效期内,则认证失败。若身份信息在有效期内,IESi对比Mv中的Digest′B与身份注册交易信息DigestB进行对比,若二者不一致,则认证失败;若二者一致,则认证成功。
iii.若NodeB为中风险边缘节点,首先IESi通过Ttx和Tvalid计算身份信息是否在有效期内,若身份信息不在有效期内,则认证失败。若身份信息在有效期内,IESi对比Mv中的Digest′B与身份注册交易信息DigestB进行对比,若二者不一致,则认证失败;若二者一致,则根据NodeB的身份注册交易信息中的StoreAddrB,读取NodeB的身份信息Merkel树根值MRB,并根据Mv中的proofB计算证明结果MR′B,MR′B计算公式如式(1)所示,式中+表示合并两个字符串。对比MRB与MR′B,若二者一致,则认证成功;若二者不一致,则认证失败。
Figure BDA0003370266880000191
6)IESi返回验证响应消息
Figure BDA0003370266880000192
Figure BDA0003370266880000193
为IESi的验证结果,/>
Figure BDA0003370266880000194
为验证响应消息签名。
7)NodeA将收到的验证响应后,验证时间戳Tvr,若消息超时则丢弃该消息,否则验证响应消息签名VerifySig(Sigvr),若验证消息签名失败则丢弃该验证响应,若验证成功则将resultIESi加入验证响应消息列表。具体如表3所示,若NodeA的验证响应消息列表中接收到f+1个验证成功的result时,NodeB认证成功;若NodeA的验证响应消息列表中接收到f+1个验证失败的result时,NodeB认证失败。
表3验证响应消息列表
Figure BDA0003370266880000195
Figure BDA0003370266880000201
五、身份更新
1.边缘控制器、工业边缘网关身份更新
当边缘控制器、工业边缘网关满足以下任一条件时,边缘控制器和工业边缘网关需要对自身的身份信息进行更新。
i.当边缘控制器或工业边缘网关包含自身身份信息的交易将要过期时,如身份注册交易、身份更新交易。
ii当边缘控制器或工业边缘网关远程调用接口信息RPCInfo重新配置。
iii.当边缘控制器或工业边缘网关由于遭受网络攻击、电源耗尽等原因需要重新接入边缘层的联盟链网络时。
预编译的身份更新的智能合约UpdateSC由部署在工业边缘服务器的控制台进行部署;部署完成后,工业边缘服务器会获得身份更新智能合约地址UpdateSCAddr。调用身份更新智能合约将新的身份信息交易发起共识,将交易记录在账本中,并在分布式系统中删除原身份信息,存储新的身份信息。身份更新智能合约仅限工业边缘服务器调用。
边缘节点完成以下步骤进行身份信息更新。身份信息更新具体流程如图5所示。
1)边缘节点NodeA,NodeA原身份证明proofA,原身份注册交易所在区块Hash值BlockHashA,原身份信息Hash值DigestA,其新的身份信息为Sr′=(NodeID′||DevType′||DevModel′||Agency′||RPCInfo′||Exfield′)。NodeA向IESi发送身份更新消息Mup={proofA||S′r||Tup||Sigup},其中Tup为身份更新消息时间戳,Sigup=Signature(Sr′||Tup)为身份更新消息签名。
2)IESi收到NodeA的身份更新消息Mup后,IESi验证消息格式,若验证失败则丢弃该消息,否则验证Mup的消息签名VerifySig(Sigup),若验证失败则丢弃该消息,否则IESi调用身份分析算法,若NodeA为高风险节点,则身份更新失败。
3)调用身份认证智能合约AuthenSC(AuthenSCAddr,BlockHashA)对NodeA的身份进行认证,若认证失败,IESi则丢弃该消息;若认证成功,IESi则调用身份更新智能合约UpdateSC(UpdateSCAddr,S′r)。
4)通过身份更新智能合约UpdateSC,IESi在分布式存储系统中以Merkel树结构存储NodeA新的身份信息,存储地址为StroeAddr′A,删除StroeAddrA的原身份信息。
5)IESi生成NodeA的身份信息更新交易Txup={TxNum||Ttx||T′valid||Digestnew||StoreAddr′A||Exfield′},其中Digestnew=Hash(S′r),IESi将Txup放入群组的交易池,主节点取出交易并发起共识,在群组内完成共识后,群组内的工业边缘服务器在账本中落成一个新的区块Blocknew,Blocknew中包含Txup
6)NodeA从IESi获取新的区块Blocknew信息。NodeA更新BlockHashA为Blocknew的Hash值BlockHash′A;更新本地身份信息Merkel树;更新身份信息交易时间
Figure BDA0003370266880000211
更新身份信息有效期/>
Figure BDA0003370266880000212
实施例:
一、系统初始化
群组1内有工业边缘服务器器节点IES1、IES2、IES3和IES4。群组1内的机构集合为{Agency1,Agency2}。IES1所在的机构Agency1作为群组初始化发起机构收集群组内所有节点的信息,如表4所示。
表4 IES1收集的联盟链节点信息
Figure BDA0003370266880000213
IES1将上表中的信息打包成群组1的起始区块。IES1将起始区块发送至群组1下属机构{Agency1,Agency2}的联盟链节点,即IES2、IES3和IES4
(一)边缘控制器和工业边缘网关身份注册
身份注册智能合约RegSC通过IES1的控制进行部署,完成部署后获得身份注册智能合约地址RegSCAddr=9f7a148d62f4b0041a27c617fd752db74db31b7a498438c99c5479d0b4d09111。有边缘控制器EC1和工业边缘网关IEG1其身份信息如下表所示。EC1和IEG1的身份注册过程如下。
表5 EC1和IEG1身份注册信息
节点 节点标识 设备类型 设备型号 Agency RPCInfo
EC1 d862d3186b486086 DevTypeEC1 AMA-558 Agency1 RPCInfoEC1
IEG1 d4089e7e36fba8d7 DevTypeIEG1 G12A Agency2 RPCInfoIEG1
1)表5中EC1和IEG1的身份注册信息表示为
Figure BDA0003370266880000214
和/>
Figure BDA0003370266880000215
EC1发送身份注册消息
Figure BDA0003370266880000221
至联盟链节点IES1;IEG1发送身份注册消
Figure BDA0003370266880000222
联盟链节点IES1。其中/>
Figure BDA0003370266880000223
包含接入IEG1的工业现场设备{IFD1,IFD2,IFD3}。
2)IES1收到
Figure BDA0003370266880000224
和/>
Figure BDA0003370266880000225
后验证消息格式、时间戳和注册消息签名。验证通过后IES1访问分布式存储系统,按Merkel树结构存入EC1和IEG1的身份注册信息,分布式存储返回EC1和IEG1的身份注册信息存储地址/>
Figure BDA0003370266880000226
和/>
Figure BDA0003370266880000227
3)IES1调用智能合约
Figure BDA0003370266880000228
和/>
Figure BDA0003370266880000229
生成身份注册交易/>
Figure BDA00033702668800002210
和/>
Figure BDA00033702668800002211
将/>
Figure BDA00033702668800002212
和/>
Figure BDA00033702668800002213
放入交易池中,具体交易内容如下表所示。主节点对交易/>
Figure BDA00033702668800002214
和/>
Figure BDA00033702668800002215
发起共识,共识完成后落成包含交易/>
Figure BDA00033702668800002216
和/>
Figure BDA00033702668800002228
的区块Block2
表6 EC1和IEG1身份注册交易
Figure BDA00033702668800002217
4)EC1和IEG1在本地记录包含身份注册交易的区块Block2及其区块Hash值BlockHash2。并且EC1和IEG1在本地记录在边缘联盟网络中身份注册交易时间
Figure BDA00033702668800002218
和交易有效期/>
Figure BDA00033702668800002219
二、身份认证
如图2-4所示,身份认证智能合约AuthenSC通过IES1的控制台进行部署,部署完成后获得身份认证智能合约地址AuthenSCAddr=24b68a31759c4b4717837362abeb35366b8817e1792595488d9909614381dd0a。
1.EC1与IEG1相互认证
EC1对IEG1身份认证过程如下。
1)IEG1首先计算身份信息Hash值
Figure BDA00033702668800002220
然后IEG1构造自身身份信息的稀疏默克尔多值证明/>
Figure BDA00033702668800002221
IEG1生成身份认证消息签名/>
Figure BDA00033702668800002222
IEG1向发送EC1发送认证消息/>
Figure BDA00033702668800002223
发送的/>
Figure BDA00033702668800002224
2)EC1接收到IEG1的身份认证消息
Figure BDA00033702668800002225
后,EC1对消息/>
Figure BDA00033702668800002226
的格式、时间戳和消息签名进行验证;验证通过后,向群组内的IES1、IES2发起验证请求/>
Figure BDA00033702668800002227
EC1发送的
Figure BDA0003370266880000231
其中消息签名/>
Figure BDA0003370266880000232
3)IES1、IES2发起收到验证请求
Figure BDA0003370266880000233
后,IES1验证/>
Figure BDA0003370266880000234
的格式、时间戳和消息签名,验证通过后,调用行为分析算法,EC1为中风险节点,调用身份认证智能合约AuthenSC(AuthenSCAddr,BlockHash2)。IES1、IES2通过调用合约获取到IEG1的身份交易/>
Figure BDA0003370266880000235
4)IES1、IES2验证IEG1的身份交易
Figure BDA0003370266880000236
是否在有效期内,IES1、IES2对比/>
Figure BDA0003370266880000237
Figure BDA0003370266880000238
与/>
Figure BDA0003370266880000239
中/>
Figure BDA00033702668800002310
的一致性,IES1、IES2通过/>
Figure BDA00033702668800002311
中的/>
Figure BDA00033702668800002312
在分布式存储系统中读取IEG1的身份信息Merkel树根值/>
Figure BDA00033702668800002313
并根据/>
Figure BDA00033702668800002314
计算证明结果/>
Figure BDA00033702668800002315
IES1、IES2验证对比/>
Figure BDA00033702668800002316
与/>
Figure BDA00033702668800002317
一致性。
5)IES1返回验证响应消息
Figure BDA00033702668800002318
IES2返回验证响应消息
Figure BDA00033702668800002319
6)EC1接收到IES1、IES2的验证响应消息
Figure BDA00033702668800002320
后,验证/>
Figure BDA00033702668800002321
的消息格式、时间戳和消息签名。群组1中共4个共识节点,收到IES1、IES2的认证成功结果,因此EC1对IEG1认证成功。
2.身份更新
如图5所示,身份更新的智能合约UpdateSC通过IES1的控制台进行部署,部署完成后获得身份认证智能合约地址UpdateSCAddr=8d8115830d5ea65145f202a132c885b5fd4cb5bf66e820254434c52f390bb603。
IEG1身份更新过程如下。
1)IEG1新的身份信息
Figure BDA00033702668800002322
IEG1向IES1发送身份更新消息/>
Figure BDA00033702668800002323
Figure BDA00033702668800002324
/>
2)IES1收到IEG1
Figure BDA00033702668800002325
后,IES1对/>
Figure BDA00033702668800002326
的格式、时间戳和消息签名进行验证。验证通过后IES1调用算法行为分析算法,IEG1为中风险边缘节点,调用身份认证合约AuthenSC(AuthenSCAddr,BlockHash2)读取IEG1链上身份交易信息和链下身份信息,对IEG1的身份进行验证。验证通过后,IES1调用身份更新智能合约/>
Figure BDA00033702668800002327
3)通过智能合约,IES1在分布式存储系统中存储IEG1新的身份信息,存储地址为
Figure BDA00033702668800002328
删除/>
Figure BDA00033702668800002329
的原身份信息。群组1内的工业边缘服务器落成新的区块Block3。Block3中包含了IEG1身份更新交易/>
Figure BDA00033702668800002330
4)IEG1从获取IES1新的区块Block3。IEG1更新BlockHash为Block3的区块Hash值BlockHash3;IEG1更新身份信息Merkel树、身份信息交易时间为
Figure BDA0003370266880000241
身份信息有效性为
Figure BDA0003370266880000242
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (4)

1.一种面向边缘计算节点的零信任身份认证方法,其特征在于:该方法包括以下步骤:
S1:系统初始化;
S2:身份注册;
S3:行为分析;
S4:身份认证;
S5:身份更新;
所述S3具体为:
S31:特征值提取;
群组内的所有工业边缘服务器收集边缘节点的行为特征数据,特征数据的收集周期为t;对边缘节点身份认证前,工业边缘服务器收集的边缘节点行为特征数据包括:
Feature1:边缘节点在t内的身份认证失败次数Numaf
Feature2:边缘节点在t内的其他边缘节点对其进行身份认证成功率Rateamf
Feature3:边缘节点在t内的对其他边缘节点身份认证成功率Rateauf
Feature4:边缘节点在t内的重新接入边缘层的次数Numac
Feature5:边缘节点在t内发起身份信息更新交易次数Numupdate
Feature6:边缘节点在t内的访问工业边缘服务器资源次数Numsr
Feature7:边缘节点在t内发送的身份信息报文数量Nummsgi
Feature8:边缘节点在t内发送的业务报文数量Nummsgb
特征数据的收集具体方法如下:
S311:Feature1、Feature2和Feature3:边缘节点的身份认证失败次数Feature1包括一个边缘节点对其他边缘节点身份认证失败次数Numauf、其他节点对其进行身份认证失败的次数Numamf,二者的和为Numaf;还包括总的认证次数Numaus;边缘节点完成身份认证后,工业边缘服务器根据身份认证结果对该边缘节点的特征值进行更新;
Feature2其他节点对边缘节点进行身份认证成功率
Figure FDA0004239924920000011
Feature3对其他边缘节点身份认证成功率
Figure FDA0004239924920000012
S312:Feature4:边缘节点在t内的重新接入边缘层的次数Numac,当边缘节点反复接入边缘层的联盟链网络时,可能会带来安全风险;在t内每当边缘节点重新接入边缘层的联盟链网络,工业边缘服务器将特征值Numac+1;
S313:Feature5:边缘节点在t内发起身份信息更新交易次数Numupdate,在t内每当边缘节点发起一次身份信息更新交易,Leader将特征值Numupdate+1;
S314:Feature6:边缘节点在t内的访问工业边缘服务资源次数Numsr,在t内每当边缘节点访问工业边缘服务器的资源和请求计算服务,工业边缘服务器在本地记录信息Numsr
S315:Feature7:边缘节点发送的身份信息报文数量Nummsgi,工业边缘服务器在本地记录与边缘节点间发送的身份信息相关的报文数量,包括身份认证、身份更新过程中的相关报文;
S316:Feature8:边缘节点发送的业务报文数量Nummsgb,工业边缘服务器在本地记录与边缘节点间发送的业务相关的报文数量,包括传感数据上传、请求计算服务和访问工业服务器资源过程中的报文;
S32:行为分析算法
行为分析算法采用分类器模型,对采集到的边缘节点特征值进行分类,分类器将边缘节点的行为划分为3类,即低风险、中风险和高风险;在边缘节点身份认证和身份更新过程中,根据边缘节点的风险等级,工业边缘服务器将会采取不同的措施;
算法初始化阶段,设群组内有y个工业边缘服务器节点,主节点将行为分析模型分发至群组内的工业边缘服务器j∈{1,2,...,y-1},主节点随机生成模型参数
Figure FDA0004239924920000021
主节点配置固定参数m,表示主节点每轮收集的梯度数量;FL为模型的损失函数,t轮的模型参数为θt,梯度gt是损失函数FL在θt的变化率;
行为分析的训练更新过程如下:
S321:主节点将在t轮的模型参数θt发送至群组内的工业边缘服务器j;
S322:工业边缘服务器j在周期t采集的行为数据进行标准化处理,将特征向量中的每个特征缩放至区间[0,1],生成行为数据集为
Figure FDA0004239924920000022
S323:工业边缘服务器j通过
Figure FDA0004239924920000023
计算得到的局部梯度为/>
Figure FDA0004239924920000024
然后边缘服务器j将局部梯度/>
Figure FDA0004239924920000025
发送至主节点;
S324:主节点将收集的数据生成梯度集合G,若梯度集合G中梯度数量小于m,则继续等待其他边缘服务器的梯度值,若G中梯度数量大于等于m,主节点通过梯度过滤器RD对G进行处理,过滤异常的梯度数据,减少拜占庭节点对于行为分析模型训练的影响;梯度过滤器RD具体步骤如下:
S3241:计算集合G中梯度的欧氏范数,||·||表示梯度的欧式范数,其定义为
Figure FDA0004239924920000031
S3242:找到G中第f大的欧氏范数的梯度x,其中f表示群组可容忍拜占庭节点数;
S3243:丢弃欧式范数前f大的梯度;检查G中的每个梯度,如果
Figure FDA0004239924920000032
则丢弃梯度/>
Figure FDA0004239924920000033
否则将梯度/>
Figure FDA0004239924920000034
添加到G′中,G′;返回过滤后的梯度集合G′;
S325:主节点聚合梯度数据,根据过滤后的数据得到gt←∑g′∈G′g′;主节点使用SGD方法更新参数θt;θt+1=θt-ηgt,其中η为算法训练的步长;
所述S4具体为:
预编译的身份认证的智能合约AuthenSC由部署在工业边缘服务器的控制台进行部署;部署完成后,工业边缘服务器会获得身份认证智能合约地址AuthenSCAddr;身份认证智能合约通过BlockHash读取账本上指定区块的交易数据,群组内的工业边缘服务器都有权限调用身份认证智能合约;
边缘节点之间相互认证:
边缘节点NodeA和NodeB,当NodeA需要对NodeB进行身份认证时,需要通过以下步骤完成认证:
S41:NodeB首先计算其自身身份信息Hash值Digest′B=Hash(Sr),然后,NodeB计算其节点标识NodeIDB和其所属机构AgencyB的稀疏默克尔多值证明(Sparse Merklemultiproofs)proofB,proofB的计算需要NodeB的身份信息Merkel树的非叶子节点
Figure FDA0004239924920000035
以及NodeB的身份注册信息,NodeB的证明/>
Figure FDA0004239924920000036
NodeB生成认证消息签名Sigau=Signature(proofB||Tau),Tau为身份认证消息时间戳,发送身份认证消息Mau={proofB||Tau||Sigau},BlockHashB为NodeB的身份信息区块哈希;
S42:NodeA接收到NodeB的身份认证消息Mau后,首先验证认证消息格式,若身份认证消息格式错误则丢弃该消息,否则对Mau的时间戳Tau进行验证,若消息超时则丢弃该消息,否则验证Mau的消息签名VerifySig(Sigau),若验证失败则丢弃该认证消息,若验证成功NodeA向群组内的IESi发起验证请求Mv={proofB||Tv||Sigv},NodeA的验证请求消息签名Sigv=Signature(proofB||Tv);
S43:当群组内的IESi收到验证请求Mv时,验证请求消息格式,若验证请求消息格式错误则丢弃该消息,否则继续验证时间戳Tv,若消息超时则丢弃该消息,否则验证Mv的消息签名VerifySig(Sigv),若验证失败,则丢弃该消息;
S44:调用身份认证智能合约AuthenSC(AuthenSCAddr,BlockHashB);AuthenSC读取NodeB在账本上的身份信息交易TxB,IESi会获得NodeB在账本上的身份信息交易TxB,信息包括NodeB的Ttx、Tvalid、DigestB和StoreAddrB
S45:调用行为分析模型,对边缘节点NodeB进行行为分析,根据边缘节点行为分析算法,NodeB会分为高风险、中风险和低风险3个风险等级;根据NodeB的风险等级具体的处理方式如下:
S451:若NodeB为高风险边缘节点,则返回验证失败;
S452:若NodeB为低风险边缘节点,IESi通过Ttx和Tvalid计算身份信息是否在有效期内,若身份信息不在有效期内,则认证失败;若身份信息在有效期内,IESi对比Mv中的Digest′B与身份注册交易信息DigestB进行对比,若二者不一致,则认证失败;若二者一致,则认证成功;
S453:若NodeB为中风险边缘节点,首先IESi通过Ttx和Tvalid计算身份信息是否在有效期内,若身份信息不在有效期内,则认证失败;若身份信息在有效期内,IESi对比Mv中的Digest′B与身份注册交易信息DigestB进行对比,若二者不一致,则认证失败;若二者一致,则根据NodeB的身份注册交易信息中的StoreAddrB,读取NodeB的身份信息Merkel树根值MRB,并根据Mv中的proofB计算证明结果MR′B,MR′B计算公式如式4-1所示,式中+表示合并两个字符串;对比MRB与MR′B,若二者一致,则认证成功;若二者不一致,则认证失败;
H′12=Hash(Hash(NodeIDB)+H2 B)
H′34=Hash(Hash(AgencyB)+H4 B)
MR′B=Hash(H′12+H′34) (4-1)
S46:IESi返回验证响应消息
Figure FDA0004239924920000041
Figure FDA0004239924920000042
为IESi的验证结果,
Figure FDA0004239924920000043
为验证响应消息签名;
S47:NodeA将收到的验证响应后,验证时间戳Tvr,若消息超时则丢弃该消息,否则验证响应消息签名VerifySig(Sigvr),若验证消息签名失败则丢弃该验证响应,若验证成功则将
Figure FDA0004239924920000044
加入验证响应消息列表;若NodeA的验证响应消息列表中接收到f+1个验证成功的result时,NodeB认证成功;若NodeA的验证响应消息列表中接收到f+1个验证失败的result时,NodeB认证失败。
2.根据权利要求1所述的一种面向边缘计算节点的零信任身份认证方法,其特征在于:所述S1具体为:
S11:工业边缘服务器初始化;
工业边缘服务器在边缘层的联盟链网络中担任共识节点,IESi为边缘层的某个工业边缘服务器,IESi初始化首先安装联盟链客户端,然后IESi获得联盟链节点地址BCAddri以及联盟链证书BCCrti;IESi采用非对称加密算法,获得唯一的会话密钥对,IESi私钥为IESkeyi,IESi公钥为IESPKi;IESi被配置所属机构Agencyi,根据其所配置的机构,IESi被配置加入的一个群组GroupID;IESi配置完成后作为共识节点加入边缘层的联盟链网络,加入后在共识节点列表SealerList中添加该节点的BCAddri;IESi完成初始化后即加入了边缘层的联盟链网络,无需进行身份注册操作;
S12:群组初始化
联盟链采用PBFT共识算法,故障节点或恶意节点称为拜占庭节点,PBFT算法的共识模型为3f+1,即超过2/3的节点的执行结果一致才能完成共识,系统最多容忍f个拜占庭节点;根据容忍拜占庭节点数f设置工业边缘服务器加入联盟链网络的数量;
群组g是一个GroupID为g的群组,其初始化过程如下:
S121:在g中选择一个IESi,并将该IESi所在的Agencyi作为发起群组初始化的机构,群组内的所有机构集合为{Agency1,Agency2,...,Agencyi,...};
S122:所选发起群组初始化的节点IESi收集群组内所有节点的联盟链节点地址、联盟链证书、机构、群组和对等网络P2P连接信息;P2P连接信息包括IP地址、P2P端口号和远程过程调用RPC接口信息RPCInfo;
S123:IESi将群组中所有联盟链节点信息收集完成后,IESi根据GroupID创建群组,并将所有节点的信息打包成群组g的起始区块;起始区块创建后不可修改,群组建成后,已有联盟链节点信息变更和新的联盟链节点的加入都将不再修改起始区块;
S124:IESi将群组g的初始区块分发至群组g中所有的联盟链节点,包括群组g下所有的机构集合{Agency1,Agency2,...,Agencyi,...}的联盟链节点;群组中所有机构在拥有了群组g内所有节点的P2P连接信息,各机构通过P2P连接信息生成节点部署程序,各机构调用节点部署程序启动各机构中的联盟链节点;
S13:边缘控制器和工业边缘网关初始化
在初始化阶段,由于边缘控制器EC和工业边缘网关IEG资源受限,无法安装联盟链客户端,边缘控制器和工业边缘网关初始化在初始化阶段获得节点标识NodeID;边缘控制器和工业边缘网关使用与IES相同的非对称加密算法获得唯一的会话密钥对,边缘节点私钥Nodekey和边缘节点公钥NodePK;边缘控制器和工业边缘网关需要配置其RPC接口信息RPCInfo和所属机构Agency。
3.根据权利要求2所述的一种面向边缘计算节点的零信任身份认证方法,其特征在于:所述S2具体为:
边缘控制器和工业边缘网关加入边缘网络前必须完成身份注册;边缘控制器和工业边缘网关将身份注册请求发送至目标群组内的工业边缘服务器,工业边缘服务器作为共识节点调用身份注册智能合约将身份注册交易放入交易池,主节点从交易池中取出交易打包成区块并发起共识,最终落成包含身份注册交易的区块;预编译的身份注册的智能合约RegSC由部署在工业边缘服务器的控制台进行部署;部署完成后,工业边缘服务器会获得身份注册智能合约地址RegSCAddr;
边缘控制器和工业边缘网关身份注册具体步骤如下:
S21:边缘控制器或工业边缘网关NodeA在进行身份注册时需要其节点标识NodeIDA、设备类型DevTypeA,设备型号DevModelA、所属机构AgencyA,NodeA远程调用接口RPC信息RPCInfoA作为身份注册信息;
S22:NodeA的身份注册信息表示为Sr,Sr=(NodeIDA||DevTypeA||DevModelA||AgencyA||RPCInfoA),其中||为连接符;Signature(·)为数字签名函数,Tr为身份注册消息时间戳,对Sr和Tr生成身份注册消息签名Sigr=Signature(Sr||Tr),NodeA向IESi发送身份注册消息Mr={Sr||Tr||Exfield||Sigr},其中Exfield为边缘节点的其他扩展信息,包括接入工业边缘网关的工业现场设备集合{IFD1,IFD2,IFD3,...};
S23:IESi接收到身份注册消息后,首先验证消息格式,如果身份注册消息格式错误则丢弃该消息,否则继续验证时间戳Tr,如果消息超时则丢弃该消息,否则验证身份注册消息签名VerifySig(Sigr),其中VerifySig(·)为验证数字签名函数,如果验证失败则丢弃该消息;IESi通过智能合约将边缘控制器和工业边缘网关关键身份信息存储在链上,隐私身份信息存储在链下,并将链上与链下的身份信息关联,链上数据保证关键身份信息不可篡改,隐私身份信息存储在链下,防止隐私身份信息泄露;
S24:链下身份信息存储;IESi会将在分布式存储系统中以Merkel树结构存储对NodeA的注册身份信息进行存储,存储的信息包括NodeIDA、DevTypeA、DevModelA、AgencyA和RPCInfoA,其存储地址为StoreAddrA,Merkel树中叶子节点存储边缘控制器或工业边缘网关的身份信息数据,非叶子节点则存储其子节点的Hash值,身份信息Merkel树根节点为MR;
S25:IESi调用身份注册智能合约RegSC(RegSCAddr,Mr)发起NodeA身份注册交易
Figure FDA0004239924920000071
S251:边缘控制器的
Figure FDA0004239924920000072
包含TxNum交易编号、交易时间戳Ttx、身份信息有效期Tvalid、身份注册信息的Hash值DigestA=Hash(Sr)和StoreAddrA,其中Hash(·)为Hash函数;
S252:工业边缘网关
Figure FDA0004239924920000073
包含TxNum交易编号、交易时间戳Ttx、身份信息有效期Tvalid、身份注册信息的Hash值DigestA=Hash(Sr)、StoreAddrA和接入该工业边缘网关的工业现场设备集合{IFD1,IFD2,IFD3,...};
S26:身份信息交易
Figure FDA0004239924920000074
的落成;IESi将/>
Figure FDA0004239924920000075
放入群组的交易池中;主节点从交易池中取出身份注册交易/>
Figure FDA0004239924920000076
发起共识,联盟链网络对身份注册交易完成共识后,系统将在账本中落成一个新的区块Block,在区块Block中记录身份注册交易/>
Figure FDA0004239924920000077
IESi将区块信息返回给NodeA
S27:NodeA注册完成后,在本地记录自身身份信息区块Block及该区块的哈希值BlockHash,并按照分布式存储系统中的Merkel树结构存储自身的身份信息;并在本地记录在边缘层的联盟链网络中身份注册交易时间Ttx,身份信息的有效期Tvalid
4.根据权利要求1所述的一种面向边缘计算节点的零信任身份认证方法,其特征在于:所述S5具体为:
当边缘控制器、工业边缘网关满足以下任一条件时,边缘控制器和工业边缘网关对自身的身份信息进行更新;
1)当边缘控制器或工业边缘网关包含自身身份信息的交易将要过期时,包括身份注册交易、身份更新交易;
2)当边缘控制器或工业边缘网关远程调用接口信息RPCInfo重新配置;
3)当边缘控制器或工业边缘网关由于遭受网络攻击和电源耗尽原因需要重新接入边缘层的联盟链网络时;
预编译的身份更新的智能合约UpdateSC由部署在工业边缘服务器的控制台进行部署;部署完成后,工业边缘服务器获得身份更新智能合约地址UpdateSCAddr;调用身份更新智能合约将新的身份信息交易发起共识,将交易记录在账本中,并在分布式系统中删除原身份信息,存储新的身份信息;身份更新智能合约仅限工业边缘服务器调用;
边缘节点完成以下步骤进行身份信息更新;
S51:边缘节点NodeA,NodeA原身份证明proofA,原身份注册交易所在区块Hash值BlockHashA,原身份信息Hash值DigestA,其新的身份信息为Sr′=(NodeID′||DevType′||DevModel′||Agency′||RPCInfo′||Exfield′);NodeA向IESi发送身份更新消息Mup={proofA||S′r||Tup||Sigup},其中Tup为身份更新消息时间戳,Sigup=Signature(Sr′||Tup)为身份更新消息签名;
S52:IESi收到NodeA的身份更新消息Mup后,IESi验证消息格式,若验证失败则丢弃该消息,否则验证Mup的消息签名VerifySig(Sigup),若验证失败则丢弃该消息,否则IESi调用身份分析算法,若NodeA为高风险节点,则身份更新失败;
S53:调用身份认证智能合约AuthenSC(AuthenSCAddr,BlockHashA)对NodeA的身份进行认证,若认证失败,IESi则丢弃该消息;若认证成功,IESi则调用身份更新智能合约UpdateSC(UpdateSCAddr,S′r);
S54:通过身份更新智能合约UpdateSC,IESi在分布式存储系统中以Merkel树结构存储NodeA新的身份信息,存储地址为StroeAddr′A,删除StroeAddrA的原身份信息;
S55:IESi生成NodeA的身份信息更新交易Txup={TxNum||Ttx||T′valid||Digestnew||StoreAddr′A||Exfield′},其中Digestnew=Hash(S′r),IESi将Txup放入群组的交易池,主节点取出交易并发起共识,在群组内完成共识后,群组内的工业边缘服务器在账本中落成一个新的区块Blocknew,Blocknew中包含Txup
S56:NodeA从IESi获取新的区块Blocknew信息;NodeA更新BlockHashA为Blocknew的Hash值BlockHash′A;更新本地身份信息Merkel树;更新身份信息交易时间
Figure FDA0004239924920000081
更新身份信息有效期/>
Figure FDA0004239924920000082
CN202111395731.7A 2021-11-23 2021-11-23 一种面向边缘计算节点的零信任身份认证方法 Active CN114024766B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111395731.7A CN114024766B (zh) 2021-11-23 2021-11-23 一种面向边缘计算节点的零信任身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111395731.7A CN114024766B (zh) 2021-11-23 2021-11-23 一种面向边缘计算节点的零信任身份认证方法

Publications (2)

Publication Number Publication Date
CN114024766A CN114024766A (zh) 2022-02-08
CN114024766B true CN114024766B (zh) 2023-06-20

Family

ID=80065810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111395731.7A Active CN114024766B (zh) 2021-11-23 2021-11-23 一种面向边缘计算节点的零信任身份认证方法

Country Status (1)

Country Link
CN (1) CN114024766B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114900288B (zh) * 2022-05-23 2023-08-25 北京科技大学 一种基于边缘服务的工业环境认证方法
CN115643575B (zh) * 2022-12-26 2023-03-10 电子科技大学 边缘计算下基于区块链的射频指纹跨层安全接入认证方法
TWI831540B (zh) * 2022-12-26 2024-02-01 台灣大哥大股份有限公司 信令風暴之阻斷方法
CN117640108A (zh) * 2023-12-18 2024-03-01 北京数盾信息科技有限公司 一种基于零知识证明的区块认证方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019120091A1 (zh) * 2017-12-18 2019-06-27 阿里巴巴集团控股有限公司 身份认证方法、系统及计算设备
CN112132447A (zh) * 2020-09-21 2020-12-25 江苏省未来网络创新研究院 一种基于区块链的算力网络信任评估与保障算法
CN112702346A (zh) * 2020-12-24 2021-04-23 国网浙江省电力有限公司电力科学研究院 基于联盟链的分布式身份认证方法及系统
CN113055886A (zh) * 2021-03-15 2021-06-29 中国联合网络通信集团有限公司 边缘计算网络中的终端认证方法、系统、服务器及介质
CN113536288A (zh) * 2021-06-23 2021-10-22 上海派拉软件股份有限公司 数据认证方法、装置、认证设备及存储介质
CN113542238A (zh) * 2021-06-29 2021-10-22 上海派拉软件股份有限公司 一种基于零信任的风险判定方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3967067A4 (en) * 2019-05-09 2022-06-22 Samsung Electronics Co., Ltd. APPARATUS AND METHOD FOR PROVIDING MOBILE EDGE COMPUTER SERVICES IN A WIRELESS COMMUNICATION SYSTEM

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019120091A1 (zh) * 2017-12-18 2019-06-27 阿里巴巴集团控股有限公司 身份认证方法、系统及计算设备
CN112132447A (zh) * 2020-09-21 2020-12-25 江苏省未来网络创新研究院 一种基于区块链的算力网络信任评估与保障算法
CN112702346A (zh) * 2020-12-24 2021-04-23 国网浙江省电力有限公司电力科学研究院 基于联盟链的分布式身份认证方法及系统
CN113055886A (zh) * 2021-03-15 2021-06-29 中国联合网络通信集团有限公司 边缘计算网络中的终端认证方法、系统、服务器及介质
CN113536288A (zh) * 2021-06-23 2021-10-22 上海派拉软件股份有限公司 数据认证方法、装置、认证设备及存储介质
CN113542238A (zh) * 2021-06-29 2021-10-22 上海派拉软件股份有限公司 一种基于零信任的风险判定方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
边缘计算数据安全与隐私保护研究综述;张佳乐;赵彦超;陈兵;胡峰;朱琨;;通信学报(第03期);全文 *

Also Published As

Publication number Publication date
CN114024766A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
CN114024766B (zh) 一种面向边缘计算节点的零信任身份认证方法
CN109768988B (zh) 去中心化物联网安全认证系统、设备注册和身份认证方法
US20230023857A1 (en) Data processing method and apparatus, intelligent device, and storage medium
CN112492006B (zh) 一种基于区块链的节点管理方法和装置
CN110138560B (zh) 一种基于标识密码和联盟链的双代理跨域认证方法
CN110597911B (zh) 一种区块链网络的证书处理方法、装置、电子设备及存储介质
US11849052B2 (en) Certificate in blockchain network, storage medium, and computer device
CN111654465A (zh) 一种基于区块链的电力业务跨域可信认证系统及方法
CN112235420B (zh) 基于区块链的数据同步方法、系统及相关设备
CN112055025A (zh) 一种基于区块链的隐私数据保护方法
CN111191283A (zh) 基于联盟区块链的北斗定位信息安全加密方法及装置
CN112733178B (zh) 基于数字证书认证的跨链信任方法、装置、设备以及介质
CN112231741B (zh) 基于区块链系统的数据处理方法、装置、介质及电子设备
CN112311779B (zh) 应用于区块链系统的数据访问控制方法及装置
CN111353172A (zh) 基于区块链的Hadoop集群大数据访问方法及系统
CN112448946A (zh) 基于区块链的日志审计方法及装置
US11418342B2 (en) System and methods for data exchange using a distributed ledger
CN102299927B (zh) 内容安全监管系统及方法
CN117201031A (zh) 一种基于同态哈希树的文件分布式存储共享方法
CN115550067B (zh) 基于分布式标识的工业互联网互操作方法、系统及设备
CN114629631B (zh) 基于联盟链的数据可信交互方法、系统及电子设备
CN112116470B (zh) 一种基于随机见证的图式账本创建方法和装置
CN114037449A (zh) 跨链资产转移方法、计算机设备和存储介质
CN113869901A (zh) 密钥生成方法、装置、计算机可读存储介质及计算机设备
CN112581097A (zh) 一种基于区块链的责任追溯方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant