CN114448640A - 一种双盲信息分发方法、装置及计算机可读存储介质 - Google Patents
一种双盲信息分发方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114448640A CN114448640A CN202111583677.9A CN202111583677A CN114448640A CN 114448640 A CN114448640 A CN 114448640A CN 202111583677 A CN202111583677 A CN 202111583677A CN 114448640 A CN114448640 A CN 114448640A
- Authority
- CN
- China
- Prior art keywords
- public key
- information
- information distribution
- ciphertext
- random number
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
- H04L9/3255—Cryptographic 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 involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
根据本申请方案所提供的双盲信息分发方法、装置及计算机可读存储介质,客户端向系统服务器发送携带有环签名的隐私信息请求;系统服务器向客户端发送对应于整体隐私信息的随机数集合以及系统公钥;客户端根据随机数集合中目标随机数以及系统公钥生成加密密文公钥,并将加密密文公钥发送至系统服务器;系统服务器根据加密密文公钥生成加密函数,并向客户端发送包括加密函数以及整体隐私信息的信息密文;客户端通过椭圆曲线乘法计算对应于系统公钥以及预设用户解密私钥的密文解密公钥,根据密文解密公钥获取信息密文中对应于密文解密公钥的隐私信息。通过本申请方案的实施,实现系统服务器和客户端的双盲,保证了用户和系统隐私信息的安全性。
Description
技术领域
本申请涉及网络安全技术领域,尤其涉及一种双盲信息分发方法、装置及计算机可读存储介质。
背景技术
欧盟《通用数据保护条例》的实施,隐私数据的保护越来越被重视。为了更广泛的数据共享,互联网上的大部分数据,都是针对不特定用户,数据获取的方式是开放式的。但是对于特定的隐私数据,数据只能对限定的用户开放限定的数据,比如公司为了保密员工的薪资,公司员工只能查看自己的工资,而不能查看同公司别人的工资。现有的隐私数据获取系统,一般采用验证用户身份,对特定的用户提供对应的特定隐私信息,这种方式实际上暴露了查询者的隐私信息,比如查询者不希望被系统知道自己查询了工资信息。因此,现有的信息获取方案不能对用户和系统的隐私信息同时进行保护,在互联网信息时代具有极大的安全风险。
发明内容
本申请实施例提供了一种双盲信息分发方法、装置及计算机可读存储介质,至少能够解决相关技术中不能对用户和系统的隐私信息同时进行保护的问题。
本申请实施例第一方面提供了一种双盲信息分发方法,应用于信息分发系统服务器,包括:
在接收信息分发客户端发送的隐私信息请求时,通过环签名验证函数验证所述隐私信息请求中携带的环签名;
若所述环签名验证通过,则确定所述信息分发客户端的使用者为合法用户,向所述信息分发客户端发送对应于整体隐私信息的随机数集合以及系统公钥;其中,所述整体隐私信息包括用户环中所有环成员的隐私信息;
接收所述信息分发客户端根据所述随机数集合中目标随机数以及所述系统公钥生成的加密密文公钥;其中,所述目标随机数为所述信息分发客户端以期请求的目标隐私信息相应的随机数;
根据所述加密密文公钥生成加密函数,并向所述信息分发客户端发送包括所述加密函数以及所述整体隐私信息的信息密文。
本申请实施例第二方面提供了一种双盲信息分发方法,应用于信息分发客户端,包括:
根据环签名函数生成环签名,并向信息分发系统服务器发送携带有所述环签名的隐私信息请求;
接收所述信息分发系统服务器在所述环签名验证通过时,发送的对应于整体隐私信息的随机数集合以及系统公钥;其中,所述整体隐私信息包括用户环中所有环成员的隐私信息;
根据所述随机数集合中目标随机数以及所述系统公钥生成加密密文公钥,并将所述加密密文公钥发送至所述信息分发系统服务器;其中,所述目标随机数为所述信息分发客户端以期请求的目标隐私信息相应的随机数,所述加密密文公钥用于所述信息分发系统服务器生成对应的加密函数;
接收所述信息分发系统服务器发送的包括所述加密函数以及所述整体隐私信息的信息密文;
通过椭圆曲线乘法计算对应于所述系统公钥以及预设用户解密私钥的密文解密公钥,根据所述密文解密公钥获取所述信息密文中对应于所述密文解密公钥的隐私信息。
本申请实施例第三方面提供了一种双盲信息分发装置,应用于信息分发系统服务器,包括:
验证模块,用于在接收信息分发客户端发送的隐私信息请求时,通过环签名验证函数验证所述隐私信息请求中携带的环签名;
第一发送模块,用于若所述环签名验证通过,则确定所述信息分发客户端的使用者为合法用户,向所述信息分发客户端发送对应于整体隐私信息的随机数集合以及系统公钥;其中,所述整体隐私信息包括用户环中所有环成员的隐私信息;
第一接收模块,用于接收所述信息分发客户端根据所述随机数集合中目标随机数以及所述系统公钥生成的加密密文公钥;其中,所述目标随机数为所述信息分发客户端以期请求的目标隐私信息相应的随机数;
第二发送模块,用于根据所述加密密文公钥生成加密函数,并向所述信息分发客户端发送包括所述加密函数以及所述整体隐私信息的信息密文。
本申请实施例第四方面提供了一种双盲信息分发装置,应用于信息分发客户端,包括:
第三发送模块,用于根据环签名函数生成环签名,并向信息分发系统服务器发送携带有所述环签名的隐私信息请求;
第二接收模块,用于接收所述信息分发系统服务器在所述环签名验证通过时,发送的对应于整体隐私信息的随机数集合以及系统公钥;其中,所述整体隐私信息包括用户环中所有环成员的隐私信息;
第四发送模块,用于根据所述随机数集合中目标随机数以及所述系统公钥生成加密密文公钥,并将所述加密密文公钥发送至所述信息分发系统服务器;其中,所述目标随机数为所述信息分发客户端以期请求的目标隐私信息相应的随机数,所述加密密文公钥用于所述信息分发系统服务器生成对应的加密函数;
第三接收模块,用于接收所述信息分发系统服务器发送的包括所述加密函数以及所述整体隐私信息的信息密文;
获取模块,用于通过椭圆曲线乘法计算对应于所述系统公钥以及预设用户解密私钥的密文解密公钥,根据所述密文解密公钥获取所述信息密文中对应于所述密文解密公钥的隐私信息。
本申请实施例第五方面提供了一种电子设备,包括:存储器及处理器,其中,处理器用于执行存储在存储器上的第一计算机程序或第二计算机程序,处理器执行第一计算机程序时,实现上述本申请实施例第一方面提供的双盲信息分发方法中的各步骤,处理器执行第二计算机程序时,实现上述本申请实施例第二方面提供的双盲信息分发方法中的各步骤。
本申请实施例第六方面提供了一种计算机可读存储介质,其上存储有第一计算机程序或第二计算机程序,第一计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的双盲信息分发方法中的各步骤,第二计算机程序被处理器执行时,实现上述本申请实施例第二方面提供的双盲信息分发方法中的各步骤。
由上可见,根据本申请方案所提供的双盲信息分发方法、装置及计算机可读存储介质,客户端向系统服务器发送携带有环签名的隐私信息请求;系统服务器向客户端发送对应于整体隐私信息的随机数集合以及系统公钥;客户端根据随机数集合中目标随机数以及系统公钥生成加密密文公钥,并将加密密文公钥发送至系统服务器;系统服务器根据加密密文公钥生成加密函数,并向客户端发送包括加密函数以及整体隐私信息的信息密文;客户端通过椭圆曲线乘法计算对应于系统公钥以及预设用户解密私钥的密文解密公钥,根据密文解密公钥获取信息密文中对应于密文解密公钥的隐私信息。通过本申请方案的实施,实现系统服务器和客户端的双盲,保证了用户和系统隐私信息的安全性。
附图说明
图1为本申请第一实施例提供的双盲信息分发系统流程图;
图2为本申请第一实施例提供的应用于信息分发系统服务器侧的双盲信息分发方法的基本流程示意图;
图3为本申请第一实施例提供的环签名流程图;
图4为本申请第一实施例提供的应用于信息分发客户端侧的双盲信息分发方法的基本流程示意图
图5为本申请第二实施例提供的应用于双盲信息分发系统的双盲信息分发方法的细化流程示意图;
图6为本申请第三实施例提供的应用于信息分发系统服务器侧的双盲信息分发装置的程序模块示意图;
图7为本申请第三实施例提供的应用于信息分发客户端侧的双盲信息分发装置的程序模块示意图;
图8为本申请第四实施例提供的电子设备的结构示意图。
具体实施内容
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决相关技术中不能对用户和系统的隐私信息同时进行保护的问题,根据如图1所示的双盲信息分发流程,本申请第一实施例提供了一种双盲信息分发方法,应用于双目信息分发系统,如图2为本实施例提供的双盲信息分发方法的基本流程图,该双盲信息分发方法包括以下步骤:
步骤201、在接收信息分发客户端发送的隐私信息请求时,通过环签名验证函数验证隐私信息请求中携带的环签名。
具体的,在本实施例中,如图3所示,环签名是一种匿名签名技术,环签名能够保证签名为环中某一个用户所做出,但是无法区别为具体哪一个用户。所有的可能签名者构成一个环U=(U1,U2,...,Un),环中每个用户有公钥-私钥对(pki,ski),i=1,2,...,n。假设Uk(1≤k≤n)为实际签名人,
ring_sign():
输入:待签名信息m,环中所有用户的公钥U,实际签名人私钥skk;
输出:实际签名者Uk对消息m的环签名σ,σ=ring_sign(m,pk1,pk2,...,pkn,skk)。
在接收信息分发客户端发送的隐私信息请求时,系统服务器检验客户端发送过来的环签名,利用所有用户的公钥,调用环签名验证函数ring_verify(),检验函数结果。如果为1,说明用户为有资格的用户,可以查询该系统数据;如果为0,说明用户为非法用户,不允许查询该系统,通过对用户进行合法验证,确定用户为合法用户,但是系统无法获取具体的用户信息,验证用户身份的同时保证了用户的隐私。
ring_verify():
输入:待验证的签名对(σ,m),环中所有成员的公钥;
输出:验证结果,1表示签名有效,0表示签名无效。1or0=ring_verify(m,σ,pk1,pk2,...,pkn)。
步骤202、若环签名验证通过,则确定信息分发客户端的使用者为合法用户,向信息分发客户端发送对应于整体隐私信息的随机数集合以及系统公钥。
具体的,其中,整体隐私信息包括用户环中所以环成员的隐私信息,本实施例采用不经意传输(Oblivious transfer,OT)技术进行信息分发,系统服务器有一组待获取的用户隐私信息,用户需要从系统服务器查找到自己对应的隐私信息,而用户在查找过程中需要隐藏自己的查询行为,让系统获取查询数据的具体用户信息,系统要保护所有用户的隐私信息,只能给用户提供对应的隐私信息,其他用户信息不能被暴露。当客户端发送的隐私信息请求验证通过时,系统服务器会生成整体隐私信息的随机数集合以及系统公钥,并发送给客户端。
假设系统服务器中N个用户的隐私信息为x0,x1,...,xN-1,用户需要获取的对应的隐私信息为第i条,i∈{0,1,...,N-1}。系统选择一个加密用的椭圆曲线:y2=x3+ax+b(modq),其中,a,b为椭圆曲线的参数,参数a,b为有限域上的数,a,b∈Fq,q为椭圆曲线的模参数,模参数一般为一个很大的整数,如果(x,y)满足椭圆曲线方程(x,y)∈Fq×Fq,则称(x,y)为椭圆曲线上的点。
椭圆曲线的加法:对应椭圆曲线上的两个点P=(xP,yP),Q=(xQ,yQ),定义他们的加法为P+Q=R,R=(xR,yR),其中R的坐标计算公式为:
xR=(m2-xP-xQ)mod q
yR=yP+m(xR-xQ)mod q
椭圆曲线的乘法:椭圆曲线的乘法通过加法来实现。比如我们计算椭圆曲线上点g,乘以数r,将r转换为2的幂和形式,循环利用,椭圆曲线加法实现乘法。比如我们计算椭圆曲线乘法g57,首先利用椭圆曲线加法计算g2=g+g,g4=g2+g2,..,g32=g16+g16。57的幂和形式为57=1+8+16+32,即g57=g+g8+g16+g32。
在本实施例一种可选的实施方式中,向信息分发客户端发送对应于整体隐私信息的随机数集合以及系统公钥的步骤,包括:生成与整体隐私信息对应的随机数集合以及生成系统私钥;通过椭圆曲线乘法计算对应于系统私钥的系统公钥;将随机数集合以及系统公钥发送至信息分发客户端。
具体的,在本实施例中,系统服务器在椭圆曲线上选择一个基点g=(x,y),系统生成一个随机数r∈Fq作为私钥,系统服务器通过椭圆曲线乘法计算对应的公钥gr。系统服务器生成N个随机数C0,C1,C2,...,CN-1,其中,Ci∈Fq,随机数为有限域Fq上随机选取的一个整数。随后系统服务器将gr,C0,C1,C2,...,CN-1发送给用户。虽然将公钥gr预先发送给了用户,但由于离散对数的计算是困难的,用户仍然无法知道r的具体数值。系统保存私钥r,把N个随机数C0,C1,C2,...,CN-1和公钥gr发送给用户。
步骤203、接收信息分发客户端根据随机数集合中目标随机数以及系统公钥生成的加密密文公钥;
步骤204、根据加密密文公钥生成加密函数,并向信息分发客户端发送包括加密函数以及整体隐私信息的信息密文。
具体的,在本实施例中,系统服务器根据客户端发送的加密密文公钥生成对应的加密函数,并通过哈希函数生成密文N-1,共有N个加密的密文E0,E1,E2,...,EN-1对应N个用户隐私信息x0,x1,...,xN-1,H为hash函数,j表示为与用户隐私信息对应的随机数,可以采用sha256算法,为异或运算。系统将所有密文E0,E1,E2,...,EN-1和随机字符串R发送给用户。
在本实施例一种可选的实施方式中,根据加密密文公钥生成加密函数的步骤,包括:利用系统私钥以及加密密文公钥,通过椭圆曲线乘法计算系统加密公钥;通过椭圆曲线除法计算对应于系统加密公钥的用户解密公钥;对用户解密公钥进行哈希计算,生成加密函数。
具体的,在本实施例中,系统首先利用自己的私钥r和用户发送过来的加密密文公钥pk0,使用椭圆曲线乘法计算系统加密公钥(pk0)r。随后,对于0≤j≤N-1,系统利用椭圆曲线除法计算出用户解密公钥:(phj)r=(Cj)r/(pk0)r,j=0,1,2,....,N-1,系统服务器生成一个随机字符串R,通过哈希计算生成与用户解密公钥以及随机字符串对应的加密函数H((phj)r,R,j)。
相对应的,如图1双盲信息分发系统流程图所示,本发明第一实施例还提供了一种双盲信息分发方法,应用于信息分发客户端,如图4为本实施例提供的双盲信息分发方法的基本流程图,该双盲信息分发方法包括以下的步骤:
步骤401、根据环签名函数生成环签名,并向信息分发系统服务器发送携带有环签名的隐私信息请求。
具体的,在本实施例中,客户端根据环签名函数生成与所有用户公钥对应的环签名,其中,用户公钥为每个用户生成的一对公钥-私钥对中的公钥,当用户需要查询对应的隐私信息时,通过客户端将包含环签名的隐私信息请求发送给系统服务器进行验证。
在本实施例一种可选的实施方式中,根据环签名函数生成环签名的步骤,包括:在所有合法用户之间构建用户环;在用户环中公开合法用户的公钥;根据所有合法用户的公钥通过环签名函数生成环签名。
具体的,在本实施例中,系统服务器选择有资格的用户,所有获得资格的用户构成一个用户环,例如,工资系统中,系统的用户为本公司的员工;考试成绩查询系统中,有资格的用户为所有参加考试的学生,用户需要把公钥在系统中公开,这样用户和系统能够看到全部用户的公钥,有利于系统服务器对隐私信息请求中的环签名进行验证,通过所有用户自己的的公钥,利用环签名函数ring_sign()生成环签名σ,有利于系统服务器在验证环签名时确定该用户为用户环中的合法用户。
步骤402、接收信息分发系统服务器在环签名验证通过时,发送的对应于整体隐私信息的随机数集合以及系统公钥;
步骤403、根据随机数集合中目标随机数以及系统公钥生成加密密文公钥,并将加密密文公钥发送至信息分发系统服务器。
具体的,本实施例目标随机数为客户端以期请求的目标隐私信息相应的随机数,加密密文公钥用于系统服务器生成对应的加密函数,在本实施例中,在接收到系统服务器送的对应于整体隐私信息的随机数集合以及系统公钥之后,客户端利用随机生成的用户解密私钥,对系统公钥进行解密并通过椭圆曲线乘法计算得到用户公钥,根据用户公钥以及随机数集合中目标随机数,通过椭圆曲线除法生成加密密文公钥,客户端保存用户解密私钥,将加密密文公钥发送给系统服务器。
在本实施例一种可选的实施方式中,根据随机数集合中目标随机数以及系统公钥生成加密密文公钥的步骤,包括:根据预设用户解密私钥解密系统公钥;基于解密后的数据信息,通过椭圆曲线乘法计算用户公钥;根据用户公钥以及随机数集合中目标随机数,通过椭圆曲线除法生成加密密文公钥。
具体的,在本实施例中,客户端在有限域Fq上随机选取一个整数k,作为用户的解密私钥,对系统公钥进行解密,并通过椭圆曲线乘法计算得到用户公钥pki=gk。若用户需要获取的是信息的的i条,则客户端选择系统服务器发送过来的第i个随机数Ci,通过椭圆曲线的除法计算加密密文公钥pk0=Ci/pki。
步骤404、接收信息分发系统服务器发送的包括加密函数以及整体隐私信息的信息密文;
步骤405、通过椭圆曲线乘法计算对应于系统公钥以及预设用户解密私钥的密文解密公钥,并根据密文解密公钥获取信息密文中对应于密文解密公钥的隐私信息。
具体的,在本实施例中,客户端在接收到系统服务器发送的信息密文之后,对于用户需要获取的对应的第i个信息,第i个密文解密公钥可以通过公式计算(phi)r=(Ci)r/(pk0)r=(Ci)r/(Ci/pki)r=(pki)r=(gk)r=(gr)k,客户端利用系统服务器发送的公钥gr和用户私钥k,利用椭圆曲线乘法计算出第i个密文解密公钥(phi)r=(gr)k,根据密文解密公钥获取信息密文中对应于密文解密公钥的隐私信息。
在本实施例一种可选的实施方式中,根据密文解密公钥获取信息密文中对应于密文解密公钥的隐私信息的步骤,包括:根据密文解密公钥计算出对应的加密函数;将对应的加密函数与信息密文进行异或运算,获取对应于密文解密公钥的隐私信息。
具体的,在本实施例中,客户端根据密文解密公钥计算出与用户对应的加密函数H((phi)r,R,i),并将H((phi)r,R,i)与系统服务器发送的密文Ei进行异或运算,可以得到解密后的信息xi,即应当说明的是,对于其余的密文信息j(j≠i),根据上述密文解密公钥的计算公式可知:(phj)r=(Cj)r/(pk0)r=(Cj)r/(Ci/pki)r=(pki)r(Cj/Ci)r,由于用户无法获取系统服务器的私钥r,因此无法计算出对应的的密文解密公钥(phj)r,进而无法解密出其余的隐私信息,同时,由于用户的私钥k,是自己保存的本地,无法从网络上获知,因此,就算系统的加密结果被第三方获取,也无法解密出其中任何的密文信息。
基于上述申请的实施例方案,客户端向系统服务器发送携带有环签名的隐私信息请求;系统服务器向客户端发送对应于整体隐私信息的随机数集合以及系统公钥;客户端根据随机数集合中目标随机数以及系统公钥生成加密密文公钥,并将加密密文公钥发送至系统服务器;系统服务器根据加密密文公钥生成加密函数,并向客户端发送包括加密函数以及整体隐私信息的信息密文;客户端通过椭圆曲线乘法计算对应于系统公钥以及预设用户解密私钥的密文解密公钥,根据密文解密公钥获取信息密文中对应于密文解密公钥的隐私信息。通过本申请方案的实施,实现系统服务器和客户端的双盲,保证了用户和系统隐私信息的安全性。
图5中的方法为本申请第二实施例提供的一种细化的双盲信息分发方法,应用于包括信息分发客户端以及信息分发系统服务器的双盲信息分发系统,该双盲信息分发方法包括:
步骤501、信息分发客户端根据环签名函数生成环签名,并向信息分发系统服务器发送携带有环签名的隐私信息请求。
步骤502、信息分发系统服务器在接收信息分发客户端发送的隐私信息请求时,通过环签名验证函数验证隐私信息请求中携带的环签名。
步骤503、信息分发系统服务器在环签名验证通过时,确定信息分发客户端的使用者为合法用户,向信息分发客户端发送对应于整体隐私信息的随机数集合以及系统公钥。
步骤504、信息分发客户端接收信息分发系统服务器发送的对应于整体隐私信息的随机数集合以及系统公钥。
步骤505、信息分发客户端根据随机数集合中目标随机数以及系统公钥生成加密密文公钥,并将加密密文公钥发送至信息分发系统服务器。
步骤506、信息分发系统服务器接收信息分发客户端发送的加密密文公钥。
步骤507、信息分发系统服务器根据加密密文公钥生成加密函数,并向信息分发客户端发送包括加密函数以及整体隐私信息的信息密文。
步骤508、信息分发客户端接收信息分发系统服务器发送的包括加密函数以及整体隐私信息的信息密文。
步骤509、信息分发客户端通过椭圆曲线乘法计算对应于系统公钥以及预设用户解密私钥的密文解密公钥,并根据密文解密公钥获取信息密文中对应于密文解密公钥的隐私信息。
应当理解的是,本实施例中各步骤的序号的大小并不意味着步骤执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成唯一限定。
根据本申请方案所提供的双盲信息分发方法,用户通过客户端向系统服务器发送带有环签名的隐私信息请求,系统通过验证环签名确定用户为合法用户,但是系统无法获取具体的用户信息,系统通过不经意传输为用户提供信息,用户获取自己相关的隐私信息,用户无法解密其他用户的信息,同时系统也不知道用户获取的隐私信息,实现系统和用户的双盲,保证了用户和系统隐私信息的安全性。
图6为本申请第三实施例提供的一种双盲信息分发装置,应用于信息分发系统服务器,该双盲信息分发装置可用于实现前述实施例中信息分发系统服务器侧的双盲信息分发方法。如图6所示,该双盲信息分发装置主要包括:
验证模块601,用于在接收信息分发客户端发送的隐私信息请求时,通过环签名验证函数验证隐私信息请求中携带的环签名;
第一发送模块602,用于若环签名验证通过,则确定信息分发客户端的使用者为合法用户,向信息分发客户端发送对应于整体隐私信息的随机数集合以及系统公钥;其中,整体隐私信息包括用户环中所有环成员的隐私信息;
第一接收模块603,用于接收信息分发客户端根据随机数集合中目标随机数以及系统公钥生成的加密密文公钥;其中,目标随机数为信息分发客户端以期请求的目标隐私信息相应的随机数;
第二发送模块604,用于根据加密密文公钥生成加密函数,并向信息分发客户端发送包括加密函数以及整体隐私信息的信息密文。
在本实施例一种可选的实施方式中,第一发送模块具体用于:生成与整体隐私信息对应的随机数集合以及生成系统私钥;通过椭圆曲线乘法计算对应于系统私钥的系统公钥;将随机数集合以及系统公钥发送至信息分发客户端。
进一步的,在本实施例一种可选的实施方式中,第二发送模块在执行上述根据加密密文公钥生成加密函数的功能时,具体用于:利用系统私钥以及加密密文公钥,通过椭圆曲线乘法计算系统加密公钥;通过椭圆曲线除法计算对应于系统加密公钥的用户解密公钥;对用户解密公钥进行哈希计算,生成加密函数。
图7为本申请第三实施例提供的一种双盲信息分发装置,应用于信息分发客户端,该双盲信息分发装置可用于实现前述实施例中信息分发客户端侧的双盲信息分发方法。如图7所示,该双盲信息分发装置主要包括:
第三发送模块701,用于根据环签名函数生成环签名,并向信息分发系统服务器发送携带有环签名的隐私信息请求;
第二接收模块702,用于接收信息分发系统服务器在环签名验证通过时,发送的对应于整体隐私信息的随机数集合以及系统公钥;其中,整体隐私信息包括用户环中所有环成员的隐私信息;
第四发送模块703,用于根据随机数集合中目标随机数以及系统公钥生成加密密文公钥,并将加密密文公钥发送至信息分发系统服务器;其中,目标随机数为信息分发客户端以期请求的目标隐私信息相应的随机数,加密密文公钥用于信息分发系统服务器生成对应的加密函数;
第三接收模块704,用于接收信息分发系统服务器发送的包括加密函数以及整体隐私信息的信息密文;
获取模块705,用于通过椭圆曲线乘法计算对应于系统公钥以及预设用户解密私钥的密文解密公钥,根据密文解密公钥获取信息密文中对应于密文解密公钥的隐私信息。
在本实施例一种可选的实施方式中,第三发送模块在执行上述根据环签名函数生成环签名的功能时,具体用于:在所有合法用户之间构建用户环;在用户环中公开合法用户的公钥;其中,公钥为合法用户生成的公钥-私钥对中的公钥;根据所有合法用户的公钥通过环签名函数生成环签名。
在本实施例一种可选的实施方式中,第四发送模块在执行根据随机数集合中目标随机数以及系统公钥生成加密密文公钥的功能时,具体用于:根据预设用户解密私钥解密系统公钥;基于解密后的数据信息,通过椭圆曲线乘法计算用户公钥;根据用户公钥以及随机数集合中目标随机数,通过椭圆曲线除法生成加密密文公钥。
在本实施例一种可选的实施方式中,获取模块具体用于:根据密文解密公钥计算出对应的加密函数;将对应的加密函数与信息密文进行异或运算,获取对应于密文解密公钥的隐私信息。
应当说明的是,第一、二实施例中的双盲信息分发方法均可基于本实施例提供的双盲信息分发装置实现,所属领域的普通技术人员可以清楚的了解到,为描述的方便和简洁,本实施例中所描述的安全函数识别装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
根据本申请方案所提供的双盲信息分发装置,客户端向系统服务器发送携带有环签名的隐私信息请求;系统服务器向客户端发送对应于整体隐私信息的随机数集合以及系统公钥;客户端根据随机数集合中目标随机数以及系统公钥生成加密密文公钥,并将加密密文公钥发送至系统服务器;系统服务器根据加密密文公钥生成加密函数,并向客户端发送包括加密函数以及整体隐私信息的信息密文;客户端通过椭圆曲线乘法计算对应于系统公钥以及预设用户解密私钥的密文解密公钥,根据密文解密公钥获取信息密文中对应于密文解密公钥的隐私信息。通过本申请方案的实施,实现系统服务器和客户端的双盲,保证了用户和系统隐私信息的安全性。
图8为本申请第四实施例提供的一种电子设备。该电子设备可用于实现前述实施例中的双盲信息分发方法。如图8所示,该电子设备主要包括:
存储器801、处理器802及存储在存储器801上并可在处理器802上运行的计算机程序803,存储器801和处理器802通过通信连接。处理器802执行该计算机程序时,实现前述实施例中的双盲信息分发方法。其中,处理器的数量可以是一个或多个。
存储器801可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器801用于存储可执行程序代码,处理器802与存储器801耦合。
进一步的,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子设备中,该计算机可读存储介质可以是前述图8所示实施例中的存储器。
该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述实施例中的双盲信息分发方法。进一步的,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或模块的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的双盲信息分发方法、装置及计算机可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种双盲信息分发方法,应用于信息分发系统服务器,其特征在于,包括:
在接收信息分发客户端发送的隐私信息请求时,通过环签名验证函数验证所述隐私信息请求中携带的环签名;
若所述环签名验证通过,则确定所述信息分发客户端的使用者为合法用户,向所述信息分发客户端发送对应于整体隐私信息的随机数集合以及系统公钥;其中,所述整体隐私信息包括用户环中所有环成员的隐私信息;
接收所述信息分发客户端根据所述随机数集合中目标随机数以及所述系统公钥生成的加密密文公钥;其中,所述目标随机数为所述信息分发客户端以期请求的目标隐私信息相应的随机数;
根据所述加密密文公钥生成加密函数,并向所述信息分发客户端发送包括所述加密函数以及所述整体隐私信息的信息密文。
2.根据权利要求1所述的一种双盲信息分发方法,其特征在于,所述向所述信息分发客户端发送对应于整体隐私信息的随机数集合以及系统公钥的步骤,包括:
生成与所述整体隐私信息对应的随机数集合以及生成系统私钥;
通过椭圆曲线乘法计算对应于所述系统私钥的系统公钥;
将所述随机数集合以及所述系统公钥发送至所述信息分发客户端。
3.根据权利要求2所述的一种双盲信息分发方法,其特征在于,所述根据所述加密密文公钥生成加密函数的步骤,包括:
利用所述系统私钥以及所述加密密文公钥,通过椭圆曲线乘法计算系统加密公钥;
通过所述椭圆曲线除法计算对应于所述系统加密公钥的用户解密公钥;
对所述用户解密公钥进行哈希计算,生成加密函数。
4.一种双盲信息分发方法,应用于信息分发客户端,其特征在于,包括:
根据环签名函数生成环签名,并向信息分发系统服务器发送携带有所述环签名的隐私信息请求;
接收所述信息分发系统服务器在所述环签名验证通过时,发送的对应于整体隐私信息的随机数集合以及系统公钥;其中,所述整体隐私信息包括用户环中所有环成员的隐私信息;
根据所述随机数集合中目标随机数以及所述系统公钥生成加密密文公钥,并将所述加密密文公钥发送至所述信息分发系统服务器;其中,所述目标随机数为所述信息分发客户端以期请求的目标隐私信息相应的随机数,所述加密密文公钥用于所述信息分发系统服务器生成对应的加密函数;
接收所述信息分发系统服务器发送的包括所述加密函数以及所述整体隐私信息的信息密文;
通过椭圆曲线乘法计算对应于所述系统公钥以及预设用户解密私钥的密文解密公钥,并根据所述密文解密公钥获取所述信息密文中对应于所述密文解密公钥的隐私信息。
5.根据权利要求4所述的一种双盲信息分发方法,其特征在于,所述根据环签名函数生成环签名的步骤,包括:
在所有合法用户之间构建所述用户环;
在所述用户环中公开所述合法用户的公钥;其中,所述公钥为所述合法用户生成的公钥-私钥对中的公钥;
根据所有合法用户的所述公钥通过环签名函数生成环签名。
6.根据权利要求4所述的一种双盲信息分发方法,其特征在于,所述根据所述随机数集合中目标随机数以及所述系统公钥生成加密密文公钥的步骤,包括:
根据预设用户解密私钥解密所述系统公钥;
基于解密后的数据信息,通过椭圆曲线乘法计算用户公钥;
根据所述用户公钥以及所述随机数集合中目标随机数,通过椭圆曲线除法生成加密密文公钥。
7.根据权利要求4所述的一种双盲信息分发方法,其特征在于,所述根据所述密文解密公钥获取所述信息密文中对应于所述密文解密公钥的隐私信息的步骤,包括:
根据所述密文解密公钥计算出对应的所述加密函数;
将所述加密函数与所述信息密文进行异或运算,获取对应于所述密文解密公钥的隐私信息。
8.一种双盲信息分发装置,应用于信息分发系统服务器,其特征在于,包括:
验证模块,用于在接收信息分发客户端发送的隐私信息请求时,通过环签名验证函数验证所述隐私信息请求中携带的环签名;
第一发送模块,用于若所述环签名验证通过,则确定所述信息分发客户端的使用者为合法用户,向所述信息分发客户端发送对应于整体隐私信息的随机数集合以及系统公钥;其中,所述整体隐私信息包括用户环中所有环成员的隐私信息;
第一接收模块,用于接收所述信息分发客户端根据所述随机数集合中目标随机数以及所述系统公钥生成的加密密文公钥;其中,所述目标随机数为所述信息分发客户端以期请求的目标隐私信息相应的随机数;
第二发送模块,用于根据所述加密密文公钥生成加密函数,并向所述信息分发客户端发送包括所述加密函数以及所述整体隐私信息的信息密文。
9.一种双盲信息分发装置,应用于信息分发客户端,其特征在于,包括:
第三发送模块,用于根据环签名函数生成环签名,并向信息分发系统服务器发送携带有所述环签名的隐私信息请求;
第二接收模块,用于接收所述信息分发系统服务器在所述环签名验证通过时,发送的对应于整体隐私信息的随机数集合以及系统公钥;其中,所述整体隐私信息包括用户环中所有环成员的隐私信息;
第四发送模块,用于根据所述随机数集合中目标随机数以及所述系统公钥生成加密密文公钥,并将所述加密密文公钥发送至所述信息分发系统服务器;其中,所述目标随机数为所述信息分发客户端以期请求的目标隐私信息相应的随机数,所述加密密文公钥用于所述信息分发系统服务器生成对应的加密函数;
第三接收模块,用于接收所述信息分发系统服务器发送的包括所述加密函数以及所述整体隐私信息的信息密文;
获取模块,用于通过椭圆曲线乘法计算对应于所述系统公钥以及预设用户解密私钥的密文解密公钥,根据所述密文解密公钥获取所述信息密文中对应于所述密文解密公钥的隐私信息。
10.一种电子设备,其特征在于,包括存储器及处理器,其中:
所述处理器用于执行存储在所述存储器上的第一计算机程序或第二计算机程序;
所述处理器执行所述第一计算机程序时,实现权利要求1至3中任意一项所述方法中的步骤,所述处理器执行所述第二计算机程序时,实现权利要求4至7中任意一项所述方法中的步骤。
11.一种计算机可读存储介质,其上存储有第一计算机程序或第二计算机程序,其特征在于,所述第一计算机程序被处理器执行时,实现权利要求1至3中任意一项所述方法的步骤,所述第二计算机程序被处理器执行时,实现权利要求4至7中任意一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111583677.9A CN114448640A (zh) | 2021-12-22 | 2021-12-22 | 一种双盲信息分发方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111583677.9A CN114448640A (zh) | 2021-12-22 | 2021-12-22 | 一种双盲信息分发方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114448640A true CN114448640A (zh) | 2022-05-06 |
Family
ID=81364378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111583677.9A Pending CN114448640A (zh) | 2021-12-22 | 2021-12-22 | 一种双盲信息分发方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114448640A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714074A (zh) * | 2023-12-20 | 2024-03-15 | 中金金融认证中心有限公司 | 基于tlcp的身份认证系统、方法、存储介质及电子设备 |
WO2024066013A1 (zh) * | 2022-09-30 | 2024-04-04 | 蚂蚁区块链科技(上海)有限公司 | 实现隐私信息检索 |
-
2021
- 2021-12-22 CN CN202111583677.9A patent/CN114448640A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024066013A1 (zh) * | 2022-09-30 | 2024-04-04 | 蚂蚁区块链科技(上海)有限公司 | 实现隐私信息检索 |
CN117714074A (zh) * | 2023-12-20 | 2024-03-15 | 中金金融认证中心有限公司 | 基于tlcp的身份认证系统、方法、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10785019B2 (en) | Data transmission method and apparatus | |
JP5562687B2 (ja) | 第1のユーザによって第2のユーザに送信される通信の安全化 | |
CN111130803B (zh) | 数字签名的方法、系统及装置 | |
EP2348446B1 (en) | A computer implemented method for authenticating a user | |
US7634085B1 (en) | Identity-based-encryption system with partial attribute matching | |
US11323255B2 (en) | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes | |
CN107360002B (zh) | 一种数字证书的申请方法 | |
CN109921905B (zh) | 基于私钥池的抗量子计算密钥协商方法和系统 | |
CN109936456B (zh) | 基于私钥池的抗量子计算数字签名方法和系统 | |
GB2514428A (en) | Enabling access to data | |
CN114124480A (zh) | 通信的认证方法、服务器、客户端、电子设备及存储介质 | |
WO2020212796A1 (en) | Computer implemented method and system for encrypting data | |
CN114448640A (zh) | 一种双盲信息分发方法、装置及计算机可读存储介质 | |
CN112118113A (zh) | 一种基于sm2算法的多方协同群签名方法及装置、系统、介质 | |
CN116830523A (zh) | 阈值密钥交换 | |
Sathya et al. | A comprehensive study of blockchain services: future of cryptography | |
CN113836571A (zh) | 基于云和区块链的医疗数据拥有终端位置匹配方法及系统 | |
Sarkar et al. | A multi-instance cancelable fingerprint biometric based secure session key agreement protocol employing elliptic curve cryptography and a double hash function | |
CN110519040B (zh) | 基于身份的抗量子计算数字签名方法和系统 | |
CN116318784B (zh) | 身份认证方法、装置、计算机设备和存储介质 | |
Ogunleye et al. | Elliptic Curve Cryptography Performance Evaluation for Securing Multi-Factor Systems in a Cloud Computing Environment | |
CN115632770A (zh) | 基于不经意传输的医疗物联网隐私保护数据共享方法 | |
Salvakkam et al. | An improved lattice based certificateless data integrity verification techniques for cloud computing | |
CN115174600A (zh) | 一种用于云存储系统的密文数据加密、安全检索方法及装置 | |
KR101793528B1 (ko) | 무인증서 공개키 암호 시스템 |
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 |