一种基于超级账本fabric的物联网认证方法与流程

文档序号:18898965发布日期:2019-10-18 21:40阅读:1337来源:国知局
一种基于超级账本fabric的物联网认证方法与流程

本发明涉及一种基于超级账本fabric的物联网认证方法,属于物联网技术领域。



背景技术:

在物联网快速发展和应用领域日益扩大的同时,针对物联网各层次的安全威胁也日渐凸显。认证作为各类终端节点进入网络的第一道关卡,在整个物联网安全体系中的作用尤为突出。

物联网环境中的认证方法大都属于中心化认证模式,整个网络的认证过程过分依赖于网络中心节点,如基站,一旦中心节点遭到拒绝服务攻击(dos)、分布式拒绝服务攻击(ddos)等,整个网络将面临瘫痪的危险。将区块链技术应用于物联网认证的主要目的是为了降低网络的单点失效风险,增加认证的鲁棒性。

本发明提出一种应用于物联网环境下的认证方法,基于超级账本fabric设计了认证框架,实现物联网节点间的去中心化认证以及对物联网中所生成数据的访问控制。该方法可以有效降低物联网认证体系单点失效的风险,提高物联网的鲁棒性和实用性。



技术实现要素:

本发明提供了一种基于超级账本fabric的物联网认证方法,实现物联网节点间的去中心化认证以及对物联网中所生成数据的访问控制。该方法降低了物联网认证体系单点失效的风险,提高了物联网认证的鲁棒性。

本发明的技术方案是:一种基于超级账本fabric的物联网认证方法,所述基于超级账本fabric的物联网认证方法的具体步骤如下:

step1、身份管理模块的fabric-ca为fabric网络中的服务节点颁发证书;

step2、身份管理模块的fabric-ca为接入fabric网络的客户端颁发证书;

step3、区块链网络管理员为接入fabric网络的客户端创建身份信息,并存入statedb中;

step4、客户端提交登录名和口令;

step5、服务节点验证客户端提交的账号信息;若验证通过,则允许客户端进入fabric网络,否则拒绝客户端进入fabric网络;

step6、成功登录网络的客户端提交交易提案,如对云设备中数据的访问;

step7、背书节点对交易提案背书,即校验提案签名和acl权限检查;

step8、客户端收集到背书后,即可构造合法的交易请求;

step9、确认节点对交易进行最终检查;若通过,则执行交易;交易的执行受到链码中权限策略的约束。

进一步地,所述步骤step3中创建的身份信息内容如下:

1)账号信息:用户登录网络时所需的口令;

2)网络操作权限:接入区块链网络中的用户相对于该区块链网络的操作权限信息;用4位二进制码表示。首位为用户角色标识位,通常在用户接入网络时分配完成,1代表管理员,0代表普通用户;第2-4位分别表示用户的交易权、数据操作权和链码操作权,1表示拥有该权限,0表示无权限。用户的网络操作权限只有区块链网络管理员才可以修改,普通用户无修改权限。

3)数据索引信息:数据索引信息内容和数据访问权限。数据索引信息主要存储用户在云设备上所存数据的路径,数据哈希值及时间戳信息等,以方便用户查询和修改相应的数据。数据访问权限指的是用户访问自身或其他用户存储在云设备上的数据的权限,通过定义白名单实现,用4位二进制码分别表示用户对数据的读权限、写权限、分享权和是否匿名提供等权限,1表示拥有该权限,0表示无权限,用户的数据访问控制权限只有自身才可以修改,其他用户无权修改。

本发明的有益效果是:

在本发明中,服务节点通过去中心化的认证模式对物联网客户端进行认证,进而通过链码中设计的权限策略完成对数据的访问控制。本发明充分利用了区块链的优点,降低了物联网环境下传统中心化认证模式存在的单点失效风险,降低了运营成本,增强了网络的鲁棒性和实用性。

附图说明

图1为本发明认证框架图;

图2为本发明认证流程图;

图3为本发明存储于statedb中的数据结构图;

图4为本发明为本发明存储于云设备中的数据结构图。

具体实施方式

实施例1:如图1-4所示,一种基于超级账本fabric的物联网认证方法,所述基于超级账本fabric的物联网认证方法的具体步骤如下:

初始化阶段:

step1、身份管理模块的fabric-ca为fabric网络中的服务节点颁发证书;

step2、身份管理模块的fabric-ca为接入fabric网络的客户端颁发证书;

step3、区块链网络管理员为接入fabric网络的客户端创建身份信息,并存入statedb中;

进一步地,所述步骤step3中创建的身份信息内容如下:

1)账号信息:用户登录网络时所需的口令;

2)网络操作权限:接入区块链网络中的用户相对于该区块链网络的操作权限信息;用4位二进制码表示。首位为用户角色标识位,通常在用户接入网络时分配完成,1代表管理员,0代表普通用户;第2-4位分别表示用户的交易权、数据操作权和链码操作权,1表示拥有该权限,0表示无权限。用户的网络操作权限只有区块链网络管理员才可以修改,普通用户无修改权限。

3)数据索引信息:数据索引信息内容和数据访问权限。数据索引信息主要存储用户在云设备上所存数据的路径,数据哈希值及时间戳信息等,以方便用户查询和修改相应的数据。数据访问权限指的是用户访问自身或其他用户存储在云设备上的数据的权限,通过定义白名单实现,用4位二进制码分别表示用户对数据的读权限、写权限、分享权和是否匿名提供等权限,1表示拥有该权限,0表示无权限,用户的数据访问控制权限只有自身才可以修改,其他用户无权修改。

表1给出了fabric网络中用户账号信息和网络操作权限信息,表2、表3和表4分别给出了fabric网络中用户的数据索引信息。

表1区块链网络中用户账号信息

表2用户1001的数据索引信息

表3用户1002的数据索引信息

表4用户1003的数据索引信息

消息认证和数据访问控制阶段:

step4、客户端提交登录名和口令;

step5、服务节点验证客户端提交的账号信息;若验证通过,则允许客户端进入fabric网络,否则拒绝客户端进入fabric网络;

step6、成功登录网络的客户端提交交易提案,如对云设备中数据的访问;

step7、背书节点对交易提案背书,即校验提案签名和acl权限检查;

step8、客户端收集到背书后,即可构造合法的交易请求;

step9、确认节点对交易进行最终检查;若通过,则执行交易;交易的执行受到链码中权限策略的约束。

fabric网络的去中心化思想,客户端节点的交易提案需经过所有背书节点验证通过后才被确认为合法交易。

链码的设计和相关数据结构设计。链码中涉及10个方法,为客户端节点操作fabric网络提供接口。相关数据结构的设计包括存储在statedb中的数据结构的设计和存储在云存储设备上的数据结构的设计。

客户端通过链码提供的方法与fabric网络交互,本文以智能家居作为应用场景,给出了链码中涉及的方法,如表5所示。

表5链码设计中的方法汇总

上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

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