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

基于链的身份认证方法、认证服务器及用户终端

阅读:572发布:2022-01-19

专利汇可以提供基于链的身份认证方法、认证服务器及用户终端专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了一种基于 区 块 链 的身份认证方法、认证 服务器 及用户终端,其属于身份识别技术领域。该方法包括:根据用户终端发送的身份认证 请求 获取用户终端的认证因子;根据认证因子创建 智能合约 ,智能合约中预存有对认证因子进行预设运算后的运算结果;将智能合约广播到区块链中,以及将智能合约区块链账户地址发送给所述用户终端;根据用户终端利用认证因子执行智能合约后得到的执行结果进行身份认证;其中,当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。由此可见,本申请实施例中的身份认证方式具备极佳的安全性。,下面是基于链的身份认证方法、认证服务器及用户终端专利的具体信息内容。

1.一种基于链的身份认证方法,其特征在于,包括:
根据用户终端发送的身份认证请求获取所述用户终端的认证因子;
根据所述认证因子创建智能合约,所述智能合约中预存有对所述认证因子进行预设运算后的运算结果;
将所述智能合约广播到区块链中,以及将所述智能合约区块链账户地址发送给所述用户终端;
根据所述用户终端利用所述认证因子执行所述智能合约后得到的执行结果进行身份认证;
其中,当所述执行结果与所述运算结果匹配时,确认身份认证成功;当所述执行结果与所述运算结果不匹配时,确认身份认证失败。
2.根据权利要求1所述的方法,其特征在于,所述将所述智能合约广播到区块链中的步骤具体包括:
将所述智能合约作为第一交易广播到区块链中,所述第一交易的输出包括:智能合约区块链账户地址、智能合约哈希值、以及进行预设运算后的运算结果。
3.根据权利要求1所述的方法,其特征在于,所述根据所述用户终端利用所述认证因子执行所述智能合约后得到的执行结果进行身份认证的步骤具体包括:
获取所述智能合约根据用户终端提供的所述认证因子进行所述预设运算后得到的执行结果,以及所述执行结果与所述运算结果进行匹配后的匹配结果,根据所述匹配结果进行身份认证。
4.根据权利要求1所述的方法,其特征在于,所述用户终端利用所述认证因子执行所述智能合约的步骤具体包括:
所述用户终端通过第二交易来执行所述智能合约,所述第二交易的输入包括:用户终端区块链账户地址;所述第二交易的输出包括:智能合约区块链账户地址、认证因子。
5.根据权利要求1所述的方法,其特征在于,所述根据用户终端发送的身份认证请求获取所述用户终端的认证因子的步骤具体包括:
根据所述身份认证请求中包含的用户终端类型标识确定认证因子类型;
向所述用户终端发送包含所述认证因子类型的响应消息;
接收所述用户终端根据所述响应消息返回的与所述认证因子类型相匹配的认证因子。
6.一种基于区块链的身份认证方法,其特征在于,包括:
向认证服务器发送包含用户终端的认证因子的身份认证请求,以供所述认证服务器根据所述认证因子创建智能合约,所述智能合约中预存有对所述认证因子进行预设运算后的运算结果;
利用所述认证因子执行所述智能合约,以供所述认证服务器根据所述智能合约的执行结果进行身份认证;其中,当所述执行结果与所述运算结果匹配时身份认证成功;当所述执行结果与所述运算结果不匹配时身份认证失败。
7.根据权利要求6所述的方法,其特征在于,所述利用所述认证因子执行所述智能合约,以供所述认证服务器根据所述智能合约的执行结果进行身份认证的步骤具体包括:
将所述认证因子提供给所述智能合约,以供所述智能合约根据所述认证因子进行所述预设运算后得到执行结果,并将所述执行结果与所述运算结果进行匹配后的匹配结果提供给所述认证服务器。
8.根据权利要求7所述的方法,其特征在于,所述利用所述认证因子执行所述智能合约的步骤具体包括:
通过第二交易来执行所述智能合约,所述第二交易的输入包括:用户终端区块链账户地址;所述第二交易的输出包括:智能合约区块链账户地址、认证因子。
9.一种认证服务器,其特征在于,包括:
认证因子模块,用于根据用户终端发送的身份认证请求获取所述用户终端的认证因子;
智能合约模块,用于根据所述认证因子创建智能合约,所述智能合约中预存有对所述认证因子进行预设运算后的运算结果;
广播模块,用于将所述智能合约广播到区块链中;
反馈模块,用于将所述智能合约区块链账户地址发送给所述用户终端;
身份认证模块,用于根据所述用户终端利用所述认证因子执行所述智能合约后得到的执行结果进行身份认证;其中,当所述执行结果与所述运算结果匹配时,确认身份认证成功;当所述执行结果与所述运算结果不匹配时,确认身份认证失败。
10.一种用户终端,其特征在于,包括:
请求发送模块,用于向认证服务器发送包含用户终端的认证因子的身份认证请求,以供所述认证服务器根据所述认证因子创建智能合约,所述智能合约中预存有对所述认证因子进行预设运算后的运算结果;
执行模块,用于利用所述认证因子执行所述智能合约,以供所述认证服务器根据所述智能合约的执行结果进行身份认证;其中,当所述执行结果与所述运算结果匹配时身份认证成功;当所述执行结果与所述运算结果不匹配时身份认证失败。

