CN108769061B - 登录方法、登录验证方法以及相应的装置、电子设备 - Google Patents

登录方法、登录验证方法以及相应的装置、电子设备 Download PDF

Info

Publication number
CN108769061B
CN108769061B CN201810663253.5A CN201810663253A CN108769061B CN 108769061 B CN108769061 B CN 108769061B CN 201810663253 A CN201810663253 A CN 201810663253A CN 108769061 B CN108769061 B CN 108769061B
Authority
CN
China
Prior art keywords
login
zero
server
random string
knowledge proof
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810663253.5A
Other languages
English (en)
Other versions
CN108769061A (zh
Inventor
胡宇光
殷宇辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201810663253.5A priority Critical patent/CN108769061B/zh
Publication of CN108769061A publication Critical patent/CN108769061A/zh
Application granted granted Critical
Publication of CN108769061B publication Critical patent/CN108769061B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs

Abstract

本申请提供了一种登录方法、登录验证方法以及相应的装置、电子设备。该登录方法包括:向服务器发送登录请求,接收服务器返回的随机串;根据持有的账号密码及随机串,确定服务器所要验证的题目;根据账号密码、随机串及题目,生成登录所需的零知识证明信息;将零知识证明信息发送给服务器,以使得服务器根据零知识证明信息生成验证结果。本申请通过零知识证明方式进行登录,有效避免信息泄露,且通过服务器在每次证明过程中返回的随机串,使得每次生成的零知识证明信息都不相同,即使传输过程中数据遭到泄露,也能够防止非法者破解出登录方式,有效保证了用户的个人信息安全。

Description

登录方法、登录验证方法以及相应的装置、电子设备
技术领域
本申请涉及互联网安全技术领域,具体而言,涉及一种登录方法、登录验证方法以及相应的装置、电子设备。
背景技术
在互联网的世界中,用户时常需要利用相应的账号与密码来登录及接入各种网络服务,以实现个人身份的认证,并保障个人信息的安全。
传统的登录方式主要是依赖服务器存储用户的账号与密码的哈希值,用户通过向服务器出示账号与密码即可实现登录。然而,这种登录方式的安全性却有待商榷。
众所周知,密码泄露已成为互联网时代下司空见惯的事情。当密码泄露后,非法者即可利用盗用的密码登录用户的账号,严重影响到用户信息的安全性。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有的登录方式中,若用户的账号密码若遭到泄露,容易威胁个人信息安全的技术缺陷。
第一方面,本申请提供了一种登录方法,该方法包括:
向服务器发送登录请求,接收服务器返回的随机串;
根据持有的账号密码及所述随机串,确定服务器所要验证的题目;
根据所述账号密码、所述随机串及所述题目,生成登录所需的零知识证明信息;
将所述零知识证明信息发送给服务器,以使得服务器根据所述零知识证明信息生成验证结果。
在一个实施例中,根据持有的账号密码及所述随机串,确定服务器所要验证的题目,包括:
计算所述随机串与所述账号密码的异或值;
根据所述账号密码的哈希值、所述异或值、所述异或值的哈希值,确定服务器所要验证的题目。
在另一个实施例中,根据所述账号密码、所述随机串及所述题目,生成登录所需的零知识证明信息,包括:
根据所述账号密码、所述随机串及所述题目,基于简洁非交互式知识论述方法,生成登录所需的零知识证明信息。
第二方面,本申请提供了一种登录验证方法,该方法包括:
接收客户端发送的登录请求,向客户端返回生成的随机串;
根据预存的客户端账号密码的哈希值及所述随机串,确定所要验证的题目;
接收客户端发送的零知识证明信息;
根据所述零知识证明信息及所述题目,生成验证结果,以确定客户端的登录是否成功。
在一个实施例中,根据所述零知识证明信息及所述题目,生成验证结果,包括:
根据所述零知识证明信息及所述题目,基于简洁非交互式知识论述方法,生成验证结果。
第三方面,本申请提供了一种登录装置,该装置包括:
随机串获取模块,用于向服务器发送登录请求,接收服务器返回的随机串;
题目确定模块,用于根据持有的账号密码及所述随机串,确定服务器所要验证的题目;
零知识证明信息生成模块,用于根据所述账号密码、所述随机串及所述题目,生成登录所需的零知识证明信息;
登录模块,用于将所述零知识证明信息发送给服务器,以使得服务器根据所述零知识证明信息生成验证结果。
在一个实施例中,所述题目确定模块具体用于计算所述随机串与所述账号密码的异或值;以及,
所述题目确定模块具体用于根据所述账号密码的哈希值、所述异或值、所述异或值的哈希值,确定服务器所要验证的题目。
在另一个实施例中,所述零知识证明信息生成模块具体用于根据所述账号密码、所述随机串及所述题目,基于简洁非交互式知识论述方法,生成登录所需的零知识证明信息。
第四方面,本申请提供了一种登录验证装置,该装置包括:
随机串生成模块,用于接收客户端发送的登录请求,向客户端返回生成的随机串;
题目确定模块,用于根据预存的客户端账号密码的哈希值及所述随机串,确定所要验证的题目;
零知识证明信息接收模块,用于接收客户端发送的零知识证明信息;
登录验证模块,用于根据所述零知识证明信息及所述题目,生成验证结果,以确定客户端的登录是否成功。
在一个实施例中,所述登录验证模块具体用于根据所述零知识证明信息及所述题目,基于简洁非交互式知识论述方法,生成验证结果。
第五方面,本申请提供了一种电子设备,该电子设备包括:
处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如本申请的第一方面或第二方面所示的方法。
第六方面,本申请提供了一种计算机可读存储介质,该计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行如本申请的第一方面或第二方面所示的方法。
本申请提供的登录方法、登录验证方法以及相应的装置、电子设备,采用向服务器发送登录请求,接收服务器返回的随机串;根据持有的账号密码及随机串,确定服务器所要验证的题目;根据账号密码、随机串及题目,生成登录所需的零知识证明信息;将零知识证明信息发送给服务器,以使得服务器根据零知识证明信息生成验证结果。通过零知识证明方式进行登录,使得客户端能够在不向服务器提供账号密码的情况下,让服务器确认客户端的身份是正确的,避免了该过程中的账号密码泄露,且通过服务器在每次证明过程中返回的随机串,使得每次生成的零知识证明信息都不相同,即使传输过程中数据遭到泄露,也能够防止非法者破解出登录方式,有效保证了用户的个人信息安全。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种登录方法的流程示意图;
图2为本申请实施例提供的一种登录验证方法的流程示意图;
图3为本申请实施例提供的一种登录装置的结构示意图;
图4为本申请实施例提供的一种登录验证装置的结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
实施例一
本申请实施例提供了一种登录方法,如图1所示,该方法包括:
步骤S101:向服务器发送登录请求,接收服务器返回的随机串。
在本申请实施例中,该方法的执行主体为客户端,实际应用中,客户端可以为计算机、平板电脑、移动终端等电子设备上的应用程序,本申请实施例对此不做限定。
本步骤中,客户端向服务器发送的登录请求中可以包括用户的描述信息,例如地址信息、身份信息等,以便服务器明确需要登陆的客户端,并生成随机串返回给该客户端。
其中,随机串除了内容是随机的,其长度也可以是随机的,使得随机的范围可以进一步扩大,而不会对本申请的方案造成影响。
本申请实施例中,将服务器返回的随机串用r表示。
客户端在接收服务器返回的随机串r后,便可执行步骤S102。
步骤S102:根据持有的账号密码及随机串,确定服务器所要验证的题目。
为了更清楚的说明该题目的作用,在此先对本申请涉及的零知识证明技术进行介绍和解释:
零知识证明是一种证明者能够在不向验证者提供任何有用信息的情况下,使验证者相信某个论断正确的证明手段。
结合本申请实施例来说,即客户端能够在不向服务器提供账号密码的情况下,使服务器认证客户端用户的身份无误。
为此,客户端与服务器之间需要协议证明与验证的方式。
本申请实施例中,客户端通过向服务器证明自己已掌握账号密码和随机串能够使得协议的题目成立,就可以不向服务器提供账号密码,而使服务器验证协议的题目真的成立,即可认证客户端用户的身份无误。
具体而言,将客户端持有的账号密码用ps表示。
本步骤中,客户端需要计算随机串r与账号密码ps的异或值,用ps2表示,即,
ps2=ps xor r
随后,客户端根据账号密码ps的哈希值、上述异或值ps2、上述异或值ps2的哈希值,确定服务器所要验证的题目。
将账号密码ps的哈希值用h1表示,上述异或值ps2的哈希值用h2表示。
本申请实施例中,服务器中存储有用户的账号密码ps的哈希值h1,因为给定哈希值,很难(基本不可能)逆推出明文,所以即使服务器的数据遭到泄露,也不会影响到客户端的信息安全。
另外,由于服务器能够知道自己生成的随机串r,因此服务器也能够计算出随机串r的哈希值与账号密码ps的哈希值的乘积,即服务器能够计算出hash(ps)*hash(r)的值。
实际应用中,由于hash(ps)*hash(r)=hash(ps xor r)=h2,也就是说,服务器能够知道h1和h2。
基于此,可以确定客户端需要向服务器证明的是,客户端知道ps和r,使得以下题目成立:
h1=hash(ps)
h2=hash(ps2)
ps2=ps xor r
从中可以看到,由于随机串r的存在,客户端每次登陆过程中,服务器所要验证的题目将会产生变化,因此每次证明过程也会不同,即使传输过程中数据遭到泄露,也能够防止非法者破解出登录方式,有效保证了用户的个人信息安全。
步骤S103:根据账号密码、随机串及题目,生成登录所需的零知识证明信息;
具体而言,根据账号密码、随机串及题目,基于简洁非交互式知识论述方法,生成登录所需的零知识证明信息。
其中,简洁非交互式知识论述方法(zk-SNARK,zero-knowledge succint non-interactive arguments of knowledge)是一种特殊的零知识证明技术,具有简洁、非交互的特点。
简洁(succint)意味着生成的零知识证明信息非常方便验证,服务器只需要少量的计算就可以认证客户端用户的身份,保证登录过程的执行效率。
非交互(non-interactive)意味着客户端与服务器之间只需要交换极少量的信息即可完成整个验证过程,基本上只要提供一个字符串即可,有效减少通信成本,同时也能保证登录过程的执行效率。
本申请实施例中,客户端根据账号密码ps、随机串r及题目h1=hash(ps);h2=hash(ps2);ps2=ps xor r,基于简洁非交互式知识论述方法中的证明算法(zk-SNARK-prove),生成一个特定字符串,即登录所需的零知识证明信息。
步骤S104:将零知识证明信息发送给服务器,以使得服务器根据零知识证明信息生成验证结果。
客户端将生成的零知识证明信息发送给服务器,就可以在不发送账号密码ps的情况下,由服务器根据零知识证明信息得到客户端知道ps和r使得上述题目成立的验证结果,即服务器据此认证客户端用户的身份无误。
本申请实施例提供的登录方法,服务器仅存有用户账号密码的哈希值,即使服务器的数据遭到泄露,非法者也无法反推出用户的账号密码。
且本申请实施例是通过零知识证明方式进行登录,使得客户端能够在不向服务器提供账号密码的情况下,让服务器确认客户端的身份是正确的,避免了该过程中的账号密码泄露。
另外,通过服务器在每次证明过程中返回的随机串,使得每次生成的零知识证明信息都不相同,即使传输过程中数据遭到泄露,也能够防止非法者破解出登录方式,有效保证了用户的个人信息安全。
实施例二
本申请实施例提供了一种登录验证方法,如图2所示,该方法包括:
步骤S201:接收客户端发送的登录请求,向客户端返回生成的随机串。
在本申请实施例中,该方法的执行主体为服务器。
本步骤中,客户端发送的登录请求中可以包括用户的描述信息,例如地址信息、身份信息等,服务器接收客户端发送的登录请求后,明确需要登陆的客户端,并生成随机串返回给该客户端。
其中,服务器可以根据预设的随机算法或者由国家密码管理局批准的随机串发生器等方式生成随机串,本申请实施例对此不做限定。
本申请实施例中,将服务器返回的随机串用r表示。
步骤S202:根据预存的客户端账号密码的哈希值及随机串,确定所要验证的题目。
由实施例一的介绍可知,本申请实施例的目的在于实现客户端能够在不向服务器提供账号密码的情况下,使服务器认证客户端用户的身份无误。
即客户端通过向服务器证明自己掌握账号密码和随机串能够使得协议的题目成立,就可以不向服务器提供账号密码,而使服务器验证协议的题目真的成立,即可认证客户端用户的身份无误。
本申请实施例中,服务器中存储有用户的账号密码的哈希值,因为给定哈希值,很难(基本不可能)逆推出明文,所以即使服务器的数据遭到泄露,也不会影响到客户端的信息安全。
本申请实施例将账号密码的哈希值用h1表示。
另外,由于服务器能够知道自己生成的随机串r,因此服务器也能够计算出随机串r的哈希值与账号密码的哈希值h1的乘积。
本申请实施例将随机串r的哈希值与账号密码的哈希值h1的乘积用h2表示。
实际应用中,由于随机串r的哈希值与账号密码的哈希值h1的乘积、随机串r与账号密码ps的异或值的哈希值是相等的。也就是说,客户端能够通过账号密码与接收到的随机串r计算h1和h2。
本申请实施例将客户端用户的账号密码用ps表示。
基于此,可以确定服务器需要验证的是,客户端知道ps和r,使得以下题目成立:
h1=hash(ps)
h2=hash(ps2)
ps2=ps xor r
步骤S203:接收客户端发送的零知识证明信息。
从上述介绍可知,由于随机串r的存在,客户端每次登陆过程中,服务器所要验证的题目将会产生变化,因此每次证明过程也会不同,客户端所发送的零知识证明信息也会不同,即使传输过程中数据遭到泄露,也能够防止非法者破解出登录方式,有效保证了用户的个人信息安全。
另外可以理解,由于不同用户的账号密码不同,针对不同客户端,服务器所存储的h1会不相同,服务器所要验证的题目也会不同,服务器接受的户端所发送的零知识证明信息也会不同。因此,非法者即使具有其他账号密码,也无法冒充客户端的用户进行登录,有效保障了账户之间的独立性。
步骤S204:根据零知识证明信息及题目,生成验证结果,以确定客户端的登录是否成功。
具体而言,根据零知识证明信息及题目,基于简洁非交互式知识论述方法,生成验证结果。
结合实施例一中对zk-SNARK技术的介绍,本申请实施例中,服务器根据步骤S203中接收到的零知识证明信息及步骤S202中确定出的此次登录过程所要验证的题目h1=hash(ps);h2=hash(ps2);ps2=ps xor r,基于简洁非交互式知识论述方法中的验证算法(zk-SNARK-verify),生成客户端是否真的知道密码ps和随机串r使得上述题目成立的验证结果,即客户端用户的身份是否无误的验证结果,以确定客户端的登录是否成功。
若验证成功,则客户端直接登录;若验证失败,则客户端无法登录。
本申请实施例提供的登录验证方法,服务器仅存有用户账号密码的哈希值,即使服务器的数据遭到泄露,非法者也无法反推出用户的账号密码。
且本申请实施例是通过零知识证明方式进行登录,使得客户端能够在不向服务器提供账号密码的情况下,让服务器确认客户端的身份是正确的,避免了该过程中的账号密码泄露。
另外,通过服务器在每次证明过程中返回的随机串,使得每次生成的零知识证明信息都不相同,即使传输过程中数据遭到泄露,也能够防止非法者破解出登录方式,有效保证了用户的个人信息安全。
实施例三
本申请实施例提供了一种登录装置,如图3所示,该登录装置30可以包括:随机串获取模块301、题目确定模块302、零知识证明信息生成模块303以及登录模块304,其中,
随机串获取模块301,用于向服务器发送登录请求,接收服务器返回的随机串r;
题目确定模块302,用于根据持有的账号密码ps及随机串r,确定服务器所要验证的题目;
零知识证明信息生成模块303,用于根据账号密码ps、随机串r及题目,生成登录所需的零知识证明信息;
登录模块304,用于将零知识证明信息发送给服务器,以使得服务器根据零知识证明信息生成验证结果。
进一步地,题目确定模块302具体用于计算随机串r与账号密码ps的异或值ps2;以及,
题目确定模块302具体用于根据账号密码的哈希值h1、异或值ps2、异或值的哈希值h2,确定服务器所要验证的题目。
进一步地,零知识证明信息生成模块303具体用于根据账号密码ps、随机串r及题目,基于简洁非交互式知识论述方法,生成登录所需的零知识证明信息。
本申请实施例所提供的登录装置,可以为支持客户端运行的特定硬件或者客户端上的部件等,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,设备实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
本申请实施例提供的登录装置,服务器仅存有用户账号密码的哈希值,即使服务器的数据遭到泄露,非法者也无法反推出用户的账号密码。
且本申请实施例是通过零知识证明方式进行登录,使得客户端能够在不向服务器提供账号密码的情况下,让服务器确认客户端的身份是正确的,避免了该过程中的账号密码泄露。
另外,通过服务器在每次证明过程中返回的随机串,使得每次生成的零知识证明信息都不相同,即使传输过程中数据遭到泄露,也能够防止非法者破解出登录方式,有效保证了用户的个人信息安全。
实施例四
本申请实施例提供了一种登录验证装置,如图4所示,该登录验证装置40可以包括:随机串生成模块401、题目确定模块402、零知识证明信息接收模块403以及登录验证模块404,其中,
随机串生成模块401,用于接收客户端发送的登录请求,向客户端返回生成的随机串r;
题目确定模块402,用于根据预存的客户端账号密码的哈希值h1及随机串r,确定所要验证的题目;
零知识证明信息接收模块403,用于接收客户端发送的零知识证明信息;
登录验证模块404,用于根据零知识证明信息及题目,生成验证结果,以确定客户端的登录是否成功。
进一步地,登录验证模块404具体用于根据零知识证明信息及题目,基于简洁非交互式知识论述方法,生成验证结果。
本申请实施例所提供的登录验证装置,可以为服务器上的特定硬件或者安装于服务器上的软件或固件等,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,设备实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
本申请实施例提供的登录验证装置,服务器仅存有用户账号密码的哈希值,即使服务器的数据遭到泄露,非法者也无法反推出用户的账号密码。
且本申请实施例是通过零知识证明方式进行登录,使得客户端能够在不向服务器提供账号密码的情况下,让服务器确认客户端的身份是正确的,避免了该过程中的账号密码泄露。
另外,通过服务器在每次证明过程中返回的随机串,使得每次生成的零知识证明信息都不相同,即使传输过程中数据遭到泄露,也能够防止非法者破解出登录方式,有效保证了用户的个人信息安全。
实施例五
本申请实施例还提供了一种电子设备,如图5所示,图5所示的电子设50包括包括:处理器501和存储器502,存储器502存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器501加载并执行以实现实施例一或实施例二所示的方法。
其中,当处理器501加载并执行以实现实施例一所示的方法时,电子设备50为安装有客户端的计算机、平板电脑、移动终端等通用电子设备。当处理器501加载并执行以实现实施例二所示的方法时,电子设备50为服务器。
需要说明的是,实际应用中,该电子设备的结构并不构成对本申请实施例的限定。
其中,处理器501可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器501也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器502可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
本申请实施例还提供了一种计算机可读存储介质,该计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行实施例一或实施例二所示的方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (8)

1.一种登录方法,其特征在于,包括:
向服务器发送登录请求,接收服务器返回的随机串;
根据持有的账号密码及所述随机串,确定服务器所要验证的题目;其中,所述题目生成方法包括:计算所述随机串与所述账号密码的异或值;根据所述账号密码的哈希值、所述异或值、所述异或值的哈希值,确定服务器所要验证的题目;
根据所述账号密码、所述随机串及所述题目,生成登录所需的零知识证明信息;其中,所述零知识证明信息的生成方法包括:根据所述账号密码、所述随机串及所述题目,基于简洁非交互式知识论述方法,生成登录所需的零知识证明信息;
将所述零知识证明信息发送给服务器,以使得服务器根据所述零知识证明信息生成验证结果。
2.一种登录验证方法,其特征在于,包括:
接收客户端发送的登录请求,向客户端返回生成的随机串;
根据预存的客户端账号密码的哈希值及所述随机串,确定所要验证的题目;其中,所述题目生成方法包括:计算所述随机串与所述账号密码的异或值;根据所述账号密码的哈希值、所述异或值、所述异或值的哈希值,确定服务器所要验证的题目;
接收客户端发送的零知识证明信息;其中,所述零知识证明信息生成方法包括:根据所述账号密码、所述随机串及所述题目,基于简洁非交互式知识论述方法,生成登录所需的零知识证明信息;
根据所述零知识证明信息及所述题目,生成验证结果,以确定客户端的登录是否成功。
3.根据权利要求2所述的登录验证方法,其特征在于,根据所述零知识证明信息及所述题目,生成验证结果,包括:
根据所述零知识证明信息及所述题目,基于简洁非交互式知识论述方法,生成验证结果。
4.一种登录装置,其特征在于,包括:
随机串获取模块,用于向服务器发送登录请求,接收服务器返回的随机串;
题目确定模块,用于根据持有的账号密码及所述随机串,确定服务器所要验证的题目;其中,所述题目生成方法包括:计算所述随机串与所述账号密码的异或值;根据所述账号密码的哈希值、所述异或值、所述异或值的哈希值,确定服务器所要验证的题目;
零知识证明信息生成模块,用于根据所述账号密码、所述随机串及所述题目,生成登录所需的零知识证明信息;其中,所述零知识证明信息生成方法包括:根据所述账号密码、所述随机串及所述题目,基于简洁非交互式知识论述方法,生成登录所需的零知识证明信息;
登录模块,用于将所述零知识证明信息发送给服务器,以使得服务器根据所述零知识证明信息生成验证结果。
5.一种登录验证装置,其特征在于,包括:
随机串生成模块,用于接收客户端发送的登录请求,向客户端返回生成的随机串;
题目确定模块,用于根据预存的客户端账号密码的哈希值及所述随机串,确定所要验证的题目;其中,所述题目生成方法包括:计算所述随机串与所述账号密码的异或值;根据所述账号密码的哈希值、所述异或值、所述异或值的哈希值,确定服务器所要验证的题目;
零知识证明信息接收模块,用于接收客户端发送的零知识证明信息;其中,所述零知识证明信息生成方法包括:根据所述账号密码、所述随机串及所述题目,基于简洁非交互式知识论述方法,生成登录所需的零知识证明信息;
登录验证模块,用于根据所述零知识证明信息及所述题目,生成验证结果,以确定客户端的登录是否成功。
6.根据权利要求5所述的登录验证装置,其特征在于,所述登录验证模块具体用于根据所述零知识证明信息及所述题目,基于简洁非交互式知识论述方法,生成验证结果。
7.一种电子设备,其特征在于,其包括:
处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-3任一所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1-3中任一项所述的方法。
CN201810663253.5A 2018-06-25 2018-06-25 登录方法、登录验证方法以及相应的装置、电子设备 Active CN108769061B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810663253.5A CN108769061B (zh) 2018-06-25 2018-06-25 登录方法、登录验证方法以及相应的装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810663253.5A CN108769061B (zh) 2018-06-25 2018-06-25 登录方法、登录验证方法以及相应的装置、电子设备

Publications (2)

Publication Number Publication Date
CN108769061A CN108769061A (zh) 2018-11-06
CN108769061B true CN108769061B (zh) 2021-04-06

Family

ID=63977056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810663253.5A Active CN108769061B (zh) 2018-06-25 2018-06-25 登录方法、登录验证方法以及相应的装置、电子设备

Country Status (1)

Country Link
CN (1) CN108769061B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111970177B (zh) * 2019-05-20 2021-09-24 杭州海康威视数字技术股份有限公司 一种设备接入方法、装置及设备
CN110166234A (zh) * 2019-05-21 2019-08-23 阿里巴巴集团控股有限公司 一种业务密钥创建与业务数据加密方法、装置及系统
CN110120872B (zh) * 2019-06-03 2020-02-11 卓尔智联(武汉)研究院有限公司 交互式登录验证装置、方法及计算机可读存储介质
CN110995438B (zh) * 2019-10-24 2022-07-12 南京可信区块链与算法经济研究院有限公司 一种非交互零知识证明方法、系统及存储介质
CN111817856B (zh) * 2020-06-30 2023-03-24 北京安御道合科技有限公司 基于零知识证明和密码技术的身份认证方法及认证系统
CN111931209B (zh) * 2020-08-18 2024-03-22 金网络(北京)数字科技有限公司 基于零知识证明的合同信息验证方法及装置
CN112202551B (zh) * 2020-09-23 2022-09-27 中国建设银行股份有限公司 基于零知识证明的密码验证方法、装置及电子设备
CN113472807B (zh) * 2021-02-22 2023-03-21 支付宝(杭州)信息技术有限公司 用户间的隐私通信方法和装置
CN117034232A (zh) * 2023-10-08 2023-11-10 上海特高信息技术有限公司 一种基于零知识证明的用户身份安全检验方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969377A (zh) * 2010-10-09 2011-02-09 成都市华为赛门铁克科技有限公司 零知识身份认证方法和系统
CN105024823A (zh) * 2015-07-27 2015-11-04 中国船舶重工集团公司第七0九研究所 基于零知识证明的用户身份隐私保护方法及系统
CN106789069A (zh) * 2016-12-20 2017-05-31 中国电子科技集团公司第三十研究所 一种零知识身份认证方法
CN107508686A (zh) * 2017-10-18 2017-12-22 克洛斯比尔有限公司 身份认证方法和系统以及计算设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018009612A1 (en) * 2016-07-06 2018-01-11 Patient Doctor Technologies, Inc. Secure and zero knowledge data sharing for cloud applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969377A (zh) * 2010-10-09 2011-02-09 成都市华为赛门铁克科技有限公司 零知识身份认证方法和系统
CN105024823A (zh) * 2015-07-27 2015-11-04 中国船舶重工集团公司第七0九研究所 基于零知识证明的用户身份隐私保护方法及系统
CN106789069A (zh) * 2016-12-20 2017-05-31 中国电子科技集团公司第三十研究所 一种零知识身份认证方法
CN107508686A (zh) * 2017-10-18 2017-12-22 克洛斯比尔有限公司 身份认证方法和系统以及计算设备和存储介质

Also Published As

Publication number Publication date
CN108769061A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN108769061B (zh) 登录方法、登录验证方法以及相应的装置、电子设备
CN109922077B (zh) 一种基于区块链的身份认证方法及其系统
US11281762B2 (en) Method and apparatus for facilitating the login of an account
US8510556B2 (en) Authentication method, system, server, and user node
KR101486782B1 (ko) 무한 중첩된 해시 체인들에 의한 1회용 패스워드 인증
CN102201915B (zh) 一种基于单点登录的终端认证方法和装置
US8850542B2 (en) Code-based authorization of mobile device
US7882359B2 (en) Method and system for user attestation-signatures with attributes
CN113569294B (zh) 一种零知识证明方法及装置、电子设备、存储介质
US9667428B2 (en) Production of cryptographic signatures
CN104917766A (zh) 一种二维码安全认证方法
JP2015525932A (ja) ログイン検証の方法、クライアント、サーバ、およびシステム
US11296881B2 (en) Using IP heuristics to protect access tokens from theft and replay
CN101964789B (zh) 安全访问受保护资源的方法及系统
Xie et al. Cryptanalysis and security enhancement of a robust two‐factor authentication and key agreement protocol
CN109347864B (zh) 基于虚拟专用网络的单点登录方法及装置
WO2021143457A1 (zh) 基于sm9算法的身份认证方法、装置和计算机设备
CN105099707A (zh) 一种离线认证方法、服务器及系统
Chen et al. Security analysis and improvement of user authentication framework for cloud computing
JP2007508765A (ja) セキュリティモジュールを有するユーザ装置により実行できる処理に対するプライバシの維持
CN105743854A (zh) 安全认证系统及方法
KR20200125279A (ko) 블록 체인기반의 사용자 인증 방법, 시스템
CN116170144B (zh) 智能电网匿名认证方法、电子设备及存储介质
CN105577606A (zh) 一种实现认证器注册的方法和装置
CN114244531A (zh) 基于强puf的轻量级自更新消息认证方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant