一种基于区块链的智能物联网设备认证方法及系统

文档序号:25991469发布日期:2021-07-23 21:03阅读:200来源:国知局
一种基于区块链的智能物联网设备认证方法及系统

本发明涉及物联网领域,特别涉及一种基于区块链的智能物联网设备认证方法及系统。



背景技术:

目前,物联网身份认证的常用方案主要有以下三种:

1)基于公钥基础设施(pki,publickeyinfrastructure)的身份认证方案,在该方案中,证书授权中心为每个设备分配数字证书,该数字证书中包含设备的公钥和证书授权中心的数字签名。设备方利用自身私钥生成消息签名,公钥被接收方用于验证签名,此方案在验证过程中不会泄露设备的真实身份。

2)基于身份的签名(ibs,identity-basedsignature)方案,该方案通过设置私钥生成器(pkg,privatekeygenerator)实现设备私钥的分发,通过这种方式可以解决设备公钥传送问题。另外,可以利用双线性映射实现强指定验证签名,即使在传输过程中消息被泄露,仍可以实现安全、唯一的身份验证。

3)基于无证书签名(cls,thecertificatelesssignature)的认证方案,在该方案中,密钥生成中心(kgc,thekeygenerationcenter)根据物联网设备身份标识号(id,identitydocument)为其生成对应的部分私钥,设备使用秘密值和部分私钥生成实际的私钥。

物联网设备身份标识号的生成:基于物理实体的内在物理构造来唯一地标识单个物理实体实现有效认证的思路,pappu等首先正式提出了物理不可克隆函数(physicalunclonablefunction,puf)的概念。puf是指对一个物理实体输入一个激励,利用其不可避免的内在物理构造的随机差异输出一个不可预测的响应的这样一个物理不可克隆的函数。

现阶段,将区块链和物联网结合是一种发展趋势,区块链的分布式特性可以满足物联网设备在运动场景下的网络接入需求。另外,区块链数据存储的高度安全性为物联网设备接入后的数据共享和协同工作提供了良好保障。有文献提出了一种基于数字证书的认证方案,通过树状存储结构默克尔帕特里树(mpt,merklepatriciatree)来扩展区块链数据结构。将物联网设备及其数字证书以键值对形式存储在mpt叶子节点中,mpt随着节点的增加而更新,所有交易及对应更新的mpt根都按时间顺序存储在时序默克尔树(cmt,chronologicalmerkletree)中,最终被打包上链。在物联网设备身份认证时,可通过数字证书在mpt中的存储路径查询其有效性。还有文献将区块链与边缘计算结合,利用边缘计算来支持区块链系统中的边缘认证服务。建立了分布可信的接入机制,实现了双向认证,提高了认证效率。另有文献结合区块链及雾计算服务,提出了一种区块链辅助的轻量级匿名认证方案,可以实现灵活的跨数据中心认证并保护设备的隐私,通过区块链及密码学技术减少了通信损耗,认证双方在认证过程中只需发送一次消息,大幅度提高了认证效率。

但现有技术目前还存在以下缺点:

1.认证中有人力口令与证书存储成本支出和人为错误的可能性,且效率较低,认证过程自动化程度不高。

2.传统加密方法对数据的加密存在证书管理困难与资源消耗过大问题。

3.公钥密码的安全性主要基于因式分解和离散对数问题,运算量大且随着量子计算机的发展,公钥密码所依赖的数学难题将得到解决。



技术实现要素:

本发明提供了一种基于区块链的智能物联网设备认证方法及系统,以至少在一定程度上解决现有技术所存在的上述技术问题。

为解决上述技术问题,本发明提供了如下技术方案:

一方面,本发明提供了一种基于区块链的智能物联网设备认证方法,其包括:

物联网设备基于预设的物理不可克隆函数生成自身的身份标识,并以自身的身份标识作为可搜索加密算法的公钥,通过可搜索加密算法生成预设的密文;

注册中心基于区块链的智能合约和分布式账本数据库,结合物联网设备的身份标识和密文,生成物联网设备对应的可搜索加密算法的私钥,并为物联网设备分配组名称和环签名算法的公私钥对,并完成相应的物联网设备的注册;

当物联网设备发起个人登录认证请求时,认证中心使用所述智能合约,基于物联网设备的身份标识进行可搜索加密,实现物联网设备的个人登录认证;

当物联网设备发起组登录认证请求时,认证中心使用所述智能合约,根据物联网设备的组名称,采用环签名算法,实现对物联网设备的组登录认证。

进一步地,所述物联网设备基于预设的物理不可克隆函数生成自身的身份标识,并以自身的身份标识作为可搜索加密算法的公钥,通过可搜索加密算法生成预设的密文,包括:

