欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2021113957317
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-02-26
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

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其他节点对边缘节点进行身份认证成功率

Feature3对其他边缘节点身份认证成功率

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},主节点随机生成模型参数 主节点配置固定参数m,表示主节点每轮收集的梯度数量;FL为模型的损失函数,t轮的模型参数为t t tθ,梯度g是损失函数FL在θ的变化率;

行为分析的训练更新过程如下:

t

S321:主节点将在t轮的模型参数θ发送至群组内的工业边缘服务器j;

S322:工业边缘服务器j在周期t采集的行为数据进行标准化处理,将特征向量中的每个特征缩放至区间[0,1],生成行为数据集为S323:工业边缘服务器j通过 计算得到的局部梯度为 然后边缘服务器j将局

部梯度 发送至主节点;

S324:主节点将收集的数据生成梯度集合G,若梯度集合G中梯度数量小于m,则继续等待其他边缘服务器的梯度值,若G中梯度数量大于等于m,主节点通过梯度过滤器RD对G进行处理,过滤异常的梯度数据,减少拜占庭节点对于行为分析模型训练的影响;梯度过滤器RD具体步骤如下:S3241:计算集合G中梯度的欧氏范数,||·||表示梯度的欧式范数,其定义为S3242:找到G中第f大的欧氏范数的梯度x,其中f表示群组可容忍拜占庭节点数;

S3243:丢弃欧式范数前f大的梯度;检查G中的每个梯度,如果 则丢弃梯度

否则将梯度 添加到G′中,G′;返回过滤后的梯度集合G′;

t

S325:主节点聚合梯度数据,根据过滤后的数据得到g←∑g′∈G′g′;主节点使用SGD方法t t+1 t t更新参数θ;θ =θ‑ηg,其中η为算法训练的步长;

所述S4具体为:

预编译的身份认证的智能合约AuthenSC由部署在工业边缘服务器的控制台进行部署;

部署完成后,工业边缘服务器会获得身份认证智能合约地址AuthenSCAddr;身份认证智能合约通过BlockHash读取账本上指定区块的交易数据,群组内的工业边缘服务器都有权限调用身份认证智能合约;

边缘节点之间相互认证:

边缘节点NodeA和NodeB,当NodeA需要对NodeB进行身份认证时,需要通过以下步骤完成认证:S41:NodeB首先计算其自身身份信息Hash值Digest′B=Hash(Sr),然后,NodeB计算其节点标识NodeIDB和其所属机构AgencyB的稀疏默克尔多值证明(Sparse  Merkle multiproofs)proofB,proofB的计算需要NodeB的身份信息Merkel树的非叶子节点以及NodeB的身份注册信息,NodeB的证明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,若二者一致,则认证成功;若二者不一致,则认证失败;

B

H′12=Hash(Hash(NodeIDB)+H2)

B

H′34=Hash(Hash(AgencyB)+H4)

MR′B=Hash(H′12+H′34)    (4‑1)

S46:IESi返回验证响应消息 为IESi的验证结果,

为验证响应消息签名;

S47:NodeA将收到的验证响应后,验证时间戳Tvr,若消息超时则丢弃该消息,否则验证响应消息签名VerifySig(Sigvr),若验证消息签名失败则丢弃该验证响应,若验证成功则将加入验证响应消息列表;若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身份注册交易S251:边缘控制器的 包含TxNum交易编号、交易时间戳Ttx、身份信息有效期Tvalid、身份注册信息的Hash值DigestA=Hash(Sr)和StoreAddrA,其中Hash(·)为Hash函数;

S252:工业边缘网关 包含TxNum交易编号、交易时间戳Ttx、身份信息有效期Tvalid、身份注册信息的Hash值DigestA=Hash(Sr)、StoreAddrA和接入该工业边缘网关的工业现场设备集合{IFD1,IFD2,IFD3,...};

S26:身份信息交易 的落成;IESi将 放入群组的交易池中;主节点从交易池中取出身份注册交易 发起共识,联盟链网络对身份注册交易完成共识后,系统将在账本中落成一个新的区块Block,在区块Block中记录身份注册交易 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树;更新身份信息交易时间 更新身份信息有效期