一种密码重置的方法、装置、设备及存储介质与流程

文档序号:15980039发布日期:2018-11-17 00:13阅读:301来源:国知局

本发明涉及安全认证技术领域,尤其涉及一种密码重置的方法、装置、设备及存储介质。

背景技术

目前的手机、平板电脑等终端设备中都会通过在互联网客户端上注册用户账号和设置设置用户密码,以方便互联网服务提供商为用户提供各种服务。为了保证信息安全,用户会有重置密码或密码修改的需求。

现有技术中,通过上传身份证照片以及活体视频对用户身份进行确认,然后授权用户进行开户或者密码重置。具体地,需要将用户身份证照片拍摄并上传至客户端界面入口,将发送至后台,后台收到身份证照片后保存所述身份证照片;进一步需要用户将用户的活体视频上传至客户端界面,并发送至后台;之后在后台对视频中的用户特征与身份证照片中的用户特征进行比对;在比对成功的情况下,能够使用户进行重置密码或密码修改。但是,现有技术中局限与身份证件,并且身份证件信息或是视频都容易被伪造,从而出现用户安全隐患问题。所以,需要提供更可靠或更有效的方案,帮助用户进行密码的重置。



技术实现要素:

为了解决现有技术中的问题,本发明提出了一种密码重置的方法、装置、设备及存储介质;具体地:

一方面提出了一种密码重置的方法,所述方法包括:

接收密码重置请求,根据所述请求返回视频文件上传信息;

获取视频文件,以及对所述视频文件的数字摘要进行加密生成的数字签名;

对所述数字签名和视频文件进行依次验证;

在所述数字签名和视频文件均验证成功时,生成令牌,并对所述令牌进行验证;

获取新密码;在所述令牌验证通过时,返回新密码重置成功信息。

另一方面提出了一种密码重置方法,所述方法包括:

发送密码重置请求,并得到上传视频文件的响应信息;

获取用户上传的视频文件,并对所述视频文件的数字摘要进行加密生成数字签名;

发送所述视频文件和所述数字签名,使所述数字签名和视频文件被依次验证;

在所述数字签名和视频文件均验证成功时,获取令牌的验证结果;

获取用户输入的新密码;在所述令牌验证通过时,获取新密码重置成功的响应信息。

另一方面提出了一种密码重置装置,所述装置包括:

密码重置请求获取模块,用于接收密码重置请求,根据所述请求返回视频文件上传信息;

视频文件和数字签名获取模块,用于获取视频文件,以及对所述视频文件的数字摘要进行加密生成的数字签名;

数字签名和视频文件验证模块,用于对所述数字签名和视频文件进行依次验证;

令牌验证模块,在所述数字签名和视频文件均验证成功时,生成令牌;并对所述令牌进行验证;

重置成功返回模块,用于获取新密码;在所述令牌验证通过时,返回新密码重置成功信息。

另一方面提出了一种密码重置装置,所述装置包括:

密码重置请求发送模块,用于发送密码重置请求,并得到上传视频文件的响应信息;

视频文件加密模块,用于获取用户上传的视频文件,并对所述视频文件的数字摘要进行加密生成数字签名;

数字签名和视频文件验证模块,用于发送所述视频文件和所述数字签名,使所述数字签名和视频文件被依次验证;

令牌验证模块,用于在所述数字签名和视频文件均验证成功时,获取令牌的验证结果;

重置响应模块,用于获取用户输入的新密码;在所述令牌验证通过时,获取新密码重置成功的响应信息。

另一方面提出了一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述一方面任一所述的重置密码的方法,或者上述另一方面任一所述的重置密码的方法。

另一方面提出了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述一方面任一所述的重置密码的方法,或者上述另一方面任一所述的重置密码的方法。

本发明提出的一种密码重置方法、装置、设备及存储介质具有如下有益效果:

本发明对用于身份识别的视频文件的数字摘要加密生成数字签名,对数字签名的验证;在数字签名验证成功的情况下对所述视频文件进行信息验证;之后在视频文件中活体特征验证通过的情况下生成允许密码重置的令牌;所述令牌验证通过时服务器才允许客户端进行密码重置。

可见,本发明可以只需要上传视频文件即可,不需要用户输入身份证件信息等操作;整个操作过程简单,为用户提供了便利,提升了重置密码的效率;本发明通过数字签名验证的方式,能够确认所述视频文件是用户本人从用户自己的设备上上传的;通过加密的方式能够保证视频文件的安全性,防止所述视频文件在从客户端传输至服务器是被破坏或篡改;通过令牌验证的方式提升了身份识别的可靠性;进而提升了用户体验和用户粘度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1是本发明实施例的一种实施环境示意图;

