去中心化物联网安全认证系统、设备注册和身份认证方法与流程

文档序号:17694388发布日期:2019-05-17 21:21阅读:541来源:国知局
去中心化物联网安全认证系统、设备注册和身份认证方法与流程

本发明涉及区块链技术、p2p技术、物联网身份认证技术、操作系统(协议栈)和信息安全(加密解密技术),具体的为去中心化物联网安全认证系统、设备注册方法和身份认证方法,属于互联网与网络技术领域。



背景技术:

物联网不仅将物理世界和数字世界相连接,同时是人与物、物与物连接的基础,使物与物、人与物可以进行通讯和信息交换,物联网是互联网的进一步扩展,使人与人的连接变得更加高效自然。每一次连接方式的变革都会彻底颠覆市场,at&t这样的百亿级公司是通话网时代的代表,pc/移动互联网时代则有ibm、google、微软和bat这样数千亿规模企业代表。物联网技术发展迅速,其规模和应用领域都在不断扩展,在市政管理、安全反恐、交通管理、医疗健康、家庭生活、工农业、物流零售和能源等行业均有广泛应用,物联网技术必将深入到生活的方方面面,在未来扮演一种不可或缺的角色。

物联网与计算机时代、网络时代相比较,其终端具有移动化、微型化等特征,其传输管道更是在有线网络之外又增加了无线网络,物联网的数据量也较计算机时代,网络时代更上一个层级,然而物联网网络泛在、全面感知、可靠传递、智能处理的特性也使物联网面临着更大的安全威胁。利用物联网漏洞发生的安全攻击比比皆是,传统安全解决方案在面对接入网络的新型智能设备以及针对智能设备的新兴恶意攻击缺少有效保护方案与应对策略。身份认证是将对象或个人识别为使用特定产品或服务的合法实体的过程。它是授权或访问控制的先决条件,它确定实体是否能够访问资源或参与给定的通信。由于异构设备及其分布式特性,iot中的认证协议不仅应该抵抗恶意攻击,而且应该轻量级以便部署在性能较差的iot设备中。

国内相关专家、学者或企事业单位在物联网身份认证领域的相关研究取得了一定的成果,一种采用区块链的物联网(cn201810162343,公开日:2018年09月04日)存在传统物联网属性:具有中心化元素物联网网关,网络连接过程中使用区块链网络交换身份信息未考虑区块链网络交易并发时延,网络拓扑结构可扩展性差。一种基于区块链的身份认证方法(cn201810872552,公开日:2018年11月23日)该方法主要专注于身份信息主要属性以及采集,对具体的应用以及性能的关注点不足。一种基于区块链的物联网节点身份认证方法(cn201810787535,公开日:2018年11月23日)所提出的方案仅关注设备加入物联网时的身份可信,未考虑当设备遭受网络入侵和恶意控制时的身份可信。一种基于区块链的物联网设备自治互联方法(cn201711090605,公开日:2018年03月20日)提出一种基于设备间互信关系从而实现的全网设备互信,具有鲜明特点,但在身份认证过程中存在访问请求以交易请求方式实现,由于区块链网络交易机制的限制该方法具有严重的时延性。一种基于区块链的物联网身份认证方法(cn201710894450,公开日:2018年02月09日)提出一种基于令牌+口令的方式实现设备身份认证,所有的身份信息都以加密形式存储至区块链,在使用该信息时会进行一定强度的加解密运算。



技术实现要素:

为解决现有技术中存在的问题,本发明提供了去中心化物联网安全认证系统、设备注册方法和身份认证方法,本发明提出一种全新的去中心化物联网安全认证机制,在系统内核态运行区块链基础服务、网络基础服务、密钥管理、设备证书生成和安全认证服务,并基于此实现对设备的完整保护以及设备间的通信安全保证,此外可提供dddos攻击检测与防御方案、点对点密钥分发和区块链应用生成与部署等服务。

为实现上述目的,本发明采用如下技术方案:包括:

在操作系统内核运行区块链节点:记账节点enode和轻节点snode,产品特点:运行区块链节点的操作系统内核均存在修改后的面向物联网安全认证的协议栈;enode为互联网中通用计算机,由这些节点共同维护账本;snode与enode区别在于其并不参与维护账本,仅同步部分区块至本地,物联网设备在该系统中为轻节点(snode);系统核心模块包括设备证书生成模块、密钥管理模块、区块链基础服务模块、安全认证服务模块和可视化管理模块。

优选的,所述轻节点和记账节点在操作系统内核中整合区块链基础服务,包括智能合约安装、智能合约初始化、智能合约调用、区块查询和区块回溯。

优选的,所述记账节点通过智能合约维护账本,包括设备管理智能合约、身份认证服务智能合约和访问控制服务智能合约。

优选的,所述安全认证服务包括身份认证服务和访问控制服务。

优选的,基于安全认证服务,仅允许可信任设备接入网络,同时对可信任设备通信进行加密。

优选的,所述设备证书生成模块生成的设备证书具有设备核心硬件设备指纹信息,设备证书与设备一一对应。

优选的,所述可视化管理模块包括记账节点管理、轻节点管理、网络参数设置、网络详情查看和访问详情查看。

