【技术实现步骤摘要】
一种基于零知识证明的身份验证方法及设备
[0001]本申请涉及计算机
,尤其涉及一种基于零知识证明的身份验证方法及设备
。
技术介绍
[0002]目前在客户端与服务端进行数据传输时,客户端在接收用户输入用户名和密码的操作后,将用户名和密码发送至服务端;服务端接收来自客户端的用户名和密码时,将对用户名和密码进行校验,并在校验成功情况下返回客户端用于后续操作请求的指令,以及用于客户端用户证明自己身份的
token
凭证
。
[0003]但是在上述常规的数据传输模式下,服务端必须以直接或间接的方式获取客户端输入密码,导致客户端密码不安全;并且,一旦将
token
凭证泄漏,相当于直接泄露客户端密码,不但给客户端带来危害,服务端也同样处于不安全状态,同时,服务端无法提供任何证明来说明是按照客户端的要求进行了数据的修改时,即客户端的操作是可以被伪造的,将为客户端和服务端带来损失
。
技术实现思路
[0004]本申请的一个目的是提供一种基于零知识证明的身份验证方法及设备,解决传统数据传输过程中用户信息不安全,且易被伪造等情况的发生,实现基于零知识证明,在客户端和服务端完成安全且稳定的数据交互,搭建身份验证的良好环境
。
[0005]根据本申请的一个方面,提供了一种基于零知识证明的身份验证方法,其中,应用于客户端,所述方法包括:
[0006]初始化构建客户端与服务端之间的零知识证明电路;
[0007]获取所述客户端
【技术保护点】
【技术特征摘要】
1.
一种基于零知识证明的身份验证方法,其中,应用于客户端,所述方法包括:初始化构建客户端与服务端之间的零知识证明电路;获取所述客户端对应的用户当前输入操作的输入密码并基于所述输入密码生成证明密钥,同时获取当前输入操作的次数和接口调用参数;使用所述证明密钥
、
所述当前输入操作的次数和所述接口调用参数,运行所述零知识证明电路,生成所述客户端的证明;携带所述用户的用户标识
、
所述当前输入操作的次数
、
所述接口调用参数和所述证明,向所述服务端发起验证请求,以使所述服务端调用所述服务端存储的
、
与所述用户标识对应的用户的验证密钥和请求计数,并在所述请求计数与所述当前输入操作的次数一致时,使用所述验证密钥
、
所述请求计数和所述接口调用参数,运行所述零知识证明电路,对所述证明进行验证;若验证通过,接收所述服务端返回的用于指示验证通过的响应信息
。2.
根据权利要求1所述的方法,其中,所述基于所述输入密码生成证明密钥,包括:利用哈希函数,对所述输入密码进行对应哈希值计算,得到证明密钥
。3.
根据权利要求1所述的方法,其中,所述方法还包括:获取所述客户端对应的用户初次设置操作的初始密码或修改操作的修改密码,并基于所述初始密码或所述修改密码生成用于所述服务端进行用户身份验证的验证密钥;携带所述用户标识和所述验证密钥,向所述服务端发起初始化请求,以使所述服务端存储所述用户标识和所述验证密钥并初始化请求计数
。4.
根据权利要求3所述的方法,其中,所述基于所述初始密码或所述修改密码生成用于所述服务端进行用户身份验证的验证密钥,包括:利用哈希函数,对所述初始密码或所述修改密码进行哈希计算,得到用于所述服务端进行用户身份验证的验证密钥
。5.
根据权利要求1所述的方法,其中,所述方法还包括:若验证未通过,接收所述服务端返回的用于指示验证未通过的响应信息
。6.
一种基于零知识证明的身份验证方法,其中,应用于服务端,所述方法包括:初始化构建客户端与服务端之间的零知识证明电路;接收所述客户端携带用户标识
、
当前输入操作的次数
、
接口调用参数和证明向所述服务端发起的验证...
【专利技术属性】
技术研发人员:颜宇辉,
申请(专利权)人:上海焜耀网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。