图2是本发明实施例提供的一种密码重置方法流程图;

图3是本发明实施例提供的发送密码重置请求步骤之前的方法流程图;

图4是本发明实施例提供的客户端获取验证图片时其上的界面操作示意图;

图5是本发明实施例提供的获取用户上传的验证图片之前的方法流程图;

图6是本发明实施例提供的客户端在获取用户上传的验证图片之前其上的界面示意图;

图7是本发明实施例提供的另一种密码重置方法流程图;

图8是本发明实施例提供的对所述数字签名和视频文件进行依次验证的方法流程图;

图9是本发明实施例提供的对所述视频文件进行验证的方法流程图;

图10是本发明实施例提供的对所述令牌进行验证的方法流程图;

图11是本发明实施例提供的另一种密码重置方法中的一部分时序图;

图12是本发明实施例提供的另一种密码重置方法中的另一部分时序图;

图13是本发明实施例提供的一种密码重置装置结构图;

图14是本发明实施例提供的图片验证模块的组成框图;

图15是本发明实施例提供的用户信息验证模块的组成框图;

图16是本发明实施例提供的另一种密码重置装置结构图;

图17是本发明实施例提供的数字签名和视频文件验证模块的组成框图;

图18是本发明实施例提供的视频文件验证单元的组成框图;

图19是本发明实施例提供的令牌验证模块的组成框图;

图20是本发明实施例提供的一种服务器设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

目前技术方案中,活体识别及图像识别技术可能出现通过仿真软件,使用网上收集的用户照片生成伪造的视频;进而骗过服务器的检测。并且,现有方案中有的是,用户的操作中除了需要录制活体视频上传到服务器外,还需要拍摄身份证正反面的照片或是输入身份证的证件信息,操作繁琐且具有比较大的局限性;其中,在身份证拍摄照片过程中可能还需要反复“对焦”,对焦不好可能导致身份证中有效提取不全或者提取错误;其中,身份证中的人脸图片与用户视频中的人脸图片有些差异较大,会出现图片的匹配失败的问题。还有,现有方案部分依赖公安部或者其他的的实名认证接口确认用户身份的真实性;这些第三方的服务通常对并发访问的支持能力有限,并且可能是收费的。

针对上述技术问题,本发明提出了一种密码重置的技术方案。如图1所示,其示出了本发明实施例提供的实施环境的示意图。该实施环境包括:服务器02和与该服务器02进行信息通信的终端01。

终端01可以为手机、平板电脑、膝上型便携计算机、pad或台式计算机等等。终端01中运行有客户端,该客户端可以是任何具有虚拟资源收发功能的客户端;例如,终端01中运行的客户端可以是社交应用客户端、即时通信客户端、支付类应用客户端、游戏客户端、阅读客户端、专用于收发虚拟资源的客户端等等。服务器02可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者是一个云计算服务中心。服务器02通过网络与终端01建立通信连接。

具体地,本说明书实施例提供了一种密码重置方法,如图2所示,所述方法包括:

s202.发送密码重置请求,根据所述请求得到上传视频文件的响应信息;

在用户具有重置密码的需求时,在所在的客户端的界面上进行操作,使所述客户端向服务器发送密码重置请求;在服务器接收到该密码重置请求时,进入密码重置服务操作流程。

具体地,客户端会先收到服务器返回的一个响应信息,也就是要求上传视频文件的响应信息;此时客户端的界面上会有消息给与提醒(比如“请拍摄一段用户视频”),同时会出现用于让用户进行视频上传的接口。

本发明实施例不需要冗长的操作过程,提升了重置密码的效率;不需要用户携带证件信息,为用户提供了便利;只需要用户拍摄一段具有自己活体特征的视频,通过活体特征的比对就能够找回密码。

其中,本实施例中还可以先通过用户的活体特征比对的方式进行信息的验证,作为是否进入密码重置服务的检测;具体可以是通过上传的视频文件中的用户活体特征与预存的验证图片中的活体特征进行匹配。

具体地,所述验证图片可以是已经存储在服务器的图片,也可以是用户时时上传的验证图片;所以,在一种可行的实施方式中,步骤s202中发送密码重置请求,如图3所示,之前可以包括:

s402.获取用户上传的验证图片;

具体地,用户根据界面上用于上传图片的接口,将要求的验证图片上传到客户端上,使得客户端获取到所述验证图片。其中,所述验证图片可以是用户从终端图片存储器中导入的图片,或者是通过终端图像采集器时时获取的照片等等,如图4所示可以通过界面上出现的信息进行选择。

s404.在检测到所述验证图片包含有活体特征时,发送所述验证图片;

