首页 / 专利库 / 银行与财务事项 / 智能合约 / 基于区块链的设备认证方法、认证服务器及用户设备

基于链的设备认证方法、认证服务器及用户设备

阅读:148发布:2022-01-18

专利汇可以提供基于链的设备认证方法、认证服务器及用户设备专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 区 块 链 的设备认证方法、认证 服务器 及用户设备,涉及设备认证技术领域,其中方法包括:接收用户设备发送的设备绑定 请求 ,生成与设备绑定请求对应的设备绑定信息,将设备绑定信息提供给用户设备;获取 智能合约 生成的第一程序运行结果,根据第一程序运行结果向智能合约发送绑定成功消息;接收用户设备发送的设备认证请求,根据设备认证请求向用户设备返回设备认证信息;获取智能合约生成的第二程序运行结果,根据第二程序运行结果对用户设备进行认证。由此可见,本发明采用区块链智能合约保存设备绑定信息,使得设备信息无法被篡改,解决了 现有技术 所存在的问题。,下面是基于链的设备认证方法、认证服务器及用户设备专利的具体信息内容。

1.一种基于链的设备认证方法,其特征在于,包括:
接收用户设备发送的设备绑定请求,生成与所述设备绑定请求对应的设备绑定信息,将所述设备绑定信息提供给所述用户设备;
获取区块链中预设的智能合约根据所述用户设备提供的所述设备绑定信息生成的第一程序运行结果,根据所述第一程序运行结果向所述智能合约发送绑定成功消息;
接收所述用户设备发送的设备认证请求,根据所述设备认证请求向所述用户设备返回设备认证信息;
获取所述智能合约根据所述用户设备提供的所述设备认证信息生成的第二程序运行结果,根据所述第二程序运行结果对所述用户设备进行认证。
2.根据权利要求1所述的方法,其特征在于,所述设备绑定信息中包括:与所述用户设备对应的设备标识,则所述第一程序运行结果具体包括:所述智能合约根据所述用户设备发送的所述设备绑定信息执行写入操作后的运行结果;
且所述根据所述第一程序运行结果向所述智能合约发送绑定成功消息的步骤具体包括:将第一程序运行结果包含的设备标识与提供给所述用户设备的设备绑定信息中包含的设备标识进行比对,当比对结果一致时,向所述智能合约发送绑定成功消息。
3.根据权利要求2所述的方法,其特征在于,所述设备绑定请求中包括:设备指纹,则所述设备绑定信息中包含的设备标识根据所述设备指纹生成。
4.根据权利要求1-3任一所述的方法,其特征在于,所述设备认证信息中包括随机标识,且所述第二程序运行结果具体包括:所述智能合约根据所述用户设备提供的所述设备认证信息执行写入操作后的运行结果;
则所述根据所述第二程序运行结果对所述用户设备进行认证的步骤具体包括:将第二程序运行结果包含的随机标识与提供给所述用户设备的设备认证信息中包含的随机标识进行比对,当比对结果一致时,认证成功;反之,认证失败。
5.根据权利要求1-4任一所述的方法,其特征在于,所述智能合约接收到所述绑定成功消息后,进一步将所述绑定成功消息对应的用户设备标记为已绑定状态,则所述智能合约根据所述用户设备提供的所述设备认证信息生成第二程序运行结果的步骤之前,进一步包括步骤:判断所述用户设备是否为已绑定状态,当判断结果为是时,执行后续步骤;当判断结果为否时,生成认证失败提示信息。
6.根据权利要求1-5任一所述的方法,其特征在于,所述接收用户设备发送的设备绑定请求的步骤之前,进一步包括步骤:设置智能合约,将所述智能合约广播到所述区块链中。
7.根据权利要求1-6任一所述的方法,其特征在于,所述设备绑定信息进一步包括:用户设备的区块链账户地址。
8.一种基于区块链的设备认证方法,其特征在于,包括:
向认证服务器发送设备绑定请求,接收所述认证服务器根据所述设备绑定请求返回的设备绑定信息;
将所述设备绑定信息提供给区块链中预设的智能合约,以供所述智能合约根据所述设备绑定信息生成第一程序运行结果,所述第一程序运行结果用于提供给所述认证服务器进行设备绑定;
向所述认证服务器发送设备认证请求,接收所述认证服务器返回的设备认证信息;
将所述设备认证信息提供给所述智能合约,以供所述智能合约根据所述设备认证信息生成第二程序运行结果,所述第二程序运行结果用于提供给所述认证服务器进行设备认证。
9.一种认证服务器,其特征在于,包括:
绑定信息生成模块,用于接收用户设备发送的设备绑定请求,生成与所述设备绑定请求对应的设备绑定信息,将所述设备绑定信息提供给所述用户设备;
绑定状态确认模块,用于获取区块链中预设的智能合约根据所述用户设备提供的所述设备绑定信息生成的第一程序运行结果,根据所述第一程序运行结果向所述智能合约发送绑定成功消息;
认证信息生成模块,用于接收所述用户设备发送的设备认证请求,根据所述设备认证请求向所述用户设备返回设备认证信息;
设备认证模块,用于获取所述智能合约根据所述用户设备提供的所述设备认证信息生成的第二程序运行结果,根据所述第二程序运行结果对所述用户设备进行认证。
10.一种用户设备,其特征在于,包括:
绑定请求模块,用于向认证服务器发送设备绑定请求,接收所述认证服务器根据所述设备绑定请求返回的设备绑定信息;
绑定信息传递模块,用于将所述设备绑定信息提供给区块链中预设的智能合约,以供所述智能合约根据所述设备绑定信息生成第一程序运行结果,所述第一程序运行结果用于提供给所述认证服务器进行设备绑定;
认证请求模块,用于向所述认证服务器发送设备认证请求,接收所述认证服务器返回的设备认证信息;
认证信息传递模块,用于将所述设备认证信息提供给所述智能合约,以供所述智能合约根据所述设备认证信息生成第二程序运行结果,所述第二程序运行结果用于提供给所述认证服务器进行设备认证。