物联网设备将预设的标识信息作为激励,通过自身预设的物理不可克隆函数进行运算,并对函数的响应结果进行截取,得到预设长度的响应数据;

物联网设备将所述响应数据进行哈希运算,并将得到的所述响应数据的哈希运算结果与自身的软件标识运算作为自身的身份标识;

物联网设备以身份标识作为可搜索加密算法的公钥,通过身份标识对所述响应数据进行加密,生成密文,并将自身的身份标识和密文发送至注册中心。

进一步地,所述注册中心基于区块链的智能合约和分布式账本数据库,结合物联网设备的身份标识和密文,生成物联网设备对应的可搜索加密算法的私钥,并为物联网设备分配组名称和环签名算法的公私钥对,并完成相应的物联网设备的注册,包括:

注册中心使用区块链的智能合约,生成物联网设备对应的可搜索加密算法的私钥,并为物联网设备分配组名称和环签名算法的公私钥对;

注册中心将可搜索加密算法的私钥和环签名算法的公私钥对发送给相应的物联网设备,使用智能合约将物联网设备的身份标识、密文、组名称和环签名算法的公钥存储至分布式账本数据库,并生成物联网设备的身份标识的索引。

进一步地,所述物联网设备发起个人登录认证请求,包括:

物联网设备将预设的标识信息作为激励,通过自身预设的物理不可克隆函数进行运算,并对函数的响应结果进行截取,得到预设长度的响应数据;

物联网设备使用可搜索加密算法的私钥对所述响应数据进行处理,得到一次性陷门,并将自身的身份标识和所述一次性陷门发送至认证中心。

进一步地,所述认证中心使用所述智能合约,基于物联网设备的身份标识进行可搜索加密,实现物联网设备的个人登录认证,包括:

认证中心使用所述智能合约,根据发起个人登录认证请求的物联网设备的身份标识,通过物联网设备的身份标识的索引,查找区块链记录,验证当前发起个人登录认证请求的物联网设备的身份标识是否已注册及陷门是否有存储;

认证中心使用所述智能合约,根据发起个人登录认证请求的物联网设备的身份标识,通过物联网设备的身份标识的索引,查找区块链上的注册信息,使用陷门与查找到的注册信息所存储的密文进行匹配验证,验证通过,则存储本次登陆陷门,并返回给当前发起个人登录认证请求的物联网设备登陆认证成功。

进一步地,所述认证中心使用所述智能合约,根据物联网设备的组名称,采用环签名算法,实现对物联网设备的组登录认证,包括:

认证中心选择一个消息,使用智能合约,根据发起组登录认证请求的物联网设备的组名称在区块链检索同组成员的环签名算法的公钥发给物联网设备;

物联网设备使用自身的环签名算法的公私钥对和同组成员的环签名算法的公钥,对所述认证中心选择的消息构造环签名,将构造的环签名传给认证中心;

认证中心接收所述环签名,使用智能合约在区块链检索环签名算法的公钥是否同属一组,再验证环签名,若无误则认证成功,并将认证结果返回给设备。

另一方面,本发明还提供了一种基于区块链的智能物联网设备认证系统,所述智能物联网设备认证系统包括物联网设备、注册中心以及认证中心;其中,

所述物联网设备用于基于预设的物理不可克隆函数生成自身的身份标识,并以自身的身份标识作为可搜索加密算法的公钥,通过可搜索加密算法生成预设的密文,并将自身的身份标识和密文发送至所述注册中心;

所述注册中心用于基于区块链的智能合约和分布式账本数据库,结合物联网设备的身份标识和密文生成物联网设备对应的可搜索加密算法的私钥,并为物联网设备分配组名称和环签名算法的公私钥对,并完成物联网设备的注册;

所述认证中心用于当物联网设备发起个人登录认证请求时,使用所述智能合约,基于物联网设备的身份标识进行可搜索加密,实现物联网设备的个人登录认证;当物联网设备发起组登录认证请求时,使用所述智能合约,根据物联网设备的组名称,采用环签名算法,实现对物联网设备的组登录认证。

进一步地,所述物联网设备具体用于:

将预设的标识信息作为激励,通过自身预设的物理不可克隆函数进行运算,并对函数的响应结果进行截取,得到预设长度的响应数据;

将所述响应数据进行哈希运算,并将得到的所述响应数据的哈希运算结果与自身的软件标识运算作为自身的身份标识;

以身份标识作为可搜索加密算法的公钥,通过身份标识对所述响应数据进行加密,生成密文,并将自身的身份标识和密文发送至所述注册中心。

进一步地,所述注册中心具体用于:

使用区块链的智能合约,生成物联网设备对应的可搜索加密算法的私钥,并为物联网设备分配组名称和环签名算法的公私钥对;