具体地,客户端在获取到验证图片之后,对所述验证图片进行检测;其中所述验证图片要求具有有效的用户活体特征;在客户端检测出有效用户活体特征时,将所述验证图片发送给服务器,进一步地所述服务器保存所述验证图片,为后续的活体特征的匹配做准备。

其中,所述活体特征可以包括用户面部特征;详细地,包括用户的五官特征以及用户五官在面部上的各自位置特征和相对位置特征等等。对应地,在客户端检测验证图片中的活体特征时,能够获取到用户的五官特征以及用户五官在面部上的各自位置特征和相对位置特征等等。

s406.在获取到所述验证图片发送成功的响应信息时,发送密码重置请求。

具体地,客户端将验证图片发送给服务器,在服务器成功接收到所述验证图片时,会返回一个成功接收的响应信息;进一步地,在客户端获取到该响应信息时,进入到密码重置服务,进而使客户端发送密码重置请求。

需要说明的是,所述验证图片还可以通过在客户端设置的方式,将验证图片从客户端发送至服务器之后,在服务器将所述验证图片存储起来;之后只需要调用所述验证图片即可;预存的验证图片,能够在任何时候进行更新,进而能够进一步提升用户密码重置的效率,通过验证图片的更新选择还能够提升活体特征的匹配成功率。还有,上传的验证图片可以是多张,在检测活体特征之前先判断多张验证图片中清晰度最高,且活体特征信息最明确的一张验证图片,将该验证图片作为目标验证图片发送给服务器进行保存。

其中,客户端界面上出现上传验证图片的接口的触发消息可以是,之前用户输入的用户信息(包括用户账号和用户密码),在用户输入的用户信息验证正确从而验明当前用户的身份的情况下,才允许验证图片的上传。同时,所述客户端能够生成与所述服务器进行对话的对话密钥。

所以,在一种可行的实施方式中,则步骤s402中获取用户上传的验证图片,如图5所示,之前可以包括:

s602.生成密钥对,并获取用户上传的用户信息;所述密钥对包括用户公钥和用户私钥;

具体地,用户在客户端界面上输入用户信息(用户账号和用户密码),如图6所示,通过输入用户信息可以先对用户身份进行一次验证。

并且,在每一次客户端与服务器进行初始对话时,所述客户端都会利用密钥对生成算法生成一个密钥对,使所述客户端和服务器之间具有对话密钥。其中,密钥对生成算法根据数字证书类型的不同也会有所不同的,比如基于rsa的数字证书和基于ecdh的数字证书的公私钥生成的算法就不同。

详细地,基于rsa的数字证书的公私钥生成算法的函数为r_generatepemkeys:基于ecdh的数字证书的公私钥生成的算法的函数为ecdh_generate_key。

s604.发送所述用户信息和所述用户公钥;

具体地,客户端将所述用户信息发送给服务器;进一步地,服务器将得到的用户信息与存储器中的用户信息进行比对验证。

并且,所述客户端将密钥对中的用户公钥发送给服务器,为后续数字证书的生成做准备。

s606.获取用户信息的验证结果,并获取绑定数字证书的用户公钥。

在用户输入的用户信息与存储器中的用户信息比对成功时,服务器将所述验证结果返回给客户端,使客户端界面进入验证图片上传阶段。

并且,服务器在获取到客户端发送的用户公钥之后,利用根证书对所述用户公钥进行加密生成数字证书;具体是利用根证书对所述用户公钥进行数字签名生成数字证书。其中,所述数字证书为客户端数字证书,它是由服务器兼任(certificateauthority)认证中心的职责签发的,用来认证用户的身份;它既与用户id进行绑定,又与用户的设备id进行绑定,比如在更换设备时,客户端数字证书也会失效。

进一步地,服务器将所述客户端数字证书发送给客户端,将所述客户端数字证书保存在客户端;客户端保存数字证书文件,可以对证书签发者、证书的有效期进行认证和检查,使得服务器无法抵赖。

下面对于根证书、数字签名和数字证书给与相关说明:

所述根证书就是ca(certificateauthority)认证中心给自己颁发的证书;所述ca认证中心,是专门提供网络身份认证服务,负责签发和管理数字证书,具有权威性和公正性的第三方信任机构,它的作用就像我们现实生活中颁发证件的公司,如护照办理机构。

所述数字签名是可以添加到文件的电子安全标记;使用它可以验证文件的发送者以及帮助验证文件自被数字签名后是否发生更改;如果文件没有有效的数字签名,则无法确保该文件确实来自它所声称的源,或者无法确保它在发布后未被篡改(可能被病毒篡改)。

