System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书一个或多个实施例涉及计算机领域,尤其涉及基于用户的认证信息的注册、登录方法和装置。
技术介绍
1、目前,常常需要对用户的身份进行认证,以避免用户的身份被盗用,进而导致用户的权益受损,例如,使得用户的隐私信息泄露。随着人们的隐私保护的观念越来越强,传统的身份认证方法不断地受到挑战。
2、认证方案通常包含注册和登录两个过程,用户的认证信息包括用户的密码,该密码也称为口令。在传统的身份认证方法中,在这两个过程都需要将口令或口令的哈希值在网络上进行传输,服务器直接存储用户的口令或口令的哈希值。当服务器遭受攻击或服务器管理方主动作恶后,将造成口令或口令的哈希值的泄漏,并且此类方式容易遭受字典攻击。即使是通过盐(salt)增加随机性,在服务器存储用户的盐值和盐值哈希值,以抵抗上述字典攻击,也仍存在着其它多种信息泄漏风险,例如,口令或口令的哈希值可能在传输过程被中间人攻击而直接获取。并且,由于人们习惯于在不同的网站上使用同一个口令,可以利用相同的密码在其他系统登录,一旦上述攻击达成,将很可能导致用户其它网站中的信息同时泄漏,造成更大的用户隐私泄漏风险。
技术实现思路
1、本说明书一个或多个实施例描述了一种基于用户的认证信息的注册、登录方法和装置,能够提升安全性,降低用户隐私泄露风险。
2、第一方面,提供了一种基于用户的认证信息的注册方法,该方法由用户设备执行,包括:
3、接收第一用户向服务器注册过程中提交的认证信息,所述认证信息包括第一用户的密码pwd
4、获取随机数r;
5、基于所述随机数r和公开参数pp,利用密钥生成算法得到公钥pk和私钥sk构成的一组公私钥对;
6、至少基于第一用户的密码pwd进行哈希运算,得到用户密钥值user_key;
7、根据公钥pk和用户密钥值user_key,利用加密算法得到注册密文cregister;所述加密算法会生成一个随机数,基于该随机数进行加密;
8、根据私钥sk和注册密文cregister,利用陷门生成算法得到与注册密文cregister相匹配的判断陷门tdregister;
9、向服务器上传注册密文cregister和判断陷门tdregister,以使服务器存储注册密文cregister和判断陷门tdregister作为第一用户的认证信息,所述认证信息用于对所述第一用户进行身份认证。
10、在一种可能的实施方式中,所述获取随机数r,包括:
11、基于本地持有的输入x,以及所述服务器持有的密钥k,与所述服务器联合执行不经意伪随机数函数oprf,得到随机数r。
12、进一步地,所述本地持有的输入x通过如下方式得到:
13、基于第一用户的密码pwd,利用随机抽取函数得到派生密码derived_pwd作为所述输入x。
14、进一步地,所述服务器持有的密钥k通过如下方式得到:
15、所述服务器基于其持有的种子seed,利用随机抽取函数得到所述密钥k。
16、进一步地,所述至少基于第一用户的密码pwd进行哈希运算,得到用户密钥值user_key,包括:
17、基于所述随机数r,利用随机抽取函数得到计算值nounce;
18、对第一用户的密码pwd对应的派生密码derived_pwd、计算值nounce和服务器的公开信息pk拼接后进行哈希运算,得到用户密钥值user_key。
19、第二方面,提供了一种基于用户的认证信息的登录方法,该方法由用户设备执行,包括:
20、接收第一用户向服务器登录过程中提交的认证信息,所述认证信息包括第一用户的密码pwd;
21、恢复注册过程中使用的随机数r;
22、基于所述随机数r和公开参数pp,利用密钥生成算法得到公钥pk和私钥sk构成的一组公私钥对;
23、至少基于第一用户的密码pwd进行哈希运算,得到用户密钥值user_key;
24、根据公钥pk和用户密钥值user_key,利用加密算法得到登录密文clogin;所述加密算法会生成一个随机数,基于该随机数进行加密;
25、根据私钥sk和登录密文clogin,利用陷门生成算法得到与登录密文clogin相匹配的判断陷门tdlogin;
26、向服务器上传登录密文clogin和判断陷门tdlogin,以使服务器基于注册密文cregister和判断陷门tdregister以及登录密文clogin和判断陷门tdlogin,利用等值测试函数确定第一用户是否登录成功。
27、在一种可能的实施方式中,所述恢复注册过程中使用的随机数r,包括:
28、基于本地持有的输入x,以及所述服务器持有的密钥k,与所述服务器联合执行不经意伪随机数函数oprf,得到随机数r。
29、进一步地,所述本地持有的输入x通过如下方式得到:
30、基于第一用户的密码pwd,利用随机抽取函数得到派生密码derived_pwd作为所述输入x。
31、进一步地,所述服务器持有的密钥k通过如下方式得到:
32、所述服务器基于其持有的种子seed,利用随机抽取函数得到所述密钥k。
33、进一步地,所述至少基于第一用户的密码pwd进行哈希运算,得到用户密钥值user_key,包括:
34、基于所述随机数r,利用随机抽取函数得到计算值nounce;
35、对第一用户的密码pwd对应的派生密码derived_pwd、计算值nounce和服务器的公开信息pk拼接后进行哈希运算,得到用户密钥值user_key。
36、第三方面,提供了一种基于用户的认证信息的注册装置,该装置设置于用户设备,包括:
37、接收单元,用于接收第一用户向服务器注册过程中提交的认证信息,所述认证信息包括第一用户的密码pwd;
38、获取单元,用于获取随机数r;
39、密钥生成单元,用于基于所述获取单元获取的随机数r和公开参数pp,利用密钥生成算法得到公钥pk和私钥sk构成的一组公私钥对;
40、哈希运算单元,用于至少基于所述接收单元接收的第一用户的密码pwd进行哈希运算,得到用户密钥值user_key;
41、加密单元,用于根据所述密钥生成单元得到的公钥pk和所述哈希运算单元得到的用户密钥值user_key,利用加密算法得到注册密文cregister;所述加密算法会生成一个随机数,基于该随机数进行加密;
42、陷门生成单元,用于根据所述密钥生成单元得到的私钥sk和所述加密单元得到的注册密文cregister,利用陷门生成算法得到与注册密文cregister相匹配的判断陷门tdregister;
43、上传单元,用于向服务器上传所述加密单元得到的注册密文cregister和所述陷门本文档来自技高网...
【技术保护点】
1.一种基于用户的认证信息的注册方法,所述方法由用户设备执行,包括:
2.如权利要求1所述的方法,其中,所述获取随机数r,包括:
3.如权利要求2所述的方法,其中,所述本地持有的输入x通过如下方式得到:
4.如权利要求2所述的方法,其中,所述服务器持有的密钥k通过如下方式得到:
5.如权利要求3所述的方法,其中,所述至少基于第一用户的密码pwd进行哈希运算,得到用户密钥值user_key,包括:
6.一种基于用户的认证信息的登录方法,所述方法由用户设备执行,包括:
7.如权利要求6所述的方法,其中,所述恢复注册过程中使用的随机数r,包括:
8.如权利要求7所述的方法,其中,所述本地持有的输入x通过如下方式得到:
9.如权利要求7所述的方法,其中,所述服务器持有的密钥k通过如下方式得到:
10.如权利要求8所述的方法,其中,所述至少基于第一用户的密码pwd进行哈希运算,得到用户密钥值user_key,包括:
11.一种基于用户的认证信息的注册装置,所述装置设置于用
12.一种基于用户的认证信息的登录装置,所述装置设置于用户设备,包括:
13.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-10中任一项的所述的方法。
14.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项的所述的方法。
...【技术特征摘要】
1.一种基于用户的认证信息的注册方法,所述方法由用户设备执行,包括:
2.如权利要求1所述的方法,其中,所述获取随机数r,包括:
3.如权利要求2所述的方法,其中,所述本地持有的输入x通过如下方式得到:
4.如权利要求2所述的方法,其中,所述服务器持有的密钥k通过如下方式得到:
5.如权利要求3所述的方法,其中,所述至少基于第一用户的密码pwd进行哈希运算,得到用户密钥值user_key,包括:
6.一种基于用户的认证信息的登录方法,所述方法由用户设备执行,包括:
7.如权利要求6所述的方法,其中,所述恢复注册过程中使用的随机数r,包括:
8.如权利要求7所述的方法,其中,所述本地持有的输入x通过如下方式得到...
【专利技术属性】
技术研发人员:吴正豪,崔锦铭,梁晓健,段普,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。