CN114826614A - 一种可认证密码库文件分布式存储方法、装置和电子设备 - Google Patents

一种可认证密码库文件分布式存储方法、装置和电子设备 Download PDF

Info

Publication number
CN114826614A
CN114826614A CN202210429194.1A CN202210429194A CN114826614A CN 114826614 A CN114826614 A CN 114826614A CN 202210429194 A CN202210429194 A CN 202210429194A CN 114826614 A CN114826614 A CN 114826614A
Authority
CN
China
Prior art keywords
client
authentication
library file
distribution server
password
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.)
Granted
Application number
CN202210429194.1A
Other languages
English (en)
Other versions
CN114826614B (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.)
Antiy Technology Group Co Ltd
Original Assignee
Antiy Technology Group 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 Antiy Technology Group Co Ltd filed Critical Antiy Technology Group Co Ltd
Priority to CN202210429194.1A priority Critical patent/CN114826614B/zh
Publication of CN114826614A publication Critical patent/CN114826614A/zh
Application granted granted Critical
Publication of CN114826614B publication Critical patent/CN114826614B/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Abstract

本发明的实施例公开可认证密码库文件分布式存储方法、装置和电子设备,涉及密码认证技术领域。所述方法用于认证与分发服务器,包括:获取客户端的密码库文件;基于零知识证明技术对所述客户端进行身份认证;若所述客户端身份认证通过,则通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储;其中,所述第一数量为所述服务器节点集群内服务器节点的总数。本发明能有效地认证客户端身份信息,并提高密码库文件的安全性和稳定性。

Description