其中,数字证书包含四部分用户信息、用户公钥、数字证书的信息以及ca中心对该数字证书里面的信息的数字签名;要验证一份数字证书的真伪(即验证ca中心对该数字证书信息的数字签名是否有效),需要用ca中心的公钥验证;使用ca的公钥验证客户端的数字证书里面签名的合法性,合法后从证书内容里读出客户端的公钥;再用客户端的公钥解密客户端的数字签名验证数据完整性。可见,该数字证书的真实性由颁发机构保证,使得所述证书不能被伪造和篡改;数字证书将用户公钥与特定的个人匹配,使得所述证书能够知悉与证书绑定在一起的用户公钥是否有效。

s204.获取用户上传的视频文件,并对所述视频文件的数字摘要进行加密生成数字签名;

具体地,用户通过接口将视频文件传至客户端上,客户端在获取到所述视频文件之后,将所述视频文件生成数字摘要;具体是将视频文件以及用户相关信息生成数字摘要,本实施例可以利用如下代码生成数字摘要:

进一步利用所述用户私钥对所述视频文件的数字摘要进行加密生成数字签名,对所述数字摘要进行数字签名。具体地,可以通过如下方法流程对数字摘要进行加密生成数字签名:

需要给予说明的是,这里的用户相关信息包括用户的uin(用户识别码)、设备id、时间戳等信息.

所述数字摘要为将所述视频文件对应的二进制值映射为较短的固定长度的二进制值;并且,所述数字摘要为唯一且极其紧凑的数值表示形式;也就是将需要加密的明文“摘要”成一串固定长度(如128位)的密文,这一串密文具有固定的长度。

s206.发送所述视频文件和所述数字签名;并获取对所述数字签名和视频文件进行依次验证的验证结果;

具体地,客户端将用户上传的视频文件,以及所述视频文件生成的数字签名发送给服务器;服务器利用与所述数字证书进行绑定的用户公钥,对所述数字签名和视频文件进行依次验证,之后将得到的验证结果返回给所述客户端。

其中,可以通过如下方法对数字签名进行解密:

具体地,针对数字摘要加密生成数字签名,以及对所述数字摘要的验证通过实例给予说明:

(1)若对象为文本信息,则取文本信息的第一行的第1个字符,第3行的第3个字符,第5行的第5个字符……第31行的第31个字符,共16个字符的ascii码,进而得到128bit的秘密数字摘要,假定以十进制表示这16个字节的数字摘要,则分别为092019000112120007180505110000130500190012001100050505000920;

(2)取素数,计算b和c,得出密钥后对数字摘要进行加密;

取p=47,q=5,则n=p×q=2773;

选择与互为质数的整数157,即b=157;

由上述程序计算出e=17满足则得到私人私钥对为e=17,n=2773;公开密钥对为:b=157,n=2773;

对以上的数字摘要进行加密,根据签名算法sigk(m)=memodn,m∈zn,带入对应的数值得到0920的密文c为0948;使用同样的方式可以得到对数字摘要进行数字签名得到的密文:0948232410481444266329300778077402191665232414440778239016550948;

(3)所述视频文件通过上述的实例的方式得到对应的数字摘要;进一步地,客户端将视频文件和加密得到的对应的数字摘要同时发送给服务器;

(4)服务器根据用户公钥对所述数字摘要进行解密,其中,解密的方式如下述的实例的方式;

对密文解密的方法为:m=cbmodn,带入对应的数值得到0920;使用同样的方法进行解密,得到数字摘要092019000112120007180505110000130500190012001100050505000920。

(5)将解密得到的摘要与接收到的视频文件在服务器侧重新加密产生的摘要进行比对,若两者一致,则说明所述视频文件没有被破坏或篡改,得到验证。

s208.在所述数字签名和视频文件均验证成功时,获取生成的令牌,并得到所述令牌的验证结果;

所述数字签名和视频文件的验证结果均验证成功时,服务器侧会生成用于允许密码重置的令牌;其中,所述令牌一般由时间戳、用户id、令牌类型、用户设备id等多个字段共同生成,并只在有限时间内有效。本实施例中的令牌的有限时间为该次密码重置服务操作过程中,在密码重置服务操作完成后,该令牌无效。

具体地,在服务器侧利用所述用户公钥对所述令牌进行加密得到加密令牌,将加密令牌发送给客户端;进一步在客户端使用用户私钥解密所述加密令牌得到令牌,并将解密得到的令牌发送至服务器,所述服务器将解密得到的令牌与之前生成并存储在服务器本地的令牌进行验证;进一步将得到的验证结果返回给客户端。