将可搜索加密算法的私钥和环签名算法的公私钥对发送给相应的物联网设备,使用智能合约将物联网设备的身份标识、密文、组名称和环签名算法的公钥存储至分布式账本数据库,并生成物联网设备的身份标识的索引。

进一步地,所述物联网设备还用于:

将预设的标识信息作为激励,通过自身预设的物理不可克隆函数进行运算,并对函数的响应结果进行截取,得到预设长度的响应数据;

使用可搜索加密算法的私钥对所述响应数据进行处理,得到一次性陷门,并将自身的身份标识和一次性陷门发送至认证中心,以发起个人登录认证请求;

所述认证中心具体用于:

当物联网设备发起个人登录认证请求时,使用所述智能合约,根据发起个人登录认证请求的物联网设备的身份标识,通过物联网设备的身份标识的索引,查找区块链记录,验证当前发起个人登录认证请求的物联网设备的身份标识是否已注册及陷门是否有存储;

使用所述智能合约,根据发起个人登录认证请求的物联网设备的身份标识,通过物联网设备的身份标识的索引,查找区块链上的注册信息,使用陷门与查找到的注册信息所存储的密文进行匹配验证,验证通过,则存储本次登陆陷门,并返回给当前发起个人登录认证请求的物联网设备登陆认证成功;

当物联网设备发起组登录认证请求时,所述认证中心选择一个消息,使用智能合约,根据发起组登录认证请求的物联网设备的组名称在区块链检索同组成员的环签名算法的公钥发给物联网设备;

物联网设备使用自身的环签名算法的公私钥对和同组成员的环签名算法的公钥,对所述认证中心选择的消息构造环签名,将构造的环签名传给认证中心;

认证中心接收所述环签名,使用智能合约在区块链检索环签名算法的公钥是否同属一组,再验证环签名,若无误则认证成功,并将认证结果返回给设备。

再一方面,本发明还提供了一种电子设备,其包括处理器和存储器;其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以实现上述方法。

又一方面,本发明还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述方法。

本发明提供的技术方案带来的有益效果至少包括:

(1)本发明使用区块链的智能合约和账本数据库进行认证处理,所有交易数据都无法篡改、不可伪造,认证过程自动执行,提升了效率,节约了时间。

(2)本发明使用物理不可克隆函数生成物联网设备标识,提出了基于设备标识进行可搜索加密认证,无证书签名,存储资源消耗小。

(3)本发明采用rainbow环签名算法,是抗量子攻击的环签名算法,计算量大大减少,计算效率更高,可以在物联网设备上实现强安全性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的基于区块链的智能物联网设备认证方法的模型原理图;

图2是本发明实施例提供的注册流程图;

图3是本发明实施例提供的个人登陆认证流程图;

图4是本发明实施例提供的组登录流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

第一实施例

本实施例提供了一种基于区块链的智能物联网设备认证方法,该方法可以由电子设备实现,该电子设备可以是终端或者服务器。该基于区块链的智能物联网设备认证方法的模型原理如图1所示,具体地,该基于区块链的智能物联网设备认证方法的执行流程包括以下步骤:

物联网设备基于预设的物理不可克隆函数生成自身的身份标识,并以自身的身份标识作为可搜索加密算法的公钥,通过可搜索加密算法生成预设的密文;

注册中心基于区块链的智能合约和分布式账本数据库,结合物联网设备的身份标识和密文,生成物联网设备对应的可搜索加密算法的私钥,并为物联网设备分配组名称和环签名算法的公私钥对,并完成相应的物联网设备的注册;

当物联网设备发起个人登录认证请求时,认证中心使用所述智能合约,基于物联网设备的身份标识进行可搜索加密,实现物联网设备的个人登录认证;

当物联网设备发起组登录认证请求时,认证中心使用所述智能合约,根据物联网设备的组名称,采用环签名算法,实现对物联网设备的组登录认证。

其中,需要说明的是,本实施例所使用的密码算法包括基于物联网设备标识的可搜索加密算法和抗量子攻击的rainbow环签名算法。

智能物联网设备具有一定的计算和存储能力,内嵌有物理不可克隆函数(physicalunclonablefunctions,puf)的处理器,puf选取如下:

定义1:片间汉明距离。指对两个不同puf实体输入同一个特定的激励后,其产生的两个响应之间的距离。

定义2:片内汉明距离。指对一个单一的puf重复两次输入一个特定的激励后,其产生的响应之间的距离。

对于二进制数字来说,汉明距离(hammingdistance,hd)可以表示为两个二进制序列串异或后得到的序列串中“1”的个数。汉明距离比(fractionalhammingdistance,fhd)等于汉明距离除以二进制序列串长度的值。

本实施例中物联网设备选择合适的puf,其片间汉明距离比接近理想的50%,片内汉明距离比尽可能小。