说明书全文

基于链的设备认证方法、认证服务器及用户设备

技术领域

[0001] 本发明涉及设备认证技术领域,具体涉及一种基于区块链的设备认证方法、认证服务器及用户设备。

背景技术

[0002] 设备认证是指在计算机及计算机网络系统中确认设备资格的过程,从而确定该设备是否具有对某种资源的访问和使用权限,进而使计算机和网络系统的访问策略能够可靠、有效地执行。
[0003] 如图1所示,在传统设备认证系统中,假设认证服务器A需要确认用户设备B的资格,其主要流程如下:1.1、用户设备B向认证服务器A发送设备认证请求;1.2、认证服务器A将认证信息返回给用户设备B,其中,认证信息可以是短信验证码等形式;1.3、用户设备B向认证服务器A发送认证信息,该认证信息中包括上述的短信验证码等;1.4、认证服务器A根据上述短信验证码验证用户设备B的资格。
[0004] 但是,发明人在实现本发明的过程中发现,现有技术中的方式至少存在下述问题:在传统的设备认证系统中,仅凭认证服务器生成的认证信息并不能保证用户设备的唯一性,因为认证服务器发送给用户设备的认证信息可能被第三方劫持或者被第三方攻击。

发明内容

[0005] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于区块链的设备认证方法和相应的认证服务器及用户设备。
[0006] 根据本发明的一个方面,提供了一种基于区块链的设备认证方法,包括:接收用户设备发送的设备绑定请求,生成与设备绑定请求对应的设备绑定信息,将设备绑定信息提供给用户设备;获取区块链中预设的智能合约根据用户设备提供的设备绑定信息生成的第一程序运行结果,根据第一程序运行结果向智能合约发送绑定成功消息;接收用户设备发送的设备认证请求,根据设备认证请求向用户设备返回设备认证信息;获取智能合约根据用户设备提供的设备认证信息生成的第二程序运行结果,根据第二程序运行结果对用户设备进行认证。
[0007] 根据本发明的另一方面,提供了一种基于区块链的设备认证方法,包括:向认证服务器发送设备绑定请求,接收认证服务器根据设备绑定请求返回的设备绑定信息;将设备绑定信息提供给区块链中预设的智能合约,以供智能合约根据设备绑定信息生成第一程序运行结果,第一程序运行结果用于提供给认证服务器进行设备绑定;向认证服务器发送设备认证请求,接收认证服务器返回的设备认证信息;将设备认证信息提供给智能合约,以供智能合约根据设备认证信息生成第二程序运行结果,第二程序运行结果用于提供给认证服务器进行设备认证。
[0008] 根据本发明的另一方面,提供了一种认证服务器,包括:绑定信息生成模块,用于接收用户设备发送的设备绑定请求,生成与设备绑定请求对应的设备绑定信息,将设备绑定信息提供给用户设备;绑定状态确认模块,用于获取区块链中预设的智能合约根据用户设备提供的设备绑定信息生成的第一程序运行结果,根据第一程序运行结果向智能合约发送绑定成功消息;认证信息生成模块,用于接收用户设备发送的设备认证请求,根据设备认证请求向用户设备返回设备认证信息;设备认证模块,用于获取智能合约根据用户设备提供的设备认证信息生成的第二程序运行结果,根据第二程序运行结果对用户设备进行认证。
[0009] 根据本发明的另一方面,提供了一种用户设备,包括:绑定请求模块,用于向认证服务器发送设备绑定请求,接收认证服务器根据设备绑定请求返回的设备绑定信息;绑定信息传递模块,用于将设备绑定信息提供给区块链中预设的智能合约,以供智能合约根据设备绑定信息生成第一程序运行结果,第一程序运行结果用于提供给认证服务器进行设备绑定;认证请求模块,用于向认证服务器发送设备认证请求,接收认证服务器返回的设备认证信息;认证信息传递模块,用于将设备认证信息提供给智能合约,以供智能合约根据设备认证信息生成第二程序运行结果,第二程序运行结果用于提供给认证服务器进行设备认证。
[0010] 根据本发明提供的基于区块链的设备认证方法和相应的认证服务器及用户设备,采用区块链智能合约保存设备绑定信息,使得设备信息无法被篡改,由此解决了现有技术所存在的问题,同时利用智能合约来验证设备信息,极大地简化了验证流程,提高了设备认证的效率。
[0011] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明
[0012] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0013] 图1是现有技术中设备认证方法的交互序列图;
[0014] 图2是本申请实施例一提供的一种基于区块链的设备认证方法的流程图
[0015] 图3是本申请实施例二提供的一种基于区块链的设备认证方法的流程图;
[0016] 图4是本申请实施例三提供的一种基于区块链的设备认证方法的流程图;
[0017] 图5是本申请实施例四提供的一种认证服务器的结构示意图;
[0018] 图6是本申请实施例五提供的一种认证服务器的结构示意图;
[0019] 图7是本申请实施例六提供的一种用户设备的结构示意图;
[0020] 图8是本申请实施例提供的设备认证方法中设备绑定流程的交互序列图;
[0021] 图9是本申请实施例提供的设备认证方法中设备认证流程的交互序列图。