具体地,所述令牌token属于服务端生成的一串字符串,以作客户端进行请求的一个令牌;在成功提交了开发者自定义的这个字符串之后,token的值会保存到服务器。只有服务器和客户端前端知道这个字符串,于是token就成了这两者之间的密钥,它可以让服务器确认请求是来自客户端还是恶意的第三方;使用token能够减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

s210.获取用户输入的新密码;在所述令牌验证通过时,得到新密码重置成功的响应信息。

具体地,用户在客户端界面上上传视频文件之后,其中的数字签名以及各个验证过程涉及到的是客户端后台和服务器;之后的客户端界面上出现的是用于让用户输入新密码的接口;在所述加密令牌验证通过的情况下,服务器会得到新密码重置成功的信息,并进一步将该信息返回给客户端,从而使得输入的新密码得到生效。

本实施例通过数字签名的方式能够确认所述视频文件是用户本人从用户自己的设备上上传的;本实施例通过加密的方式能够保证视频文件的安全性,防止所述视频文件在从客户端传输至服务器是被破坏或篡改;本实施例基于令牌验证成功的情况下,才允许用户进行密码的重置,保证了用户重置密码能够被成功操作;其中,现有技术中用户在进入了重置密码的步骤之后,会因视频文件信息匹配不成功而出现重置密码不成功的提示信息;此时需要用户重新回到视频文件的上传步骤再次进行视频的上传和验证,多次交互过程才能够完成重新设置密码;所以,通过本实施例的密码重置的方法提升了密码重置的效率和有效性,同时减低了用户身份验证被伪造的可能性,进而提升了用户体验。

本说明书实施例还提供了一种密码重置方法,如图7所示,所述方法包括:

s802.接收密码重置请求,根据所述请求返回视频文件上传信息;

具体地,服务器从客户端获取到客户端发送的密码重置请求,之后将视频文件上传信息返回给客户端,使用户能够通过客户端的界面将视频文件上传;进一步客户端将用户上传的视频文件发送给服务器。

s804.获取视频文件,以及对所述视频文件的数字摘要进行加密生成的数字签名;

其中,服务器从客户端获取到视频文件,并将所述视频文件利用hash算法生成数字摘要,并利用用户私钥进行加密生成数字签名。本实施例中所述用户私钥位于客户端,用于对所述视频文件进行加密;所述用户公钥从客户端发送至服务器侧,为服务器侧的处理做准备。

s806.对所述数字签名和视频文件进行依次验证;

具体地,服务器利用获取的绑定有数字证书的用户公钥,对接收到的数字签名和视频文件进行依次验证。一种具体的实施方式中,步骤s806中,对所述数字签名和视频文件进行依次验证,如图8所示,可以包括:

s1002.解密所述数字签名得到第一数字摘要,并对所述视频文件进行加密生成第二数字摘要;

具体地,服务器利用所述用户公钥对接收的数字签名进行解密得到数字摘要(第一数字摘要),这能够确定出所述数字摘要对应的视频文件来自的客户端。并且,服务器对接收到的视频文件加密生成新的数字摘要(第二数字摘要)。

s1004.将所述第一数字摘要与所述第二数字摘要进行比对;

s1006.在所述第一数字摘要与所述第二数字摘要对比一致时,对所述视频文件进行验证。

具体地,服务器检检测出解密的数字摘要与新的数字摘要比对一致时,说明从客户端传输至服务器的视频文件并没有被篡改,确保了视频文件的安全性和正确性;此时可以进入下一步对所述视频文件的验证过程。

进一步地,步骤s1006中,对所述视频文件进行验证,如图9所示,可以包括:

s1202.从所述视频文件中提取出第一执行指令信息,将所述第一执行指令信息与第二执行指令信息进行匹配;

具体地,服务器从接收的视频文件中提取出执行指令信息(第一执行指令信息),其中所述执行指令信息是用户在视频中需要完成的动作指令。其中,发送的执行指令信息(第二执行指令信息)为服务器在接收到密码重置请求之后返回给客户端,在客户端界面上提示的执行指令信息;该执行指令信息是指示用户进行动作输出的信息,也就是提示用户按照该执行指令信息进行视频文件的录制。

比如:在采集到正常面容的视频内容之后,提示让用户做出的表情动作信息(例如“请眨眼”等)一并录入在该视频中;或者在采集到正常面容的视频内容中提示用户做出的手势动作信息(例如“请伸出剪刀手”等)一并录入在该视频中,或者是基于随机验证码的唇语活体检测,或者是基于屏幕反光识别的活体检测,等等。

s1204.在所述第一执行指令信息与所述第二执行指令信息匹配成功时,从所述视频文件中提取出第一活体特征;

其中,服务器先对视频内容中的执行指令信息进行验证,在验证通过之后对所述视频文件中的用户的活体特征进行验证。