一种可认证密码库文件分布式存储方法、装置和电子设备
技术领域
本发明涉及密码认证技术领域,尤其涉及一种可认证密码库文件分布式存储方法、装置、电子设备和计算机可读存储介质。
背景技术
随着数据安全法的颁布和实施,个人身份隐私及数据安全需求得到了巨大的关注。密码管理工具能够通过一个主密码将个人相关的多个账号密码进行统一集中的安全管理,从而避免了记忆多个账号密码的问题。但是,密码管理软件都会面临两大难题,一是在移动互联网时代,密码库文件需要存储在云端,才能实现处处可访问的应用需求;二是主密码的安全性直接关系到用户相关的一系列账号密码信息,主密码安全性至关重要。
将密码库文件存储在云端可以解决在移动互联网时代处处可访问的应用需求,但是也存在安全隐患,例如云服务提供商可能对用户存储在云端的密码库文件进行暴力破解,亦或者云端服务器故障导致密码库文件无法访问等。因此如何将密码库文件安全的存储在云端进行共享是急需解决的问题。
同时,一般客户端与服务器之间进行认证都是通过口令密码的方式进行,这种方式相对简单,认证的安全性都完全依赖口令密码的安全性。一旦用户的口令密码遭到泄漏或者在网络中被黑客拦截获取,拿到用户口令和密码的任何人都可以冒充合法用户通过认证服务器的权限认证,存在较大的安全隐患。
发明内容
有鉴于此,本发明实施例提供一种可认证密码库文件分布式存储方法、装置、电子设备和计算机可读存储介质,用于解决现有的用户身份认证方式的安全性和可靠性不够高,密码库文件不够安全的问题。
第一方面,本发明实施例提供可认证密码库文件分布式存储方法,用于认证与分发服务器,包括:
获取客户端的密码库文件;
基于零知识证明技术对所述客户端进行身份认证;
若所述客户端身份认证通过,则通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储;其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
第二方面,本发明实施例提供可认证密码库文件分布式存储方法,用于客户端,该方法包括:
向认证与分发服务器发送客户端的密码库文件;
基于零知识证明技术向所述认证与分发服务器认证身份,以使所述认证与分发服务器在所述客户端身份认证通过后,通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储;其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
第三方面,本发明实施例提供可认证密码库文件分布式存储装置,用于认证与分发服务器,所述装置包括:
第一接收模块,用于获取客户端的密码库文件;
第一认证模块,用于在所述第一接收模块获取到所述客户端的密码库文件后,基于零知识证明技术对所述客户端进行身份认证;
分割存储模块,用于在所述第一认证模块在所述第一接收模块获取到所述客户端的密码库文件后,基于零知识证明技术对所述客户端身份认证通过时,通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储;其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
第四方面,本发明实施例提供可认证密码库文件分布式存储装置,用于客户端,所述装置包括:
第二发送模块,用于向认证与分发服务器发送客户端密码库文件;
第二认证模块,用于在所述第二发送模块向认证与分发服务器发送所述客户端密码库文件后,基于零知识证明技术向所述认证与分发服务器认证身份,以使所述认证与分发服务器在所述客户端身份认证通过后,通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储;其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
第五方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一项实施例所述的用于认证与分发服务器的可认证密码库文件分布式存储方法。
第六方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一项实施例所述的用于客户端的可认证密码库文件分布式存储方法。
第七方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明实施例提供的任一种用于认证与分发服务器的可认证密码库文件分布式存储方法。
第八方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明实施例提供的任一种用于客户端的可认证密码库文件分布式存储方法。
本发明实施例提供的可认证密码库文件分布式存储方法、装置、电子设备和计算机可读存储介质,首先认证与分发服务器采用零知识证明技术对客户端进行身份认证,身份认证通过后,接着将客户端上传的密码库文件,通过门限方案,分成多个的密码库分片文件分发给服务器节点集群进行分布式存储。本发明通过零知识认证技术使得认证与分发服务器在不访问客户端隐私数据的前提下对客户端进行认证,保护了客户端的数据隐私;同时通过门限方案提高了密码库文件在云端存储的安全性和可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明提供的用于认证与分发服务器的可认证密码库文件分布式存储方法实施例一的流程图;
图2为本发明提供的用于认证与分发服务器的可认证密码库文件分布式存储方法实施例二的流程图;
图3为本发明提供的用于认证与分发服务器的可认证密码库文件分布式存储方法实施例三的流程图;
图4为本发明提供的用于客户端的可认证密码库文件分布式存储方法实施例一的流程图;
图5为本发明提供的用于客户端的可认证密码库文件分布式存储方法实施例二的流程图;
图6为本发明提供的用于客户端的可认证密码库文件分布式存储方法实施例三的流程图;
图7为本发明提供的用于认证与分发服务器的可认证密码库文件分布式存储装置实施例一的结构示意图;
图8为本发明提供的用于认证与分发服务器的可认证密码库文件分布式存储装置实施例二的结构示意图;
图9为本发明提供的用于认证与分发服务器的可认证密码库文件分布式存储装置实施例三的结构示意图;
图10为本发明提供的用于认证与分发服务器的可认证密码库文件分布式存储装置实施例四的结构示意图;
图11为本发明提供的用于客户端的可认证密码库文件分布式存储装置实施例一的结构示意图;
图12为本发明提供的用于客户端的可认证密码库文件分布式存储装置实施例二的结构示意图;
图13为本发明提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图对本发明实施例提供的可认证密码库文件分布式存储方法进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明提供的可认证密码库文件分布式存储方法实施例一的流程图,如图1所示,本实施例的方法用于认证与分发服务器,可以包括以下步骤S101-S103:
S101:获取客户端的密码库文件。
本实施例中,客户端需要在认证与分发服务器端存储密码库文件时,首先向认证与分发服务器发送密码库文件上传请求,例如通过TCP协议向认证与分发服务器发送密码库文件上传请求,则认证与分发服务器与所述客户端握手成功后,认证与分发服务器通过可靠传输途径获取客户端的密码库文件。
本实施例中,密码库文件为客户端应用的账号和密码信息,此文件受到密码文件主密钥的保护,在客户端向认证与分发服务器发送密码库文件时,不包括密码库文件主密钥信息,则密码库文件在传输过程中被恶意截获也无法被解密打开,从而保证了密码库文件的安全。
S102:基于零知识证明技术对所述客户端进行身份认证;认证通过则执行S103。
本实施例中,在基于零知识证明技术对所述客户端进行身份认证后,认证与分发服务器还可以向客户端发送身份认证结果,例如在身份认证不通过时向客户端返回认证失败的消息。
本实施例中,认证与分发服务器基于零知识证明技术对客户端身份进行认证,保证了上传密码库文件的客户端的合法性。验证过程不需要客户端上传身份信息,从而也保证了客户端身份信息的安全。
S103:通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储。
其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
本实施例中,利用门限方案对密码库文件进行分割,使得单独的云服务器(即服务器节点)只保存部分密码库文件,而多个云服务器组合才能最终还原整个密码库文件,如果黑客恶意想获取密码库文件,只能在多个服务器节点被恶意攻破的情况下,才能获得完整的密码库文件,从而提高了密码库文件在云端存储的安全性和可靠性。
本发明实施例提供的可认证密码库文件分布式存储方法,首先认证与分发服务器采用零知识证明技术对客户端进行身份认证,身份认证通过后,接着将客户端上传的密码库文件,通过门限方案,分成多个密码库分片文件分发给服务器节点进行存储。本发明通过零知识认证技术使得认证与分发服务器在不访问客户端隐私数据的前提下对客户端进行认证,保护了客户端的数据隐私;同时通过门限方案提高了密码库文件在云端存储的安全性和可靠性。
图2为本发明提供的用于认证与分发服务器的可认证密码库文件分布式存储方法实施例二的流程图,如图2所示,本实施例的方法用于认证与分发服务器,可以包括以下步骤S201-S209:
S201:获取客户端的密码库文件。
S202:基于零知识证明技术对所述客户端进行身份认证;认证通过则执行S203。
S203:通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储。
其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
本实施例中,步骤S201-203的具体实施方法和上述步骤S101-S103类似,此处不再赘述。
S204:向所述客户端返回密码库文件上传结果。
本实施例中,认证与分发服务器将密码库文件分发给多个服务器节点后,将密码库文件存储成功的消息发送给客户端,避免客户端重复发送密码库文件,从而有效地提高了系统性能。
S205:接收客户端的密码库文件读取请求。
值得说明的是,本步骤S205在S204之后的意思是指当前发送的密码库文件读取请求所要请求读取的密码库文件必须是在S204之前已经上传了的密码库文件,否则不能正常请求到密码库文件。实际上本步骤S205的执行并不依赖于S201-S204,即在任何时候客户端都可以向认证与分发服务器发起密码库文件读取请求。
S206:基于零知识证明技术对所述客户端进行身份认证,认证通过后执行S207。
本实施例中,步骤S206与步骤S202中基于零知识证明技术认证客户端身份的方法相同,此处不再赘述。
S207:收集所述服务器节点集群内第二数量个任意不同服务器节点上所述客户端对应的密码库分片。
其中,所述第二数量小于所述第一数量,第二数量的取值在认证与分发服务器初始化时预先确定。即:若所述服务器节点集群包括w个服务器节点,则认证与分发服务器初始化时预设第二数量为t,需要满足0<t<w,则此步骤从所述服务器节点集群中任意t个服务器节点处获取客户端对应的密码库分片。
S208:将收集到的第二数量个密码库分片进行组装,恢复出完整的所述客户端的密码库文件。
S209:将所述客户端的密码库文件发送给所述客户端。
作为一可选实施例,步骤S203中认证与分发服务器通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件的方法,可以包括以下步骤S2031-S2035:
S2031:随机生成t-1个随机系数a1、a2、...at-1;t为所述第二数量。
S2032:根据所述随机系数和所述客户端的密码库文件构造第一函数式。
其中,所述第一函数式y(x)为求取第一多项式F(x)和第一素数m的余数,即y(x)=F(x)mod m;所述第一多项式F(x)为以所述客户端的密码库文件为常数,以所述t-1个随机系数为第一变量x的系数的一元t-1次多项式,即F(x)=PF+a1*x1+a2*x2+…+at-1*xt-1;所述第一素数m为可信第三方预先生成并提供的,所述第一素数大于所述客户端的密码库文件;其中,PF为所述客户端的密码库文件,且满足PF<m;符号mod表示求mod前的数除以mod后的数的余数。值得说明的是,此步骤中,若当前PF不满足条件PF<m,则可信第三方需要重新初始化,生成一个大素数m发送给认证与分发服务器。
S2033:取第一数量个不相等的第一变量值(x1,x2,...,xi)分别代入所述第一函数式中计算,得到第一数量个二元组(x1,y1),(x2,y2),…,(xw,yw);其中,w为所述第一数量,yi为第i个第一变量值xi对应的第一函数式的函数值。
此步骤中,随机取第一数量个不相等的第一变量值分别代入所述第一函数式中计算。
S2034:将所述第一数量个二元组作为所述客户端对应的第一数量份密码库分片文件。
S2035:公开所述第一素数并销毁所述第一函数式。
本步骤中,认证与分发服务器将第一素数m与客户端关联记录,或者客户端获知认证与分发服务器公开的第一素数m时,将其与自身标识关联,以便在客户端后续请求密码库文件时,认证与分发服务器根据该第一素数m时,恢复该客户端的完整密码库文件。
作为一可选实施例,步骤S208,可以包括以下步骤S2081-S2082:
S2081:根据收集到的第二数量个密码库分片(x1,y1),(x2,y2),…,(xw,yw),构造第二函数式。
其中,所述第二函数式为
Figure BDA0003611090410000091
本步骤中,认证与分发服务器根据收集到的第二数量个密码库分片以及之前公开的第一素数m构造第二函数式。
S2082:将x′=0代入所述第二函数式进行计算,将得到的计算结果F′(0)作为所述客户端的密码库文件。
本发明实施例提供的可认证密码库文件分布式存储方法,认证与分发服务器通过与客户端进行交互,对客户端身份进行零知识认证,通过门限方案将认证通过的用户对应的密码库文件进行分割,分发到不同的服务器集群节点。并且认证通过后的客户端向认证与分发服务器发起读取密码库文件时,认证与分发服务器收集预设数量的服务器节点上的密码库分片并进行组装,即可恢复密码库文件发送给客户端,从而有效地避免了客户端身份信息泄漏,提高了密码库文件的安全性和稳定性。
图3为本发明提供的可认证密码库文件分布式存储方法实施例三的流程图,如图3所示,本实施例的方法用于认证与分发服务器,可以包括以下步骤S301-S305:
S301:接收可信第三方发来的所述可信第三方采用非对称密钥生成算法预先生成的密钥对中的公开密钥(v,n)。
其中,所述n为所述可信第三方根据自身随机生成的预设位数的第二素数p和第三素数q所计算的第二素数p和第三素数q的乘积n=p*q,所述v为所述可信第三方随机生成的包含第三数量个元素的第一集合v=[v1,v2,...,vk],k为第三数量,第三数量的取值在可信第三方初始化时预先确定。优选地,所述预设位数为1024位。
具体地,系统初始化时,可信第三方在生成第二素数p和第三素数q的同时,还生成所述第一素数m,此步骤301中,认证与分发服务器除了接收可信第三方发来的公开密钥(v,n)外,同时还接收所述可信第三方发来的第一素数m。
本实施例中,可信第三方为客户端和认证与分发服务器都信赖的中间方,不会参与客户端和认证与分发服务器之间的通信,类似CA(证书颁发机构),由其生成客户端公开密钥和私人密钥,并分别发送给认证与分发服务器和客户端,便于后续认证与分发服务器根据公开密钥对客户端私人密钥进行类似验签的操作,从而实现零知识对客户端进行身份认证,有效地保护了客户端的身份信息。
S302:获取客户端的密码库文件。
S303:根据所述公开密钥,基于零知识证明技术对所述客户端进行身份认证,认证通过后执行S304。
S304:通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储。
其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
S305:向所述客户端返回密码库文件上传结果。
作为一可选实施例,步骤S304,可以包括以下步骤S3041-S3046:
S3041:记录所述客户端发来的请求认证值。
其中,所述请求认证值为所述客户端根据第一公式z≡r2 mod n确定得到的z;第一公式中,所述r为所述客户端在收到所述可信第三方发来的私人密钥(s,n)后随机生成的一个小于所述乘积n的第一随机数;所述私人密钥(s,n)为所述可信第三方生成的所述密钥对中与所述公开密钥对应的私人密钥,s为所述可信第三方根据预设条件
Figure BDA0003611090410000101
确定得到的包含第三数量个元素的第二集合s=[s1,s2,...,sk],符号≡为同余符号,即第一公式为z与r2对模n同余,所述预设条件为
Figure BDA0003611090410000102
与vi对模n同余;。
S3042:随机生成包含第三数量个二进制数的第三集合b=[b1,b2,..,bk]发送给所述客户端。
S3043:记录所述客户端发来的过程值。
其中,所述过程值为所述客户端根据所述第一随机数以及所述第三集合和所述私人密钥,基于第二公式
Figure BDA0003611090410000103
确定的d值,即:所述第二公式为d与
Figure BDA0003611090410000104
对模n同余。
S3044:根据所述请求认证值、过程值和公开密钥,判断第三公式
Figure BDA0003611090410000111
是否成立,是则执行S3045,否则执行S3046。
其中,所述第三公式为所述客户端发来的请求认证值z与
Figure BDA0003611090410000112
对模n同余。
S3045:确定基于零知识证明技术对所述客户端身份认证通过。
S3046:确定基于零知识证明技术对所述客户端身份认证不通过。
本实施例提供的可认证密码库文件分布式存储方法,首先让可信第三方生成非对称密钥,并将对应的公开密钥发给认证与分发服务器,将私人密钥信息发送给客户端;接着认证与分发服务器根据公开密钥对客户端的私人密钥处理后的信息进行认证操作,整个认证过程无需客户端发送任何身份信息,也无需发送私人密钥信息,有效地提高了客户端的身份信息安全性。
图4为本发明提供的另一种可认证密码库文件分布式存储方法实施例一的流程图,如图4所示,本实施例的方法用于客户端,可以包括以下步骤:
S401:向认证与分发服务器发送客户端密码库文件。
如S101中所述,客户端需要在认证与分发服务器端存储密码库文件时,首先向认证与分发服务器发送密码库文件上传请求,例如通过TCP协议向认证与分发服务器发送密码库文件上传请求,则认证与分发服务器与所述客户端握手成功后,客户端通过可靠传输途径向认证与分发服务器发送的客户端密码库文件。
S402:基于零知识证明技术向所述认证与分发服务器认证身份。
本实施例中,客户端基于零知识证明技术向所述认证与分发服务器认证身份,以使所述认证与分发服务器在所述客户端身份认证通过后,通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储;其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
作为一可选实施例,如图4所示,在步骤S402之后,还可以包括步骤S403-S406:
S403:接收所述认证与分发服务器返回的密码库文件上传结果。
S404:向所述认证与分发服务器发送密码库文件读取请求。
值得说明的是,本步骤S404在S403之后的意思是指当前发送的密码库文件读取请求所要请求读取的密码库文件必须是在S403之前已经上传了的密码库文件,否则不能正常请求到该密码库文件。实际上本步骤S404的执行并不依赖于S401-S403,即在任何时候客户端都可以向认证与分发服务器发起密码库文件读取请求。
S405:基于零知识证明技术向所述认证与分发服务器认证身份。
本实施例中,客户端基于零知识证明技术向所述认证与分发服务器认证身份,以使所述认证与分发服务器在所述客户端身份认证通过后,收集所述服务器节点集群内第二数量个任意不同服务器节点上所述客户端对应的密码库分片,并将所述第二数量个密码库分片进行组装,恢复出完整的所述客户端的密码库文件;其中,所述第二数量小于所述第一数量。
S406:接收所述认证与分发服务器发来的所述完整的所述客户端的密码库文件。
本实施例中,客户端向认证与分发服务器发起存储和读取密码库文件时,认证与分发服务器在存储密码库文件过程中,会将密码库文件进行分片存储在多个服务器节点中;在客户端读取密码库文件时,认证与分发服务器也是从多个服务器节点中读取密码库分片信息,然后将这些分片信息进行组装,恢复为完成的密码库文件,整个过程中,每个服务器节点只是存储了密码库文件的分片,即使某个服务器节点被恶意破坏,也不会让密码库文件泄漏,从而有效地提高了密码库文件的安全性。
图5为本发明提供的用于客户端的可认证密码库文件分布式存储方法实施例二的流程图,如图5所示,本实施例的方法可以包括以下步骤S501-S504:
S501:接收可信第三方发来的所述可信第三方采用非对称密钥生成算法预先生成的密钥对中的私人密钥(s,n)。
其中,所述n为所述可信第三方根据自身随机生成的预设位数的第二素数p和第三素数q所计算的第二素数p和第三素数q的乘积n=p*q,s为所述可信第三方根据预设条件
Figure BDA0003611090410000131
确定得到的包含第三数量个元素的第二集合s=[s1,s2,...,sk],vi为所述可信第三方随机生成的包含第三数量个元素的第一集合v=[v1,v2,...,vk]中的第i个元素,k为第三数量,符号≡为同余符号;
S502:向认证与分发服务器发送客户端密码库文件。
S503:根据所述私人密钥,基于零知识证明技术向所述认证与分发服务器认证身份。
S504:接收所述认证与分发服务器返回的密码库文件上传结果。
作为一可选实施例,步骤S503,可以包括如下步骤S5031-S5035:
S5031:随机生成一小于所述乘积n的第一随机数r。
S5032:根据第一公式z≡r2 mod n确定得到请求认证值z,并将所述请求认证值发送给所述认证与分发服务器。
其中,所述第一公式为z与r2对模n同余。
S5033:记录所述认证与分发服务器发来的第三集合;所述第三集合为所述认证与分发服务器根据所述可信第三方发来的公开密钥(v,n)随机生成的包含第三数量个二进制数的集合b=[b1,b2,...,bk];
S5034:根据所述第一随机数以及所述第三集合和所述私人密钥,基于第二公式
Figure BDA0003611090410000132
确定过程值d,并将所述过程值发送给所述认证与分发服务器,以使所述认证与分发服务器根据所述请求认证值、过程值和公开密钥,判断第三公式
Figure BDA0003611090410000133
是否成立,是则执行S5034,否则执行S5035。
其中,所述第二公式为d与
Figure BDA0003611090410000134
对模n同余;所述第三公式为所述客户端发来的请求认证值z与
Figure BDA0003611090410000135
对模n同余。
S5034:确定所述客户端基于零知识证明技术认证身份通过。
S5035:确定所述客户端基于零知识证明技术认证身份不通过。
本实施例提供的可认证密码库文件分布式存储方法,先让可信第三方生成非对称密钥,并将私人密钥信息发送给客户端;接着客户端使用私人密码信息处理随机生成的数字和二进制数的集合,并将处理结果发送给认证与分发服务器,认证与分发服务器即可根据公开密钥,基于零知识证明技术对所述客户端进行身份认证。整个过程无需客户端发送任何身份信息,也无需发送私人密钥信息,有效地提高了客户端的身份信息。
以下以可信第三方、客户端、服务器对本发明提供的可认证密码库文件分布式存储方法进行详细说明。图6为本发明提供的可认证密码库文件分布式存储方法的系统流程图,如图6所示,所述方法可以包括以下步骤S601-S616:
S601:可信第三方随机生成一个第一素数m和1024位的第二素数p、第三素数q,并计算乘积n=p*q。
S602:可信第三方随机生成包含第三数量个元素的第一集合v;
其中,第一集合可以表达为v=[v1,v2,...,vk],k为预设的第三数量。
S603:可信第三方根据第一条件
Figure BDA0003611090410000141
确定得到的包含第三数量个元素的第二集合s。
其中,符号≡为同余符号,第二集合可以表达为s=[s1,s2,...,sk]。
S604:可信第三方将(s,n)作为私人密钥和发送给客户端,并将(v,n)作为公开密钥与第一素数m一起发送给认证与分发服务器。
其中,可信第三方将第二集合s通过安全信道发送给客户端。
本实施例中,步骤S601-S604为由客户端、认证与分发服务器、可信第三方和服务器节点集群组成的可认证密码库文件分布式存储系统的初始化阶段步骤。
S605:客户端向认证与分发服务器发送客户端密码库文件上传请求。
S606:认证与分发服务器确认客户端的密码库文件上传请求。
S607:认证与分发服务器获取客户端密码库文件.
S608:客户端随机生成一小于所述乘积n的第一随机数r,根据第一公式z≡r2 modn确定得到请求认证值z,并将所述请求认证值发送给所述认证与分发服务器。
S609:认证与分发服务器记录所述客户端发来的请求认证值z,随机生成包含第三数量个二进制数的第三集合b发送给所述客户端。
其中,第三集合可以表达为b=[b1,b2,..,bk]。
S610:客户端根据所述第一随机数r以及所述第三集合b和所述私人密钥(s,n),基于第二公式
Figure BDA0003611090410000151
确定过程值d,并将所述过程值d发送给认证与分发服务器;
S611:认证与分发服务器根据所述请求认证值、过程值和公开密钥,判断第三公式
Figure BDA0003611090410000152
是否成立,是则确定基于零知识证明技术对所述客户端身份认证通过,继续执行S613,否则确定基于零知识证明技术对所述客户端身份认证不通过,执行S612。
S612:认证与分发服务器向客户端返回身份认证失败的消息。
S613:认证与分发服务器通过门限方案将客户端的密码库文件分割为第一数量份密码库分片文件。
本步骤的具体实施方法和上述步骤S2031-S2035类似,此处不再赘述。
S614:认证与分发服务器将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储。
本步骤中,认证与分发服务器向服务器节点集群发送密码库分片文件上传请求,服务器节点集群确认该上传请求后,认证与分发服务器将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储。
S615:认证与分发服务器向客户端返回密码库文件上传结果。
进一步地,如图6中所示,在步骤S614之后,该方法还可以包括:
S616:客户端向认证与分发服务器发送密码库文件读取请求。
S617:认证与分发服务器基于零知识证明技术对客户端进行身份认证。
本步骤S617的具体实施方式类似与上述步骤S608-S611,若此步骤中认证与分发服务器确定基于零知识证明技术对所述客户端身份认证通过,则继续执行S618,否则执行S612。
S618:认证与分发服务器收集所述服务器节点集群内第二数量个任意不同服务器节点上所述客户端对应的密码库分片。
本步骤中,认证与分发服务器向服务器节点集群发送密码库分片文件下发请求,服务器节点集群确认该下发请求后,服务器节点集群将第二数量个不同服务器节点上所述客户端对应的密码库分片提供给认证与分发服务器。
S619:认证与分发服务器将收集到的第二数量个密码库分片进行组装,恢复出完整的客户端的密码库文件。
本步骤的具体实施方式和上述步骤S2081-S2082类似,此处不再赘述。
S620:认证与分发服务器将客户端的密码库文件发送给客户端。
本实施例提供的可认证密码库文件分布式存储方法,通过利用零知识证明技术,在客户端不泄露密码库文件对应的主密钥及身份信息的前提条件下,完成认证服务器对合法客户端的身份认证,同时恶意攻击者即使截获客户端认证信息,也无法冒充合法客户端完成认证。另外利用门限方案对密码库文件进行分割,使得单独的云服务器只保存部分密码库文件,而多个云服务器组合才能最终还原整个密码库文件,从而提高了密码库文件在云端存储的安全性和可靠性。
对应于本发明实施例提供的用于认证与分发服务器的可认证密码库文件分布式存储方法,本发明实施例还提供了可认证密码库文件分布式存储装置,如图7所示,该装置用于认证与分发服务器,包括:第一接收模块1、第一认证模块2、分割存储模块3。
第一接收模块1,用于根据客户端的密码库文件上传请求,获取客户端的密码库文件。优选地,第一接收模块1,还用于接收可信第三方发来的所述可信第三方采用非对称密钥生成算法预先生成的密钥对中的公开密钥(v,n);其中,所述n为所述可信第三方根据自身随机生成的预设位数的第二素数p和第三素数q所计算的第二素数p和第三素数q的乘积n=p*q,所述v为所述可信第三方随机生成的包含第三数量个元素的第一集合v=[v1,v2,...,vk],k为第三数量。
第一认证模块2,用于在第一接收模块1获取到所述客户端的密码库文件后,基于零知识证明技术对所述客户端进行身份认证。优选地,第一认证模块2,具体用于根据所述公开密钥,基于零知识证明技术对所述客户端进行身份认证。
分割存储模块3,用于在第一认证模块2在第一接收模块1获取到所述客户端的密码库文件后,基于零知识证明技术对所述客户端身份认证通过时,通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储;其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
优选地,图7所示可认证密码库文件分布式存储装置还包括:第一发送模块4,用于向所述客户端返回密码库文件上传结果。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明提供的用于认证与分发服务器的可认证密码库文件分布式存储装置实施例二的结构示意图。参看图8,本实施例是在图7所示实施例一的结构的基础上,进一步地,
第一接收模块1,还用于接收客户端的密码库文件读取请求。
所述装置还包括:收集模块5和组装模块6;
收集模块5,用于在第一认证模块2根据所述客户端的密码库文件读取请求,基于零知识证明技术对所述客户端身份认证通过时,收集所述服务器节点集群内第二数量个任意不同服务器节点上所述客户端对应的密码库分片;其中,所述第二数量小于所述第一数量。
组装模块6,用于将收集模块5收集到的第二数量个密码库分片进行组装,恢复出完整的所述客户端的密码库文件。
第一发送模块4,还用于将所述客户端的密码库文件发送给所述客户端。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明提供的用于认证与分发服务器的可认证密码库文件分布式存储装置实施例三的结构示意图。参看图9,本实施例是在图8所示实施例二的结构的基础上,进一步地,分割存储模块3,包括:
第一生成子模块31,用于在第一认证模块2在第一接收模块1获取到所述客户端的密码库文件后,基于零知识证明技术对所述客户端身份认证通过时,随机生成t-1个随机系数a1、a2、...at-1;t为所述第二数量。
构造子模块32,用于根据所述随机系数和所述客户端的密码库文件构造第一函数式y(x)=PF+a1*x1+a2*x2+…+at-1*xt-1mod m;其中,PF为所述客户端的密码库文件,m为可信第三方预先生成并提供的第一素数,且满足PF<m;符号mod表示求mod前的数除以mod后的数的余数。
第一计算子模块33,用于取第一数量个不相等的第一变量值分别代入所述第一函数式中计算,得到第一数量个二元组(x1,y1),(x2,y2),…,(xw,yw);其中,yi为第i个第一变量值xi对应的第一函数式的函数值。
分发存储子模块34,用于将第一计算子模块34计算得到的第一数量个二元组作为所述客户端对应的第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储。
公开子模块35,用于公开所述第一素数并销毁所述第一函数式。
优选地,组装模块6,具体用于根据收集到的第二数量个密码库分片(x1,y1),(x2,y2),…,(xw,yw),构造第二函数式
Figure BDA0003611090410000181
随后将x′=0代入所述第二函数式进行计算,将得到的计算结果F′(0)作为所述客户端的密码库文件。
本实施例的装置,可以用于执行图1或图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图10为本发明提供的用于认证与分发服务器的可认证密码库文件分布式存储装置实施例四的结构示意图。参看图10,本实施例是在图7所示实施例一的结构的基础上,进一步地,第一认证模块2,包括:
第一记录子模块21,用于记录所述客户端发来的请求认证值;所述请求认证值为所述客户端根据第一公式
Figure BDA0003611090410000182
确定得到的z值;其中,所述r为所述客户端在收到所述可信第三方发来的私人密钥(s,n)后随机生成的一个小于所述乘积n的第一随机数;所述私人密钥(s,n)为所述可信第三方生成的所述密钥对中与所述公开密钥对应的私人密钥,s为所述可信第三方根据条件
Figure BDA0003611090410000183
确定得到的包含第三数量个元素的第二集合s=[s1,s2,...,sk],符号
Figure BDA0003611090410000184
为同余符号。
第二生成子模块22,用于随机生成包含第三数量个二进制数的第三集合b=[b1,b2,..,bk]发送给所述客户端;
优选地,第一记录子模块21,还用于记录所述客户端发来的过程值;所述过程值为所述客户端根据所述第一随机数以及所述第三集合和所述私人密钥,基于第二公式
Figure BDA0003611090410000191
确定的d值;。
第一认证子模块23,用于根据所述请求认证值、过程值和公开密钥,判断第三公式
Figure BDA0003611090410000192
是否成立,是则确定基于零知识证明技术对所述客户端身份认证通过,否则确定基于零知识证明技术对所述客户端身份认证不通过。
本实施例的装置,可以用于执行用于前述认证与分发服务器的可认证密码库文件分布式存储方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
对应于本发明实施例提供的用于客户端的可认证密码库文件分布式存储方法,本发明实施例还提供了可认证密码库文件分布式存储装置,如图11所示,该装置用于客户端,包括:第二发送模块7、第二认证模块8和第二接收模块9。
第二发送模块7,用于向认证与分发服务器发送客户端密码库文件上传请求,并在客户端密码库文件上传请求被认证与分发服务器接受后,向认证与分发服务器发送客户端的密码库文件。优选地,第二发送模块7,还用于在所述第二接收模块收到所述认证与分发服务器返回的密码库文件上传结果之后,向所述认证与分发服务器发送密码库文件读取请求。
第二认证模块8,用于在第二发送模块7向认证与分发服务器发送客户端密码库文件后,基于零知识证明技术向所述认证与分发服务器认证身份,以使所述认证与分发服务器在所述客户端身份认证通过后,通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储;其中,所述第一数量为所述服务器节点集群内服务器节点的总数。优选地,第二认证模块8,还用于在第二发送模块7向认证与分发服务器发送密码库文件读取请求后,基于零知识证明技术向所述认证与分发服务器认证身份,以使所述认证与分发服务器在所述客户端身份认证通过后,收集所述服务器节点集群内第二数量个任意不同服务器节点上所述客户端对应的密码库分片,并将所述第二数量个密码库分片进行组装,恢复出完整的所述客户端的密码库文件;其中,所述第二数量小于所述第一数量。
本实施例的装置,可以用于执行图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
作为一可选实施例,第二认证模块8,具体用于根据所述私人密钥,基于零知识证明技术向所述认证与分发服务器认证身份。
优选地,图11所示可认证密码库文件分布式存储装置还包括:第二接收模块9,用于接收所述认证与分发服务器返回的密码库文件上传结果。优选地,第二接收模块9,还用于接收所述认证与分发服务器发来的所述完整的所述客户端的密码库文件。
作为一可选实施例,第二接收模块9,还用于接收可信第三方发来的所述可信第三方采用非对称密钥生成算法预先生成的密钥对中的私人密钥(s,n);其中,所述n为所述可信第三方根据自身随机生成的预设位数的第二素数p和第三素数q所计算的第二素数p和第三素数q的乘积n=p*q,s为所述可信第三方根据预设条件
Figure BDA0003611090410000201
确定得到的包含第三数量个元素的第二集合s=[s1,s2,...,sk],vi为所述可信第三方随机生成的包含第三数量个元素的第一集合v=[v1,v2,...,vk]中的第i个元素,k为第三数量,符号≡为同余符号。
图12为本发明提供的用于客户端的可认证密码库文件分布式存储装置实施例二的结构示意图。参看图12,本实施例是在图11所示实施例五的结构的基础上,进一步地,第二认证模块8,包括:
第三生成子模块81,用于随机生成一小于所述乘积n的第一随机数r;
第二计算子模块82,用于根据第一公式z≡r2 mod n确定得到请求认证值z,并将所述请求认证值发送给所述认证与分发服务器。
第二记录子模块83,用于记录所述认证与分发服务器发来的第三集合;所述第三集合为所述认证与分发服务器根据所述可信第三方发来的公开密钥(v,n)随机生成的包含第三数量个二进制数的集合b=[b1,b2,..,bk]。
第三计算子模块84,用于根据所述第一随机数以及所述第三集合和所述私人密钥,基于第二公式
Figure BDA0003611090410000211
确定过程值d,并将所述过程值通过第二发送模块8发送给所述认证与分发服务器,以使所述认证与分发服务器根据所述请求认证值、过程值和公开密钥,判断第三公式
Figure BDA0003611090410000212
是否成立,是则确定所述客户端基于零知识证明技术认证身份通过,否则确定所述客户端基于零知识证明技术认证身份不通过。
本实施例的装置,可以用于执行前述用于客户端的可认证密码库文件分布式存储方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例还提供一种电子设备。图13为本发明提供的一种电子设备的结构示意图,可以实现本发明图1至图6所示实施例的流程,如图13所示,上述电子设备可以包括:壳体131、处理器132、存储器133、电路板134和电源电路135,其中,电路板134安置在壳体131围成的空间内部,处理器132和存储器133设置在电路板134上;电源电路135,用于为上述电子设备的各个电路或器件供电;存储器133用于存储可执行程序代码;处理器132通过读取存储器133中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的用于认证与分发服务器或用于客户端的可认证密码库文件分布式存储方法。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放模块(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种用于认证与分发服务器或用于客户端的可认证密码库文件分布式存储方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。
本发明实施例提供的可认证密码库文件分布式存储方案,通过认证与分发服务器对客户端进行身份认证,身份认证通过后,认证与分发服务器将客户端上传的密码库文件通过门限方案分成多个密码库分片文件分发给服务器节点集群进行分布式存储,能够使得认证与分发服务器在不访问客户端隐私数据的前提下对客户端进行认证,保护了客户端的数据隐私;同时通过门限方案提高了密码库文件在云端存储的安全性和可靠性。此外,基于零知识证明技术对客户端进行身份认证,通过可信第三方生成非对称密钥,根据所述非对称秘钥对进行认证操作,整个认证过程无需客户端发送任何身份信息,也无需发送私人密钥信息,有效地提高了客户端的身份信息安全性。进一步地,本发明提供的技术方案给出了根据服务器节点集群中的服务器节点数量具体拆分及组合客户端密码库文件的算法,将非对称秘钥对、零知识证明技术和门限方案创造性地融合到一起实现密码库文件的安全存储及读取。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的防护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的防护范围之内。因此,本发明的防护范围应以权利要求的防护范围为准。

Claims (16)

1.一种可认证密码库文件分布式存储方法,其特征在于,用于认证与分发服务器,该方法包括:
获取客户端的密码库文件;
基于零知识证明技术对所述客户端进行身份认证;
若所述客户端身份认证通过,则通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储;其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
2.如权利要求1所述的可认证密码库文件分布式存储方法,其特征在于,还包括:
接收客户端的密码库文件读取请求;
基于零知识证明技术对所述客户端进行身份认证;
若所述客户端身份认证通过,则收集所述服务器节点集群内第二数量个任意不同服务器节点上所述客户端对应的密码库分片;其中,所述第二数量小于所述第一数量;
将收集到的第二数量个密码库分片进行组装,恢复出完整的所述客户端的密码库文件;
将所述客户端的密码库文件发送给所述客户端。
3.如权利要求2所述的可认证密码库文件分布式存储方法,其特征在于,所述通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,包括:
随机生成t-1个随机系数a1、a2、…at-1;t为所述第二数量;
根据所述随机系数和所述客户端的密码库文件构造第一函数式;其中,所述第一函数式为求取第一多项式和第一素数的余数;所述第一多项式F(x)为以所述客户端的密码库文件为常数,以所述t-1个随机系数为第一变量x的系数的一元t-1次多项式;所述第一素数为可信第三方预先生成并提供的,所述第一素数大于所述客户端的密码库文件;
取第一数量个不相等的第一变量值分别代入所述第一函数式中计算,得到第一数量个二元组(x1,y1),(x2,y2),…,(xw,yw);其中,w为所述第一数量,yi为第i个第一变量值xi对应的第一函数式的函数值;
将所述第一数量个二元组作为所述客户端对应的第一数量份密码库分片文件;
公开所述第一素数并销毁所述第一函数式。
4.如权利要求3所述的可认证密码库文件分布式存储方法,其特征在于,所述将收集到的第二数量个密码库分片进行组装,恢复出完整的所述客户端的密码库文件,包括:
根据收集到的第二数量个密码库分片(x1,y1),(x2,y2),…,(xw,yw),构造第二函数式;其中,所述第二函数式为
Figure FDA0003611090400000021
将x′=0代入所述第二函数式进行计算,将得到的计算结果F′(0)作为所述客户端的密码库文件。
5.如权利要求1所述的可认证密码库文件分布式存储方法,其特征在于,在所述获取客户端的密码库文件之前,还包括:
接收可信第三方发来的所述可信第三方采用非对称密钥生成算法预先生成的密钥对中的公开密钥(v,n);其中,所述n为所述可信第三方根据自身随机生成的预设位数的第二素数p和第三素数q所计算的第二素数p和第三素数q的乘积,所述v为所述可信第三方随机生成的包含第三数量个元素的第一集合v=[v1,v2,...,vk],k为第三数量;
其中,所述基于零知识证明技术对所述客户端进行身份认证,包括:
根据所述公开密钥,基于零知识证明技术对所述客户端进行身份认证。
6.如权利要求5所述的可认证密码库文件分布式存储方法,其特征在于,所述根据所述公开密钥,基于零知识证明技术对所述客户端进行身份认证,包括:
记录所述客户端发来的请求认证值;其中,所述请求认证值为所述客户端根据第一公式确定得到的z;所述第一公式为z与r2对模n同余,所述r为所述客户端在收到所述可信第三方发来的私人密钥(s,n)后随机生成的一个小于所述乘积n的第一随机数;所述私人密钥(s,n)为所述可信第三方生成的所述密钥对中与所述公开密钥对应的私人密钥,s为所述可信第三方根据预设条件确定得到的包含第三数量个元素的第二集合s=[s1,s2,...,sk],所述预设条件为
Figure FDA0003611090400000031
与vi对模n同余;
随机生成包含第三数量个二进制数的第三集合b=[b1,b2,...,bk]发送给所述客户端;
记录所述客户端发来的过程值;其中,所述过程值为所述客户端根据所述第一随机数以及所述第三集合和所述私人密钥,基于第二公式确定的d值;所述第二公式为d与
Figure FDA0003611090400000032
对模n同余;
根据所述请求认证值、过程值和公开密钥,判断第三公式是否成立,是则确定基于零知识证明技术对所述客户端身份认证通过,否则确定基于零知识证明技术对所述客户端身份认证不通过;其中,所述第三公式为所述客户端发来的请求认证值z与
Figure FDA0003611090400000033
对模n同余。
7.一种可认证密码库文件分布式存储方法,其特征在于,用于客户端,该方法包括:
向认证与分发服务器发送客户端密码库文件;
基于零知识证明技术向所述认证与分发服务器认证身份,以使所述认证与分发服务器在所述客户端身份认证通过后,通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储;其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
8.如权利要求7所述的可认证密码库文件分布式存储方法,其特征在于,还包括:
向所述认证与分发服务器发送密码库文件读取请求;
基于零知识证明技术向所述认证与分发服务器认证身份,以使所述认证与分发服务器在所述客户端身份认证通过后,收集所述服务器节点集群内第二数量个任意不同服务器节点上所述客户端对应的密码库分片,并将所述第二数量个密码库分片进行组装,恢复出完整的所述客户端的密码库文件;其中,所述第二数量小于所述第一数量;
接收所述认证与分发服务器发来的所述完整的所述客户端的密码库文件。
9.如权利要求7所述的可认证密码库文件分布式存储方法,其特征在于,在向认证与分发服务器发送客户端密码库文件之前,还包括:
接收可信第三方发来的所述可信第三方采用非对称密钥生成算法预先生成的密钥对中的私人密钥(s,n);其中,所述n为所述可信第三方根据自身随机生成的预设位数的第二素数p和第三素数q所计算的第二素数p和第三素数q的乘积,s为所述可信第三方根据预设条件确定得到的包含第三数量个元素的第二集合s=[s1,s2,...,sk],所述预设条件为
Figure FDA0003611090400000041
与vi对模n同余,vi为所述可信第三方随机生成的包含第三数量个元素的第一集合v=[v1,v2,...,vk]中的第i个元素,k为第三数量;
其中,基于零知识证明技术向所述认证与分发服务器认证身份,包括:
根据所述私人密钥,基于零知识证明技术向所述认证与分发服务器认证身份。
10.如权利要求9所述的可认证密码库文件分布式存储方法,其特征在于,所述根据所述私人密钥,基于零知识证明技术向所述认证与分发服务器认证身份,包括:
随机生成一小于所述乘积n的第一随机数r;
根据第一公式确定得到请求认证值z,并将所述请求认证值发送给所述认证与分发服务器;其中,所述第一公式为z与r2对模n同余;
记录所述认证与分发服务器发来的第三集合;所述第三集合为所述认证与分发服务器根据所述可信第三方发来的公开密钥(v,n)随机生成的包含第三数量个二进制数的集合b=[b1,b2,...,bk];
根据所述第一随机数以及所述第三集合和所述私人密钥,基于第二公式确定过程值d,并将所述过程值发送给所述认证与分发服务器,以使所述认证与分发服务器根据所述请求认证值、过程值和公开密钥,判断第三公式是否成立,是则确定所述客户端基于零知识证明技术认证身份通过,否则确定所述客户端基于零知识证明技术认证身份不通过;其中,所述第二公式为d与
Figure FDA0003611090400000051
对模n同余;所述第三公式为所述客户端发来的请求认证值z与
Figure FDA0003611090400000052
对模n同余。
11.一种可认证密码库文件分布式存储装置,其特征在于,用于认证与分发服务器,所述装置包括:
第一接收模块,用于获取客户端的密码库文件;
第一认证模块,用于在所述第一接收模块获取到所述客户端的密码库文件后,基于零知识证明技术对所述客户端进行身份认证;
分割存储模块,用于在所述第一认证模块在所述第一接收模块获取到所述客户端的密码库文件后,基于零知识证明技术对所述客户端进行身份认证通过时,通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储;其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
12.一种可认证密码库文件分布式存储装置,其特征在于,用于客户端,所述装置包括:
第二发送模块,用于向认证与分发服务器发送客户端密码库文件;
第二认证模块,用于在所述第二发送模块向认证与分发服务器发送所述客户端密码库文件后,基于零知识证明技术向所述认证与分发服务器认证身份,以使所述认证与分发服务器在所述客户端身份认证通过后,通过门限方案将所述客户端的密码库文件分割为第一数量份密码库分片文件,并将所述第一数量份密码库分片文件分发到服务器节点集群内不同的服务器节点存储;其中,所述第一数量为所述服务器节点集群内服务器节点的总数。
13.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1-6中任一项所述的可认证密码库文件分布式存储方法。
14.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求7-10中任一项所述的可认证密码库文件分布式存储方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1-6中任一项所述的可认证密码库文件分布式存储方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求7-10中任一项所述的可认证密码库文件分布式存储方法。
CN202210429194.1A 2022-04-22 2022-04-22 一种可认证密码库文件分布式存储方法、装置和电子设备 Active CN114826614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210429194.1A CN114826614B (zh) 2022-04-22 2022-04-22 一种可认证密码库文件分布式存储方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210429194.1A CN114826614B (zh) 2022-04-22 2022-04-22 一种可认证密码库文件分布式存储方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN114826614A true CN114826614A (zh) 2022-07-29
CN114826614B CN114826614B (zh) 2024-02-23

Family

ID=82505112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210429194.1A Active CN114826614B (zh) 2022-04-22 2022-04-22 一种可认证密码库文件分布式存储方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN114826614B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103354498A (zh) * 2013-05-31 2013-10-16 北京鹏宇成软件技术有限公司 一种基于身份的文件加密传输方法
US20160119141A1 (en) * 2013-05-14 2016-04-28 Peking University Foundr Group Co., Ltd. Secure communication authentication method and system in distributed environment
CN107025409A (zh) * 2017-06-27 2017-08-08 中经汇通电子商务有限公司 一种数据安全存储平台
CN107947913A (zh) * 2017-11-15 2018-04-20 武汉大学 一种基于身份的匿名认证方法与系统
CN110602147A (zh) * 2019-10-09 2019-12-20 吴新胜 一种基于云平台的数据加密安全存储方法、系统和存储介质
CN110610105A (zh) * 2019-09-25 2019-12-24 郑州轻工业学院 一种云环境下基于秘密共享的三维模型文件的认证方法
CN111010279A (zh) * 2019-11-29 2020-04-14 中国人民解放军国防科技大学 一种基于零知识证明的远程多因子认证协议
US20200153627A1 (en) * 2018-11-09 2020-05-14 Ares Technologies, Inc. Systems and methods for distributed key storage
CN111817856A (zh) * 2020-06-30 2020-10-23 北京安御道合科技有限公司 基于零知识证明和密码技术的身份认证方法及认证系统
CN112929167A (zh) * 2021-02-03 2021-06-08 华南理工大学 基于雾辅助移动群智感知中保护隐私的数据聚合方法
CN113792272A (zh) * 2021-09-09 2021-12-14 北京安天网络安全技术有限公司 密码库管控方法、装置、存储介质及电子设备
CN114070564A (zh) * 2020-07-31 2022-02-18 华为技术有限公司 数字签名的方法和装置
WO2022069035A1 (en) * 2020-09-30 2022-04-07 DFINITY Stiftung Redistribution of secret sharings

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160119141A1 (en) * 2013-05-14 2016-04-28 Peking University Foundr Group Co., Ltd. Secure communication authentication method and system in distributed environment
CN103354498A (zh) * 2013-05-31 2013-10-16 北京鹏宇成软件技术有限公司 一种基于身份的文件加密传输方法
CN107025409A (zh) * 2017-06-27 2017-08-08 中经汇通电子商务有限公司 一种数据安全存储平台
CN107947913A (zh) * 2017-11-15 2018-04-20 武汉大学 一种基于身份的匿名认证方法与系统
US20200153627A1 (en) * 2018-11-09 2020-05-14 Ares Technologies, Inc. Systems and methods for distributed key storage
CN110610105A (zh) * 2019-09-25 2019-12-24 郑州轻工业学院 一种云环境下基于秘密共享的三维模型文件的认证方法
CN110602147A (zh) * 2019-10-09 2019-12-20 吴新胜 一种基于云平台的数据加密安全存储方法、系统和存储介质
CN111010279A (zh) * 2019-11-29 2020-04-14 中国人民解放军国防科技大学 一种基于零知识证明的远程多因子认证协议
CN111817856A (zh) * 2020-06-30 2020-10-23 北京安御道合科技有限公司 基于零知识证明和密码技术的身份认证方法及认证系统
CN114070564A (zh) * 2020-07-31 2022-02-18 华为技术有限公司 数字签名的方法和装置
WO2022069035A1 (en) * 2020-09-30 2022-04-07 DFINITY Stiftung Redistribution of secret sharings
CN112929167A (zh) * 2021-02-03 2021-06-08 华南理工大学 基于雾辅助移动群智感知中保护隐私的数据聚合方法
CN113792272A (zh) * 2021-09-09 2021-12-14 北京安天网络安全技术有限公司 密码库管控方法、装置、存储介质及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M. PRITIKIN; CISCO; M. RICHARDSON;SANDELMAN; T.T.E. ECKERT; FUTUREWEI USA;M.H. BEHRINGER; K.W. WATSEN; WATSEN NETWORKS;: "Bootstrapping Remote Secure Key Infrastructures (BRSKI) draft-richardson-anima-brski-renamed-00", IETF *
涂彬彬;陈宇;: "门限密码系统综述", 密码学报, no. 01 *

Also Published As

Publication number Publication date
CN114826614B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
CN111639361B (zh) 一种区块链密钥管理方法、多人共同签名方法及电子装置
US20230327880A1 (en) Quantumproof blockchain
Li et al. OPoR: Enabling proof of retrievability in cloud computing with resource-constrained devices
Fu et al. NPP: A new privacy-aware public auditing scheme for cloud data sharing with group users
Wang et al. Identity-based data outsourcing with comprehensive auditing in clouds
Jin et al. Dynamic and public auditing with fair arbitration for cloud data
Yuan et al. Public integrity auditing for dynamic data sharing with multiuser modification
WO2020061923A1 (zh) 一种基于区块链的账户管理系统以及管理方法、存储介质
Michalas The lord of the shares: Combining attribute-based encryption and searchable encryption for flexible data sharing
JP4885853B2 (ja) 更新可能かつプライベートなバイオメトリクス
CN110324143A (zh) 数据传输方法、电子设备及存储介质
KR102219277B1 (ko) 인증된 컨텐츠 전달 제어를 위한 시스템 및 방법
CN110177124B (zh) 基于区块链的身份认证方法及相关设备
Zhao et al. Secure and efficient user authentication scheme based on password and smart card for multiserver environment
US20200213125A1 (en) Computer-implemented system and method enabling secure storage of a large blockchain over a plurality of storage nodes
Ghaffar et al. An improved authentication scheme for remote data access and sharing over cloud storage in cyber-physical-social-systems
CN112671720B (zh) 一种云平台资源访问控制的令牌构造方法、装置及设备
CN112600671B (zh) 一种数据处理方法、装置、设备及存储介质
KR102284396B1 (ko) 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치
Vivekanandan et al. Blockchain based privacy preserving user authentication protocol for distributed mobile cloud environment
Dhakad et al. EPPDP: an efficient privacy-preserving data possession with provable security in cloud storage
Jain et al. A novel homomorphic RASD framework for secured data access and storage in cloud computing
Kumar et al. An enhanced and provably secure authentication protocol using Chebyshev chaotic maps for multi-server environment
Salvakkam et al. Design of fully homomorphic multikey encryption scheme for secured cloud access and storage environment
CN114826614B (zh) 一种可认证密码库文件分布式存储方法、装置和电子设备

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