说明书全文

基于链的身份认证方法、认证服务器及用户终端

技术领域

[0001] 本申请实施例涉及身份识别技术领域,尤其涉及基于区块链的身份认证方法、认证服务器及用户终端。

背景技术

[0002] 身份认证,是指在计算机及计算机网络系统中确认操作者身份的过程,从而确定该用户是否具有对某种资源的访问和使用权限,进而使计算机和网络系统的访问策略能够可靠、有效地执行,防止攻击者假冒合法用户获得资源的访问权限,保证系统和数据的安全,以及授权访问者的合法利益。
[0003] 如图1所示,在传统第三方身份认证系统中,假设应用服务器A需要确认用户B的身份,则主要流程如下:1.1、用户B向第三方认证服务器C发送身份认证请求,该请求中包含应用服务器A要求的信息;1.2、第三方认证服务器C对收到的请求进行验证,通过验证后对应用服务器A要求的信息进行签名,然后将签名后的认证信息返回给用户B,该认证信息包含对应用服务器A要求的信息进行的签名;1.3、用户B向应用服务器A发送认证信息,该认证信息中包含第三方认证服务器C对应用服务器A要求的信息进行的签名;1.4、应用服务器A根据签名,验证用户B的身份,并将验证结果返回给用户B。
[0004] 但是,发明人在实现本发明的过程中发现,现有技术中的方式至少存在下述问题:因为第三方认证服务器C将收到用户B登录应用服务器A的信息,如果第三方认证服务器C出现信息泄露,将会对用户B和应用服务器A造成重大险。

发明内容

