本申请实施例公开了一种基于区块链的身份认证方法、认证服务器及用户终端,其属于身份识别技术领域。该方法包括:根据用户终端发送的身份认证请求获取用户终端的认证因子;根据认证因子创建智能合约,智能合约中预存有对认证因子进行预设运算后的运算结果;将智能合约广播到区块链中,以及将智能合约区块链账户地址发送给所述用户终端;根据用户终端利用认证因子执行智能合约后得到的执行结果进行身份认证;其中,当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。由此可见,本申请实施例中的身份认证方式具备极佳的安全性。
【技术实现步骤摘要】
本申请实施例涉及身份识别
,尤其涉及基于区块链的身份认证方法、认证服务器及用户终端。
技术介绍
身份认证,是指在计算机及计算机网络系统中确认操作者身份的过程,从而确定该用户是否具有对某种资源的访问和使用权限,进而使计算机和网络系统的访问策略能够可靠、有效地执行,防止攻击者假冒合法用户获得资源的访问权限,保证系统和数据的安全,以及授权访问者的合法利益。如图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。但是,专利技术人在实现本专利技术的过程中发现,现有技术中的方式至少存在下述问题:因为第三方认证服务器C将收到用户B登录应用服务器A的信息,如果第三方认证服务器C出现信息泄露,将会对用户B和应用服务器A造成重大风险。
技术实现思路
鉴于上述问题,提出了本申请实施例以便提供一种解决上述问题的基于区块链的身份认证方法、认证服务器及用户终端。依据本申请实施例的一个方面,提供了一种基于区块链的身份认证方法,包括:根据用户终端发送的身份认证请求获取用户终端的认证因子;根据认证因子创建智能合约,智能合约中预存有对认证因子进行预设运算后的运算结果;将智能合约广播到区块链中,以及将智能合约区块链账户地址发送给用户终端;根据用户终端利用认证因子执行智能合约后得到的执行结果进行身份认证;其中,当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。依据本申请实施例的另一个方面,提供了一种基于区块链的身份认证方法,包括:向认证服务器发送包含用户终端的认证因子的身份认证请求,以供认证服务器根据认证因子创建智能合约,智能合约中预存有对认证因子进行预设运算后的运算结果;利用认证因子执行智能合约,以供认证服务器根据智能合约的执行结果进行身份认证;其中,当执行结果与运算结果匹配时身份认证成功;当执行结果与运算结果不匹配时身份认证失败。依据本申请实施例的另一个方面,提供了一种认证服务器,包括:认证因子模块,用于根据用户终端发送的身份认证请求获取用户终端的认证因子;智能合约模块,用于根据认证因子创建智能合约,智能合约中预存有对认证因子进行预设运算后的运算结果;广播模块,用于将智能合约广播到区块链中;反馈模块,用于将智能合约区块链账户地址发送给用户终端;身份认证模块,用于根据用户终端利用认证因子执行智能合约后得到的执行结果进行身份认证;其中,当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。依据本申请实施例的另一个方面,提供了一种用户终端,包括:请求发送模块,用于向认证服务器发送包含用户终端的认证因子的身份认证请求,以供认证服务器根据认证因子创建智能合约,智能合约中预存有对认证因子进行预设运算后的运算结果;执行模块,用于利用认证因子执行智能合约,以供认证服务器根据智能合约的执行结果进行身份认证;其中,当执行结果与运算结果匹配时身份认证成功;当执行结果与运算结果不匹配时身份认证失败。在本申请实施例提供的一种基于区块链的身份认证方法、认证服务器及用户终端中,能够将认证信息存储到区块链中的智能合约中。由此一来,一方面,能够利用区块链网络中的智能合约本身的特性,保证认证信息无法被篡改;另一方面,利用智能合约内部程序执行验证认证信息的操作,从而进一步提升了身份认证时的安全性。由此可见,本申请实施例中的身份认证方式具备极佳的安全性。上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。附图说明一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。图1是现有技术中身份认证流程的交互示意图;图2是本申请实施例一提供的一种基于区块链的身份认证方法的流程图;图3是本申请实施例二提供的一种基于区块链的身份认证方法的流程图;图4是本申请实施例三提供的一种基于区块链的身份认证方法的流程图;图5是本申请实施例四提供的一种认证服务器的结构示意图;图6是本申请实施例五提供的一种认证服务器的结构示意图;图7是本申请实施例六提供的一种用户终端的结构示意图;图8是本申请实施例提供的身份认证方法中认证因子获取流程图;图9是本申请实施例提供的身份认证方法的流程交互序列图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。实施例一图2是本申请实施例一提供的一种基于区块链的身份认证方法的流程图。如图2所示,该方法包括:步骤S210:根据用户终端发送的身份认证请求获取用户终端的认证因子。在本申请实施例中,在接收到用户终端发送的身份认证请求后,从该身份认证请求中获取用户终端的认证因子。其中,该请求信息中包含的认证因子可以是单个,也可以是多个。认证因子的类型可以是用户名类型,可以是用户密码类型,可以是设备指纹类型,可以是动态码类型,也可以是行为习惯类型,还可以是上述类型中多个的组合类型。本申请实施例对此不作具体限定,本领域技术人员可以根据实际情况灵活设置。步骤S220:根据认证因子创建智能合约,智能合约中预存有对认证因子进行预设运算后的运算结果。该智能合约的结构分成三个部分,分别是智能合约区块链账户地址、数据部分和程序部分,该程序部分是根据身份认证请求的内容生成的程序脚本。该脚本的输入参数是上述认证因子,输出结果为对上述认证因子进行预设数学变换的结果。其中,该数学变换包括但不限于加、减、与、异或和哈希变换等。步骤S230:将智能合约广播到区块链中,以及将智能合约区块链账户地址发送给用户终端。步骤S230的作用在于将智能合约的区块链账户地址提供给用户终端,以使该智能合约得到网络中各节点上用户终端的认可,方便后续步骤的执行。该步骤的具体实施方式可以由本领域技术人员根据实际情况灵活设置,只要能够达到上述目的即可,本专利技术对此不作具体限定。步骤S240:根据用户终端利用认证因子执行智能合约后得到的执行结果进行身份认证。将步骤S210中获取到的认证因子输入到智能合约中程序部分的脚本程序中,将获得的执行结果与预存的运算结果进行比较。当执行结果与运算结果匹配时,确认身份认证成功;当执行结果与运算结果不匹配时,确认身份认证失败。综上所述,本本文档来自技高网...
【技术保护点】
一种基于区块链的身份认证方法,其特征在于,包括:根据用户终端发送的身份认证请求获取所述用户终端的认证因子;根据所述认证因子创建智能合约,所述智能合约中预存有对所述认证因子进行预设运算后的运算结果;将所述智能合约广播到区块链中,以及将所述智能合约区块链账户地址发送给所述用户终端;根据所述用户终端利用所述认证因子执行所述智能合约后得到的执行结果进行身份认证;其中,当所述执行结果与所述运算结果匹配时,确认身份认证成功;当所述执行结果与所述运算结果不匹配时,确认身份认证失败。
【技术特征摘要】
1.一种基于区块链的身份认证方法,其特征在于,包括:根据用户终端发送的身份认证请求获取所述用户终端的认证因子;根据所述认证因子创建智能合约,所述智能合约中预存有对所述认证因子进行预设运算后的运算结果;将所述智能合约广播到区块链中,以及将所述智能合约区块链账户地址发送给所述用户终端;根据所述用户终端利用所述认证因子执行所述智能合约后得到的执行结果进行身份认证;其中,当所述执行结果与所述运算结果匹配时,确认身份认证成功;当所述执行结果与所述运算结果不匹配时,确认身份认证失败。2.根据权利要求1所述的方法,其特征在于,所述将所述智能合约广播到区块链中的步骤具体包括:将所述智能合约作为第一交易广播到区块链中,所述第一交易的输出包括:智能合约区块链账户地址、智能合约哈希值、以及进行预设运算后的运算结果。3.根据权利要求1所述的方法,其特征在于,所述根据所述用户终端利用所述认证因子执行所述智能合约后得到的执行结果进行身份认证的步骤具体包括:获取所述智能合约根据用户终端提供的所述认证因子进行所述预设运算后得到的执行结果,以及所述执行结果与所述运算结果进行匹配后的匹配结果,根据所述匹配结果进行身份认证。4.根据权利要求1所述的方法,其特征在于,所述用户终端利用所述认证因子执行所述智能合约的步骤具体包括:所述用户终端通过第二交易来执行所述智能合约,所述第二交易的输入包括:用户终端区块链账户地址;所述第二交易的输出包括:智能合约区块链账户地址、认证因子。5.根据权利要求1所述的方法,其特征在于,所述根据用户终端发送的身份认证请求获取所述用户终端的认证因子的步骤具体包括:根据所述身份认证请求中包含的用户终端类型标识确定认证因子类型;向所述用户终端发送包含所述认证因子类型的响应消息;接收所述用户终端根据所述响应消息返回的与所述认证因子类型相匹配的认证因子。6.一种基于区块链的身份认证方法,其特征在于,包括:向认证服务器发送包含用户终端的认证因子的身份认证请求,以供所述认证服务器根据所述认证因子创建智能合约,所述智能合约中预存有对所述认证因...
【专利技术属性】
技术研发人员:汪德嘉,郭宇,王少凡,柴泉,
申请(专利权)人:江苏通付盾科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。