优选的,还包括一个基于p2p技术实现的密钥管理系统,功能包括密钥生成、密钥本地加密存储、密钥更新和初始密钥点对点分发,记账节点负责初始密钥生成。

去中心化物联网安全认证系统设备注册方法,轻节点在进行认证之前必须进行注册,设备注册步骤如下:

s11、收集iot设备的各种信息,如cpu芯片参数、内存使用状态、硬盘空闲空间、i/o延迟、进程数等,得到一个近似的随机种子,使用伪随机数生成器产成一个伪随机数作为物联网设备的公钥pka,然后根据椭圆曲线算法计算得出对应的私钥ska,私钥加密保存在本地;

s12、生成一个随机素数q,使用dh算法计算用户公开参数ya;

s13、生成一个随机数并对其进行hash运算,得到该节点用于身份认证的秘密值sa;

s14、向区块链网络发送用户名usra和申请加入的组织号orga以及注册请求,接收区块链网络发送的密钥对、证书、密码seca以及tokena;

s15、利用合法身份登陆区块链网络,向区块链账本中写入一条记录,其中包含了节点此次注册行为的transaction数据结构,类型为register、publickey字段的内容即为pka的值、secret字段的内容即为sa的值、dhvalue字段的内容即为ya的值,接收区块链网络返回的设备登记结果。

去中心化物联网安全认证系统身份认证方法,当snodea需要访问snodeb上的资源,那么snodeb需要验证snodea的身份,确定其是否有权限访问,身份认证步骤如下:

s21、接收snodea发送的查询信息,向snodea发送snodeb存放在账本中的公开信息;

s22、接收到公开信息的snodea使用dh密钥交换算法计算公共密钥k,同时构造第一条握手信息并使用公共密钥加密,并将加密后的第一条握手信息发送至snodeb;

s23、接收到第一条握手信息的snodeb用私钥解密,首先检查时间戳是否有效,若有效则向区块链网络查询snodea的公开信息,通过snodea的公钥进行数字签名验证,判断数据的完整性,然后计算hash的值与snodea的公开信息中的秘密值进行对比,如果相同,则对snodea的认证通过,snodeb利用获得的snodea的dh参数值,通过diffie-hellman算法计算公共密钥k,并用k加密一条finish消息给snodea,表示认证结束;

s24、接收到加密finish消息的snodea利用公共密钥k解密finish消息,然后可以利用该密钥进行后续的通信。

有益效果在于:

1、结合物联网技术、区块链技术、加密解密技术和计算机网络技术,实现去中心化物联网安全认证系统,可以对物联网设备提供完整网络保护,并基于身份认证服务实现设备安全互联;

2、所述去中心化物联网安全认证系统携带可视化管理模块,可实现物联网网络拓扑结构动态变化,具有良好的可扩展性;

3、所述去中心化物联网安全认证系统,在系统内核态运行密钥管理服务、设备证书管理服务、区块链基础服务和安全认证服务,减少系统从用户态切换至核心态的资源消耗以及处理时间,合理考虑和利用设备软硬件设施,具备良好的业务处理响应;

4、记账节点与轻节点实现了数据与控制分离,记账节点负责维护账本一致性,轻节点仅同步部分区块至本地以完成业务处理;

5、提供网络内点对点密钥分发服务,区块链应用生成与部署服务和ddos检测与防御服务。

附图说明

图1是本发明实施例1的网络部署模型;

图2是本发明实施例1的设备注册流程图;

图3是本发明实施例1的设备认证阶段流程图;

图4是本发明实施例1的去中心化物联网安全认证系统图。

具体实施方式

下面结合附图对本发明作进一步说明:

实施例1:

如图1所示的网络部署模型,enode(传统网关)构建区块链网络负责维护账本的一致性,记账节点通过以下智能合约维护账本,包括:设备管理智能合约、身份认证服务智能合约和访问控制服务智能合约,snode(物联网设备、用户设备)属于p2p网络负责具体生产业务;记账节点enode和轻节点snode,产品特点:运行区块链节点的操作系统内核均运行修改后的面向物联网安全认证的协议栈;enode为互联网中通用计算机,由这些节点共同维护账本;snode与enode区别于其并不参与维护账本,仅同步部分区块至本地,物联网设备在该系统中为轻节点(snode);snode通过enode注册成为系统中合法设备,可以对snode进行分组管理,同时可以通过分组机制实现设备跨域访问,利用分组机制可以兼容传统物联网网络拓扑,还包括一个基于p2p技术实现的密钥管理系统,具体功能包括:密钥生成、密钥本地加密存储、密钥更新和初始密钥点对点分发,记账节点负责初始密钥生成。

如图2所示的设备注册流程图,轻节点在进行认证之前必须进行注册,设备注册方法流程如下:

s11、收集iot设备的各种信息,如cpu芯片参数、内存使用状态、硬盘空闲空间、i/o延迟、进程数等,得到一个近似的随机种子,使用伪随机数生成器产成一个伪随机数作为物联网设备的公钥pka,然后根据椭圆曲线算法(ecc)计算得出对应的私钥ska,私钥加密保存在本地;

