基于工作量证明的身份认证方法、服务器及系统与流程

文档序号:13886401阅读:319来源:国知局

本发明涉及互联网技术领域,具体涉及一种基于工作量证明的身份认证方法、服务器及系统。



背景技术:

在现有的身份认证技术中主要是依靠账号和密码的方式进行账号登录,那么黑客可在盗取大量的账号和密码后,通过这种简单的身份认证即可方便地完成账号登录,并在登录之后无成本地通过发起频繁数据库操作等方式来发起ddos(分布式拒绝服务,distributeddenialofservice)攻击,从而占用大量的服务器资源,拖累服务器的响应速度,乃至使得服务器崩溃、瘫痪。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于工作量证明的身份认证方法、服务器及系统。

根据本发明的一个方面,提供了一种基于工作量证明的身份认证方法,该方法在服务器侧执行,该方法包括:

在确认客户端成功登录账号后,向客户端发送滑动工作量证明请求;

接收客户端发送的滑动轨迹运算结果;

依据滑动轨迹运算结果,对账号身份进行认证,得到认证结果。

根据本发明的另一方面,提供了一种工作量证明认证方法,该方法在客户端侧执行,该方法包括:

接收服务器发送的滑动工作量证明请求;

根据滑动工作量证明请求,获取用户输入的滑动轨迹;

对滑动轨迹进行运算,得到滑动轨迹运算结果;

向服务器发送滑动轨迹运算结果。

根据本发明的另一方面,提供了一种服务器,该服务器包括:

第一发送模块,用于在确认客户端成功登录账号后,向客户端发送滑动工作量证明请求;

第一接收模块,用于接收客户端发送的滑动轨迹运算结果;

认证模块,用于依据滑动轨迹运算结果,对账号身份进行认证,得到认证结果。

根据本发明的另一方面,提供了一种客户端,该客户端包括:

第二接收模块,用于接收服务器发送的滑动工作量证明请求;

处理模块,用于根据滑动工作量证明请求,获取用户输入的滑动轨迹;

运算模块,用于对滑动轨迹进行运算,得到滑动轨迹运算结果;

第二发送模块,用于向服务器发送滑动轨迹运算结果。

根据本发明的一个方面,提供了一种基于工作量证明的身份认证系统,该系统包括:如上述的服务器和如上述的客户端。

根据本发明的另一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;

存储器用于存放至少一可执行指令,可执行指令使处理器执行上述基于工作量证明的身份认证方法对应的操作。

根据本发明的另一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述基于工作量证明的身份认证方法对应的操作。

根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;

存储器用于存放至少一可执行指令,可执行指令使处理器执行上述工作量证明认证方法对应的操作。

根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述工作量证明认证方法对应的操作。

根据本发明提供的技术方案,在客户端成功登录账号后,服务器能够根据客户端发送的滑动轨迹运算结果对账号身份进行有效认证,有效地提高了客户端进行恶意攻击的成本,防止利用盗取的账号和密码无成本地发起恶意攻击,增加了恶意攻击的难度,有助于维护服务器的稳定性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明提供的基于工作量证明的身份认证方法实施例一的流程示意图;

图2示出了本发明提供的基于工作量证明的身份认证方法实施例二的流程示意图;

图3示出了本发明提供的工作量证明认证方法实施例的流程示意图;

图4示出了本发明提供的服务器实施例一的结构框图;

图5示出了本发明提供的服务器实施例二的结构框图;

图6示出了本发明提供的客户端实施例的结构框图;

图7示出了本发明提供的基于工作量证明的身份认证系统实施例的结构框图;

图8示出了本发明提供的计算设备实施例的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了本发明提供的基于工作量证明的身份认证方法实施例一的流程示意图,该方法在服务器侧执行,如图1所示,该方法包括如下步骤:

步骤s100,在确认客户端成功登录账号后,向客户端发送滑动工作量证明请求。