s1206.将所述第一活体特征与预存的验证图片中的第二活体特征进行匹配;

所述活体特征可以包括用户面部特征,详细地可以包括用户的五官特征以及用户五官在面部上的各自位置特征和相对位置特征等。对应地,在客户端检测验证图片中的活体特征时,能够获取到用户的五官特征以及用户五官在面部上的各自位置特征和相对位置特征等。所述预存的验证图片可以是在视频录制之前,通过客户端界面传入的图片,该图片中需要包括有用户活体特征。

s1208.在所述第一活体特征与所述第二活体特征匹配成功时,生成允许用户进行密码重置的令牌。

具体地,在活体特征匹配成功时,可以看出图片中的活体与视频文件中的活体是一致的;此时服务器会生成允许用户进行密码重置的令牌,进一步利用用户公钥对所述令牌进行加密,并将所述加密令牌发送给客户端。

s808.在所述数字签名和视频文件均验证成功时,生成令牌;并对所述令牌进行验证;

一种具体地实施方式中,步骤s808中,对所述令牌进行验证,如图10所示,可以包括:

s1402.对所述令牌进行加密得到加密令牌;并发送所述加密令牌;

服务器利用所述用户公钥将接收到的令牌进行加密,之后将所述加密令牌发送给客户端。

s1404.获取对所述加密令牌进行解密得到的令牌;

客户端在接收到服务器发送的加密令牌之后,并利用所述用户私钥对所述加密令牌进行解密得到令牌;

s1406.将解密得到的令牌与生成的令牌进行验证。

具体地,服务器将解密得到的令牌与生成的令牌进行验证,并获取到令牌验证结果;其中在验证成功时,成功接收用户输入的新密码;并基于前面的验证处理,该情况下设置的新密码操作成功。

s810.获取新密码;在所述令牌验证通过时,返回新密码重置成功信息。

需要说明的是,本实施例中的服务器可以包括业务服务器和图片服务器,其中客户端将验证图片发送给业务服务器之后,业务服务器将所述验证图片发送给所述图片服务器进行验证图片的存储;在活体特征比对时,业务服务器从图片服务器拉取所述验证图片;通过图片服务器的分担,能够减轻业务服务器存储空间的占用,进而提升业务服务器的处理效率以及与客户端的交互效率。

本说明书实施例中将视频文件的数字摘要生成的数字签名,通过对所述数字签名的验证,确认视频文件是用户本人从自身的设备上上传的;进而保证了视频文件中信息验证的有效性和正确性;之后在视频文件中信息验证通过时生成允许进行密码重置的令牌,在令牌验证通过时获取用户密码重置的密码信息,从而能够保证新密码的安全性和可靠性。

并且,在接收密码重置请求之前,可以通过时时上传图片的方式,获取用于对视频文件中的活体特征进行比对的验证图片,提升了用户的选择性和便利性;同时,视频文件中配合执行指令信息的匹配,进一步提升了识别的准确性。

需要说明的是,客户端使用自己的私钥加密数字摘要,形成数字签名;服务器把原始明文(视频文件)和数字签名一起发送给服务器;服务器利用客户端的公钥对数字签名解密,得到数字摘要;同时对收到的明文用同样的单向hash函数产生一个数字摘要;将两个数字摘要进行对比,若两者一致,说明传送过程中视频文件没有被破坏或篡改过。并且,数字签名使用的是客户端的密钥对,客户端用自己的私钥进行加密,服务器用客户端发送的公钥进行解密,这是一个一对多的关系。

还有,实施例步骤中的数字证书相当于认证过的用户公钥,也就是说通过数字证书能够证实用户公钥的所有人是谁;实施例步骤中的数字签名是用用户私钥加密得到的数据,用户公钥和用户私钥一对一;用户私钥只有用户本人才有,所以通过用认证过的用户公钥使得数字签名的方式能够认证相关数据的发送者的身份;本实施例保证了重置过程的安全性和可靠性,同时保证了密码重置操作的成功率。

本说明书实施例还提供了一种密码重置方法,如图11所示的时序图,所述方法包括:

客户端本地生成密钥对,所述密钥对包括用户公钥和用户私钥;

客户端获取用户输入的用户密码,并将所述用户密码和所述用户公钥发送给业务服务器;

所述业务服务器利用预存密码对所述用户密码进行验证;

所述业务服务器保存用户公钥,并使用根证书对所述用户公钥进行签名生成数字证书,使所述用户公钥与所述数字证书绑定;

所述业务服务器将所述数字证书返回给客户端,所述客户端保存所述数字证书,使所述数字证书与用户信息及对应设备账号进行绑定;

所述业务服务器在用户密码验证成功时,将验证图片上传请求发送给客户端;

