利索能及
我要发布
收藏
专利号: 2022109622974
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于信誉值机制的边缘计算终端设备的身份认证方法,其特征在于,该方法具体包括以下步骤:S1:初始化阶段:终端设备、路由节点和边缘网关生成密钥对,边缘服务器安装联盟链客户端,联盟链选取共识算法中的主节点和从节点;具体包括以下步骤:S11:生成边缘网关和终端设备的公钥和私钥:边缘网关生成自己的公钥PEG和私钥SEG,将公钥PEG公开;同时,边缘网关为终端设备生成公钥PTE和私钥STE,将公钥PTE公开,私钥STE发送给终端设备保存;

S12:生成路由节点的公钥和私钥:边缘网关为路由节点生成公钥PRN和私钥SRN,将公钥PRN公开,私钥SRN发送给路由节点保存;

S13:初始化边缘服务器和生成边缘服务器的密钥对;

选取边缘层中的边缘服务器担任联盟链网络中的共识节点,包括:首先,在ESi上安装联盟链客户端,安装完成联盟链客户端后,ESi将获得联盟链节点地址以及联盟链证书;然后,ESi采用非对称加密算法,获得唯一的会话密钥对,即公钥 和私钥 将公钥 公开,自我保存私钥 其中ESi为边缘层的第i个边缘服务器,i=1,2,3,…,Z,Z表示所有的联盟链节点数;

S14:采用基于信誉值机制的共识算法选取联盟链中的共识节点、主节点和从节点,具体包括以下步骤:S141:选取共识节点:完成一个周期的终端设备身份注册信息上链后,联盟链节点会在Δt时间内根据共识节点选取机制重新选取共识节点;Δt是指前一个身份注册信息上链结束和下一个身份注册信息上链开始前的时间间隙;

所述共识节点选取机制结合了信誉值机制和VRF随机函数,具体选取机制方案为:(1)每一个联盟链节点根据自己的区块hash值生成一个的随机数randi,将randi转化为

16进制数S16,并将randi和S16广播给所有联盟链节点,randi表示第i个联盟链节点的随机数,i∈[1,Z];

(2)联盟链节点i通过私钥 对随机数randi计算哈希值,得到联盟链节点i的随机结果 其中,Hash()表示Hash计算,||为链接符号;

(3)联盟链节点i根据随机结果resulti与字节长度的比值是否小于等于阈值Y来确定自己是否能够被选取为共识节点;选取判断算法如公式(1)所示:其中,len(resulti)表示随机结果resulti的字节长度;

当联盟链节点i的随机结果resulti与字节长度的比值小于等于阈值Y,则它具备被其他联盟链节点共识为共识节点的资格;相反,则不具备被共识的资格;

(4)如果联盟链节点i满足公式(1),联盟链节点i通过椭圆曲线加密算法来构建零知识证书proofi;联盟链节点i获得proofi后,将proofi和随机结果resulti广播给其他联盟链节点;

联盟链节点i构造零知识证书proofi,具体步骤如下:

a):计算联盟链节点i的K1值,

b):计算联盟链节点i的K2值, 其中k∈[0,J‑1],J为基点G的大素数阶,G为椭圆曲线加密算法的基点;

c):获得联盟链节点i的零知识证书

(5)其他联盟链节点在收到proofi后,验证proofi,具体步骤如下:a):除联盟链节点i的任意一个联盟链节点i’根据联盟链节点i的公钥 基点G、K2值和resulti计算K3值,b):联盟链节点i’根据联盟链节点i的公钥 和随机数randi计算K4,c):联盟链节点i’根据联盟链节点i的K1值、K2值、K4值和resulti计算K5值,K5=K1*resulti+K4*K2;

d):联盟链节点i’根据基点G、K1值、K3值、K4值、K5值和联盟链节点i的公钥 计算判断resulti′=resulti是否成立,若联盟链节点i’计算的结果resulti′=resulti,则联盟链节点i成为共识节点的身份被其他联盟链节点接受,联盟链节点i成为共识节点;若resulti′≠resulti,联盟链节点i不能成为共识节点;

