CN115378604B - 一种基于信誉值机制的边缘计算终端设备的身份认证方法 - Google Patents
一种基于信誉值机制的边缘计算终端设备的身份认证方法 Download PDFInfo
- Publication number
- CN115378604B CN115378604B CN202210962297.4A CN202210962297A CN115378604B CN 115378604 B CN115378604 B CN 115378604B CN 202210962297 A CN202210962297 A CN 202210962297A CN 115378604 B CN115378604 B CN 115378604B
- Authority
- CN
- China
- Prior art keywords
- node
- message
- slave
- consensus
- master node
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3252—Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
- H04L9/3242—Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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 time stamps, e.g. generation of time stamps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于信誉值机制的边缘计算终端设备的身份认证方法,属于计算机网络完全技术领域。该方法包括S1:初始化阶段;S2:终端设备生成注册请求消息阶段;S3:边缘网关验证注册请求消息和主节点验证注册交易阶段;S4:终端设备的交易信息生成和验证阶段;从节点验证交易信息真实性和交易信息时效性,实现终端设备的身份合法性判断;S5:终端设备的身份注册信息共识和上链阶段;S6:共识节点的行为信息和信誉值更新阶段。本发明将终端设备的身份认证融入到改进的共识算法机制,并采用信誉值机制选取共识节点,从而实现对终端设备的身份认证,进而提高工业边缘计算环境的安全能力。
Description
技术领域
本发明属于计算机网络完全技术领域,涉及一种基于信誉值机制的边缘计算终端设备的身份认证方法。
背景技术
但随着工业网络的发展,上层应用中新服务的不断出现,以及工业现场接入的设备和产生的数据不断激增,云计算已不能满足这些变化带来的新需求。工业边缘计算网络能通过边缘计算增强本地计算能力,降低集中式的云计算带来的响应延迟,满足如今工业对大规模计算场景下高计算能力和实时性响应的需求。因此,将边缘计算引入到工业网络中。
由于工业边缘计算具有网络开放性的特点,使终端设备能与外部网络相连接。如果恶意节点或被俘获的终端设备被接入到工业网络中,这将给工业生产带来巨大损失。因此,确保边缘计算环境下终端设备的可信接入将是一个很严峻的安全挑战,有必要设计一种工业边缘计算环境下终端设备的身份认证方法。
目前,针对设备身份的验证的方法大多数是采用传统的公钥基础设施,该方法通过一种集中式的权威机构CA(Certificate Authority)为网络中的设备分配数字证书,从而实现身份认证。然而,集中式的认证方式极易引发单点故障问题。因此,基于传统的公钥基础设施的认证对工业网络的安全性会造成一定威胁。此外,例如基于口令的身份认证方法(基于密码学的认证方法)等也在工业边缘环境下的设备身份认证场景中得到广泛的应用,此类方法在功能方面的确能有效解决设备的身份认证问题,然而此类方法本身存在很大的安全漏洞,极易被攻击者利用,例如:在基于口令的身份认证方法中,一个恶意实体如果可以获知(如猜测)出一个可靠实体的口令,那么就可以冒充他,从而造成安全威胁。因此自身存在安全漏洞的身份认证方法很难适用于工业边缘环境下高安全性需求的终端设备。
在联盟链中,联盟链上的区块信息是征得多数节点的共识才写到联盟链区块中的,如果想修改这些信息必须征得多数节点的同意,并且这些节点通常掌握在不同的主体手中,所以想要篡改区块链中的信息是极其困难的。因此可以将联盟链技术与身份认证技术相融合,形成一种更安全和可靠的方法来解决终端设备的身份认证问题。基于现有的工业边缘计算架构,通过在边缘层构建联盟链,使联盟链中的共识节点参与终端设备的身份认证,则终端设备的身份认证需要经得多个共识节点验证通过才能判定合法(该过程就是共识机制),这样可以有效去除认证具有中心化的弊端以及加强认证可靠性;并且通过将认证信息上链,能实现对认证信息的追溯。因此,本发明将联盟链应用到工业边缘计算环境下终端设备的身份认证架构中,从而解决现有工业边缘环境下终端设备的高安全性需求问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于信誉值机制的边缘计算终端设备的身份认证方法,将终端设备的身份认证融入到改进的共识算法机制,并设计一种信誉值机制选取共识节点,从而实现对终端设备的身份认证,进而提高工业边缘计算环境的安全能力。
为达到上述目的,本发明提供如下技术方案:
一种基于信誉值机制的边缘计算终端设备的身份认证方法,具体包括以下步骤:
S1:初始化阶段:终端设备、路由节点和边缘网关生成密钥对,边缘服务器安装联盟链客户端,联盟链选取共识算法中的主节点和从节点;
S2:终端设备生成注册请求消息阶段:终端设备利用自己的身份注册信息生成注册请求消息,并将注册请求消息和时间戳发送给边缘网关;
S3:边缘网关验证注册请求消息和主节点验证注册交易阶段:边缘网关在接收到终端设备的注册请求消息后,检验终端设备的注册请求消息是否超时,以及主节点验证注册交易;
S4:终端设备的交易信息生成和验证阶段:主节点生成交易信息并广播给从节点;从节点验证交易信息真实性和交易信息时效性,实现终端设备的身份合法性判断;
S5:终端设备的身份注册信息共识和上链阶段:主节点和从节点对终端设备身份注册信息进行共识,主节点将达到从节点共识的注册信息上链;
S6:共识节点的行为信息和信誉值更新阶段:主节点根据步骤S5中共识节点的行为计算和更新共识节点的行为信息和信誉值。
进一步,步骤S1具体包括以下步骤:
S11:生成终端设备的公钥和私钥:边缘网关生成自己的公钥PEG和私钥SEG,将公钥PEG公开;同时,边缘网关为终端设备生成公钥PTE和私钥STE,将公钥PTE公开,私钥STE发送给终端设备,私钥由终端设备保存;
S12:生成路由节点的公钥和私钥:边缘网关为路由节点生成公钥PRN和私钥SRN,将公钥PRN公开,私钥SRN发送给路由节点,私钥由路由节点保存;
S13:初始化边缘服务器和生成边缘服务器的密钥对;
选取边缘层中的边缘服务器担任联盟链网络中的共识节点,包括:首先,在ESi(ESi为边缘层的第i个边缘服务器,i=1,2,3,…,Z,Z表示所有的联盟链节点数)上安装联盟链客户端,安装完成联盟链客户端后,ESi将获得联盟链节点地址以及联盟链证书;然后,ESi采用一种非对称加密算法,获得唯一的会话密钥对,即公钥和私钥/>将公钥/>公开,自我保存私钥/>
S14:采用基于信誉值机制的共识算法选取联盟链中的共识节点、主节点和从节点。
进一步,步骤S14具体包括以下步骤:
S141:选取共识节点:完成一个周期的终端设备身份注册信息上链后,联盟链节点会在Δt时间内根据共识节点选取机制重新选取共识节点;Δt是指前一个身份注册信息上链结束和下一个身份注册信息上链开始前的时间间隙;
所述共识节点选取机制结合了信誉值机制和VRF随机函数,具体选取机制方案为:
(1)每一个联盟链节点根据自己的区块hash值生成一个的随机数randi,将randi转化为16进制数S16(S16被用于构建联盟链节点的零知识证书proof),并将randi和S16广播给所有联盟链节点,randi表示第i个联盟链节点的随机数,i∈[1,Z];
(2)联盟链节点i通过私钥(/>表示联盟链节点i的私钥)对随机数randi计算哈希值,得到联盟链节点i的随机结果resulti,/>其中,Hash()表示Hash计算,||为链接符号;
(3)联盟链节点i根据随机结果resulti与字节长度的比值是否小于等于阈值Y来确定自己是否能够被选取为共识节点;选取判断算法如公式(1)所示:
由于公式(1)中的选举判断算法是一个概率算法,会存在身份注册信息上链阶段没有足够数量共识节点的情形,因此需要设置适当的阈值Y,来降低这种情况产生的概率。本发明取Y=0.4或者0.5。其中,len(resulti)表示随机结果resulti的字节长度;
当联盟链节点i的随机结果resulti与字节长度的比值小于等于阈值Y,则它具备被其他联盟链节点共识为共识节点的资格;相反,则不具备被共识的资格;
(4)如果联盟链节点i满足公式(1),此时联盟链节点i具备成为共识节点的可能,联盟链节点i还需其他联盟链节点验证其成为共识节点的结果是否可靠。因此联盟链节点i通过椭圆曲线加密算法来构建一个零知识证书proofi;联盟链节点i获得proofi后,将proofi和随机结果resulti广播给其他联盟链节点以便其他联盟链节点对proofi进行验证;
联盟链节点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依据表1中的主节点信誉值和从节点信誉值列表选取出下一周期的新主节点和新从节点;具体选取规则为:CLN将主节点和从节点的信誉值进行排序,选取信誉值最高的共识节点作为新主节点,选取信誉值排序前N个共识节点作为新的从节点,其中(2*N)≥Z;若有两个信誉值最高的共识节点,联盟链选取标号小的共识节点作为主节点。
进一步,步骤S2具体包括以下步骤:
S21:终端设备将私钥STE、公钥PTE、节点标识NodeIDTE、身份注册信息的时间戳t作为终端设备的身份注册信息ms,ms=(STE,PTE,NodeIDTE,t);
S22:终端设备利用边缘网关的公钥PLN对ms=(STE,PTE,NodeIDTE,t)进行椭圆曲线加密算法,得到注册请求消息其中E()表示椭圆曲线加密算法;然后将注册请求消息req和注册请求消息req的时间戳Tr发送给边缘网关。
进一步,步骤S3具体包括以下步骤:
S31:验证时间戳:边缘网关在接收到终端设备的注册请求消息后,边缘网关验证注册请求消息的时间戳Tr,如果注册请求消息超时则丢弃该消息,没超时则执行后续步骤;
S32:生成注册交易,具体包括:
(1)边缘网关对注册请求消息完成验证后,边缘网关使用私钥解密注册请求消息req,获取终端设备的身份注册信息ms=(STE,PTE,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放入交易池中,主、从节点进入交易信息验证阶段。
进一步,步骤S4具体包括以下步骤:
S41:主节点生成和广播交易信息,具体包括:
(1)主节点从交易池中获取终端设备的(NodeIDTE,t),对终端设备的(NodeIDTE,t)进行哈希计算,得到哈希值h3=Hash(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,记录到联盟链的账本中,实现终端设备的身份注册信息上链(账本就是一串连接的联盟链区块);并且主节点将认证结果发送给边缘网关和终端设备。
进一步,步骤S5具体包括:终端设备身份验证成功后,主节点将BlockA广播,从节点在接收到BlockA后,按照改进的共识算法实现对终端设备的身份注册信息上链;若有大于N/2数量从节点对区块BlockA达成共识,则主节点将块BlockA记录到联盟链的账本中,即身份注册信息上链,从而实现对认证结果的可追溯;终端设备身份验证没有通过的,其身份注册信息不能上链。
其中,身份注册信息上链包括请求、预准备、准备、反馈、确认和答复阶段,具体包括以下步骤:
(1)请求阶段:终端设备向主节点发送请求消息reqm=<request,q,treq,c>,其中q为请求内容,q包含BlockA,treq为时间戳,c为终端设备标识,request包含消息内容m和消息摘要d;
(2)主节点在接收到终端设备的请求消息后进入预准备阶段;
主节点将预准备消息<prepr,reqm,d,ns,v>、预准备消息的哈希值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′>,其中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=<feback,j′,D,ns″,v″>;其中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,j′,D,ns″,v′>给主节点,其中commit为确认标记符,RNj表示第j个从节点,1≤j≤N;
(6)主节点在收到从节点的确认消息mcommit后进入答复阶段;
若主节点接收到大于N/2条从节点的确认消息,表明从节点对终端设备的BlockA达成了共识;终端设备的BlockA达成了共识后,作为共识节点的主节点将BlockA记录到账本中;以及主节点将答复消息mreply=<reply,j′,treq,c,v″,r>发送给终端设备,其中r为请求的操作结果,treq为时间戳,c为终端设备标识;终端设备发现请求操作成功,表明终端设备身份注册信息上链成功。
进一步,步骤S6中,主节点的信誉值计算公式为:
rewLN=(A1×ω1-A2×ω2)×(1-rLN)+rLN(2)
其中,rewLN表示一个周期结束后主节点的更新信誉值,rLN表示一个周期内的主节点信誉值,A1表示主节点将身份注册信息上链行为次数,A2表示主节点将身份注册信息未上链行为次数。
进一步,步骤S6中,从节点的信誉值计算公式为:
其中,表示一个周期结束后从节点RNj的更新信誉值,/>表示一个周期内的从节点RNj信誉值,A5表示从节点正常的共识达成的行为次数,A3表示从节点身份注册信息上链阶段共识失败的行为次数;A4表示从节点重复发送达成共识消息的行为的次数。
本发明的有益效果在于:本发明将终端设备的身份认证融入到改进的共识算法机制,并设计一种信誉值机制选取共识节点,从而实现了对终端设备的身份认证,进而提高了工业边缘计算环境的安全能力。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为工业边缘计算环境下终端设备的身份认证架构;
图2为本发明实施例基于信誉值机制的边缘计算终端设备的身份认证流程图;
图3为身份注册信息上链轮次与一个周期的关系图;
图4为身份注册信息上链过程示意图;
图5为共识节点行为信息与轮次关系图;
图6为共识节点信誉值与轮次关系图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本实施例提供了一种基于工业边缘计算环境下终端设备的身份认证架构,如图1所示,该架构分为3层,由工业云平台层、边缘层和现场层组成。工业云平台层包括工业云服务器;边缘层包含了边缘节点(边缘节点包括边缘服务器、边缘网关等);现场层包含工业终端设备和路由节点;联盟链由边缘层中的边缘服务器安装联盟链客户端后映射而成。该方法是基于框架中所有设备(不包括终端设备)都是可靠且安全的情形下设计的。
1、工业云服务器(ICP,Industrial Cloud Server):为边缘层联盟链节点和现场层设备提供信息计算和存储服务。
2、边缘服务器(ES,Edge Server):具有计算能力和存储能力的服务器等,在边缘服务器中安装联盟链客户端形成联盟链节点,从而构成联盟链。在联盟链中选择出参与共识算法的共识节点,共识节点在边缘层的联盟链中分为主节点(Leader)和从节点(Replica)。
联盟链节点:安装了联盟链客户端的边缘服务器被称为联盟链节点,这些联盟链节点构成联盟链;联盟链节点包括共识节点和弱节点。
(1)共识节点(Sealer):参与共识算法的节点称为共识节点,主节点(Leader)和从节点(Replica)都属于共识节点。
主节点(Leader):负责对交易信息的验证和将身份注册信息记入联盟链账本,联盟链账本就是一串连续的联盟链区块,而联盟链区块就是保存联盟链中数据信息等的一个载体。
从节点(Replica):负责对交易transEG的共识和验证交易信息等。
(2)弱节点(Weaker):仅形成联盟链,不参与共识过程。
3、边缘网关(EG,Edge Gateway):负责生成交易transEG和完成工业通信协议转换等。
4、终端设备(TE,Terminal Equipment):完成对环境的感知和数据的采集。
5、路由节点(Routing Node):在现场层中完成数据转发和路由路径选择。
本实施例提供了一种基于信誉值机制的边缘计算终端设备身份认证方法,如图2所示,终端设备的身份认证流程分为六个阶段,具体过程如下:
1、初始化阶段
在初始化阶段,边缘网关生成终端设备、路由节点的公私密钥和在边缘服务器上安装联盟链客户端以及联盟链选取出共识算法中的主、从节点。
1)生成终端设备的公钥和私钥
边缘网关为终端设备生成公钥PTE和私钥STE,将公钥PTE公开,私钥STE发送给终端设备,私钥由终端设备保存。
2)生成路由节点的公钥和私钥
边缘网关为路由节点生成公钥PRN和私钥SRN,将公钥PRN公开,私钥SRN发送给路由节点,私钥由路由节点保存。
3)初始化边缘服务器和生成边缘服务器的密钥对
本发明选取边缘层中的边缘服务器担任联盟链网络中的共识节点。首先在ESi上安装联盟链客户端,安装完成联盟链客户端后,ESi将获得联盟链节点地址以及联盟链证书,ESi(i=1,2,3,…,Z)为边缘层的第i个边缘服务器;然后,ESi采用一种非对称加密算法,获得唯一的会话密钥对,公钥和私钥/>将公钥/>公开,自我保存私钥/>
4)选拔出联盟链中的共识节点、主节点和从节点
现有的实用拜占庭容错算法中需要所有节点参与共识算法,将增加达成共识的时间,效率较低,与工业网络高实时性的需求相驳。因此本发明从性能和安全性的角度出发,改进了现有的拜占庭容错共识算法。在本发明所设计的共识算法中,设计信誉值机制,使共识节点的选取与节点信誉值相关,其中节点信誉值越高被选为共识节点的概率越大,这样保证参与共识算法的节点不是全部联盟链网络节点。在共识效率方面,该机制通过选取部分节点作为共识节点,减少共识节点个数,加快了共识速度;在安全方面,通过节点的信誉值来选取共识节点,会使试图破坏认证结果的攻击者必须控制大量的高信誉值的节点,从而增加攻击者的攻击成本。
本实施例规定f轮次身份注册信息上链为一个周期,f轮次身份注册信息上链与一个周期的关系如图3所示。本发明中,联盟链节点的信誉值r范围为(0,1),联盟链节点即指安装了联盟链客户端的边缘服务器,对联盟链节点依次编号1到Z。在t=0时刻,初始化联盟链节点(联盟链节点集合Z={1,N,Q})的信誉值r;然后联盟链选取信誉值分数最高的联盟链节点作为主节点,选取N个联盟链节点作为从节点,依次标号1到N,N满足:2N≥Z,Z表示所有的联盟链节点数,保证认证结果可靠;剩下Q个联盟链节点作为弱节点;初始化工作完成后,开始身份注册信息上链工作。
4.1)选取共识节点
本实施例中,完成一个周期的终端设备身份注册信息上链流程后,联盟链节点会在Δt时间内根据设计的共识节点选取机制重新选取共识节点,如图3所示的[tf,tf+Δt]、[t2f,t2f+Δt]时刻内重新选取共识节点。Δt是指前一个身份注册信息上链结束和下一个身份注册信息上链开始前的时间间隙。
本实施例设计的共识节点选取机制结合了信誉值机制和VRF随机函数,具体共识节点选取机制方案如下:
(1)每一个联盟链节点根据自己的区块hash值生成一个的随机数randi,将randi转化为16进制数S16(S16被用于构建联盟链节点的零知识证书proof),并且将randi和S16广播给所有联盟链节点,randi表示第i个联盟链节点的随机数,i∈[1,Z]。
(2)每一个联盟链节点通过私钥(/>表示联盟链节点i的私钥)对随机数randi计算哈希值,得到随机结果resulti,/>其中,Hash()表示Hash计算,||为链接符号;resulti表示第i个联盟链节点的随机结果。
(3)每一个联盟链节点根据随机结果resulti与字节长度的比值是否小于等于阈值Y来确定自己是否能够被选取为共识节点。选取判断算法如公式(1)所示:
由于公式(1)中的选举判断算法是一个概率算法,会存在身份注册信息上链阶段没有足够数量共识节点的情形,因此需要设置适当的阈值Y,来降低这种情况产生的概率。本发明取Y=0.4或者0.5,len(resulti)表示随机结果resulti的字节长度。
本实施例规定联盟链节点i的随机结果resulti与字节长度的比值小于等于阈值Y,则它具备被其他联盟链节点共识为共识节点的资格;相反,则不具备被共识的资格。
(4)如果联盟链节点i满足公式(1),此时联盟链节点i具备成为共识节点的可能,联盟链节点i还需其他联盟链节点验证其成为共识节点的结果是否可靠。因此联盟链节点i通过椭圆曲线加密算法来构建一个零知识证书proofi(其中G为椭圆曲线加密算法的基点,J为基点G的大素数阶)。
联盟链节点i构造零知识证书proofi,具体步骤如下:
第一步:联盟链节点i计算K1值,
第二步:联盟链节点i计算K2值,其中k∈[0,J-1];
第三步:联盟链节点i获得
联盟链节点i获得proofi后,将proofi和随机结果resulti广播给其他联盟链节点以便其他联盟链节点对proofi进行验证。
(5)其他联盟链节点在收到proofi后,验证proofi,具体步骤如下:
第1步:每一个联盟链节点(除联盟链节点i)根据联盟链节点i的公钥基点G、K2值和resulti计算K3,/>
第2步:每一个联盟链节点(除联盟链节点i)根据联盟链节点i的公钥和随机数randi计算K4,/>
第3步:每一个联盟链节点(除联盟链节点i)根据联盟链节点i的K1值、K2值、K4值和resulti计算K5值,K5=K1*resulti+K4*K2;
第4步:每一个联盟链节点(除联盟链节点i)根据基点G、K1值、K3值、K4值、K5值和联盟链节点i的公钥计算resulti′,/>
判断resulti′=resulti是否成立,若每一个联盟链节点(除联盟链节点i)计算的结果resulti′=resulti,则联盟链节点i成为共识节点的身份被其他联盟链节点接受,联盟链节点i成为共识节点;若resilti′≠resulti,联盟链节点i不能成为共识节点。
4.2)选取主、从节点
完成共识节点的选取后,前一周期中的主节点CLN依据表1中的主节点信誉值和从节点信誉值列表选取出下一周期的新主节点和新从节点。具体选取规则如下:
CLN将主节点和从节点的信誉值进行排序,选取信誉值最高的共识节点作为新主节点,选取信誉值排序前60%的共识节点作为新的从节点(即选取N个从节点,前60%是为保证(2*N)≥Z);若有两个信誉值最高的共识节点,联盟链选取标号小的共识节点作为主节点。
2、终端设备生成注册请求消息阶段
首先终端设备利用自己的身份注册信息生成注册请求消息,具体流程如下:
1)将私钥STE、公钥PTE、节点标识NodeIDTE、身份注册信息的时间戳t作为终端设备的身份注册信息ms,ms=(STE,PTE,t,NodeIDTE);
2)终端设备利用边缘网关的公钥PLN对ms=(STE,PTE,t,NodeIDTE)进行椭圆曲线加密算法,得到注册请求消息其中E()表示椭圆曲线加密算法;然后将注册请求消息req和注册请求消息req的时间戳Tr发送给边缘网关。
3、边缘网关验证注册请求消息和主节点验证注册交易
边缘网关在接收到终端设备的身份注册请求消息后,检验终端设备的注册请求消息是否超时,以及主节点验证注册交易transEG。具体流程如下:
1)验证时间戳
边缘网关在接收到终端设备的注册请求消息后,边缘网关验证注册请求消息的时间戳Tr,如果注册请求消息超时则丢弃该消息,没超时则执行后续操作。
2)生成注册交易
(1)边缘网关对身份注册请求消息完成验证后,边缘网关使用私钥解密注册请求消息req,获取终端设备的身份注册信息ms=(STE,PTE,NodeIDTE,t);
(2)边缘网关对STE,PTE,NodeIDTE,t哈希计算,得到哈希值h=Hash(STE||PTE||NodeIDTE||t);
(3)边缘网关利用私钥SEG对h进行椭圆曲线数字签名,得到椭圆曲线数字签名其中ES()表示椭圆曲线数字签名算法;
(4)边缘网关将作为注册交易并将transEG反馈给主节点。
3)验证注册交易
主节点接收注册交易transEG后,验证transEG是否可靠,以防恶意攻击者冒充边缘网关发起攻击。
(1)主节点对STE,PTE,NodeIDTE,t进行哈希计算,得到哈希值h1=Hash(STE||PTE||NodeIDTE||t);
(2)主节点利用边缘网关的公钥PEG对进行签名验证,并对签名验证结果进行哈希计算得到哈希值/>若h2=h1,则验证通过,验证transEG的发送方是边缘网关,防止恶意节点冒充边缘网关;
(3)验证通过后,主节点将transEG中的STE,NodeIDTE,t放入交易池中,主、从节点进入交易信息验证阶段。
4、终端设备的交易信息生成和验证阶段
本实施例进入到交易信息生成和验证阶段,主节点需要生成交易并广播给从节点,从节点验证交易信息真实性和交易信息时效性,具体流程如下:
1)主节点生成和广播交易信息
1.1)主节点从交易池中获取终端设备的(NodeIDTE,t),对终端设备的(NodeIDTE,t)进行哈希计算,得到哈希值h3=Hash(NodeIDTE||t);
1.2)主节点从交易池中获取私钥STE,主节点使用STE对h3进行加密(该加密方法为非对称加密方法),得到其中E′()表示基于非对称加密的加密算法;
1.3)主节点再使用从节点的公钥PRN对(NodeIDTE,t)和进行椭圆曲线加密,得到/>记作/>
1.4)主节点将和T_tx作为交易信息广播给从节点,记其中T_tx作为本轮交易信息的时间戳。
2)从节点验证交易信息真实性
从节点在收到主节点广播的区块transLN后,由从节点对transLN进行验证,保证交易信息的真实性,流程如下:
2.1)从节点使用自己的私钥SRN对交易信息中的进行椭圆曲线解密,得到
2.2)从节点使用终端设备的公钥PTE对解密,(该解密方法为非对称解密方法),若能成功解密,表明此身份注册信息是该终端设备的;
2.3)从节点对NodeIDTE,t进行哈希计算,得到哈希值h4=Hash(NodeIDTE||t),若h4=h3,则验证了(NodeIDTE,t)没有被篡改。
3)从节点验证交易信息时效性
从节点确认了交易信息的发送方是主节点和交易信息可靠后,从节点验证交易信息的时效性,通过验证transLN中的交易时间戳T_tx是否过期来验证交易的时效性。记验证时间戳T_tx的时间为Ttx,假设有效期时间长度Tt,若Ttx-T_tx≤Tt则认定交易信息具有时效性。
4)身份认证判定
若有大于N/2数量的从节点验证交易信息真实性和交易信息时效性通过,则从节点判定终端设备身份认证通过,记为PassTE;反之,终端设备身份认证失败,记为FalseTE。
终端设备身份验证成功后,主节点将终端设备的身份注册信息ms打包成区块BlockA,记录到联盟链的账本中,实现终端设备的身份注册信息上链(账本就是一串连接的联盟链区块);并且主节点将认证结果发送给边缘网关和终端设备。
5、终端设备的身份注册信息上链阶段
终端设备身份验证成功后,主节点将BlockA广播,从节点在接收到BlockA后,按照改进的共识算法实现对终端设备的身份注册交易信息上链。若有大于N/2数量从节点对区块BlockA达成共识,则主节点将块BlockA记录到联盟链的账本中(即身份注册信息上链),从而实现对认证结果的可追溯。终端设备身份验证没有通过的,其身份注册交易信息不能上链。身份注册交易信息上链过程由请求、预准备、准备、反馈、确认和答复这些阶段构成,如图4所示。
联盟链中共识节点总数为N+1,终端设备的身份注册信息达成共识的流程如下所示:
1)在请求阶段终端设备向主节点发送请求消息reqm=<request,q,treq,c>,其中q为请求内容,q包含BlockA,treq为时间戳,c为终端设备标识,request包含消息内容m和消息摘要d。
2)主节点在接收到终端设备的请求消息后进入预准备阶段。
主节点将预准备消息<prepr,reqm,d,ns,v>、预准备消息的哈希值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′>,其中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=<feback,j′,D,ns″,v″>。其中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表示第j个从节点,1≤j≤N)检查其余从节点的反馈消息是否验证成功。若从节点RNj收到的大于N/2个数量的其余从节点验证成功的消息,表明从节点RNj共识该请求消息,发送确认消息mcommit=<commit,j′,D,ns″,v″>给主节点,commit为确认标记符。
6)主节点在收到从节点的确认消息mcommit后进入答复阶段。
若主节点接收到大于N/2条从节点的确认消息,表明从节点对终端设备的BlockA达成了共识。终端设备的BlockA达成了共识后,作为共识节点的主节点将BlockA记录到账本中;以及主节点将答复消息mreply=<reply,j′,treq,c,v″,r>发送给终端设备,其中r为请求的操作结果,treq为时间戳,c为终端设备标识。终端设备发现请求操作成功,表明终端设备身份注册信息上链成功。
6、共识节点的行为信息和信誉值更新阶段
在每一个身份注册信息上链阶段周期中,主节点会依据主节点和从节点的身份注册信息上链行为和结果,记录和更新共识节点的信誉值和行为信息表。在新的主节点被选取后,共识节点的信誉值和行为信息表被交付给新的主节点,并由新主节点记录和更新下一周期中的行为信息和信誉值,如表1所示。
表1共识节点的信誉值和行为信息表
表1中的各标识的具体含义,如:中的/>表示编号为j的从节点的信誉值;S=1表示主节点将身份注册信息上链1次;F=1表示主节点将身份注册信息未上链1次;Gf={g1,g2,gj,…gn}中g1=2表示编号为1的从节点共识失败2次;Link=6表示共识节点发生了6次身份注册信息共识行为;/>中若/>表示编号为1的从节点重复发送共识达成消息2次。
1)共识节点行为信息记录和更新
在每一个轮次结束前的Δt时间内,如图5所示的[t1-Δt,t1]、…、[tf-Δt,tf]时间内,主节点会依据在身份注册信息上链阶段主节点和从节点对终端设备的身份注册信息上链行为和结果,记录和更新共识节点行为信息表。
主节点根据每一轮次身份注册信息上链中主、从节点的行为,记录和更新共识节点的信誉值和行为信息表,例如以下行为;
行为一:若主节点将身份认证成功的终端设备身份注册信息上链,则S值加1;
行为二:若主节点未将身份认证通过的终端设备的身份注册信息上链,F值加1;
行为三:主节点在答复阶段接收到从节点j的确认消息后,发现从节点j不能对终端设备的身份注册信息达成共识或恶意不达成共识,则gj数值加1;
行为四:主、从节点发生了终端设备的身份注册信息上链行为,行为有A次,则Link值为A;
行为五:主节点每收到1条从节点重复发送的共识达成消息,则值加1。
2)共识节点信誉值记录和更新
在每一周期的最后一个身份信息上链轮次前的Δt内,如图6中所示的[tf-Δt,tf]与[t2f-Δt,t2f]内,主节点会依据表1里的信誉值和共识节点行为对信誉值进行更新。
由于在信誉值的计算过程中,各项行为属性对主、从节点信誉值的影响程度不同。本方案侧重对主、从节点的恶意行为评估以识别恶意节点,因此在设置表格2中的行为属性所占的权重值时,将大权重赋值给恶意行为,主、从节点中的行为权重赋值如表2。
表2共识节点的行为属性和对应权重
| 属性 | 权重 |
| 主节点将身份注册信息上链行为 | ω1,满足(ω1<<0.5) |
| 主节点将身份注册信息未上链行为 | ω2,满足(ω2>>0.5) |
| 从节点身份注册信息上链阶段共识失败的行为 | ω3,满足(ω3=ω4>ω5) |
| 从节点重复发送达成共识的消息行为 | ω4,满足(ω4=ω3>ω5) |
| 从节点正常的共识达成的行为 | ω5,满足(ω5<ω4=ω3) |
表2中的ω1、ω2、ω3、ω4、ω5满足ω1+ω2=1;ω3+ω4+ω5=1,<<表示远小于符号,>>表示远大于符号。
根据表2中的权重和各行为的次数分别定义主、从节点的信誉值更新算法,主节点信誉值计算如公式(2)所示:
rewLN=(A1×ω1-A2×ω2)×(1-rLN)+rLN(2)
其中,rewLN为一个周期结束后主节点的更新信誉值,rLN为一个周期内的主节点信誉值,如图6所示;A1表示主节点将身份注册信息上链行为次数;A2表示主节点将身份注册信息未上链行为次数。
从节点RNj信誉值计算如公式(3)所示:
其中为一个周期结束后从节点RNj的更新信誉值,/>为一个周期内的从节点RNj信誉值,如图6所示;A5表示从节点正常的共识达成的行为次数;A3表示从节点身份注册信息上链阶段共识失败的行为次数;A4表示从节点重复发送达成共识消息的行为的次数。
主节点将更新后的主、从节点信誉值rewLN、填入表1中。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (4)
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=<requst,q,treq,c>,其中q为请求内容,q包含BlockA,treq为时间戳,c为终端设备标识,request包含消息内容m和消息摘要d;
(2)主节点在接收到终端设备的请求消息后进入预准备阶段;
主节点将预准备消息<prepr,reqm,d,ns,v>、预准备消息的哈希值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′>,其中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=<feback,j′,D,ns″,v″>;其中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,j′,D,ns″,v″>给主节点,其中commit为确认标记符,RNj表示第j个从节点,1≤j≤N;
(6)主节点在收到从节点的确认消息mcommit后进入答复阶段;
若主节点接收到大于N/2条从节点的确认消息,表明从节点对终端设备的BlockA达成了共识;终端设备的BlockA达成了共识后,作为共识节点的主节点将BlockA记录到账本中;以及主节点将答复消息mreply=<reply,j′,treq,c,v″,r>发送给终端设备,其中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,记录到联盟链的账本中,实现终端设备的身份注册信息上链;并且主节点将认证结果发送给边缘网关和终端设备。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210962297.4A CN115378604B (zh) | 2022-08-11 | 2022-08-11 | 一种基于信誉值机制的边缘计算终端设备的身份认证方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210962297.4A CN115378604B (zh) | 2022-08-11 | 2022-08-11 | 一种基于信誉值机制的边缘计算终端设备的身份认证方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN115378604A CN115378604A (zh) | 2022-11-22 |
| CN115378604B true CN115378604B (zh) | 2024-05-28 |
Family
ID=84065974
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210962297.4A Active CN115378604B (zh) | 2022-08-11 | 2022-08-11 | 一种基于信誉值机制的边缘计算终端设备的身份认证方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN115378604B (zh) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115633035B (zh) * | 2022-12-07 | 2023-03-17 | 长春大学 | 一种基于改进的pbft物联网区块链共识算法 |
| CN115643575B (zh) * | 2022-12-26 | 2023-03-10 | 电子科技大学 | 边缘计算下基于区块链的射频指纹跨层安全接入认证方法 |
| CN116489641A (zh) * | 2023-05-05 | 2023-07-25 | 烟台欣飞智能系统有限公司 | 一种基于区块链的5g移动设备通信管控系统 |
| CN116527372B (zh) * | 2023-05-16 | 2023-12-15 | 深圳建安润星安全技术有限公司 | 基于互联网的数据安全交互系统及方法 |
| CN116668987B (zh) * | 2023-06-07 | 2024-02-02 | 湖北工业大学 | 基于侧链的车联网数据共享方法及系统 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111583039A (zh) * | 2020-05-09 | 2020-08-25 | 江苏大学 | 无管理者区块链交易的安全交互方法、激励方法及交易系统 |
| WO2020258060A2 (zh) * | 2019-06-25 | 2020-12-30 | 南京邮电大学 | 一种基于区块链的车联网隐私保护信任模型 |
| CN113747433A (zh) * | 2021-09-07 | 2021-12-03 | 重庆邮电大学 | 一种雾网络中基于区块侧链结构的设备认证方法 |
| CN113935016A (zh) * | 2021-11-03 | 2022-01-14 | 北京邮电大学 | 命名数据网中基于区块链的可信访问与跨域认证方法 |
| CN113987431A (zh) * | 2021-09-26 | 2022-01-28 | 国网信息通信产业集团有限公司北京分公司 | 基于区块链的物联网终端身份认证方法 |
| CN114024766A (zh) * | 2021-11-23 | 2022-02-08 | 重庆邮电大学 | 一种面向边缘计算节点的零信任身份认证方法 |
-
2022
- 2022-08-11 CN CN202210962297.4A patent/CN115378604B/zh active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020258060A2 (zh) * | 2019-06-25 | 2020-12-30 | 南京邮电大学 | 一种基于区块链的车联网隐私保护信任模型 |
| CN111583039A (zh) * | 2020-05-09 | 2020-08-25 | 江苏大学 | 无管理者区块链交易的安全交互方法、激励方法及交易系统 |
| CN113747433A (zh) * | 2021-09-07 | 2021-12-03 | 重庆邮电大学 | 一种雾网络中基于区块侧链结构的设备认证方法 |
| CN113987431A (zh) * | 2021-09-26 | 2022-01-28 | 国网信息通信产业集团有限公司北京分公司 | 基于区块链的物联网终端身份认证方法 |
| CN113935016A (zh) * | 2021-11-03 | 2022-01-14 | 北京邮电大学 | 命名数据网中基于区块链的可信访问与跨域认证方法 |
| CN114024766A (zh) * | 2021-11-23 | 2022-02-08 | 重庆邮电大学 | 一种面向边缘计算节点的零信任身份认证方法 |
Non-Patent Citations (6)
| Title |
|---|
| An identity privacy scheme for blockchain‐based on edge computing;Rui Mu et al.;concurrency and computation: practice and experience;20220131;第34卷(第1期);全文 * |
| Blockchain Empowered Cooperative Authentication With Data Traceability in Vehicular Edge Computing;Hong Liu et al.;IEEE Transactions on Vehicular Technology;20200127;第69卷(第4期);全文 * |
| Securing Parked Vehicle Assisted Fog Computing With Blockchain and Optimal Smart Contract Design;Xumin Huang et al.;IEEE/CAA Journal of Automatica Sinica;20200309(第02期);全文 * |
| 区块链跨链安全接入与身份认证方案研究与实现;王姝爽等;信息网络安全;20220220;第22卷(第6期);全文 * |
| 基于信任委托的区块链分层共识优化;段靓等;计算机工程;20201015(第10期);全文 * |
| 基于联盟链的跨域认证方案;牛建林等;网络与信息安全学报;20220630;第8卷(第3期);全文 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115378604A (zh) | 2022-11-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN115378604B (zh) | 一种基于信誉值机制的边缘计算终端设备的身份认证方法 | |
| Feng et al. | Blockchain-based cross-domain authentication for intelligent 5G-enabled internet of drones | |
| Zhang et al. | Efficient and privacy-preserving blockchain-based multifactor device authentication protocol for cross-domain IIoT | |
| CN112055025B (zh) | 一种基于区块链的隐私数据保护方法 | |
| CN114710275B (zh) | 物联网环境下基于区块链的跨域认证和密钥协商方法 | |
| CN114499898B (zh) | 一种区块链跨链安全接入方法及装置 | |
| CN101902476B (zh) | 移动p2p用户身份认证方法 | |
| CN106789090A (zh) | 基于区块链的公钥基础设施系统及半随机联合证书签名方法 | |
| CN111740989A (zh) | 一种面向区块链的物联网芯片轻量级数据加密方法 | |
| CN116684093B (zh) | 身份认证与密钥交换方法及系统 | |
| CN101815294B (zh) | P2p网络的接入认证方法、设备和系统 | |
| CN114928835B (zh) | 基于区块链与密钥管理的动态无线传感器网络构建方法 | |
| US20230006836A1 (en) | Multi-party and multi-use quantum resistant signatures and key establishment | |
| CN112508576A (zh) | 基于区块链的密钥管理方法、系统及存储介质 | |
| CN117424708B (zh) | 基于区块链和无证书签名的跨域认证方法 | |
| CN114125773A (zh) | 基于区块链和标识密码的车联网身份管理系统及管理方法 | |
| CN118249995A (zh) | 一种基于棘轮范式的数字身份凭证持续认证装置及方法 | |
| CN116566646A (zh) | 基于双链架构和国密算法的车联网匿名快速身份认证方法 | |
| CN116707761A (zh) | 一种抗量子攻击的可监管区块链交易隐私保护方法及系统 | |
| CN110851859B (zh) | 一种具有(n,t)门限的分布式权威节点区块链系统的认证方法 | |
| Liou et al. | T-auth: A novel authentication mechanism for the iot based on smart contracts and pufs | |
| CN120074835A (zh) | 基于Merkle签名的区块链辅助跨域身份认证方法及系统 | |
| WO2023116027A1 (zh) | 安全多方计算中的跨域身份验证方法及服务器 | |
| CN116388989A (zh) | 一种基于分布式身份的零信任单包认证系统及方法 | |
| CN114007220A (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 |