具体实施方式

[0022] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0023] 实施例一
[0024] 图2是本申请实施例一提供的一种基于区块链的设备认证方法的流程图。如图2所示,该方法包括:
[0025] 步骤S210:接收用户设备发送的设备绑定请求,生成与设备绑定请求对应的设备绑定信息,将设备绑定信息提供给用户设备。
[0026] 在本发明实施例中,为了保证发起认证请求的用户设备的唯一性,在进行认证操作前,需要将用户设备的绑定信息存储到区块链的智能合约中。因此,需要针对用户设备发送的设备绑定请求生成对应的而且唯一的设备绑定信息,并将该设备绑定信息返回给用户设备,以便用户设备将该设备绑定信息发送给智能合约。
[0027] 步骤S220:获取区块链中预设的智能合约根据用户设备提供的设备绑定信息生成的第一程序运行结果,根据第一程序运行结果向智能合约发送绑定成功消息。
[0028] 智能合约在接收到用户设备提供的设备绑定信息后,会执行写入操作,将该设备绑定信息写入到智能合约的数据部分,由此生成的第一程序运行结果中包含了设备绑定信息。此时,获取该第一程序运行结果,并将该结果中包含的设备绑定信息与发送给用户设备的设备绑定信息进行比较。若两个信息内容一致,则说明向智能合约提供信息的用户设备就是当初发起绑定请求的用户设备,根据该结果就可以向智能合约发送绑定成功消息。
[0029] 其中,智能合约是指一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。其中,承诺指的是合约参与方同意的(经常是相互的)权利和义务。这些承诺定义了合约的本质和目的;而数字形式表明智能合约建立的权利和义务,是由一台计算机或者计算机网络执行的。而区块链技术是比特币的底层技术,实质上是一个分布式的数据库账本,记载了所有的交易记录。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。这项技术也因其安全、便捷的特性逐渐得到了行与金融业的关注。目前越来越多的领域尝试使用区块链技术来解决现有的问题和不足。
[0030] 相应的,与区块链结合的智能合约是一段代码和数据的集合,部署在区块链网络上运行。同时智能合约有自己的区块链账户,在时间或事件的驱动下能自动执行一些功能,如可以在相互之间传递信息,修改区块链的状态比如账户信息等。与区块链结合的智能合约最大的特点是图灵完备,通俗来说可以完全模拟一台计算机所能做的所有事情。
[0031] 步骤S230:接收用户设备发送的设备认证请求,根据设备认证请求向用户设备返回设备认证信息。
[0032] 在收到用户设备发送的设备认证请求后,根据设备认证请求中的相关信息生成对应的设备认证信息,并将该设备认证信息返回给发送请求的用户设备。
[0033] 步骤S240:获取智能合约根据用户设备提供的设备认证信息生成的第二程序运行结果,根据第二程序运行结果对用户设备进行认证。
[0034] 用户设备将上述设备认证信息发送到区块链中的智能合约中后,智能合约将执行写入数据操作,将上述设备认证信息写入到智能合约中。在智能合约完成写入数据操作后,接收其发送的程序运行结果,对上述程序运行结果进行比对验证,最后将设备认证结果发送给用户设备。由此完成整个设备认证过程。
[0035] 综上所述,本申请实施例提供的一种基于区块链的设备认证方法利用区块链智能合约自身特点,采用区块链智能合约保存设备绑定信息,使得设备信息无法被篡改,由此解决了现有技术所存在的问题,保证了发起认证请求的用户设备的唯一性,同时利用智能合约来验证设备信息,极大地简化了验证流程,提高了设备认证的效率。
[0036] 实施例二
[0037] 图3是本申请实施例二提供的一种基于区块链的设备认证方法的流程图,该方法的执行主体优选为认证服务器。如图3所示,该方法包括:
[0038] 步骤S310:设置智能合约,将智能合约广播到区块链中。
[0039] 具体地,将预设的智能合约以区块链交易的形式广播到区块链网络上,经过多数节点的验证,使该智能合约达成区块链网络上的共识,然后该智能合约便可以运行在区块链网络上。其中,上述智能合约的结构分为三个部分,分别是智能合约区块链账户地址、数据部分和程序部分,且该智能合约的程序部分能够实现三个功能,一是向数据部分写入数据,即用于对接收到的数据执行数据写入操作;二是标记数据部分的数据,即将符合条件的已写入智能合约的设备绑定信息标记为已绑定状态;三是对已写入的数据进行查询,即用于查找已写入智能合约的设备绑定信息是否被标记为已绑定状态。
[0040] 步骤S320:接收用户设备发送的设备绑定请求,生成与设备绑定请求对应的设备绑定信息,将设备绑定信息提供给用户设备。
[0041] 为了保证发起认证请求的用户设备的唯一性,在进行认证操作前,需要将用户设备的绑定信息存储到区块链的智能合约中。因此,需要针对用户设备发送的设备绑定请求生成对应的而且唯一的设备绑定信息,并将该设备绑定信息返回给用户设备,以便用户设备将该设备绑定信息发送给智能合约。
[0042] 其中,设备绑定请求中包括了设备指纹,即能够唯一标识用户设备的一段字符信息。设备绑定信息中包括了用户设备的区块链账户地址和与用户设备唯一对应的设备标识,该设备标识是根据设备指纹生成的。
[0043] 步骤S330:获取区块链中预设的智能合约根据用户设备提供的设备绑定信息生成的第一程序运行结果,根据第一程序运行结果向智能合约发送绑定成功消息。
[0044] 智能合约在接收到用户设备提供的设备绑定信息后,会执行写入操作,将该设备绑定信息写入到智能合约的数据部分,由此生成第一程序运行结果。其中,第一程序运行结果具体包括:智能合约根据用户设备发送的设备绑定信息执行写入操作后的运行结果。则根据第一程序运行结果向智能合约发送绑定成功消息的步骤具体包括:将第一程序运行结果包含的设备标识与提供给用户设备的设备绑定信息中包含的设备标识进行比对,当比对结果一致时,则说明向智能合约提供信息的用户设备就是当初发起绑定请求的用户设备,因此,可以向智能合约发送绑定成功消息。智能合约接收到绑定成功消息后,会将绑定成功消息对应的用户设备标记为已绑定状态。
[0045] 步骤S340:接收用户设备发送的设备认证请求,根据设备认证请求向用户设备返回设备认证信息。
[0046] 具体地,在收到用户设备发送的设备认证请求后,随机生成设备认证信息,将设备认证信息返回给用户设备。其中,该设备认证信息包括:随机标识,例如随机数等。
[0047] 步骤S350:获取智能合约根据用户设备提供的设备认证信息生成的第二程序运行结果,根据第二程序运行结果对用户设备进行认证。
[0048] 其中,第二程序运行结果具体包括智能合约根据用户设备提供的设备认证信息执行写入操作后的运行结果。具体地,智能合约根据用户设备提供的设备认证信息生成第二程序运行结果的步骤之前,进一步包括步骤:通过查询已写入的相关数据,判断用户设备是否为已绑定状态。当判断结果为是时,执行后续步骤;当判断结果为否时,生成认证失败提示信息。该步骤用于判断发起设备认证请求的用户设备是否为已经完成设备绑定的用户设备,只有已绑定状态的用户设备才有权发起设备认证请求。
[0049] 对应地,根据第二程序运行结果对用户设备进行认证的步骤具体包括:将第二程序运行结果包含的随机标识与提供给用户设备的设备认证信息中包含的随机标识进行比对,当比对结果一致时,认证成功;反之,认证失败。
[0050] 综上所述,本申请实施例提供的一种基于区块链的设备认证方法采用具有唯一性的设备指纹来生成设备标识,并将该设备标识加入到设备绑定信息中,保证了设备绑定信息的唯一性,同时利用区块链智能合约自身特点,采用区块链智能合约保存设备绑定信息,使得设备信息无法被篡改,由此解决了现有技术所存在的问题,保证了发起认证请求的用户设备的唯一性,并进一步利用智能合约来验证设备信息,极大地简化了验证流程,提高了设备认证的效率。
[0051] 实施例三
[0052] 图4是本申请实施例三提供的一种基于区块链的设备认证方法的流程图,图4所示的方法的执行主体可以为用户设备。如图4所示,该方法包括:
[0053] 步骤S410:向认证服务器发送设备绑定请求,接收认证服务器根据设备绑定请求返回的设备绑定信息。
[0054] 在本实施例中,为了保证发起认证请求的用户设备的唯一性,在进行认证操作前,需要对用户设备进行绑定操作,并将用户设备的绑定信息存储到区块链的智能合约中。因此,当用户设备向认证服务器发送绑定请求后,认证服务器需要针对用户设备发送的设备绑定请求生成对应的而且唯一的设备绑定信息,并将该设备绑定信息返回给用户设备,以便用户设备将该设备绑定信息发送给智能合约。其中,设备绑定请求中包括设备指纹,即可以唯一标识用户设备的一段字符信息,则设备绑定信息中包括了根据该设备指纹生成的设备标识。
[0055] 步骤S420:将设备绑定信息提供给区块链中预设的智能合约。
[0056] 将设备绑定信息提供给区块链中预设的智能合约,是为了方便智能合约根据设备绑定信息生成第一程序运行结果,该第一程序运行结果用于提供给认证服务器进行设备绑定。
[0057] 步骤S430:向认证服务器发送设备认证请求,接收认证服务器返回的设备认证信息。
[0058] 用户设备向认证服务器发送设备认证请求,该请求包括但不限于登录和注销等等类型,请求内容包括用户设备的区块链账户地址。接收认证服务器随机生成的设备认证信息,该信息中包含了认证服务器随机生成的随机标识,例如随机数等。
[0059] 步骤S440:将设备认证信息提供给智能合约。
[0060] 将设备认证信息提供给智能合约,以便智能合约根据设备认证信息生成第二程序运行结果,第二程序运行结果用于提供给认证服务器进行设备认证。
[0061] 综上所述,本申请实施例提供的一种基于区块链的设备认证方法采用具有唯一性的设备指纹来生成设备标识,并将该设备标识加入到设备绑定信息中,保证了设备绑定信息的唯一性,同时利用区块链智能合约自身特点,采用区块链智能合约保存设备绑定信息,使得设备信息无法被篡改,由此解决了现有技术所存在的问题,保证了发起认证请求的用户设备的唯一性,并进一步利用智能合约来验证设备信息,极大地简化了验证流程,提高了设备认证的效率。
[0062] 为了便于理解本发明,下面结合两幅流程交互图进一步详细阐述上述方法的具体实现细节:
[0063] 图8是本申请实施例提供的设备认证方法中设备绑定流程的交互序列图,具体流程为:8.1、用户设备向认证服务器发送设备绑定请求,该请求信息包括该设备的设备指纹,其中,该设备指纹是唯一标识该用户设备的一段字符信息;8.2、认证服务器根据设备绑定请求中的设备指纹生成该用户设备在认证服务器的唯一值。认证服务器将绑定所需的信息回复给用户设备,信息包括上述唯一值;8.3、用户设备将绑定所需信息发送到区块链中的智能合约,该信息包括用户设备区块链账户地址、上述唯一值和智能合约区块链账户地址,此时,智能合约的程序部分会执行写入数据功能,将用户设备区块链账户地址和上述唯一值作为键值写入智能合约的数据部分;8.4、智能合约将程序执行结果发送给认证服务器;8.5、认证服务器将智能合约的程序执行结果包含的上述唯一值与提供给用户设备的设备绑定信息中包含的唯一值进行比对,当比对结果一致时,则说明向智能合约提供信息的用户设备就是当初发起绑定请求的用户设备,因此,可以向智能合约发送绑定成功消息。智能合约接收到绑定成功消息后,会将绑定成功消息对应的用户设备标记为已绑定状态。由此完成整个设备绑定流程。
[0064] 图9是本申请实施例提供的设备认证方法中设备认证流程的交互序列图,具体流程为:9.1、用户设备向认证服务器发送设备认证请求,该请求包括但不限于登录和注销等类型,请求内容包括用户设备的区块链账户地址;9.2、认证服务器收到设备认证请求后,随机生成认证随机数,并将认证随机数作为设备认证信息回复给用户设备;9.3、用户设备将设备认证信息发送到区块链网络中的智能合约中,该信息包括用户设备区块链账户地址、上述认证随机数和智能合约区块链账户地址,此时,智能合约的程序部分会执行写入数据操作,将认证随机数写入智能合约的数据部分;9.4、智能合约将程序执行结果发送给认证服务器;9.5、认证服务器接收到程序执行结果后,将该执行结果中的认证随机数与发送给用户设备的认证随机数进行比对校验,最后认证服务器向用户设备发送设备认证结果。由此完成整个设备认证流程。
[0065] 实施例四
[0066] 图5是本申请实施例四提供的一种认证服务器的结构示意图。如图5所示,该认证服务器包括:绑定信息生成模块510、绑定状态确认模块520、认证信息生成模块530和设备认证模块540。
[0067] 绑定信息生成模块510,用于接收用户设备发送的设备绑定请求,生成与设备绑定请求对应的设备绑定信息,将设备绑定信息提供给用户设备。
[0068] 在本发明实施例中,为了保证发起认证请求的用户设备的唯一性,在进行认证操作前,需要将用户设备的绑定信息存储到区块链的智能合约中。因此,绑定信息生成模块510需要针对用户设备发送的设备绑定请求生成对应的而且唯一的设备绑定信息,并将该设备绑定信息返回给用户设备,以便用户设备将该设备绑定信息发送给智能合约。
[0069] 绑定状态确认模块520,用于获取区块链中预设的智能合约根据用户设备提供的设备绑定信息生成的第一程序运行结果,根据第一程序运行结果向智能合约发送绑定成功消息。
[0070] 智能合约在接收到用户设备提供的设备绑定信息后,会执行写入操作,将该设备绑定信息写入到智能合约的数据部分,由此生成的第一程序运行结果中包含了设备绑定信息。此时,绑定状态确认模块520获取该第一程序运行结果,并将该结果中包含的设备绑定信息与发送给用户设备的设备绑定信息进行比较。若两个信息内容一致,则说明向智能合约提供信息的用户设备就是当初发起绑定请求的用户设备,绑定状态确认模块520根据该结果就可以向智能合约发送绑定成功消息。
[0071] 认证信息生成模块530,用于接收用户设备发送的设备认证请求,根据设备认证请求向用户设备返回设备认证信息。
[0072] 认证信息生成模块530在收到用户设备发送的设备认证请求后,根据设备认证请求中的相关信息生成对应的设备认证信息,并将该设备认证信息返回给发送请求的用户设备。
[0073] 设备认证模块540,用于获取智能合约根据用户设备提供的设备认证信息生成的第二程序运行结果,根据第二程序运行结果对用户设备进行认证。
[0074] 用户设备将上述设备认证信息发送到区块链中的智能合约中后,智能合约将执行写入数据操作,将上述设备认证信息写入到智能合约中。在智能合约完成写入数据操作后,设备认证模块540接收其发送的程序运行结果,对上述程序运行结果进行比对验证,最后将设备认证结果发送给用户设备。由此完成整个设备认证过程。
[0075] 上述各个模块的具体工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
[0076] 综上所述,本申请实施例提供的一种认证服务器利用区块链智能合约自身特点,采用区块链智能合约保存设备绑定信息,使得设备信息无法被篡改,由此解决了现有技术所存在的问题,保证了发起认证请求的用户设备的唯一性,同时利用智能合约来验证设备信息,极大地简化了验证流程,提高了设备认证的效率。
[0077] 实施例五
[0078] 图6是本申请实施例五提供的一种认证服务器的结构示意图。如图6所示,该认证服务器包括:广播模块610、绑定信息生成模块620、绑定状态确认模块630、认证信息生成模块640和设备认证模块650。
[0079] 广播模块610,用于设置智能合约,将智能合约广播到区块链中。
[0080] 具体地,广播模块610将预设的智能合约以区块链交易的形式广播到区块链网络上,经过多数节点的验证,使该智能合约达成区块链网络上的共识,然后该智能合约便可以运行在区块链网络上。其中,上述智能合约的结构分为三个部分,分别是智能合约区块链账户地址、数据部分和程序部分,且该智能合约的程序部分能够实现三个功能,一是向数据部分写入数据,即用于对接收到的数据执行数据写入操作;二是标记数据部分的数据,即将符合条件的已写入智能合约的设备绑定信息标记为已绑定状态;三是对已写入的数据进行查询,即用于查找已写入智能合约的设备绑定信息是否被标记为已绑定状态。
[0081] 绑定信息生成模块620,用于接收用户设备发送的设备绑定请求,生成与设备绑定请求对应的设备绑定信息,将设备绑定信息提供给用户设备。
[0082] 为了保证发起认证请求的用户设备的唯一性,在进行认证操作前,需要将用户设备的绑定信息存储到区块链的智能合约中。因此,绑定信息生成模块620需要针对用户设备发送的设备绑定请求生成对应的而且唯一的设备绑定信息,并将该设备绑定信息返回给用户设备,以便用户设备将该设备绑定信息发送给智能合约。
[0083] 其中,设备绑定请求中包括了设备指纹,即能够唯一标识用户设备的一段字符信息。设备绑定信息中包括了用户设备的区块链账户地址和与用户设备唯一对应的设备标识,该设备标识是根据设备指纹生成的。
[0084] 绑定状态确认模块630,用于获取区块链中预设的智能合约根据用户设备提供的设备绑定信息生成的第一程序运行结果,根据第一程序运行结果向智能合约发送绑定成功消息。
[0085] 智能合约在接收到用户设备提供的设备绑定信息后,会执行写入操作,将该设备绑定信息写入到智能合约的数据部分,由此生成第一程序运行结果。其中,第一程序运行结果具体包括:智能合约根据用户设备发送的设备绑定信息执行写入操作后的运行结果。则绑定状态确认模块630具体用于将第一程序运行结果包含的设备标识与提供给用户设备的设备绑定信息中包含的设备标识进行比对,当比对结果一致时,则说明向智能合约提供信息的用户设备就是当初发起绑定请求的用户设备,因此,可以向智能合约发送绑定成功消息。智能合约接收到绑定成功消息后,会将绑定成功消息对应的用户设备标记为已绑定状态。
[0086] 认证信息生成模块640,用于接收用户设备发送的设备认证请求,根据设备认证请求向用户设备返回设备认证信息。
[0087] 具体地,认证信息生成模块640在收到用户设备发送的设备认证请求后,随机生成设备认证信息,将设备认证信息返回给用户设备。其中,该设备认证信息包括:随机标识,例如随机数等。
[0088] 设备认证模块650,用于获取智能合约根据用户设备提供的设备认证信息生成的第二程序运行结果,根据第二程序运行结果对用户设备进行认证。
[0089] 其中,第二程序运行结果具体包括智能合约根据用户设备提供的设备认证信息执行写入操作后的运行结果。具体地,智能合约根据用户设备提供的设备认证信息生成第二程序运行结果之前,进一步用于通过查询已写入的相关数据,判断用户设备是否为已绑定状态。当判断结果为是时,执行后续步骤;当判断结果为否时,生成认证失败提示信息。该操作用于判断发起设备认证请求的用户设备是否为已经完成设备绑定的用户设备,只有已绑定状态的用户设备才有权发起设备认证请求。
[0090] 对应地,设备认证模块650具体用于将第二程序运行结果包含的随机标识与提供给用户设备的设备认证信息中包含的随机标识进行比对,当比对结果一致时,认证成功;反之,认证失败。
[0091] 上述各个模块的具体工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
[0092] 综上所述,本申请实施例提供的一种认证服务器采用具有唯一性的设备指纹来生成设备标识,并将该设备标识加入到设备绑定信息中,保证了设备绑定信息的唯一性,同时利用区块链智能合约自身特点,采用区块链智能合约保存设备绑定信息,使得设备信息无法被篡改,由此解决了现有技术所存在的问题,保证了发起认证请求的用户设备的唯一性,并进一步利用智能合约来验证设备信息,极大地简化了验证流程,提高了设备认证的效率。
[0093] 实施例六
[0094] 图7是本申请实施例六提供的一种用户设备的结构示意图。如图7所示,该用户设备包括:绑定请求模块710、绑定信息传递模块720、认证请求模块730和认证信息传递模块740。
[0095] 绑定请求模块710,用于向认证服务器发送设备绑定请求,接收认证服务器根据设备绑定请求返回的设备绑定信息。
[0096] 在本实施例中,为了保证发起认证请求的用户设备的唯一性,在进行认证操作前,需要对用户设备进行绑定操作,并将用户设备的绑定信息存储到区块链的智能合约中。因此,当绑定请求模块710向认证服务器发送绑定请求后,认证服务器需要针对用户设备发送的设备绑定请求生成对应的而且唯一的设备绑定信息,并将该设备绑定信息返回给用户设备,以便用户设备将该设备绑定信息发送给智能合约。其中,设备绑定请求中包括设备指纹,即可以唯一标识用户设备的一段字符信息,则设备绑定信息中包括了根据该设备指纹生成的设备标识。
[0097] 绑定信息传递模块720,用于将设备绑定信息提供给区块链中预设的智能合约。
[0098] 绑定信息传递模块720将设备绑定信息提供给区块链中预设的智能合约,是为了方便智能合约根据设备绑定信息生成第一程序运行结果,该第一程序运行结果用于提供给认证服务器进行设备绑定。
[0099] 认证请求模块730,用于向认证服务器发送设备认证请求,接收认证服务器返回的设备认证信息。
[0100] 认证请求模块730向认证服务器发送设备认证请求,该请求包括但不限于登录和注销等等类型,请求内容包括用户设备的区块链账户地址。认证请求模块730接收认证服务器随机生成的设备认证信息,该信息中包含了认证服务器随机生成的随机标识,例如随机数等。
[0101] 认证信息传递模块740,用于将设备认证信息提供给智能合约。
[0102] 认证信息传递模块740将设备认证信息提供给智能合约,以便智能合约根据设备认证信息生成第二程序运行结果,第二程序运行结果用于提供给认证服务器进行设备认证。
[0103] 上述各个模块的具体工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
[0104] 综上所述,本申请实施例提供的一种用户设备采用具有唯一性的设备指纹来生成设备标识,并将该设备标识加入到设备绑定信息中,保证了设备绑定信息的唯一性,同时利用区块链智能合约自身特点,采用区块链智能合约保存设备绑定信息,使得设备信息无法被篡改,由此解决了现有技术所存在的问题,保证了发起认证请求的用户设备的唯一性,并进一步利用智能合约来验证设备信息,极大地简化了验证流程,提高了设备认证的效率。
[0105] 至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应该被理解和认定为覆盖了所有这些其他变型或修改。
[0106] 本领域技术人员应当理解,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。此外,本发明也不针对任何特定编程语言,应当明白,可以利用各种编程语言实现本发明描述的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0107] 需要注意的是,尽管在上面的说明中详细描述了滑动解验证装置的若干模块,但是这种划分仅仅是示例性的,并非是强制性的。本领域的技术人员可以理解,实际上,可以对实施例中的模块进行自适应性地改变,将实施例中的多个模块组合成一个模块,也可将一个模块划分成多个模块。
[0108] 此外,尽管在附图中以特定顺序描述了本发明实施操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。可以省略某些步骤,将多个步骤合并为一个步骤执行,或者将一个步骤分成多个步骤执行。
[0109] 综上所述,应用本发明所述的一种基于区块链的设备认证方法采用具有唯一性的设备指纹来生成设备标识,并将该设备标识加入到设备绑定信息中,保证了设备绑定信息的唯一性,同时利用区块链智能合约自身特点,采用区块链智能合约保存设备绑定信息,使得设备信息无法被篡改,由此解决了现有技术所存在的问题,保证了发起认证请求的用户设备的唯一性,并进一步利用智能合约来验证设备信息,极大地简化了验证流程,提高了设备认证的效率。
[0110] 以上对本发明的方法和具体实施方法进行了详细的介绍,并给出了相应的实施例。当然,除上述实施例外,本发明还可以有其它实施方式,凡采用等同替换或等效变换形成的技术方案,均落在本发明所要保护的范围之内。
[0111] 本发明公开了:A1、一种基于区块链的设备认证方法,其中,包括:
[0112] 接收用户设备发送的设备绑定请求,生成与所述设备绑定请求对应的设备绑定信息,将所述设备绑定信息提供给所述用户设备;
[0113] 获取区块链中预设的智能合约根据所述用户设备提供的所述设备绑定信息生成的第一程序运行结果,根据所述第一程序运行结果向所述智能合约发送绑定成功消息;
[0114] 接收所述用户设备发送的设备认证请求,根据所述设备认证请求向所述用户设备返回设备认证信息;
[0115] 获取所述智能合约根据所述用户设备提供的所述设备认证信息生成的第二程序运行结果,根据所述第二程序运行结果对所述用户设备进行认证。
[0116] A2、根据A1所述的方法,其中,所述设备绑定信息中包括:与所述用户设备对应的设备标识,则所述第一程序运行结果具体包括:所述智能合约根据所述用户设备发送的所述设备绑定信息执行写入操作后的运行结果;
[0117] 且所述根据所述第一程序运行结果向所述智能合约发送绑定成功消息的步骤具体包括:将第一程序运行结果包含的设备标识与提供给所述用户设备的设备绑定信息中包含的设备标识进行比对,当比对结果一致时,向所述智能合约发送绑定成功消息。
[0118] A3、根据A2所述的方法,其中,所述设备绑定请求中包括:设备指纹,则所述设备绑定信息中包含的设备标识根据所述设备指纹生成。
[0119] A4、根据A1-A3任一所述的方法,其中,所述设备认证信息中包括随机标识,且所述第二程序运行结果具体包括:所述智能合约根据所述用户设备提供的所述设备认证信息执行写入操作后的运行结果;
[0120] 则所述根据所述第二程序运行结果对所述用户设备进行认证的步骤具体包括:将第二程序运行结果包含的随机标识与提供给所述用户设备的设备认证信息中包含的随机标识进行比对,当比对结果一致时,认证成功;反之,认证失败。
[0121] A5、根据A1-A4任一所述的方法,其中,所述智能合约接收到所述绑定成功消息后,进一步将所述绑定成功消息对应的用户设备标记为已绑定状态,则所述智能合约根据所述用户设备提供的所述设备认证信息生成第二程序运行结果的步骤之前,进一步包括步骤:判断所述用户设备是否为已绑定状态,当判断结果为是时,执行后续步骤;当判断结果为否时,生成认证失败提示信息。
[0122] A6、根据A1-A5任一所述的方法,其中,所述接收用户设备发送的设备绑定请求的步骤之前,进一步包括步骤:设置智能合约,将所述智能合约广播到所述区块链中。
[0123] A7、根据A1-A6任一所述的方法,其中,所述设备绑定信息进一步包括:用户设备的区块链账户地址。
[0124] 本发明还公开了:B8、一种基于区块链的设备认证方法,其中,包括:
[0125] 向认证服务器发送设备绑定请求,接收所述认证服务器根据所述设备绑定请求返回的设备绑定信息;
[0126] 将所述设备绑定信息提供给区块链中预设的智能合约,以供所述智能合约根据所述设备绑定信息生成第一程序运行结果,所述第一程序运行结果用于提供给所述认证服务器进行设备绑定;
[0127] 向所述认证服务器发送设备认证请求,接收所述认证服务器返回的设备认证信息;
[0128] 将所述设备认证信息提供给所述智能合约,以供所述智能合约根据所述设备认证信息生成第二程序运行结果,所述第二程序运行结果用于提供给所述认证服务器进行设备认证。
[0129] B9、根据B8所述的方法,其中,所述设备绑定请求中包括:设备指纹,则所述设备绑定信息中包括:根据所述设备指纹生成的设备标识。
[0130] 本发明还公开了:C10、一种认证服务器,其中,包括:
[0131] 绑定信息生成模块,用于接收用户设备发送的设备绑定请求,生成与所述设备绑定请求对应的设备绑定信息,将所述设备绑定信息提供给所述用户设备;
[0132] 绑定状态确认模块,用于获取区块链中预设的智能合约根据所述用户设备提供的所述设备绑定信息生成的第一程序运行结果,根据所述第一程序运行结果向所述智能合约发送绑定成功消息;
[0133] 认证信息生成模块,用于接收所述用户设备发送的设备认证请求,根据所述设备认证请求向所述用户设备返回设备认证信息;
[0134] 设备认证模块,用于获取所述智能合约根据所述用户设备提供的所述设备认证信息生成的第二程序运行结果,根据所述第二程序运行结果对所述用户设备进行认证。
[0135] C11、根据C10所述的认证服务器,其中,所述设备绑定信息中包括:与所述用户设备对应的设备标识,则所述第一程序运行结果具体包括:所述智能合约根据所述用户设备发送的所述设备绑定信息执行写入操作后的运行结果;
[0136] 且所述绑定状态确认模块具体用于:将第一程序运行结果包含的设备标识与提供给所述用户设备的设备绑定信息中包含的设备标识进行比对,当比对结果一致时,向所述智能合约发送绑定成功消息。
[0137] C12、根据C11所述的认证服务器,其中,所述设备绑定请求中包括:设备指纹,则所述设备绑定信息中包含的设备标识根据所述设备指纹生成。
[0138] C13、根据C10-C12任一所述的认证服务器,其中,所述设备认证信息中包括随机标识,且所述第二程序运行结果具体包括:所述智能合约根据所述用户设备提供的所述设备认证信息执行写入操作后的运行结果;
[0139] 则所述设备认证模块具体用于:将第二程序运行结果包含的随机标识与提供给所述用户设备的设备认证信息中包含的随机标识进行比对,当比对结果一致时,认证成功;反之,认证失败。
[0140] C14、根据C10-C13任一所述的认证服务器,其中,所述智能合约接收到所述绑定成功消息后,进一步将所述绑定成功消息对应的用户设备标记为已绑定状态,则所述智能合约进一步用于:判断所述用户设备是否为已绑定状态,当判断结果为是时,执行后续步骤;当判断结果为否时,生成认证失败提示信息。
[0141] C15、根据C10-C14任一所述的认证服务器,其中,所述服务器进一步包括:广播模块,用于设置智能合约,将所述智能合约广播到所述区块链中。
[0142] C16、根据C10-C15任一所述的认证服务器,其中,所述设备绑定信息进一步包括:用户设备的区块链账户地址。
[0143] 本发明还公开了:D17、一种用户设备,其中,包括:
[0144] 绑定请求模块,用于向认证服务器发送设备绑定请求,接收所述认证服务器根据所述设备绑定请求返回的设备绑定信息;
[0145] 绑定信息传递模块,用于将所述设备绑定信息提供给区块链中预设的智能合约,以供所述智能合约根据所述设备绑定信息生成第一程序运行结果,所述第一程序运行结果用于提供给所述认证服务器进行设备绑定;
[0146] 认证请求模块,用于向所述认证服务器发送设备认证请求,接收所述认证服务器返回的设备认证信息;
[0147] 认证信息传递模块,用于将所述设备认证信息提供给所述智能合约,以供所述智能合约根据所述设备认证信息生成第二程序运行结果,所述第二程序运行结果用于提供给所述认证服务器进行设备认证。
[0148] D18、根据D17所述的用户设备,其中,所述设备绑定请求中包括:设备指纹,则所述设备绑定信息中包括:根据所述设备指纹生成的设备标识。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