一种在区块链上进行身份认证的方法及系统技术方案

技术编号:20925680 阅读:27 留言:0更新日期:2019-04-20 11:43
本发明专利技术公开了一种在区块链上进行身份认证的方法及系统,涉及区块链领域,所述系统包括:认证设备、应用程序、服务器和区块链网络;区块链网络中包括多个区块链节点;每个区块链节点对应一个联盟组织成员;本实施例提供的方法和系统使认证设备参与到身份认证中,同时结合区块链相关技术,通过区块链节点上记录的区块链节点账本数据,将联盟组织成员的各自身份认证组成统一的一个联盟认证,实现了不同联盟组织成员身份认证之间的互信。

A Method and System of Identity Authentication on Block Chain

The invention discloses a method and system for identity authentication on block chains, which relates to the field of block chains. The system includes: authentication equipment, application program, server and block chain network; block chain network includes multiple block chain nodes; each block chain node corresponds to a member of an alliance organization; and the method and system provided by this example enables authentication devices to participate in the body. In the authentication process, combined with the block chain related technology, through the block chain node account data recorded on the block chain node, the identity authentication of each member of the alliance organization is formed into a unified alliance authentication, and the mutual trust between the identity authentication of members of different alliance organizations is realized.

【技术实现步骤摘要】
一种在区块链上进行身份认证的方法及系统
本专利技术涉及区块链领域,尤其涉及一种在区块链上进行身份认证的方法及系统。
技术介绍
区块链技术(Blockchaintechnology,简称BT),是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录;同时区块链技术也被称之为分布式账本技术,其中账本是记录各区块链节点向区块链写入的数据;当一个区块链节点的信息发生改变,其它区块链节点的信息也会随之改变。现有的身份认证一般采用软件证书和授权机制相结合的方式进行,由于软证书是以文件证书的形式展现,并且没有固定存放在某个硬件介质中,容易出现被他人拷走盗用进行身份认证的情况,安全级别较低。并且现有技术中,不同企业间的各自身份认证方式无法做到互相认证和信赖,不利于企业间的互利互惠,也极为影响用户体验。
技术实现思路
为解决现有技术中存在的问题,本专利技术提出了一种在区块链上进行身份认证的方法及系统。本专利技术提供一种在区块链上进行身份认证的方法,适用于包括认证设备、应用程序、服务器和区块链网络的系统,所述区块链网络中包括多个区块链节点,每个区块链节点对应一个联盟组织成员;所述方法包括:步骤s1:所述应用程序获取已连接的认证设备的设备标识符和待认证数据;步骤s2:所述应用程序向所述服务器发送所述设备标识符和所述待认证数据;步骤s3:所述服务器向所述区块链网络中的任意一个区块链节点发送查询区块链节点账本请求;所述查询区块链节点账本请求中包括所述设备标识符;步骤s4:所述区块链节点从已保存的区块链节点账本中获取与所述查询区块链节点账本请求中的所述设备标识符对应的认证关联数据;向所述服务器返回所述与所述设备标识符对应的认证关联数据;所述区块链节点账本中包括:与每一个联盟组织成员对应的认证设备的设备标识符;和与所述设备标识符对应的认证关联数据;步骤s5:所述服务器根据所述认证关联数据对接收到的所述待认证数据进行认证,若认证成功,则向所述应用程序返回认证成功;若认证失败,则向所述应用程序返回认证失败。本专利技术提供一种在区块链上进行身份认证的系统,包括:认证设备、应用程序、服务器和区块链网络;所述区块链网络中包括多个区块链节点;每个区块链节点对应一个联盟组织成员;所述应用程序包括:第一获取模块、第一发送模块和第一接收模块;所述服务器包括:第二接收模块、第二发送模块、第三接收模块、第一认证模块和第三发送模块;所述区块链节点包括:第四接收模块、第二获取模块和第四发送模块;所述第一获取模块,用于获取已连接的认证设备的设备标识符和待认证数据;所述第一发送模块,用于向所述服务器发送所述第一获取模块获取到的设备标识符和待认证数据;所述第一接收模块,用于接收来自所述服务器的认证结果;所述第二接收模块,用于接收来自所述应用程序的设备标识符和待认证数据;所述第二发送模块,用于向所述区块链网络中的任意一个区块链节点发送查询区块链节点账本请求;所述查询区块链节点账本请求中包括所述设备标识符;所述第三接收模块,用于接收来自所述区块链节点的与所述设备标识符对应的认证关联数据;所述第一认证模块,用于根据所述第三接收模块接收到的认证关联数据对所述第二接收模块接收到的所述待认证数据进行认证;所述第三发送模块,用于向所述应用程序返回所述第一认证模块的认证结果;所述第四接收模块,用于接收来自所述服务器的查询区块链节点账本请求;所述第二获取模块,用于从已保存的区块链节点账本中获取所述查询区块链节点账本请求的与所述设备标识符对应的认证关联数据;所述第四发送模块,用于向所述服务器返回所述与所述设备标识符对应的认证关联数据。本专利技术的有益效果:采用了本专利技术提供的方法及系统,使认证设备参与到身份认证中,同时结合区块链相关技术,通过区块链节点上记录的账本数据,将联盟组织成员的各自身份认证组成统一的一个联盟认证,实现了不同联盟组织成员身份认证之间的互信。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例二提供的一种在区块链上进行身份认证的方法;图2和图3为本专利技术实施例三提供的一种在区块链上进行身份认证的方法;图4为本专利技术实施例四提供的一种在区块链上进行身份认证的系统的结构方框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一本实施例提供了一种在区块链上进行身份认证的方法,适用于包括认证设备、应用程序、服务器和区块链网络的系统,区块链网络中包括多个区块链节点,每个区块链节点对应一个联盟组织成员;方法包括:步骤s1:应用程序获取已连接的认证设备的设备标识符和待认证数据;步骤s2:应用程序向服务器发送设备标识符和待认证数据;步骤s3:服务器向区块链网络中的任意一个区块链节点发送查询区块链节点账本请求;查询区块链节点账本请求中包括设备标识符;步骤s4:区块链节点从已保存的区块链节点账本中获取与所述查询区块链节点账本请求中的所述设备标识符对应的认证关联数据;向服务器返回与设备标识符对应的认证关联数据;区块链节点账本中包括:与所有联盟组织成员对应的认证设备的设备标识符;和与设备标识符对应的认证关联数据;步骤s5:服务器根据认证关联数据接收到的对待认证数据进行认证,若认证成功,则向应用程序返回认证成功;若认证失败,则向应用程序返回认证失败。具体地,服务器根据认证关联数据获取认证有效数据,使用认证有效数据对待认证数据进行认证,若认证成功,则向应用程序返回认证成功;若认证失败,则向应用程序返回认证失败。需要说明的是,本实施例中使用认证有效数据对待认证数据进行认证可以采用多种认证方式,例如,数字证书认证方式、FIDO认证方式、公钥验签等认证方式。例如:服务器使用公钥验签认证方式时,认证有效数据可以为:设备公钥;待认证数据可以具体为:设备标识符签名结果;本实施例中,认证关联数据中可以包括:认证有效数据;步骤s5具体为:服务器使用认证有效数据对待认证数据进行认证,若认证成功,则向应用程序返回认证成功;若认证失败,则向应用程序返回认证失败。本实施例中,服务器根据认证关联数据对待认证数据进行认证,还可以具体为:服务器根据认证关联数据获取自身存储的与设备标识符对应的认证有效数据,使用认证有效数据对待认证数据进行认证。本实施例中,服务器可以包括:应用服务器和认证服务器;步骤s2具体为:应用程序向应用服务器发送设备标识符和待认证数据;步骤s3具体为:应用服务器向任意一个区块链节点发送查询区块链节点账本请求;查询区块链节点账本请求中包括设备标识符;步骤s4具体为:区块链节点从已保存的区块链节点账本中获取与设备标识符对应的认证关联数据;向应用服务器返回认证关联数据;步骤s5具体包括:步骤a1:应用服务器根据认证关联数据将待认证数据和设备标识符本文档来自技高网...