当客户端需要进行账号登录时,客户端向服务器发送账号登录请求,其中,账号登录请求可包含有账号、密码等信息,服务器在接收到客户端发送的账号登录请求之后,根据该账号登录请求对账号和密码进行验证,若验证成功,则允许客户端登录该账号。在确认客户端成功登录账号后,为了能够对账号身份进行进一步认证,防止黑客利用盗取的账号和密码无成本地发起恶意攻击,在步骤s100中,需要向客户端发送滑动工作量证明请求。

在服务器向客户端发送滑动工作量证明请求之后,客户端接收该滑动工作量证明请求,并根据滑动工作量证明请求,向客户端侧的用户显示滑动窗口,滑动窗口中包含有需要用户进行滑动操作的指示信息,用户可根据指示信息在滑动窗口中进行滑动操作,客户端获取用户在滑动窗口中输入的滑动轨迹,接着对滑动轨迹进行运算,得到滑动轨迹运算结果,然后将滑动轨迹运算结果发送至服务器。

本领域技术人员可根据实际需要设置滑动窗口和指示信息,此处不做限定。例如,滑动窗口中可显示有滑动曲线,用户可以沿着滑动窗口中的滑动曲线进行滑动操作,然后客户端获取用户在滑动窗口中输入的滑动轨迹。其中,滑动轨迹可以为滑动操作所对应的一系列坐标(x1,y1)、(x2,y2)、……、(xn,yn)。

具体地,当客户端为计算机等设备时,用户可以通过鼠标在客户端的屏幕上沿着所显示的滑动窗口中的滑动曲线进行滑动操作,并且当用户的鼠标不再滑动时表明用户输入结束;当客户端的屏幕为触摸屏时,用户可以通过手指或触摸笔在客户端的触摸屏上沿着所显示的滑动窗口中的滑动曲线进行滑动操作,并且当用户的手指或触摸笔不再滑动时表明用户输入结束。

步骤s101,接收客户端发送的滑动轨迹运算结果。

在客户端得到了滑动轨迹运算结果之后,将滑动轨迹运算结果发送至服务器,那么在步骤s101中,服务器接收客户端发送的滑动轨迹运算结果。

步骤s102,依据滑动轨迹运算结果,对账号身份进行认证,得到认证结果。

在接收到滑动轨迹运算结果之后,在步骤s102中,依据滑动轨迹运算结果,对账号身份进行认证,从而得到认证成功或认证失败的认证结果。

根据本实施例提供的基于工作量证明的身份认证方法,在确认客户端成功登录账号后,向客户端发送滑动工作量证明请求,接收客户端发送的滑动轨迹运算结果,然后依据滑动轨迹运算结果,对账号身份进行认证,得到认证结果。根据本发明提供的技术方案,在客户端成功登录账号后,服务器能够根据客户端发送的滑动轨迹运算结果对账号身份进行有效认证,有效地提高了客户端进行恶意攻击的成本,防止利用盗取的账号和密码无成本地发起恶意攻击,增加了恶意攻击的难度,有助于维护服务器的稳定性。

图2示出了本发明提供的基于工作量证明的身份认证方法实施例二的流程示意图,该方法在服务器侧执行,如图2所示,该方法包括如下步骤:

步骤s200,在确认客户端成功登录账号后,判断客户端对应的账号信息是否满足预设认证条件;若是,则执行步骤s201;若否,则该方法结束。

当客户端需要进行账号登录时,客户端向服务器发送账号登录请求,服务器在接收到客户端发送的账号登录请求之后,根据该账号登录请求对账号和密码进行验证,若验证成功,则允许客户端登录该账号。在确认客户端成功登录账号后,本发明可仅针对可疑的账号要求滑动工作量证明,具体地,可通过判断客户端对应的账号信息是否满足预设认证条件的方式来判断账号是否为可疑的账号。如果判断得到客户端对应的账号信息满足预设认证条件,说明客户端对应的账号为可疑的账号,则执行步骤s201;如果判断得到客户端对应的账号信息不满足预设认证条件,说明客户端对应的账号不为可疑的账号,则无需对该账号要求滑动工作量证明,那么该方法结束。