[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] 步骤S230:将智能合约广播到区块链中,以及将智能合约区块链账户地址发送给用户终端。
[0030] 步骤S230的作用在于将智能合约的区块链账户地址提供给用户终端,以使该智能合约得到网络中各节点上用户终端的认可,方便后续步骤的执行。该步骤的具体实施方式可以由本领域技术人员根据实际情况灵活设置,只要能够达到上述目的即可,本发明对此不作具体限定。
[0031] 步骤S240:根据用户终端利用认证因子执行智能合约后得到的执行结果进行身份认证。
[0032] 将步骤S210中获取到的认证因子输入到智能合约中程序部分的脚本程序中,将获得的执行结果与预存的运算结果进行比较。当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。
[0033] 综上所述,本申请实施例提供的一种基于区块链的身份认证方法能够将认证信息存储到区块链中的智能合约中。由此一来,一方面,能够利用区块链网络中的智能合约本身的特性,保证认证信息无法被篡改;另一方面,利用智能合约内部程序执行验证认证信息的操作,从而进一步提升了身份认证时的安全性。由此可见,本申请实施例中的身份认证方式具备极佳的安全性。
[0034] 实施例二
[0035] 图3是本申请实施例二提供的一种基于区块链的身份认证方法的流程图,该实施例的执行主体优选为认证服务器。如图3所示,该方法包括:
[0036] 步骤S310:根据用户终端发送的身份认证请求获取用户终端的认证因子。
[0037] 在本申请实施例中,在接收到用户终端发送的身份认证请求后,从该身份认证请求中获取用户终端的认证因子。其中,该请求信息中包含的认证因子可以是单个,也可以是多个。认证因子的类型可以是用户名类型,可以是用户密码类型,可以是设备指纹类型,可以是动态码类型,也可以是行为习惯类型,还可以是上述类型中多个的组合类型。本申请实施例对此不作具体限定,本领域技术人员可以根据实际情况灵活设置。
[0038] 其中,根据用户终端发送的身份认证请求获取用户终端的认证因子的步骤具体是:根据身份认证请求中包含的用户终端类型标识确定认证因子的类型;向用户终端发送包含认证因子类型的响应消息;接收用户终端根据响应消息返回的与认证因子类型相匹配的认证因子。
[0039] 为了便于理解本步骤,下面结合一幅流程交互图进一步详细阐述步骤S310的具体实现细节。图8是本申请实施例提供的身份认证方法中认证因子获取流程图,如图所示:8.1、用户终端向认证服务器发送身份认证请求;8.2、认证服务器根据用户终端的类型和认证服务器本身的参数,选择所需的认证因子类型,该认证因子类型包括但不限于用户名、用户密码、设备指纹、动态码和行为习惯等。之后,认证服务器向用户终端发送所需要的认证因子类型要求;8.3、用户终端根据认证服务器的要求,向认证服务器回复认证服务器所需要的认证因子。
[0040] 步骤S320:根据认证因子创建智能合约。
[0041] 其中,智能合约中预存有对认证因子进行预设运算后的运算结果。该智能合约的结构分成三个部分,分别是智能合约区块链账户地址、数据部分和程序部分,该程序部分是根据身份认证请求的内容生成的程序脚本。该脚本的输入参数是上述认证因子,输出结果为对上述认证因子进行预设数学变换的结果。其中,该数学变换包括但不限于加、减、与、异或和哈希变换等。
[0042] 步骤S330:将智能合约广播到区块链中,以及将智能合约区块链账户地址发送给用户终端。
[0043] 具体的,将智能合约作为第一交易广播到区块链中,其中,第一交易的输出包括智能合约的区块链账户地址、智能合约的哈希值以及进行预设运算后的运算结果。这样的智能合约运行在区块链网络中,是一套以数字形式定义的承诺,区块链成为合约的参与方,负责维护保存合约,并自动执行。同时,在智能合约生成后,将该智能合约的区块链账户地址发送给用户终端,方便后续步骤的执行。步骤S330的作用在于将智能合约的区块链账户地址提供给用户终端,该步骤的具体实施方式可以由本领域技术人员根据实际情况灵活设置,只要能够达到上述目的即可,本发明对此不作具体限定。
[0044] 步骤S340:根据用户终端利用认证因子执行智能合约后得到的执行结果进行身份认证;其中,当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。
[0045] 其中,用户终端利用认证因子执行智能合约的具体步骤为:用户终端通过第二交易来执行智能合约,该第二交易的输入包括用户终端的区块链账户地址,该第二交易的输出包括智能合约的区块链账户地址和认证因子。
[0046] 在本实施例中,根据用户终端利用认证因子执行智能合约后得到的执行结果进行身份认证的步骤具体为:获取智能合约根据用户终端提供的认证因子进行预设运算后得到的执行结果以及执行结果与运算结果进行匹配后的匹配结果,根据该匹配结果进行身份认证。其中,当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。
[0047] 综上所述,本申请实施例提供的一种基于区块链的身份认证方法能够将认证信息存储到区块链中的智能合约中。由此一来,一方面,能够利用区块链网络中的智能合约本身的特性,保证认证信息无法被篡改;另一方面,利用智能合约内部程序执行验证认证信息的操作,从而进一步提升了身份认证时的安全性。由此可见,本申请实施例中的身份认证方式具备极佳的安全性。
[0048] 实施例三
[0049] 图4是本申请实施例三提供的一种基于区块链的身份认证方法的流程图,该实施例的执行主体优选为用户终端。如图4所示,该方法包括:
[0050] 步骤S410:向认证服务器发送包含用户终端的认证因子的身份认证请求,以供认证服务器根据认证因子创建智能合约,智能合约中预存有对认证因子进行预设运算后的运算结果。
[0051] 其中,用户终端主动向认证服务器发送包含认证因子的身份认证请求,该认证请求包括单个或多个认证因子,该认证因子包括但不限于用户名、用户密码、设备指纹、动态码和行为习惯等。
[0052] 在其他实施例中,向认证服务器发送包含用户终端的认证因子的身份认证请求的步骤还可以是:根据认证服务器发送的认证因子类型,向该认证服务器发送包含与认证因子类型向匹配的认证因子的身份认证请求。在该步骤中,用户终端向认证服务器发送不包含认证因子的身份认证请求,认证服务器在收到请求后,根据用户终端类型和认证服务器本身参数决定所需认证因子的类型,然后向用户终端发送所需认证因子类型要求,最后用户终端根据类型要求回复所需的认证因子。
[0053] 步骤S420:利用认证因子执行智能合约,以供认证服务器根据智能合约的执行结果进行身份认证;其中,当执行结果与运算结果匹配时身份认证成功;当执行结果与运算结果不匹配时身份认证失败。
[0054] 其中,利用认证因子执行智能合约的步骤具体为通过第二交易来执行智能合约,该第二交易的输入包括用户终端区块链账户地址,该第二交易的输出包括智能合约的区块链账户地址和认证因子。
[0055] 在本实施例中,根据用户终端利用认证因子执行智能合约后得到的执行结果进行身份认证的步骤具体为:获取智能合约根据用户终端提供的认证因子进行预设运算后得到的执行结果以及执行结果与运算结果进行匹配后的匹配结果,根据该匹配结果进行身份认证。其中,当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。
[0056] 综上所述,本申请实施例提供的一种基于区块链的身份认证方法能够将认证信息存储到区块链中的智能合约中。由此一来,一方面,能够利用区块链网络中的智能合约本身的特性,保证认证信息无法被篡改;另一方面,利用智能合约内部程序执行验证认证信息的操作,从而进一步提升了身份认证时的安全性。由此可见,本申请实施例中的身份认证方式具备极佳的安全性。
[0057] 为了便于理解本发明,下面结合图9的流程交互图进一步详细阐述上述方法的具体实现细节:9.1、用户终端向认证服务器发送身份认证请求;9.2、认证服务器根据请求内容生成智能合约程序部分的程序脚本;9.3、认证服务器以区块链的交易形式向区块链广播该智能合约;9.4、认证服务器将该智能合约的区块链账户地址发送给用户终端;9.5、用户终端以区块链的交易形式来执行区块链的智能合约;9.6、智能合约将认证请求中的认证因子输入程序部分的程序脚本得出执行结果,与智能合约中的数学变换结果比较,如果两个结果一致,则通过校验,区块链中的各节点验证智能合约,通过后在区块链网络中广播该智能合约,当区块链网络中达成共识后写入区块链,因为上述智能合约的输出中包括认证服务器的区块链账户地址,所以认证服务器能够收到认证结果,如果结果为认证通过,则身份认证成功。
[0058] 实施例四
[0059] 图5是本申请实施例四提供的一种认证服务器的结构示意图。如图5所示,该认证服务器包括:认证因子模块510、智能合约模块520、身份认证模块530、广播模块540以及反馈模块550。
[0060] 认证因子模块510,用于根据用户终端发送的身份认证请求获取用户终端的认证因子。
[0061] 在本申请实施例中,认证因子模块510在接收到用户终端发送的身份认证请求后,从该身份认证请求中获取用户终端的认证因子。其中,该请求信息中包含的认证因子可以是单个,也可以是多个。认证因子的类型可以是用户名类型,可以是用户密码类型,可以是设备指纹类型,可以是动态码类型,也可以是行为习惯类型,还可以是上述类型中多个的组合类型。本申请实施例对此不作具体限定,本领域技术人员可以根据实际情况灵活设置。
[0062] 智能合约模块520,用于根据认证因子创建智能合约,智能合约中预存有对认证因子进行预设运算后的运算结果。
[0063] 该智能合约的结构分成三个部分,分别是智能合约区块链账户地址、数据部分和程序部分,该程序部分是根据身份认证请求的内容生成的程序脚本。该脚本的输入参数是上述认证因子,输出结果为对上述认证因子进行预设数学变换的结果。其中,该数学变换包括但不限于加、减、与、异或和哈希变换等。
[0064] 智能合约模块520还与广播模块540和反馈模块550相连接。
[0065] 其中,广播模块540,用于将智能合约广播到区块链中。反馈模块550,用于将智能合约区块链账户地址发送给用户终端。广播模块540和反馈模块550的作用都在于将智能合约的区块链账户地址提供给用户终端,以使该智能合约得到网络中各节点上用户终端的认可,方便后续操作。
[0066] 身份认证模块530,用于根据用户终端利用认证因子执行智能合约后得到的执行结果进行身份认证;其中,当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。
[0067] 身份认证模块530将认证因子模块510中获取到的认证因子输入到智能合约中程序部分的脚本程序中,将获得的执行结果与预存的运算结果进行比较。当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。
[0068] 综上所述,本申请实施例提供的一种认证服务器,能够将认证信息存储到区块链中的智能合约中。由此一来,一方面,能够利用区块链网络中的智能合约本身的特性,保证认证信息无法被篡改;另一方面,利用智能合约内部程序执行验证认证信息的操作,从而进一步提升了身份认证时的安全性。由此可见,本申请实施例中的身份认证方式具备极佳的安全性。
[0069] 实施例五
[0070] 图6是本申请实施例五提供的一种认证服务器的结构示意图。如图6所示,该认证服务器包括:认证因子模块610、智能合约模块620、身份认证模块630、广播模块640以及反馈模块650。
[0071] 认证因子模块610,用于根据用户终端发送的身份认证请求获取用户终端的认证因子。
[0072] 在本申请实施例中,认证因子模块610在接收到用户终端发送的身份认证请求后,从该身份认证请求中获取用户终端的认证因子。其中,该请求信息中包含的认证因子可以是单个,也可以是多个。认证因子的类型可以是用户名类型,可以是用户密码类型,可以是设备指纹类型,可以是动态码类型,也可以是行为习惯类型,还可以是上述类型中多个的组合类型。本申请实施例对此不作具体限定,本领域技术人员可以根据实际情况灵活设置。
[0073] 其中,认证因子模块610具体用于:根据身份认证请求中包含的用户终端类型标识确定认证因子的类型;向用户终端发送包含认证因子类型的响应消息;接收用户终端根据响应消息返回的与认证因子类型相匹配的认证因子。
[0074] 智能合约模块620,用于根据认证因子创建智能合约,智能合约中预存有对认证因子进行预设运算后的运算结果。
[0075] 该智能合约的结构分成三个部分,分别是智能合约区块链账户地址、数据部分和程序部分,该程序部分是根据身份认证请求的内容生成的程序脚本。该脚本的输入参数是上述认证因子,输出结果为对上述认证因子进行预设数学变换的结果。其中,该数学变换包括但不限于加、减、与、异或和哈希变换等。
[0076] 智能合约模块620与广播模块640相连接。广播模块640,用于将智能合约广播到区块链中。具体的,广播模块640将智能合约作为第一交易广播到区块链中,其中,第一交易的输出包括智能合约的区块链账户地址、智能合约的哈希值以及进行预设运算后的运算结果。这样的智能合约运行在区块链网络中,是一套以数字形式定义的承诺,区块链成为合约的参与方,负责维护保存合约,并自动执行。
[0077] 与此同时,智能合约模块620还与反馈模块650相连接。反馈模块650,用于将智能合约区块链账户地址发送给用户终端。在智能合约生成后,反馈模块将该智能合约的区块链账户地址发送给用户终端,方便后续操作。
[0078] 身份认证模块630,用于根据用户终端利用认证因子执行智能合约后得到的执行结果进行身份认证;其中,当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。
[0079] 在本申请实施例中,身份认证模块630具体包括:获取子模块631,用于获取智能合约根据用户终端提供的认证因子进行预设运算后得到的执行结果以及执行结果与运算结果进行匹配后的匹配结果;认证子模块632,用于根据该匹配结果进行身份认证。其中,当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。
[0080] 上述各个模块的具体工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
[0081] 综上所述,本申请实施例提供的一种认证服务器,能够将认证信息存储到区块链中的智能合约中。由此一来,一方面,能够利用区块链网络中的智能合约本身的特性,保证认证信息无法被篡改;另一方面,利用智能合约内部程序执行验证认证信息的操作,从而进一步提升了身份认证时的安全性。由此可见,本申请实施例中的身份认证方式具备极佳的安全性。
[0082] 实施例六
[0083] 图7是本申请实施例六提供的一种用户终端的结构示意图。如图7所示,该用户终端包括:请求发送模块710和执行模块720。
[0084] 请求发送模块710,用于向认证服务器发送包含用户终端的认证因子的身份认证请求,以供认证服务器根据认证因子创建智能合约,智能合约中预存有对认证因子进行预设运算后的运算结果。
[0085] 其中,请求发送模块710主动向认证服务器发送包含认证因子的身份认证请求,该认证请求包括单个或多个认证因子,该认证因子包括但不限于用户名、用户密码、设备指纹、动态码和行为习惯等。
[0086] 在其他实施例中,请求发送模块710还可以具体用于:根据认证服务器发送的认证因子类型,向该认证服务器发送包含与认证因子类型向匹配的认证因子的身份认证请求。在该步骤中,请求发送模块710向认证服务器发送不包含认证因子的身份认证请求,认证服务器在收到请求后,根据用户终端类型和认证服务器本身参数决定所需认证因子的类型,然后向请求发送模块710发送所需认证因子类型要求,最后请求发送模块710根据类型要求回复所需的认证因子。
[0087] 执行模块720,用于利用认证因子执行智能合约,以供认证服务器根据智能合约的执行结果进行身份认证;其中,当执行结果与运算结果匹配时身份认证成功;当执行结果与运算结果不匹配时身份认证失败。
[0088] 其中,执行模块720具体用于:通过第二交易来执行智能合约,该第二交易的输入包括用户终端区块链账户地址,该第二交易的输出包括智能合约的区块链账户地址和认证因子。
[0089] 在本实施例中,执行模块720还具体用于:获取智能合约根据用户终端提供的认证因子进行预设运算后得到的执行结果以及执行结果与运算结果进行匹配后的匹配结果,根据该匹配结果进行身份认证。其中,当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。
[0090] 上述各个模块的具体工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
[0091] 综上所述,本申请实施例提供的一种用户终端,能够将认证信息存储到区块链中的智能合约中。由此一来,一方面,能够利用区块链网络中的智能合约本身的特性,保证认证信息无法被篡改;另一方面,利用智能合约内部程序执行验证认证信息的操作,从而进一步提升了身份认证时的安全性。由此可见,本申请实施例中的身份认证方式具备极佳的安全性。
[0092] 此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请实施例的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0093] 本申请实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的装置中的一些或者全部部件的一些或者全部功能。本申请实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0094] 应该注意的是上述实施例对本申请实施例进行说明而不是对本申请实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。
可将这些单词解释为名称。
[0095] 本发明公开了:A1、一种基于区块链的身份认证方法,其中,包括:
[0096] 根据用户终端发送的身份认证请求获取所述用户终端的认证因子;
[0097] 根据所述认证因子创建智能合约,所述智能合约中预存有对所述认证因子进行预设运算后的运算结果;
[0098] 将所述智能合约广播到区块链中,以及将所述智能合约区块链账户地址发送给所述用户终端;
[0099] 根据所述用户终端利用所述认证因子执行所述智能合约后得到的执行结果进行身份认证;
[0100] 其中,当所述执行结果与所述运算结果匹配时,确认身份认证成功;当所述执行结果与所述运算结果不匹配时,确认身份认证失败。
[0101] A2、根据A1所述的方法,其中,所述将所述智能合约广播到区块链中的步骤具体包括:
[0102] 将所述智能合约作为第一交易广播到区块链中,所述第一交易的输出包括:智能合约区块链账户地址、智能合约哈希值、以及进行预设运算后的运算结果。
[0103] A3、根据A1所述的方法,其中,所述根据所述用户终端利用所述认证因子执行所述智能合约后得到的执行结果进行身份认证的步骤具体包括:
[0104] 获取所述智能合约根据用户终端提供的所述认证因子进行所述预设运算后得到的执行结果,以及所述执行结果与所述运算结果进行匹配后的匹配结果,根据所述匹配结果进行身份认证。
[0105] A4、根据A1所述的方法,其中,所述用户终端利用所述认证因子执行所述智能合约的步骤具体包括:
[0106] 所述用户终端通过第二交易来执行所述智能合约,所述第二交易的输入包括:用户终端区块链账户地址;所述第二交易的输出包括:智能合约区块链账户地址、认证因子。
[0107] A5、根据A1所述的方法,其中,所述根据用户终端发送的身份认证请求获取所述用户终端的认证因子的步骤具体包括:
[0108] 根据所述身份认证请求中包含的用户终端类型标识确定认证因子类型;
[0109] 向所述用户终端发送包含所述认证因子类型的响应消息;
[0110] 接收所述用户终端根据所述响应消息返回的与所述认证因子类型相匹配的认证因子。
[0111] A6、根据A5所述的方法,其中,所述认证因子类型包括以下中的至少一个:用户名类型、用户密码类型、设备指纹类型、动态码类型以及行为习惯类型。
[0112] 本发明还公开了:B7、一种基于区块链的身份认证方法,其中,包括:
[0113] 向认证服务器发送包含用户终端的认证因子的身份认证请求,以供所述认证服务器根据所述认证因子创建智能合约,所述智能合约中预存有对所述认证因子进行预设运算后的运算结果;
[0114] 利用所述认证因子执行所述智能合约,以供所述认证服务器根据所述智能合约的执行结果进行身份认证;其中,当所述执行结果与所述运算结果匹配时身份认证成功;当所述执行结果与所述运算结果不匹配时身份认证失败。
[0115] B8、根据B7所述的方法,其中,所述利用所述认证因子执行所述智能合约,以供所述认证服务器根据所述智能合约的执行结果进行身份认证的步骤具体包括:
[0116] 将所述认证因子提供给所述智能合约,以供所述智能合约根据所述认证因子进行所述预设运算后得到执行结果,并将所述执行结果与所述运算结果进行匹配后的匹配结果提供给所述认证服务器。
[0117] B9、根据B8所述的方法,其中,所述利用所述认证因子执行所述智能合约的步骤具体包括:
[0118] 通过第二交易来执行所述智能合约,所述第二交易的输入包括:用户终端区块链账户地址;所述第二交易的输出包括:智能合约区块链账户地址、认证因子。
[0119] B10、根据B7所述的方法,其中,所述向认证服务器发送包含用户终端的认证因子的身份认证请求的步骤具体包括:
[0120] 根据认证服务器发送的认证因子类型,向所述认证服务器发送包含与所述认证因子类型相匹配的认证因子的身份认证请求。
[0121] 本发明还公开了:C11、一种认证服务器,其中,包括:
[0122] 认证因子模块,用于根据用户终端发送的身份认证请求获取所述用户终端的认证因子;
[0123] 智能合约模块,用于根据所述认证因子创建智能合约,所述智能合约中预存有对所述认证因子进行预设运算后的运算结果;
[0124] 广播模块,用于将所述智能合约广播到区块链中;
[0125] 反馈模块,用于将所述智能合约区块链账户地址发送给所述用户终端;
[0126] 身份认证模块,用于根据所述用户终端利用所述认证因子执行所述智能合约后得到的执行结果进行身份认证;其中,当所述执行结果与所述运算结果匹配时,确认身份认证成功;当所述执行结果与所述运算结果不匹配时,确认身份认证失败。
[0127] C12、根据C11所述的认证服务器,其中,所述广播模块具体用于:
[0128] 将所述智能合约作为第一交易广播到区块链中,所述第一交易的输出包括:智能合约区块链账户地址、智能合约哈希值、以及进行预设运算后的运算结果。
[0129] C13、根据C11所述的认证服务器,其中,所述身份认证模块具体用于:
[0130] 获取所述智能合约根据用户终端提供的所述认证因子进行所述预设运算后得到的执行结果,以及所述执行结果与所述运算结果进行匹配后的匹配结果,根据所述匹配结果进行身份认证。
[0131] C14、根据C11所述的认证服务器,其中,所述认证因子模块具体用于:
[0132] 根据所述身份认证请求中包含的用户终端类型标识确定认证因子类型;
[0133] 向所述用户终端发送包含所述认证因子类型的响应消息;
[0134] 接收所述用户终端根据所述响应消息返回的与所述认证因子类型相匹配的认证因子。
[0135] C15、根据C14所述的方法,其中,所述认证因子类型包括以下中的至少一个:用户名类型、用户密码类型、设备指纹类型、动态码类型以及行为习惯类型。
[0136] 本发明还公开了:D16、一种用户终端,其中,包括:
[0137] 请求发送模块,用于向认证服务器发送包含用户终端的认证因子的身份认证请求,以供所述认证服务器根据所述认证因子创建智能合约,所述智能合约中预存有对所述认证因子进行预设运算后的运算结果;
[0138] 执行模块,用于利用所述认证因子执行所述智能合约,以供所述认证服务器根据所述智能合约的执行结果进行身份认证;其中,当所述执行结果与所述运算结果匹配时身份认证成功;当所述执行结果与所述运算结果不匹配时身份认证失败。
[0139] D17、根据D16所述的用户终端,其中,所述执行模块具体用于:
[0140] 将所述认证因子提供给所述智能合约,以供所述智能合约根据所述认证因子进行所述预设运算后得到执行结果,并将所述执行结果与所述运算结果进行匹配后的匹配结果提供给所述认证服务器。
[0141] D18、根据D17所述的用户终端,其中,执行模块具体用于:
[0142] 通过第二交易来执行所述智能合约,所述第二交易的输入包括:用户终端区块链账户地址;所述第二交易的输出包括:智能合约区块链账户地址、认证因子。
[0143] D19、根据D16所述的用户终端,其中,请求发送模块具体用于:
[0144] 根据认证服务器发送的认证因子类型,向所述认证服务器发送包含与所述认证因子类型相匹配的认证因子的身份认证请求。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