【技术保护点】
1.一种在区块链上进行身份认证的方法,适用于包括认证设备、应用程序、服务器和区块链网络的系统,其特征在于,所述区块链网络中包括多个区块链节点,每个区块链节点对应一个联盟组织成员;所述方法包括:步骤s1:所述应用程序获取已连接的认证设备的设备标识符和待认证数据;步骤s2:所述应用程序向所述服务器发送所述设备标识符和所述待认证数据;步骤s3:所述服务器向所述区块链网络中的任意一个区块链节点发送查询区块链节点账本请求;所述查询区块链节点账本请求中包括所述设备标识符;步骤s4:所述区块链节点从已保存的区块链节点账本中获取与所述查询区块链节点账本请求中的所述设备标识符对应的认证关联数据;向所述服务器返回所述与所述设备标识符对应的认证关联数据;所述区块链节点账本中包括:与每一个联盟组织成员对应的认证设备的设备标识符;和与所述设备标识符对应的认证关联数据;步骤s5:所述服务器根据所述认证关联数据对接收到的所述待认证数据进行认证,若认证成功,则向所述应用程序返回认证成功;若认证失败,则向所述应用程序返回认证失败。

【技术特征摘要】
1.一种在区块链上进行身份认证的方法,适用于包括认证设备、应用程序、服务器和区块链网络的系统,其特征在于,所述区块链网络中包括多个区块链节点,每个区块链节点对应一个联盟组织成员;所述方法包括:步骤s1:所述应用程序获取已连接的认证设备的设备标识符和待认证数据;步骤s2:所述应用程序向所述服务器发送所述设备标识符和所述待认证数据;步骤s3:所述服务器向所述区块链网络中的任意一个区块链节点发送查询区块链节点账本请求;所述查询区块链节点账本请求中包括所述设备标识符;步骤s4:所述区块链节点从已保存的区块链节点账本中获取与所述查询区块链节点账本请求中的所述设备标识符对应的认证关联数据;向所述服务器返回所述与所述设备标识符对应的认证关联数据;所述区块链节点账本中包括:与每一个联盟组织成员对应的认证设备的设备标识符;和与所述设备标识符对应的认证关联数据;步骤s5:所述服务器根据所述认证关联数据对接收到的所述待认证数据进行认证,若认证成功,则向所述应用程序返回认证成功;若认证失败,则向所述应用程序返回认证失败。2.根据权利要求1所述的方法,其特征在于,所述认证关联数据中包括:认证有效数据;所述步骤s5具体为:所述服务器使用所述认证有效数据对所述待认证数据进行认证,若认证成功,则向所述应用程序返回认证成功;若认证失败,则向所述应用程序返回认证失败。3.根据权利要求1所述的方法,其特征在于,所述服务器根据所述认证关联数据对所述待认证数据进行认证,具体为:所述服务器根据认证关联数据获取自身存储的与所述设备标识符对应的认证有效数据,使用所述认证有效数据对所述待认证数据进行认证。4.根据权利要求1所述的方法,其特征在于,所述服务器包括:应用服务器和认证服务器;所述步骤s2具体为:所述应用程序向所述应用服务器发送所述设备标识符和待认证数据;所述步骤s3具体为:所述应用服务器向任意一个区块链节点发送查询区块链节点账本请求;所述查询区块链节点账本请求中包括所述设备标识符;所述步骤s4具体为:所述区块链节点从已保存的区块链节点账本中获取与所述查询区块链节点账本请求中的所述设备标识符对应的认证关联数据;向所述应用服务器返回所述认证关联数据;步骤s5具体包括:步骤a1:所述应用服务器根据认证关联数据将所述待认证数据和所述设备标识符发送给认证服务器;步骤a2:所述认证服务器获取自身存储的与所述设备标识符对应的认证有效数据,使用所述认证有效数据对所述待认证数据进行认证,得到认证结果,将认证结果发送给应用服务器;步骤a3:所述应用服务器根据认证结果判断是否认证成功,如果是,则向所述应用程序返回认证成功;否则向所述应用程序返回认证失败。5.根据权利要求4所述的方法,其特征在于,所述步骤s4具体包括:步骤b1:所述区块链节点查询区块链节点账本中保存的所有设备标识符判断规则中是否存在与所述设备标识符对应的判断规则;如果是,则执行步骤b2;否则,报错;步骤b2:所述区块链节点获取与所述设备标识符对应的判断规则;根据所述与所述设备标识符对应的判断规则获取认证服务器地址;步骤b3:所述区块链节点向所述应用服务器发送认证服务器地址。6.根据权利要求1所述的方法,其特征在于,所述服务器包括:应用服务器和发送方区块链中转服务器;所述步骤s2具体为:所述应用程序向所述应用服务器发送包括所述设备标识符和所述待认证数据的第一请求;步骤s3具体包括:步骤s3-1:所述应用服务器保存所述待认证数据,向所述发送方区块链中转服务器发送设备标识符查询请求;所述设备标识符查询请求中包括所述设备标识符;步骤s3-2:所述发送方区块链中转服务器生成查询区块链节点账本第一请求,向任意一个区块链节点发送所述查询区块链节点账本第一请求;所述查询区块链节点账本第一请求中包括所述设备标识符;所述区块链节点执行步骤s4;所述步骤s4具体为:所述区块链节点从已保存的区块链节点账本中获取与所述设备标识符对应的认证关联数据;向所述发送方区块链中转服务器返回所述认证关联数据;所述中转服务器向所述应用服务器返回所述认证关联数据;所述步骤s5具体为:所述应用服务器从所述认证关联数据中获取与所述设备标识符对应的认证有效数据,使用所述认证有效数据对所述待认证数据进行认证,若认证成功,则向所述应用程序返回认证成功;若认证失败,则向所述应用程序返回认证失败。7.根据权利要求6所述的方法,其特征在于,所述步骤s4之前还包括:所述区块链节点判断区块链中是否存在所述设备标识符,如果是,则执行步骤s4;否则,报错。8.根据权利要求1所述的方法,其特征在于,所述服务器包括应用服务器、发起方区块链中转服务器、认证方区块链中转服务器和认证服务器;所述步骤s2具体为:所述应用程序向所述应用服务器发送包括所述设备标识符和所述待认证数据的第二请求;步骤s3具体包括:步骤s3-3:所述应用服务器保存所述待认证数据,向所述发起方区块链中转服务器发送查询设备标识符判断规则请求;所述查询设备标识符判断规则请求中包括所述设备标识符;步骤s3-2:所述发起方区块链中转服务器生成查询区块链节点账本第二请求,向任意一个区块链节点发送所述查询区块链节点账本第二请求;所述查询区块链节点账本第二请求中包括所述设备标识符;所述区块链节点执行步骤s4;所述步骤s4具体包括:步骤s4-1:所述区块链节点查询区块链中保存的所有设备标识符判断规则中是否存在与所述设备标识符对应的判断规则;如果是,则执行步骤s4-2;否则,报错;步骤s4-2:所述区块链节点获取与所述设备标识符对应的判断规则;根据所述与所述设备标识符对应的判断规则获取认证方区块链中转服务器地址;步骤s4-3:所述区块链节点向所述发起方区块链中转服务器发送认证方区块链中转服务器地址;所述步骤s5具体包括:步骤s5-1:所述发起方区块链服务器向所述应用服务器发送获取待认证数据请求;所述获取待认证数据请求中包括所述设备标识符;步骤s5-2:所述应用服务器向所述发起方区块链服务器发送身份认证数据包;所述身份认证数据包中包括:所述设备标识符和所述待认证数据;步骤s5-3:所述发起方区块链服务器根据所述认证方区块链中转服务器地址向所述认证方区块链中转服务器发送认证请求;所述认证请求中包括所述身份认证数据包;步骤s5-4:所述认证方区块链中转服务器向所述认证服务器发送所述认证请求;步骤s5-5:所述认证服务器从所述认证请求中获取设备标识符和待认证数据,获取自身存储的与所述设备标识符对应的认证有效数据;使用所述认证有效数据对所述待认证数据进行认证,得到认证结果;步骤s5-6:所述认证服务器向所述认证方区块链中转服务器发送所述认证结果;步骤s5-7:所述认证方区块链中转服务器向所述发起方区块链中转服务器发送认证结果;步骤s5-8:所述发起方区块链中转服务器向所述应用服务器发送认证结果;步骤s5-9:所述应用服务器根据认证结果判断是否认证成功,如果是,则向所述应用程序返回认证成功;否则向所述应用程序返回认证失败。9.根据权利要求1所述的方法,其特征在于,所述步骤s1与步骤s2之间还包括:所述应用程序使用所述设备标识符获取与设备标识符匹配的认证状态标识,根据认证状态标识获取认证设备的认证状态,若根据所述认证状态标识判断出认证设备已完成认证,结束;若根据所述认证状态标识判断出认证设备未完成认证,执行步骤s2;所述步骤s5之后,还包括:所述应用程序根据认证结果设置认证状态标识。10.根据权利要求9所述的方法,其特征在于,若应用程序根据所述认证状态标识判断出认证设备未完成认证且未没有进行过任何区块链查询,则所述步骤s2具体包括:所述应用程序向所述服务器发送包括所述设备标识符和所述待认证数据的第一请求;若应用程序根据认证状态标识判断出认证设备未完成认证且已经进行过设备标识符查询,则所述步骤s2具体包括:所述应用程序向所述服务器发送包括所述设备标识符和所述待认证数据的第二请求。11.根据权利要求1所述的方法,其特征在于,所述根据所述认证关联数据对接收到的所述待认证数据进行认证,具体为:所述服务器根据所述认证关联数据获取认证有效数据,使用认证有效数据对所述待认证数据进行认证。12.一种在区块链上进行身份认证的系统,其特征在于,包括:认证设备、应用程序、服务器和区块链网络;所述区块链网络中包括多个区块链节点;每个区块链节点对应一个联盟组织成员;所述应用程序包括:第一获取模块、第一发送模块和第一接收模块;所述服务器包括:第二接收模块、第二发送模块、第三接收模块、第一认证模块和第三发送模块;所述区块链节点包括:第四接收模块、第二获取模块和第四发送模块;所述第一获取模块,用于获取已连接的认证设备的设备标识符和待认证数据;所述第一发送模块,用于向所述服务器发送所述第一获取模块获取到的设备标识符和待认证数据;所述第一接收...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1