本领域技术人员可根据实际需要设置预设认证条件,此处不做限定。例如,预设认证条件可包括:账号登录对应的地域信息不同;和/或,账号登录对应的客户端不同;和/或,账号未登录的时间超过预设时间间隔。其中,当账号在不同的地域进行登录时,例如异地登录时,账号登录对应的地域信息不同;当利用不同的客户端登录账号时,账号登录对应的客户端不同。本领域技术人员可根据实际需要设置预设时间间隔,此处不做限定。例如,可将预设时间间隔设置为3个月。

步骤s201,向客户端发送滑动工作量证明请求。

为了能够对账号身份进行进一步认证,防止黑客利用盗取的账号和密码无成本地发起恶意攻击,在步骤s201中,需要向客户端发送滑动工作量证明请求。其中,滑动工作量证明请求包含有验证码。本领域技术人员可根据实际需要设置验证码,此处不做限定。具体地,为了防止验证码被重复使用,验证码可为单次有效的随机数,例如验证码为nonce(numberusedonce),nonce为只被使用一次的任意或非重复的随机数。将单次有效的随机数作为验证码,能够有效地对抗重放攻击,防止验证码被重复使用。

客户端接收滑动工作量证明请求,并根据滑动工作量证明请求,向客户端侧的用户显示滑动窗口,用户可在滑动窗口中进行滑动操作,客户端获取用户在滑动窗口中输入的滑动轨迹,接着对滑动轨迹进行运算,得到滑动轨迹运算结果,并将接收到滑动工作量证明请求中的验证码作为校验码,然后将滑动轨迹运算结果和校验码发送至服务器。其中,滑动轨迹可以为滑动操作所对应的一系列坐标。

步骤s202,接收客户端发送的滑动轨迹运算结果和校验码。

步骤s203,判断校验码是否等于验证码;若是,则执行步骤s204;若否,则执行步骤s207。

如果判断得到校验码等于验证码,则执行步骤s204;如果判断得到校验码不等于验证码,则执行步骤s207。

步骤s204,对滑动轨迹运算结果和校验码进行运算,得到验证运算结果。

在经步骤s203判断得到校验码等于验证码的情况下,对滑动轨迹运算结果和校验码进行运算,得到验证运算结果。具体地,可利用哈希算法对滑动轨迹运算结果和校验码进行运算,得到验证运算结果。在得到了验证运算结果之后,后续就可根据验证运算结果,对账号身份进行认证,得到认证结果,具体地,可通过步骤s205至步骤s207进行实现。

步骤s205,判断验证运算结果是否小于或等于预设目标结果;若是,则执行步骤s206;若否,则执行步骤s207。

如果判断得到验证运算结果小于或等于预设目标结果,则执行步骤s206;如果判断得到验证运算结果大于预设目标结果,则执行步骤s207。本领域技术人员可根据实际需要设置预设目标结果,此处不做限定。

步骤s206,得到认证成功的认证结果。

在判断得到验证运算结果小于或等于预设目标结果的情况下,得到认证成功的认证结果。

步骤s207,得到认证失败的认证结果。

在判断得到校验码不等于验证码的情况下以及判断得到验证运算结果大于预设目标结果的情况下,得到认证失败的认证结果。

步骤s208,向客户端发送认证结果。

在得到了认证结果之后,向客户端发送认证结果,以便客户端侧的用户根据认证结果得知是否认证成功。

根据本发明实施例提供的基于工作量证明的身份认证方法,在客户端成功登录账号后,服务器仅对可疑的账号进行认证,从而有效地减少了认证工作量;并且服务器能够通过对校验码和滑动轨迹运算结果的多层次认证实现了对账号身份的有效认证,只有在校验码和滑动轨迹运算结果都通过认证时,才能够认证成功,有效地提高了客户端进行恶意攻击的成本,防止利用盗取的账号和密码无成本地发起恶意攻击,增加了恶意攻击的难度,有助于维护服务器的稳定性。