基于上述,本实施例的智能物联网设备认证方法可以分为注册、设备个人登陆认证、设备组登录认证三部分,下面结合附图一一进行详细说明。

一、注册,如图2所示,其包括以下步骤:

1.设备将特征等标识信息作为激励x,通过自身puf模块运算,即物理不可克隆函数γ(x)=y,得到响应y,截取y的一定位数y’;

2.设备将y’通过哈希函数得到的h(y’)与自身软件标识s(软件版本等)运算作为自己的身份标识id=f(h(y’),s);

3.设备以id作为可搜索加密公钥,使用id对y’进行可搜索加密,得到密文c=encryptid(y’);设备将id、c传给注册中心。

4.注册中心使用区块链的智能合约依此生成可搜索加密私钥did=keygen(id),并为设备分配组名称和环签名rainbow公私钥对(pk,sk);

5.注册中心将did、(pk,sk)返回给设备,使用智能合约将id和c对应存入,组名称和pk对应存入区块链,并生成id索引i。

二、设备个人登陆认证,如图3所示,其包括以下步骤:

1.设备将特征等标识信息作为激励x,通过自身puf模块运算,即物理不可克隆函数γ(x)=y,得到响应y,截取y的一定位数y’;

2.设备使用可搜索加密私钥did对y’进行处理得到一次性陷门t=trapdoordid(y’),设备将id、陷门t传给认证中心;

3.认证中心使用智能合约根据设备id,通过索引i快速查找区块链记录验证id是否已注册及陷门是否有存储;

4.认证中心使用智能合约根据id,通过索引i快速查找区块链上的注册信息,使用陷门t与注册信息存储的密文c进行匹配验证test(t,c),验证通过则存储本次登陆陷门t,并返回给设备登陆认证成功。

三、设备组登录认证,如图4所示,其包括以下步骤:

1.设备发起组认证请求;

2.认证方选择一个消息m,使用智能合约根据组名称在区块链检索同组成员的rainbow公钥{pki},1≤i≤r,一起发给设备;

3.设备使用自己的rainbow公私钥对(pk0,sk0)和{pki},1≤i≤r对m构造环签名σ,将环签名σ传给认证方;

4.认证方接收签名σ,使用智能合约在区块链检索公钥是否同属一组,再验证签名若无误则认证成功,并将认证结果返回给设备。

具体地,以上方案包含的智能合约如下表:

表1智能合约列表

综上,本实施例使用物理不可克隆函数生成物联网设备标识,结合区块链的智能合约和分布式账本数据库,基于物联网设备标识进行可搜索加密实现精确登录认证及采用rainbow环签名算法实现组登录认证。基于此,本实施例的方法可实现对智能物联网设备实体实施有效组合式认证,智能合约自动执行,减少了资源消耗过大问题,新型密码算法计算效率更高,更能确保系统安全。

第二实施例

本实施例提供了一种基于区块链的智能物联网设备认证系统,所述智能物联网设备认证系统包括物联网设备、注册中心以及认证中心;其中,

所述物联网设备用于基于预设的物理不可克隆函数生成自身的身份标识,并以自身的身份标识作为可搜索加密算法的公钥,通过可搜索加密算法生成预设的密文,并将自身的身份标识和密文发送至所述注册中心;

所述注册中心用于基于区块链的智能合约和分布式账本数据库,结合物联网设备的身份标识和密文生成物联网设备对应的可搜索加密算法的私钥,并为物联网设备分配组名称和环签名算法的公私钥对,并完成物联网设备的注册;

所述认证中心用于当物联网设备发起个人登录认证请求时,使用所述智能合约,基于物联网设备的身份标识进行可搜索加密,实现物联网设备的个人登录认证;当物联网设备发起组登录认证请求时,使用所述智能合约,根据物联网设备的组名称,采用环签名算法,实现对物联网设备的组登录认证。

本实施例的智能物联网设备认证系统与上述第一实施例的智能物联网设备认证方法相对应;其中,本智能物联网设备认证系统中的功能模块所实现的功能与上述智能物联网设备认证方法中的流程步骤一一对应;故,在此不再赘述。

第三实施例

本实施例提供一种电子设备,其包括处理器和存储器;其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行,以实现第一实施例的方法。

该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)和一个或一个以上的存储器,其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行上述方法。

第四实施例

本实施例提供一种计算机可读存储介质,该存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以实现上述第一实施例的方法。其中,该计算机可读存储介质可以是rom、随机存取存储器、cd-rom、磁带、软盘和光数据存储设备等。其内存储的指令可由终端中的处理器加载并执行上述方法。

此外,需要说明的是,本发明可提供为方法、装置或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

最后需要说明的是,以上所述是本发明优选实施方式,应当指出,尽管已描述了本发明优选实施例,但对于本技术领域的技术人员来说,一旦得知了本发明的基本创造性概念,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1