S142:选取主节点和从节点;

完成共识节点的选取后,前一周期中的主节点CLN依据主节点信誉值和从节点信誉值选取出下一周期的新主节点和新从节点;具体选取规则为:CLN将主节点和从节点的信誉值进行排序,选取信誉值最高的共识节点作为新主节点,选取信誉值排序前N个共识节点作为新的从节点,其中(2*N)≥Z;若有两个信誉值最高的共识节点,联盟链选取标号小的共识节点作为主节点;

S2:终端设备生成注册请求消息阶段:终端设备利用自己的身份注册信息生成注册请求消息,并将注册请求消息和时间戳发送给边缘网关;

S3:边缘网关验证注册请求消息和主节点验证注册交易阶段:边缘网关在接收到终端设备的注册请求消息后,检验终端设备的注册请求消息是否超时,以及主节点验证注册交易;

S4:终端设备的交易信息生成和验证阶段:主节点生成交易信息并广播给从节点;从节点验证交易信息真实性和交易信息时效性,实现终端设备的身份合法性判断;

S5:终端设备的身份注册信息共识和上链阶段:主节点和从节点对终端设备身份注册信息进行共识,主节点将达到从节点共识的注册信息上链;具体包括:终端设备身份验证成功后,主节点将BlockA广播,从节点在接收到BlockA后,按照改进的共识算法实现对终端设备的身份注册信息上链;若有大于N/2数量从节点对区块BlockA达成共识,则主节点将块BlockA记录到联盟链的账本中,即身份注册信息上链;终端设备身份验证没有通过的,其身份注册信息不能上链;

所述身份注册信息上链包括请求、预准备、准备、反馈、确认和答复阶段,具体包括以下步骤:(1)请求阶段:终端设备向主节点发送请求消息reqm=,其中q为请求内容,q包含BlockA,treq为时间戳,c为终端设备标识,request包含消息内容m和消息摘要d;

(2)主节点在接收到终端设备的请求消息后进入预准备阶段;

主节点将预准备消息、预准备消息的哈希值h5=Hash(prepr||reqm||d||ns||v)以及预准备消息的数字签名 广播给从节点;其中prepr为预准备消息的标记符,d为reqm的摘要,ns为预准备消息序号,h≤ns≤H,H和h代表序号ns的高低序号,v为视图编号;

(3)从节点收到主节点的预准备消息后进入准备阶段;

从节点收到预准备消息、哈希值h5和数字签名 后,需要进行以下校验:a):从节点验证主节点对预准备消息的数字签名是否正确;

从节点使用主节点的公钥对 进行签名验证,并对签名验证结果进行哈希计算得到哈希值h6,若h5=h6,则验证成功;

b):从节点检查是否收到了一条在视图v下序号为ns的预准备消息,即从节点检查是否存在终端设备的请求消息reqm′;以及检查是否存在请求消息reqm的消息摘要d′;若(reqm′≠reqm)与(d′≠d)存在,则该预准备消息无效;

c):从节点检查预准备消息序号ns的范围,若不在正确范围(h,H)内,则该预准备消息无效;

若a)、b)、c)条件都验证有效,表示该预准备消息有效,记作Succppre;从而从节点向主节点发送准备消息mpre=,其中prep为准备消息的标记符,j表示当前从节点的编号,d′,ns′,v′与预准备消息中的d,ns,v相同;以及从节点将准备消息的哈希值h7=Hash(mpre)和数字签名 发送给主节点;

(4)主节点收到从节点的准备消息后进入反馈阶段;主节点和每个从节点需要对准备消息mpre、哈希值h7、准备消息的签名 进行以下验证:a):主节点验证准备消息的签名 是否正确;主节点使用从节点的公钥对进行签名验证,并对签名验证结果 哈希计算得到哈希值h8,若h8=h7,则验证成功;