s12、生成一个随机素数q,使用dh算法计算用户公开参数ya;

s13、生成一个随机数seed并对其进行hash运算,得到该节点用于身份认证的秘密值sa;

s14、轻节点设备提供用户名usra和申请加入的组织号orga,向区块链网络发起注册请求,获得得blockchainnetwork(bcn,区块链网络)返回的密钥对、证书、密码seca以及tokena,成为区块链网络的合法用户;

s15、轻节点通过交互接口利用合法身份登陆bcn,向区块链账本中写入一条记录(即设备身份信息),其中包含了节点此次注册行为的transaction数据结构,类型为register、publickey字段的内容即为pka的值、secret字段的内容即为sa的值、dhvalue字段的内容即为ya的值,区块链网络向轻节点返回设备登记结果,轻节点接收到设备登记结果后检验设备登记状态。

用户通过调用操作系统设备证书生成服务接口生成与设备硬件一一对应的设备证书,使用该证书在区块链网络注册将设备标记为区块链网络合法用户;使用密钥管理服务生成该设备公私钥,使用大素数生成器产生一个随机数并计算设备公开值,然后以该设备证书登录区块链网络将设备身份信息存储至区块链账本。

如图3所示的设备认证阶段流程图,当snodea需要访问snodeb上的资源,那么snodeb需要验证snodea的身份,确定其是否有权限访问,身份认证流程具体步骤如下:

s21、snodea向区块链网络发布一条查询信息,获取snodeb存放在账本中的公开信息;

s22、snodea利用已获得的snodeb的dh参数值,通过diffie-hellman密钥交换算法计算公共密钥k;

s23、snodea构造第一条握手信息,包括snodea的id,时间戳t1,随机数r1,seed以及上述各项对应的数字签名,用snodeb的公钥加密后发送至snodeb;

s24、snodeb收到第一条握手消息后用私钥解密,首先检查时间戳是否有效,若有效则向区块链网络查询snodea的公开信息,若无效,则丢弃数据包不响应请求。通过snodea的公钥进行数字签名验证,判断数据的完整性,若不完整,则丢弃数据包不响应请求,若完整,snodeb计算hash(seed)的值与snodea的公开信息中的秘密值进行对比,如果相同,则对snodea的认证通过,若不相同,则丢弃数据包不响应请求。

s25、snodeb利用获得的snodea的dh参数值,通过diffie-hellman算法计算公共密钥k,并用k加密一条finish消息给snodea,表示认证结束;

s26、snodea利用公共密钥k解密finish消息,然后可以利用该密钥进行后续的通信。

snodea(客户端a)作为访问请求发起方,snodeb(客户端b)作为访问请求处理方,enodea(区块链网络)作为分布式节点,snodea向enodea请求snodeb公开身份信息,使用其公开信息yb计算公共密钥k,构造请求连接握手数据包(id、t1、r1、seed)并使用snodeb公钥pkb进行签名,将握手数据包及其签名结果使用snodeb公钥pkb加密;snodeb收到请求时使用私钥psb进行解密,首先检查该请求是否已超时,若超时则直接丢弃,接着向enodea请求snodea公开信息,然后计算握手数据包签名信息以检查该请求握手数据包数据完整性,若不完整则丢弃该数据包,接着计算秘密值,若与公开信息不一致则丢弃该数据包,最后使用ya计算snodea与snodeb公共密钥k,使用该密钥加密一条握手完成数据包并将其发送至snodea,至此身份认证结束。

如图4所示的去中心化物联网安全认证系统图,snode和enode均在系统内核集成以下核心服务(模块):设备证书生成模块、密钥管理模块、区块链基础服务、网络基础服务、安全认证服务,其中设备证书生成模块可以提取系统硬件相关信息并根据硬件信息生成设备证书,设备证书与系统核心硬件密切相关,设备证书具有设备核心硬件设备指纹信息,设备证书与设备一一对应;密钥管理模块负责密钥生成、存储、管理以及分发;区块链基础服务,提供了与区块链网络交互的所有接口,包括链码(智能合约)安装、链码(智能合约)初始化、链码(智能合约)调用和链码(智能合约)查询及回溯;网络基础服务模块负责网络协议协议解析、流量控制、流量存储和流量转发,该模块集成在系统协议栈网络层并依赖于区块链基础服务模块;安全认证服务提供身份认证接口和访问控制接口,分别进行身份认证服务和访问控制服务,其依赖于前述核心模块,具体业务需求依赖:身份认证服务依赖于身份认证服务智能合约,访问控制服务依赖于访问控制智能合约,基于安全认证服务,可以为设备提供完整网络保护,仅允许可信任设备接入网络,同时对可信任设备通信进行加密。应用层可使用系统相关接口可实现物联网设备注册和管理,进行ddos攻击检测与防御,配置访问策略,完成区块链应用生成与部署,建立通信连接并能加密通信内容,应用层与核心模块分别通过相关接口连接web可视化管理模块和桌面可视化管理模块,可视化管理模块可以管理区块链网络,功能包括记账节点管理、轻节点管理、网络参数设置、网络详情查看和访问详情查看。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

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

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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