图3示出了本发明提供的工作量证明认证方法实施例的流程示意图,如图3所示,该方法在客户端侧执行,该方法包括如下步骤:

步骤s300,接收服务器发送的滑动工作量证明请求。

服务器在确认客户端成功登录账号后,向客户端发送滑动工作量证明请求,那么在步骤s300中,接收服务器发送的滑动工作量证明请求。

步骤s301,根据滑动工作量证明请求,获取用户输入的滑动轨迹。

在接收到滑动工作量证明请求之后,可向客户端侧的用户显示滑动窗口,滑动窗口中包含有需要用户进行滑动操作的指示信息,用户可根据指示信息在滑动窗口中进行滑动操作,然后客户端获取用户在滑动窗口中输入的滑动轨迹。其中,滑动轨迹可以为滑动操作所对应的一系列坐标。例如,滑动窗口中显示有滑动曲线,那么当客户端为计算机等设备时,用户可以通过鼠标在客户端的屏幕上沿着所显示的滑动窗口中的滑动曲线进行滑动操作,并且当用户的鼠标不再滑动时表明用户输入结束;当客户端的屏幕为触摸屏时,用户可以通过手指或触摸笔在客户端的触摸屏上沿着所显示的滑动窗口中的滑动曲线进行滑动操作,并且当用户的手指或触摸笔不再滑动时表明用户输入结束。

步骤s302,对滑动轨迹进行运算,得到滑动轨迹运算结果。

在获取了滑动轨迹之后,可利用哈希算法对滑动轨迹进行运算,得到滑动轨迹运算结果。

步骤s303,向服务器发送滑动轨迹运算结果。

可选地,滑动工作量证明请求可包含有验证码,那么在向服务器发送滑动轨迹运算结果的同时,还向服务器发送校验码。其中,客户端将从服务器接收到的滑动工作量证明请求中的验证码作为校验码,然后将滑动轨迹运算结果和校验码发送至服务器,以便服务器依据滑动轨迹运算结果和校验码,对账号身份进行认证。

可选地,在向服务器发送滑动轨迹运算结果之后,该方法还可包括:接收服务器发送的认证结果的步骤。在服务器得到了认证结果之后,服务器将认证结果发送至客户端,客户端接收服务器发送的认证结果,以便客户端侧的用户根据认证结果得知是否认证成功。

根据本实施例提供的工作量证明认证方法,接收服务器发送的滑动工作量证明请求,接着根据滑动工作量证明请求,获取用户输入的滑动轨迹,然后对滑动轨迹进行运算,得到滑动轨迹运算结果,向服务器发送滑动轨迹运算结果。根据本发明提供的技术方案,在成功登录账号后,能够使用户无需输入认证文字、数字或字母,只需通过滑动操作的方式就可方便地进行认证,具有较高的认证效率,有效地提高了进行恶意攻击的成本,而且还有效地防止了利用机器进行认证,提高了安全性。

图4示出了本发明提供的服务器实施例一的结构框图,如图4所示,服务器400包括:第一发送模块410、第一接收模块420和认证模块430。

第一发送模块410用于:在确认客户端成功登录账号后,向客户端发送滑动工作量证明请求。

为了能够对账号身份进行进一步认证,防止黑客利用盗取的账号和密码无成本地发起恶意攻击,在确认客户端成功登录账号后,第一发送模块410需要向客户端发送滑动工作量证明请求,客户端接收第一发送模块410发送的滑动工作量证明请求,并根据滑动工作量证明请求,向客户端侧的用户显示滑动窗口,用户可在滑动窗口中进行滑动操作,客户端获取用户在滑动窗口中输入的滑动轨迹,接着对滑动轨迹进行运算,得到滑动轨迹运算结果,然后将滑动轨迹运算结果发送至服务器。

第一接收模块420用于:接收客户端发送的滑动轨迹运算结果。

认证模块430用于:依据滑动轨迹运算结果,对账号身份进行认证,得到认证结果。