b):从节点验证准备消息中的预准备消息编号ns′是否为同一个视图编号v下的标号,若准备消息中的预准备消息ns′≠ns,则该预准备消息无效;

c):从节点检查准备消息序号ns′的范围,若不在正确范围(h,H)内,该准备消息无效;

d):从节点验证准备消息中的消息摘要d′是否与预准备消息中的d一致,若不一致,则该准备消息无效;

若a)、b)、c)、d)条件都验证有效,则准备消息有效,记为Succpre,从节点发送Succpre给主节点;

若主节点收到大于N/2条Succpre的准备消息,则将N/2条准备消息和Succpre打包,将该包记为D,则向从节点发送反馈消息mfeback=;其中j′,ns″,v″与准备消息的i,ns′,v′相同,feback为反馈消息的标记符;

(5)从节点在收到主节点的反馈消息mfeback后进入确认阶段;

a):首先从节点对收到的反馈消息进行验证,验证j′,ns″,v″与准备消息的j,ns′,v′是否相同,若j′=j,ns″=ns′,v″=v′,则反馈消息验证成功;

b):从节点RNj检查其余从节点的反馈消息是否验证成功;

若从节点RNj收到的大于N/2个数量的其余从节点验证成功的消息,表明从节点RNj共识该请求消息,发送确认消息mcommit=给主节点,其中commit为确认标记符,RNj表示第j个从节点,1≤j≤N;

(6)主节点在收到从节点的确认消息mcommit后进入答复阶段;

若主节点接收到大于N/2条从节点的确认消息,表明从节点对终端设备的BlockA达成了共识;终端设备的BlockA达成了共识后,作为共识节点的主节点将BlockA记录到账本中;以及主节点将答复消息mreply=发送给终端设备,其中r为请求的操作结果,treq为时间戳,c为终端设备标识;终端设备发现请求操作成功,表明终端设备身份注册信息上链成功;

S6:共识节点的行为信息和信誉值更新阶段:主节点根据步骤S5中共识节点的行为计算和更新共识节点的行为信息和信誉值;

主节点的信誉值计算公式为:

rewLN=(A1×ω1‑A2×ω2)×(1‑rLN)+rLN    (2)其中,rewLN表示一个周期结束后主节点的更新信誉值,rLN表示一个周期内的主节点信誉值,A1表示主节点将身份注册信息上链行为次数,A2表示主节点将身份注册信息未上链行为次数;ω1表示主节点将身份注册信息上链行为;ω2表示主节点将身份注册信息未上链行为;

从节点的信誉值计算公式为:

其中, 表示一个周期结束后从节点RNj的更新信誉值, 表示一个周期内的从节点RNj信誉值,A5表示从节点正常的共识达成的行为次数,A3表示从节点身份注册信息上链阶段共识失败的行为次数;A4表示从节点重复发送达成共识消息的行为的次数;ω3表示从节点身份注册信息上链阶段共识失败的行为;ω4表示从节点重复发送达成共识的消息行为;ω5表示从节点正常的共识达成的行为。

2.根据权利要求1所述的基于信誉值机制的边缘计算终端设备的身份认证方法,其特征在于,步骤S2具体包括以下步骤:S21:终端设备将私钥STE、公钥PTE、节点标识NodeIDTE、身份注册信息的时间戳t作为终端设备的身份注册信息ms,ms=(STE,PTE,NodeIDTE,t);

S22:终端设备利用边缘网关的公钥PLN对ms=(STE,PTE,NodeIDTE,t)进行椭圆曲线加密,得到注册请求消息 其中E()表示椭圆曲线加密算法;然后将注册请求消息req和注册请求消息req的时间戳Tr发送给边缘网关。

3.根据权利要求1所述的基于信誉值机制的边缘计算终端设备的身份认证方法,其特征在于,步骤S3具体包括以下步骤:S31:验证时间戳:边缘网关在接收到终端设备的注册请求消息后,边缘网关验证注册请求消息的时间戳Tr,如果注册请求消息超时则丢弃该消息,没超时则执行后续步骤;

