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:所述区块链节点从已保存的区块链节点账本中获取与所述查询区块链节点账本请求中的所述设备标识符对 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。