认证模块430依据滑动轨迹运算结果,对账号身份进行认证,从而得到认证成功或认证失败的认证结果。

根据本实施例提供的服务器,在客户端成功登录账号后,服务器能够根据客户端发送的滑动轨迹运算结果对账号身份进行有效认证,有效地提高了客户端进行恶意攻击的成本,防止利用盗取的账号和密码无成本地发起恶意攻击,增加了恶意攻击的难度,有助于维护服务器的稳定性。

图5示出了本发明提供的服务器实施例二的结构框图,如图5所示,服务器500包括:判断模块510、第一发送模块520、第一接收模块530和认证模块540。

判断模块510用于:在确认客户端成功登录账号后,判断客户端对应的账号信息是否满足预设认证条件。

本发明可仅针对可疑的账号要求滑动工作量证明,具体地,可通过判断客户端对应的账号信息是否满足预设认证条件的方式来判断账号是否为可疑的账号。如果判断模块510判断得到客户端对应的账号信息满足预设认证条件,说明客户端对应的账号为可疑的账号,则触发第一发送模块520;如果判断模块510判断得到客户端对应的账号信息不满足预设认证条件,说明客户端对应的账号不为可疑的账号,则无需对该账号要求滑动工作量证明。其中,预设认证条件可包括:账号登录对应的地域信息不同;和/或,账号登录对应的客户端不同;和/或,账号未登录的时间超过预设时间间隔。

第一发送模块520用于:若判断模块510判断得到账号信息满足预设认证条件,则向客户端发送滑动工作量证明请求。其中,滑动工作量证明请求包含有验证码,验证码为单次有效的随机数,从而能够有效地对抗重放攻击,防止验证码被重复使用。

客户端接收第一发送模块520发送的滑动工作量证明请求,并根据滑动工作量证明请求,向客户端侧的用户显示滑动窗口,用户可在滑动窗口中进行滑动操作,客户端获取用户在滑动窗口中输入的滑动轨迹,接着对滑动轨迹进行运算,得到滑动轨迹运算结果,并将接收到滑动工作量证明请求中的验证码作为校验码,然后将滑动轨迹运算结果和校验码发送至服务器。

第一接收模块530用于:接收客户端发送的滑动轨迹运算结果和校验码。

认证模块540用于:依据滑动轨迹运算结果和校验码,对账号身份进行认证,得到认证结果。

具体地,认证模块540可包括:判断单元541、结果生成单元542、运算单元543和认证单元544。

判断单元541用于:判断校验码是否等于验证码。

结果生成单元542用于:若判断单元541判断得到校验码不等于验证码,则得到认证失败的认证结果。

运算单元543用于:若判断单元541判断得到校验码等于验证码,则对滑动轨迹运算结果和校验码进行运算,得到验证运算结果。

可选地,运算单元543进一步用于:利用哈希算法对滑动轨迹运算结果和校验码进行运算,得到验证运算结果。

认证单元544用于:根据验证运算结果,对账号身份进行认证,得到认证结果。

具体地,认证单元544进一步用于:判断验证运算结果是否小于或等于预设目标结果。在这种情况下,结果生成单元542进一步用于:若认证单元544判断得到验证运算结果小于或等于预设目标结果,则得到认证成功的认证结果;若认证单元544判断得到验证运算结果大于预设目标结果,则得到认证失败的认证结果。

第一发送模块530进一步用于:向客户端发送认证结果。

根据本实施例提供的服务器,在客户端成功登录账号后,仅对可疑的账号进行认证,从而有效地减少了认证工作量;并且能够通过对校验码和滑动轨迹运算结果的多层次认证实现了对账号身份的有效认证,只有在校验码和滑动轨迹运算结果都通过认证时,才能够认证成功,有效地提高了客户端进行恶意攻击的成本,防止利用盗取的账号和密码无成本地发起恶意攻击,增加了恶意攻击的难度,有助于维护服务器的稳定性。

