掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的边缘计算身份认证方法及系统

文献发布时间:2023-06-19 16:04:54



技术领域

本发明属于通信技术领域,涉及一种基于区块链的边缘计算身份认证方法及系统。

背景技术

随着物联网技术的蓬勃发展,边缘计算逐步兴起。边缘计算主要部署在终端设备,在数据不上传至云端的情况下,在网络边缘进行数据分析处理和决策控制,分担云计算的压力,解决能量受限、带宽有限以及数据安全等问题。然而,大规模部署的物联网设备归口于各个专门系统和业务部门管理,存在认证模式、证书形式等差异,形成多个不同信任域,亟需实现物联网设备的统一管理与跨域交互。

传统物联网身份认证主要基于公钥基础设施(Public Key Infrastructure,PKI),各物联网设备以数字证书作为身份合法性凭证,实现身份互认。对于不在同一信任域中的设备,只能通过证书的桥接,或者在多个信任域中分别注册并持有多个证书等实现跨域认证,上述方法交互复杂,设备身份认证占据的带宽、计算能力、存储空间和功耗大大增加,难以满足边缘计算身份认证低时延高可靠的要求。

区块链技术的出现为解决边缘计算身份认证问题提供新的可能。区块链作为分布式信任环境,确保在点对点网络架构下互不信任的节点最终达成一致状态,在去中心化的情况下解决身份权限、数据安全及隐私保护问题。区块链技术构建链式区块结构,网络中节点基于共识算法生成、更新、验证数据,维护完全相同的分布式账本,具有难以篡改、可追溯等特性。

为实现高效可靠的边缘计算身份认证,本发明采用区块链技术构建分布式的公钥基础设施,通过将多个信任域的认证中心(Certification Authority,CA)加入区块链解决不同信任域的身份认证问题,并支持物联网设备的身份注册与撤销等功能。

为实现自主网络信息安全,提升加解密效率,本发明设计基于国密算法的数字证书。SM3算法是哈希算法,安全性与SHA256相当,SM2算法是非对称密码算法,使用椭圆曲线密码,相比传统证书的RSA算法,安全性更高、计算速度更快。

本发明以区块链技术为核心,解决边缘计算中身份跨域认证的问题,物联网设备可动态加入与退出,数字证书颁发与撤销过程链上可追溯,整合多个认证中心,缩短跨域认证路径,采用国密算法提升自主性,实现物联网设备低延时、高可靠的跨域认证。

发明内容

本发明旨在解决现有物联网场景下身份认证存在的响应时间长、安全性低等问题,提供一种基于区块链的边缘计算身份认证方法及系统,边缘节点作为认证服务器,为物联网设备颁发数字证书,支持对多个信任域的物联网设备跨域认证,实现低延时、高可靠的身份认证。

为达到上述目的,本发明采用如下技术方案:

一种基于区块链的边缘计算身份注册方法,应用于边缘节点enode,所述区块链基于各边缘节点enode创建的区块生成,所述方法包括:

接收第一物联网设备节点的身份注册请求,其中,所述第一物联网设备节点在所述边缘节点enode的信任域中,所述身份注册请求包括:所述第一物联网设备节点的编号sig、公钥tpk和身份材料证明;

对通过审查的所述身份材料证明,设置数字证书的有效起始时间与有效截止时间,并生成所述数字证书的证书序列号;

基于所述证书序列号、所述第一物联网设备节点的编号sig与公钥tpk、所述边缘节点enode的名称与编号、所述有效起始时间与有效截止时间,生成签名tsig;

基于所述证书序列号、所述第一物联网设备节点的编号sig与公钥tpk、所述边缘节点enode的名称与编号、所述有效起始时间、有效截止时间及所述签名tsig,生成并向所述第一物联网设备节点返回数字证书。

进一步地,所述第一物联网设备节点通过以下步骤生成身份注册请求:

随机生成整数d