所述客户端通过用户选择或新拍一张照片的方式获取用户上传的照片;

所述客户端检测所述照片中是否包含有效面部信息,在包含有有效面部信息时,将所述照片传送至图片服务器,并作为验证图片保存在图片服务器;

所述图片服务器向业务服务器返回传送成功通知,所述业务服务器向客户端返回活体重置密码服务开通成功。

进一步地,如图12的时序图所示,所述方法之后包括:

客户端在获取到验证图片发送成功的响应信息时,向业务服务器发送密码重置请求;

所述业务服务器生成用户动作指令,并向客户端返回用户动作指令;

客户端在接收到所述用户动作指令之后,启动摄像头,获取用户录制的具有所述用户动作指令以及有效面部信息的视频图像;

客户端使用hash算法将所述视频图像生成数据摘要,并利用用户私钥将所述数据摘要加密生成数字签名;

客户端将所述视频图像和所述数字签名发送给业务服务器;

所述业务服务器利用用户公钥验证所述数字签名;

在数字签名验证成功时,所述业务服务器从图片服务器获取所述验证图片;

所述业务服务器将所述视频图像中用户动作指令与生成的用户动作指令进行匹配;

在用户动作指令匹配成功时,所述业务服务器将所述视频图像中的有效面部信息与所述预存图片中的有效面部信息进行匹配;

在有效面部信息匹配成功时,所述业务服务器生成用于进行重置密码的token,保存所述token;并利用所述用户公钥对所述token进行加密,将加密token发送给客户端;

所述客户端获取利用用户私钥对加密token进行解密得到token;并获取用户输入的新密码;

所述客户端将对加密token解密得到的token和新密码发送给业务服务器;

所述业务服务器验证将接收到的token与保存的token进行验证;在验证成功后,向客户端返回新密码设置成功结果。

本说明书实施例还提供了一种密码重置装置,如图13所示,所述装置包括:

密码重置请求发送模块202,用于发送密码重置请求,并得到上传视频文件的响应信息;

视频文件加密模块204,用于获取用户上传的视频文件,对所述视频文件的数字摘进行加密生成数字签名;

数字签名和视频文件验证模块206,用于发送所述视频文件和所述数字签名,使所述数字签名和视频文件被依次验证;

令牌验证模块208,用于在所述数字签名和视频文件均验证成功时,获取令牌的验证结果;

重置响应模块210,用于获取用户输入的新密码;在所述令牌验证通过时,获取新密码重置成功的响应信息。

一种可行的实施方式中,所述装置还可以包括:

图片验证模块212,如图14所示,包括:

验证图片获取单元402,用于获取用户上传的验证图片;

验证图片发送单元404,用于在检测到所述验证图片包含有活体特征时,发送所述验证图片;

发送成功响应单元406,用于在获取到所述验证图片发送成功的响应信息时,发送密码重置请求。

一种可行的实施方式中,所述装置,如图15所示,还包括:

用户信息验证模块214,包括:

用户信息和密钥对获取单元602,用于生成密钥对和用户上传的用户信息,所述密钥对包括用户私钥和用户公钥;

用户信息和用户公钥发送单元604,用于发送所述用户信息和密钥对中的用户公钥;

用户信息验证结果获取单元606,用于获取用户信息的验证结果,并获取绑定数字证书的用户公钥。

本说明书实施例还提供了一种密码重置装置,如图16所示,所述装置包括:

密码重置请求获取模块802,用于接收密码重置请求,根据所述请求返回视频文件上传信息;

视频文件和数字签名获取模块804,用于获取视频文件,以及对所述视频文件的数字摘要进行加密生成的数字签名;

数字签名和视频文件验证模块806,用于对所述数字签名和视频文件进行依次验证;

令牌验证模块808,在所述数字签名和视频文件均验证成功时,生成令牌;并对所述令牌进行验证;

重置成功返回模块810,用于获取新密码;在所述令牌验证通过时,返回新密码重置成功信息。

进一步地,所述数字签名和视频文件验证模块806,如图17所示,包括:

数字签名解密单元1002,用于解密所述数字签名得到第一数字摘要,并对所述视频文件进行加密生成第二数字摘要;

数字摘要对比单元1004,用于将所述第一数字摘要与所述第二数字摘要进行比对;

视频文件验证单元1006,用于在所述第一数字摘要与所述第二数字摘要对比一致时,对所述视频文件进行验证。

进一步地,所述视频文件验证单元1006,如图18所示,包括:

执行指令信息提取单元1202,用于从所述视频文件中提取出第一执行指令信息,将所述第一执行指令信息与第二执行指令信息进行匹配;