S32:生成注册交易,具体包括:

(1)边缘网关对注册请求消息完成验证后,边缘网关使用私钥解密注册请求消息req,获取终端设备的身份注册信息ms=(STE,PTE,NodeIDTE,t),其中NodeIDTE表示节点标识,t表示身份注册信息的时间戳;

(2)边缘网关对STE,PTE,NodeIDTE,t哈希计算,得到哈希值h=Hash(STE||PTE||NodeIDTE||t);

(3)边缘网关利用私钥SEG对h进行椭圆曲线数字签名,得到椭圆曲线数字签名其中ES()表示椭圆曲线数字签名算法,SEG表示边缘网关在初始化阶段生成的私钥;

(4) 边 缘网 关将 作为 注册 交易

并将transEG反馈给主节点;

S33:验证注册交易:主节点接收注册交易transEG后,验证transEG是否可靠,以防恶意攻击者冒充边缘网关发起攻击;具体包括:(1)主节点对STE,PTE,NodeIDTE,t进行哈希计算,得到哈希h1=Hash(STE||PTE||NodeIDTE||t)值;

(2)主节点利用边缘网关的公钥PEG对 进行签名验证,并对签名验证结果进行哈希计算得到哈希值 若h2=h1,则验证通过,验

证transEG的发送方是边缘网关,防止恶意节点冒充边缘网关;其中PEG表示边缘网关在初始化阶段生成的公钥;

(3)验证通过后,主节点将transEG中的STE,NodeIDTE,t放入交易池中,主、从节点进入交易信息验证阶段。

4.根据权利要求1所述的基于信誉值机制的边缘计算终端设备的身份认证方法,其特征在于,步骤S4具体包括以下步骤:S41:主节点生成和广播交易信息,具体包括:

(1)主节点从交易池中获取终端设备的(NodeIDTE,t),对终端设备的(NodeIDTE,t)进行哈希计算,得到哈希值h3=Hash(NodeIDTE||t),其中NodeIDTE表示节点标识,t表示身份注册信息的时间戳;

(2)主节点从交易池中获取私钥STE,主节点使用STE对h3进行加密,得到 其中E′()表示基于非对称加密的加密算法;

(3)主节点再使用从节点的公钥PRN对(NodeIDTE,t)和 进行椭圆曲线加密,得到 记作

(4)主节点将 和T_tx作为交易信息广播给从节点,记 其中

T_tx表示本轮交易信息的时间戳;

S42:从节点验证交易信息真实性:从节点在收到主节点广播的区块transLN后,由从节点对transLN进行验证,具体包括:(1)从节点使用自己的私钥SRN对交易信息中的 进行椭圆曲线解密,得到(2)从节点使用终端设备的公钥PTE对 解密,若能成功解密,表明此身份注册信息是该终端设备的;

(3)从节点对NodeIDTE,t进行哈希计算,得到哈希值h4=Hash(NodeIDTE||t),若h4=h3,则验证了(NodeIDTE,t)没有被篡改;

S43:从节点验证交易信息时效性;

从节点确认了交易信息的发送方是主节点和交易信息可靠后,从节点验证交易信息的时效性,通过验证transLN中的交易时间戳T_tx是否过期来验证交易的时效性;记验证时间戳T_tx的时间为Ttx,假设有效期时间长度为Tt,若Ttx‑T_tx≤Tt则认定交易信息具有时效性;

S44:身份认证判定;

若有大于N/2数量的从节点验证交易信息真实性和交易信息时效性通过,则从节点判定终端设备身份认证通过,记为PassTE;反之,终端设备身份认证失败,记为FalseTE;

终端设备身份验证成功后,主节点将终端设备的身份注册信息ms打包成区块BlockA,记录到联盟链的账本中,实现终端设备的身份注册信息上链;并且主节点将认证结果发送给边缘网关和终端设备。