计算椭圆曲线E(F

获取私钥tsk=d

基于所述第一物联网设备节点的编号sig、公钥tpk与身份证明材料,生成身份注册请求。

进一步地,所述基于所述证书序列号、所述第一物联网设备节点的编号stg与公钥tpk、所述边缘节点enode的名称与编号、所述有效起始时间与有效截止时间,生成签名tsig,包括:

使用SM3算法计算所述证书序列号、所述第一物联网设备节点的编号sig与公钥tpk、所述边缘节点enode的名称与编号、有效起始时间与有效截止时间的哈希值h

随机选取整数k

计算椭圆曲线E(F

计算参数r

计算参数s

获得签名tsig=(r

一种基于区块链的边缘计算身份认证方法,应用于边缘节点enode,所述方法包括:

接收第二物联网设备节点的身份认证请求与通过权利要求1-3任一方法生成的数字证书,并从区块链下载证书撤销列表,其中所述第二物联网设备节点在所述区块链的任一信任域中,所述身份认证请求包括:认证请求发起时间和所述第二物联网设备节点的编号sig′、公钥tpk′;

基于所述身份认证请求与所述证书撤销列表,验证所述数字证书的有效性;

若所述数字证书有效,判断所述第二物联网设备节点合法。

进一步地,所述基于所述身份认证请求与所述证书撤销列表,验证所述数字证书的有效性,包括:

提取所述数字证书中的第二物联网设备节点的编号与公钥,并与所述身份认证请求中的所述第二物联网设备节点的编号sig′与公钥tpk′进行比对;

和,

提取所述数字证书中的有效起始时间与有效截止时间,并判断所述认证请求发起时间是否在有效期内;

和,

提取所述数字中的证书序列号,并结合所述证书撤销列表,判断所述证书是否已撤销;

和,

提取所述数字中的边缘节点enode′的名称与编号,并与所述边缘节点enode的名称与编号进行比对:

若一致,则判断证书颁发者有效;

若不一致,则通过从区块链上下载所述边缘节点enode′的自签名证书,以判断证书颁发者是否有效。

进一步地,所述通过从区块链上下载所述边缘节点enode′的自签名证书,以判断证书颁发者是否有效,包括:

从所述自签名证书中提取所述边缘节点enode′的公钥epk;

基于所述边缘节点enode′的公钥epk,使用SM3算法计算所述数字证书序列号、编号sig′、公钥tpk′、边缘节点enode′的名称与编号、有效起始时间与有效截止时间的哈希值h

从所述数字证书中提取签名tsig=(r

计算椭圆曲线E(F

通过验证r

一种基于区块链的边缘计算身份撤销方法,应用于边缘节点enode,所述方法包括:

接收第二物联网设备节点的身份撤销请求与通过权利要求1-3任一方法生成的数字证书,并从区块链下载证书撤销列表,其中所述第二物联网设备节点在所述区块链的任一信任域中,所述身份撤销请求包括:身份撤销请求发起时间、撤销请求标识符与所述第二物联网设备节点的编号stg′、公钥tpk′;

基于所述身份撤销请求与所述证书撤销列表,验证所述数字证书的有效性;

若所述数字证书有效,则更新并上传所述证书撤销列表。

一种基于区块链的边缘计算身份更新方法,应用于边缘节点enode,所述方法包括:

接收第二物联网设备节点的身份更新请求与通过权利要求1-3任一方法生成的数字证书,并从区块链下载证书撤销列表,其中所述第二物联网设备节点在所述区块链的任一信任域中,所述身份更新请求包括:身份更新请求发起时间、更新请求标识符与所述第二物联网设备节点的编号sig′、公钥tpk′;

基于所述身份更新请求与所述证书撤销列表,验证所述数字证书的有效性;

若所述数字证书有效,则对所述数字证书进行更新并返回。

一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一所述方法

一种基于区块链的边缘计算身份认证系统,包括:

物联网设备节点,用于生成身份注册请求,所述身份注册请求包括:所述物联网设备节点的编号stg、公钥tpk和身份材料证明;生成身份认证请求,所述身份认证请求包括:认证请求发起时间和所述物联网设备节点的编号sig、公钥tpk;生成身份撤销请求,所述身份撤销请求包括:身份撤销请求发起时间、撤销请求标识符与所述物联网设备节点的编号sig、公钥tpk;生成身份更新请求,所述生成身份更新请求包括:身份更新请求发起时间、更新请求标识符与所述物联网设备节点的编号sig、公钥tpk;

边缘节点,用于创建区块,以生成所述区块链;及,

接收所在信任域中的物联网设备节点的身份注册请求;

对通过审查的所述身份材料证明,设置数字证书的有效起始时间与有效截止时间,并生成所述数字证书的证书序列号;

基于所述证书序列号、所述物联网设备节点的编号sig与公钥tpk、所述边缘节点enode的名称与编号、所述有效起始时间与有效截止时间,生成签名tsig;

基于所述证书序列号、所述第一物联网设备节点的编号sig与公钥tpk、所述边缘节点enode的名称与编号、所述有效起始时间、有效截止时间及所述签名tsig,生成并向所述物联网设备节点返回数字证书;

和,

接收任一信任域中的物联网设备节点的身份认证请求与数字证书,并从区块链下载证书撤销列表;

基于所述身份认证请求与所述证书撤销列表,验证所述数字证书的有效性;

若所述数字证书有效,判断所述物联网设备节点合法;

和,

接收任一信任域中的物联网设备节点的身份撤销请求与数字证书,并从区块链下载证书撤销列表;

基于所述身份撤销请求与所述证书撤销列表,验证所述数字证书的有效性;

若所述数字证书有效,则更新并上传所述证书撤销列表;

和,

接收任一信任域中的物联网设备节点的身份更新请求与数字证书,并从区块链下载证书撤销列表;

基于所述身份更新请求与所述证书撤销列表,验证所述数字证书的有效性;

若所述数字证书有效,则对所述数字证书进行更新并返回。

与现有技术相比,本发明具有以下优点:

(1)本发明基于区块链技术构建分布式认证机制,适用于边缘计算场景,边缘节点与物联网设备节点支持动态调整,解决了传统PKI的单点故障和多认证中心互信问题;

(2)本发明提出物联网设备身份注册、认证、撤销与更新方法,数字证书与证书撤销列表都在链上存储,由区块链网络中所有节点共同维护,链上区块无法修改或删除,实现了证书透明度与撤销透明度。

(3)本发明设计兼容国密算法的数字证书,将传统数字证书的哈希算法替换为SM3算法,非对称密码算法替换为SM2算法,实现数字证书国产化改造,确保技术自主可控。

附图说明

图1是一种基于区块链的边缘计算身份认证系统架构图。

图2是系统初始化流程图。

图3是设备身份注册流程图。

图4是设备身份认证流程图。

图5是设备身份撤销流程图。

图6是设备身份更新流程图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面通过其具体实施例,并结合附图,对本发明做进一步详细说明。

本实施例公开一种基于区块链的边缘计算身份认证系统,该系统如图1所示,包括由边缘节点和物联网设备节点组成的区块链网络。假设有n个边缘节点,m个物联网设备节点。物联网设备节点是数字证书的申请者、拥有者、使用者,内嵌有区块链芯片,具有数据上链、链上数据查询与下载等功能,负责数据采集、传输与智能处理,可以向边缘节点发送身份注册、认证、撤销与更新请求;边缘节点内物联网设备节点证书的管理者,嵌有区块链芯片,该芯片运行共识算法,具有区块生成、区块验证、数据上链、链上数据查询与下载等功能,负责为物联网设备节点签发数字证书,认证、撤销或更新物联网设备节点身份,分析处理物联网设备节点上传的感知数据。

本实施例同时公开一种基于区块链的边缘计算身份认证方法,基于上述系统实现,包括如下步骤:

步骤1:系统初始化;

具体实现如图2所示,包括以下子步骤:

步骤1.1:边缘节点enode选取椭圆曲线系统参数,参数包括有限域Fq的规模q,椭圆曲线E(F

步骤1.2:边缘节点enode随机生成整数d

步骤1.3:边缘节点enode的编号为eid,公钥为epk,使用SM3算法计算(eid,epk)的哈希值h

步骤1.4:边缘节点enode为自己颁发自签名证书eCert=(eid,epk,esig),包括边缘节点enode的编号eid,公钥epk,和对(eid,epk)的签名esig。

步骤1.5:边缘节点enode创建创世区块,并同步至区块链网络中其他边缘节点;

步骤1.6:边缘节点enode将自签名证书eCert上传至区块链存储。

步骤2:设备身份注册;

具体实现如图3所示,包括以下子步骤:

步骤2.1:物联网设备节点tnode随机生成整数d

步骤2.2:物联网设备节点tnode向所在信任域边缘节点enode发起身份注册请求reg=(tid,tpk,cond),包括物联网设备节点tnode的编号tid,公钥tpk,身份证明材料等辅助信息cond;

步骤2.3:边缘节点enode收到请求reg后,审核物联网设备节点提交的身份证明材料cond;

步骤2.4:边缘节点enode审核通过后,设置数字证书的有效起始时间notBefore和有效截止时间notAfter,生成证书序列号cnum,使用SM3算法计算(cnum,tid,tpk,(enode,eid),(notBefore,notAfter))的哈希值h

步骤2.5:边缘节点enode为物联网设备节点tnode颁发数字证书tCert=(cnum,tid,tpk,(enode,eid),(notBefore,notAfter),tsig),包括证书序列号cnum,物联网设备节点tnode的编号tid,公钥tpk,证书颁发者的名称和编号(enode,eid),证书有效期(notBefore,notAfter)以及边缘节点enode的签名tsig;

步骤2.6:边缘节点enode通过内嵌的区块链芯片,调用数据上传接口,将证书tCert发布到区块链上,并向物联网设备节点tnode发送证书tCert在链上所处位置addr;

步骤2.7:物联网设备节点tnode通过内嵌的区块链芯片,调用区块链数据下载接口,下载证书tCert。

步骤3:设备身份认证;

具体实现如图4所示,包括以下子步骤:

步骤3.1:物联网设备节点tnode向边缘节点enode′发起身份认证请求log=(tid,tpk,date)和证书tCert,身份认证请求包括物联网设备节点tnode的编号tid,公钥tpk,请求发起时间date,enode′与enode可能不在同一信任域中;

步骤3.2:边缘节点enode′从分别从身份认证请求log与证书tCert提取身份信息(tid,tpk),比对是否一致;

步骤3.3:若身份信息一致,边缘节点enode′则从证书tCert提取有效期(notBefore,notAfter),从请求log中提取发起时间date,验证请求发起时间是否在有效期内;

步骤3.4:若证书未过期,边缘节点enode′从区块链下载证书撤销列表crl,从证书tCert提取证书序列号cnum,在crl查找是否包含序列号cnum,若包含该序列号cnum,则说明证书已被撤销;

步骤3.5:若证书未被撤销,边缘节点enode′从证书tCert提取证书颁发者信息(enode,eid),若enode≠enode′且eid≠eid′,则边缘节点enode′从区块链上下载(enode,eid)对应的自签名证书eCert,从eCert提取公钥epk,边缘节点enode′使用SM3算法计算(cnum,tid,tpk,(enode,eid),(notBefore,notAfter))的哈希值h

步骤4:设备身份撤销;

具体实现如图5所示,包括以下子步骤:

步骤4.1:物联网设备节点tnode向边缘节点enode′发起身份撤销请求rev=(tid,tpk,date,″revoke″)和证书tCert,″revoke″为撤销请求标识符;

步骤4.2:边缘节点enode′执行步骤3认证物联网设备节点身份tnode,若认证通过,则从证书tCert中提取证书序列号cnum,从区块链下载最新的证书撤销列表crl=(seq,ersig),包括被撤销的证书序列号列表seq及其签名ersig,从证书序列号列表中seq查询是否包含该证书序列号cnum;

步骤4.3:若不包含cnum,边缘节点enode′将该证书序列号cnum添加至被撤销的证书序列号列表seq,得到seq′=seq||cnum,并生成对seq′的签名ersig′,调用数据上传接口,将更新后的证书撤销列表crl′=(seq′,ersig′)上传至区块链。

步骤5:设备身份更新;

具体实现如图6所示,包括以下子步骤:

步骤5.1:物联网设备节点tnode向边缘节点enode′发起身份更新请求upd=(tid,tpk,date,notBefore′,notAfter′,tpk′,″update″)和证书tCert,″update″为更新请求标识符,若只更新证书中公钥,则(notBefore′,notAfter′)=(notBefore,notAfter)且tpk′≠tpk,若只更新证书有效期,则(notBefore′,notAfter′)≠(notBefore,notAfter)且tpk′=tpk;

步骤5.2:边缘节点enode′执行步骤3认证物联网设备节点身份tnode,若认证通过,对证书内容(cnum,tid,tpk′,(enode,eid),(notBefore′,notAfter′))签名,获得更新后的证书tCert′=(cnum,tid,tpk′,(enode,eid),(notBefore′,notAfter′),tsig′);

步骤5.3:边缘节点enode′通过内嵌的区块链芯片,调用数据上传接口,将证书tCert′发布到区块链上,并向物联网设备节点tnode发送证书tCert′在链上所处位置addr′;

步骤5.4:物联网设备节点tnode通过内嵌的区块链芯片,调用区块链数据下载接口,下载更新后的证书tCert′。

虽然本发明已以实施例公开如上,然其并非用以限定本发明,本领域的普通技术人员对本发明的技术方案进行的适当修改或者等同替换,均应涵盖于本发明的保护范围内,本发明的保护范围以权利要求所限定者为准。

技术分类

06120114693107