图6示出了本发明提供的客户端实施例的结构框图,如图6所示,客户端600包括:第二接收模块610、处理模块620、运算模块630和第二发送模块640。

第二接收模块610用于:接收服务器发送的滑动工作量证明请求。

服务器在确认客户端成功登录账号后,向客户端600发送滑动工作量证明请求,那么第二接收模块610接收服务器发送的滑动工作量证明请求。其中,滑动工作量证明请求可包含有验证码,验证码可为单次有效的随机数。

处理模块620用于:根据滑动工作量证明请求,获取用户输入的滑动轨迹。

可选地,处理模块620进一步用于:根据滑动工作量证明请求,显示滑动窗口;获取用户在滑动窗口中输入的滑动轨迹。其中,滑动轨迹可以为滑动操作所对应的一系列坐标。

运算模块630用于:对滑动轨迹进行运算,得到滑动轨迹运算结果。

可选地,运算模块630进一步用于:利用哈希算法对滑动轨迹进行运算,得到滑动轨迹运算结果。

第二发送模块640用于:向服务器发送滑动轨迹运算结果和校验码。

客户端600将从服务器接收到的滑动工作量证明请求中的验证码作为校验码,第二发送模块640将滑动轨迹运算结果和校验码发送至服务器,以便服务器依据滑动轨迹运算结果和校验码,对账号身份进行认证。

第二接收模块610进一步用于:接收服务器发送的认证结果。

根据本发明实施例提供的客户端,在成功登录账号后,能够使用户无需输入认证文字、数字或字母,只需通过滑动操作的方式就可方便地进行认证,具有较高的认证效率,有效地提高了进行恶意攻击的成本,而且还有效地防止了利用机器进行认证,提高了安全性。

图7示出了本发明提供的基于工作量证明的身份认证系统实施例的结构框图,如图7所示,该基于工作量证明的身份认证系统700包括:服务器500和客户端600。其中,服务器500为本发明提供的服务器实施例二,客户端600为本发明提供的客户端实施例。利用本发明提供的基于工作量证明的身份认证系统,在客户端成功登录账号后,服务器能够根据滑动轨迹运算结果和校验码对账号身份进行有效认证,有效地提高了客户端进行恶意攻击的成本,防止利用盗取的账号和密码无成本地发起恶意攻击,增加了恶意攻击的难度,有助于维护服务器的稳定性。

本发明还提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该可执行指令可执行上述任意方法实施例中的基于工作量证明的身份认证方法。

图8示出了本发明提供的计算设备实施例的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。

如图8所示,该计算设备可以包括:处理器(processor)802、通信接口(communicationsinterface)804、存储器(memory)806、以及通信总线808。

其中:

处理器802、通信接口804、以及存储器806通过通信总线808完成相互间的通信。

通信接口804,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器802,用于执行程序810,具体可以执行上述基于工作量证明的身份认证方法实施例中的相关步骤。

具体地,程序810可以包括程序代码,该程序代码包括计算机操作指令。

处理器802可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器806,用于存放程序810。存储器806可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序810具体可以用于使得处理器802执行上述任意方法实施例中的基于工作量证明的身份认证方法。程序810中各步骤的具体实现可以参见上述基于工作量证明的身份认证实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。

本发明还提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的工作量证明认证方法。

本发明还提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行上述的工作量证明认证方法对应的操作。该计算设备的结构示意图与图8所示的计算设备的结构示意图相同,此处不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了:a1.一种基于工作量证明的身份认证方法,所述方法在服务器侧执行,其特征在于,包括:

在确认客户端成功登录账号后,向所述客户端发送滑动工作量证明请求;

接收所述客户端发送的滑动轨迹运算结果;

依据所述滑动轨迹运算结果,对账号身份进行认证,得到认证结果。

a2.根据a1所述的基于工作量证明的身份认证方法,其特征在于,在向所述客户端发送滑动工作量证明请求之前,所述方法还包括:

判断所述客户端对应的账号信息是否满足预设认证条件;