活体特征提取单元1204,用于将所述第一活体特征与预存的验证图片中的第二活体特征进行匹配;

活体特征匹配单元1206,用于将所述第一活体特征与预存的验证图片中的第二活体特征进行匹配;

令牌生成单元1208,用于在所述第一活体特征与所述第二活体特征匹配成功时,生成允许用户进行密码重置的令牌。

进一步地,所述令牌验证模块808,如图19所示,包括:

令牌加密单元1402,用于对所述令牌进行加密得到加密令牌;并发送所述加密令牌;

令牌获取单元1404,用于获取对所述加密令牌进行解密得到的令牌;

令牌验证单元1406,用于将解密得到的令牌与生成的令牌进行验证。

本说明书实施例还提供了一种密码重置设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述一个实施例所述的重置密码的方法,或者上述另一个实施例所述的重置密码的方法。上述一个或者一个以上程序包含用于执行上述后台服务器侧的方法的指令,所述指令用于执行:

发送密码重置请求,并得到上传视频文件的响应信息;

获取用户上传的视频文件,并对所述视频文件的数字摘要进行加密生成数字签名;

发送所述视频文件和所述数字签名,使所述数字签名和视频文件被依次验证;

在所述数字签名和视频文件均验证成功时,获取令牌的验证结果;

获取用户输入的新密码;在所述令牌验证通过时,获取新密码重置成功的响应信息。

进一步地,所述发送密码重置请求,之前包括:

获取用户上传的验证图片;

在检测到所述验证图片包含有活体特征时,发送所述验证图片;

在获取到所述验证图片发送成功的响应信息时,发送密码重置请求。

其中,本说明书实施例提供的一种服务器设备的结构示意图,请参考图20。该服务器用于实施上述实施例中提供的密码重置方法。具体来讲:

所述服务器2000包括中央处理单元(cpu)2001、包括随机存取存储器(ram)2002和只读存储器(rom)2003的系统存储器2004,以及连接系统存储器2004和中央处理单元2001的系统总线2005。所述服务器2000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)2006,和用于存储操作系统2013、应用程序2014和其他程序模块2015的大容量存储设备2007。

所述基本输入/输出系统2006包括有用于显示信息的显示器2008和用于用户输入信息的诸如鼠标、键盘之类的输入设备2009。其中所述显示器2008和输入设备2009都通过连接到系统总线2005的输入输出控制器2010连接到中央处理单元2001。所述基本输入/输出系统2006还可以包括输入输出控制器2010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器2010还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备2007通过连接到系统总线2005的大容量存储控制器(未示出)连接到中央处理单元2001。所述大容量存储设备2007及其相关联的计算机可读介质为服务器2000提供非易失性存储。也就是说,所述大容量存储设备2007可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器2004和大容量存储设备2007可以统称为存储器。

根据本发明的各种实施例,所述服务器2000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器2000可以通过连接在所述系统总线2005上的网络接口单元2011连接到网络2012,或者说,也可以使用网络接口单元2011来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行;上述一个或者一个以上程序包含用于执行上述后台服务器侧的方法的指令,所述指令用于执行:

接收密码重置请求,根据所述请求返回视频文件上传信息;

获取视频文件,以及对所述视频文件的数字摘要进行加密生成的数字签名;

对所述数字签名和视频文件进行依次验证;

在所述数字签名和视频文件均验证成功时,生成令牌,并对所述令牌进行验证;

获取新密码;在所述令牌验证通过时,返回新密码重置成功信息。

进一步地,所述对所述数字签名和视频文件进行依次验证,包括:

解密所述数字签名得到第一数字摘要,并对所述视频文件进行加密生成第二数字摘要;

将所述第一数字摘要与所述第二数字摘要进行比对;

在所述第一数字摘要与所述第二数字摘要对比一致时,对所述视频文件进行验证。

进一步地,所述对所述视频文件进行验证,包括:

从所述视频文件中提取出第一执行指令信息,将所述第一执行指令信息与第二执行指令信息进行匹配;

在所述第一执行指令信息与所述第二执行指令信息匹配成功时,从所述视频文件中提取出第一活体特征;

将所述第一活体特征与预存的验证图片中的第二活体特征进行匹配;

在所述第一活体特征与所述第二活体特征匹配成功时,生成允许用户进行密码重置的令牌。

进一步地,所述对所述令牌进行验证,包括:

对所述令牌进行加密得到加密令牌,并发送所述加密令牌;

获取对所述加密令牌进行解密得到的令牌;

将解密得到的令牌与生成的令牌进行验证本说明书实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述实施例中一个实施例所述的重置密码的方法,或者上述实施例中另一个实施例所述的重置密码的方法。

需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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