所述向所述客户端发送滑动工作量证明请求具体为:若判断得到所述账号信息满足预设认证条件,则向所述客户端发送滑动工作量证明请求。

a3.根据a2所述的基于工作量证明的身份认证方法,其特征在于,所述预设认证条件包括:账号登录对应的地域信息不同;和/或,账号登录对应的客户端不同;和/或,账号未登录的时间超过预设时间间隔。

a4.根据a1-a3任一项所述的基于工作量证明的身份认证方法,其特征在于,所述滑动工作量证明请求包含有验证码;

在接收所述客户端发送的滑动轨迹运算结果的同时,所述方法还包括:接收所述客户端发送的校验码。

a5.根据a4所述的基于工作量证明的身份认证方法,其特征在于,所述依据所述滑动轨迹运算结果,对账号身份进行认证,得到认证结果进一步包括:

判断所述校验码是否等于所述验证码;

若判断得到所述校验码不等于所述验证码,则得到认证失败的认证结果。

a6.根据a5所述的基于工作量证明的身份认证方法,其特征在于,所述方法还包括:

若判断得到所述校验码等于所述验证码,则对所述滑动轨迹运算结果和所述校验码进行运算,得到验证运算结果;根据所述验证运算结果,对账号身份进行认证,得到认证结果。

a7.根据a6所述的基于工作量证明的身份认证方法,其特征在于,所述根据所述验证运算结果,对账号身份进行认证,得到认证结果进一步包括:

判断所述验证运算结果是否小于或等于预设目标结果;

若是,则得到认证成功的认证结果;若否,则得到认证失败的认证结果。

a8.根据a6或a7所述的基于工作量证明的身份认证方法,其特征在于,所述对所述滑动轨迹运算结果和所述校验码进行运算,得到验证运算结果进一步包括:

利用哈希算法对所述滑动轨迹运算结果和所述校验码进行运算,得到验证运算结果。

a9.根据a4-a8任一项所述的基于工作量证明的身份认证方法,其特征在于,所述验证码为单次有效的随机数。

a10.根据a1-a9任一项所述的基于工作量证明的身份认证方法,其特征在于,在得到认证结果之后,所述方法还包括:

向所述客户端发送所述认证结果。

本发明还公开了:b11.一种工作量证明认证方法,所述方法在客户端侧执行,其特征在于,包括:

接收服务器发送的滑动工作量证明请求;

根据所述滑动工作量证明请求,获取用户输入的滑动轨迹;

对所述滑动轨迹进行运算,得到滑动轨迹运算结果;

向所述服务器发送所述滑动轨迹运算结果。

b12.根据b11所述的工作量证明认证方法,其特征在于,所述滑动工作量证明请求包含有验证码;

在向所述服务器发送所述滑动轨迹运算结果的同时,所述方法还包括:向所述服务器发送校验码。

b13.根据b11或b12所述的工作量证明认证方法,其特征在于,所述根据所述滑动工作量证明请求,获取用户输入的滑动轨迹进一步包括:

根据所述滑动工作量证明请求,显示滑动窗口;

获取用户在所述滑动窗口中输入的滑动轨迹。

b14.根据b11-b13任一项所述的工作量证明认证方法,其特征在于,所述对所述滑动轨迹进行运算,得到滑动轨迹运算结果进一步包括:

利用哈希算法对所述滑动轨迹进行运算,得到滑动轨迹运算结果。

b15.根据b11-b14任一项所述的工作量证明认证方法,其特征在于,在所述向所述服务器发送所述滑动轨迹运算结果之后,所述方法还包括:

接收所述服务器发送的认证结果。

本发明还公开了:c16.一种服务器,其特征在于,包括:

第一发送模块,用于在确认客户端成功登录账号后,向所述客户端发送滑动工作量证明请求;

第一接收模块,用于接收所述客户端发送的滑动轨迹运算结果;

认证模块,用于依据所述滑动轨迹运算结果,对账号身份进行认证,得到认证结果。

c17.根据c16所述的服务器,其特征在于,所述服务器还包括:

判断模块,用于在确认客户端成功登录账号后,判断所述客户端对应的账号信息是否满足预设认证条件;

所述第一发送模块进一步用于:若所述判断模块判断得到所述账号信息满足预设认证条件,则向所述客户端发送滑动工作量证明请求。

c18.根据c17所述的服务器,其特征在于,所述预设认证条件包括:账号登录对应的地域信息不同;和/或,账号登录对应的客户端不同;和/或,账号未登录的时间超过预设时间间隔。

c19.根据c16-c18任一项所述的服务器,其特征在于,所述滑动工作量证明请求包含有验证码;

所述第一接收模块进一步用于:在接收所述客户端发送的滑动轨迹运算结果的同时,接收所述客户端发送的校验码。

c20.根据c19所述的服务器,其特征在于,所述认证模块包括:

判断单元,用于判断所述校验码是否等于所述验证码;

结果生成单元,用于若所述判断单元判断得到所述校验码不等于所述验证码,则得到认证失败的认证结果。

c21.根据c20所述的服务器,其特征在于,所述认证模块进一步包括:

运算单元,用于若所述判断单元判断得到所述校验码等于所述验证码,则对所述滑动轨迹运算结果和所述校验码进行运算,得到验证运算结果;

认证单元,用于根据所述验证运算结果,对账号身份进行认证,得到认证结果。

c22.根据c21所述的服务器,其特征在于,所述认证单元进一步用于:判断所述验证运算结果是否小于或等于预设目标结果;

所述结果生成单元进一步用于:若所述认证单元判断得到所述验证运算结果小于或等于预设目标结果,则得到认证成功的认证结果;若所述认证单元判断得到所述验证运算结果大于预设目标结果,则得到认证失败的认证结果。

c23.根据c21或c22所述的服务器,其特征在于,所述运算单元进一步用于:

利用哈希算法对所述滑动轨迹运算结果和所述校验码进行运算,得到验证运算结果。

c24.根据c16-c23任一项所述的服务器,其特征在于,所述验证码为单次有效的随机数。

c25.根据c16-c24任一项所述的服务器,其特征在于,所述第一发送模块进一步用于:

向所述客户端发送所述认证结果。

本发明还公开了:d26.一种客户端,其特征在于,包括:

第二接收模块,用于接收服务器发送的滑动工作量证明请求;

处理模块,用于根据所述滑动工作量证明请求,获取用户输入的滑动轨迹;

运算模块,用于对所述滑动轨迹进行运算,得到滑动轨迹运算结果;

第二发送模块,用于向所述服务器发送所述滑动轨迹运算结果。

d27.根据d26所述的客户端,其特征在于,所述滑动工作量证明请求包含有验证码;

所述第二发送模块用于:在向所述服务器发送所述滑动轨迹运算结果的同时,向所述服务器发送校验码。

d28.根据d26或d27所述的客户端,其特征在于,所述处理模块进一步用于:

根据所述滑动工作量证明请求,显示滑动窗口;

获取用户在所述滑动窗口中输入的滑动轨迹。

d29.根据d26-d28任一项所述的客户端,其特征在于,所述运算模块进一步用于:

利用哈希算法对所述滑动轨迹进行运算,得到滑动轨迹运算结果。

d30.根据d26-29任一项所述的客户端,其特征在于,所述第二接收模块进一步用于:

接收所述服务器发送的认证结果。

本发明还公开了:e31.一种基于工作量证明的身份认证系统,其特征在于,包括:如c16-c25任一项所述的服务器和如d26-d30任一项所述的客户端。

本发明还公开了:f32.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如a1-a10中任一项所述的基于工作量证明的身份认证方法对应的操作。

本发明还公开了:g33.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行如a1-a10中任一项所述的基于工作量证明的身份认证方法对应的操作。

本发明还公开了:h34.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如b11-b15中任一项所述的工作量证明认证方法对应的操作。

本发明还公开了:i35.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行如b11-b15中任一项所述的工作量证明认证方法对应的操作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1