CN114756886A - 一种匿踪查询方法、装置和用于匿踪查询的装置 - Google Patents

一种匿踪查询方法、装置和用于匿踪查询的装置 Download PDF

Info

Publication number
CN114756886A
CN114756886A CN202210660740.2A CN202210660740A CN114756886A CN 114756886 A CN114756886 A CN 114756886A CN 202210660740 A CN202210660740 A CN 202210660740A CN 114756886 A CN114756886 A CN 114756886A
Authority
CN
China
Prior art keywords
pieces
information
server
ciphertext
client
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
CN202210660740.2A
Other languages
English (en)
Other versions
CN114756886B (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.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing 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 Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN202210660740.2A priority Critical patent/CN114756886B/zh
Publication of CN114756886A publication Critical patent/CN114756886A/zh
Application granted granted Critical
Publication of CN114756886B publication Critical patent/CN114756886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种匿踪查询方法、装置和用于匿踪查询的装置。其中的方法包括:接收客户端发送的密文查询词,密文查询词为客户端基于其持有的密钥对查询词进行加密得到;在黑盒数据中查询与密文查询词相匹配的密文关键词,黑盒数据为根据客户端持有的密钥和服务端持有的n条第一信息基于安全计算协议进行预计算得到,黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,n条第二信息为n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为客户端或者第三方所持有;向客户端返回与密文查询词相匹配的密文关键词对应的密文数据。本发明实施例可以提高匿踪查询的效率。

Description

一种匿踪查询方法、装置和用于匿踪查询的装置
技术领域
本发明涉及多方安全计算领域,尤其涉及一种匿踪查询方法、装置和用于匿踪查询的装置。
背景技术
匿踪查询(Private Information Retrieval,PIR),也称隐私信息检索,是隐私计算领域的一个重要技术,具有广泛的应用场景,可在金融、工业等场景下进行敏感隐私数据的查询,同时尽量保护查询方和被查询方的隐私,能够极大地促进数据流通。
匿踪查询是指:服务端S有一个数据库,客户端C有一个查询条件k,客户端根据k向服务端的数据库查询得到k对应的数据d。在整个查询过程中,服务端无法得到k的任何信息,也无法得到查询结果d的任何信息,客户端只能得到k对应的查询结果d,无法得知服务端数据库中其他数据的任何信息(除了数据库总数目等通用信息)。
匿踪查询基于非对称加密、不经意传输等密码学技术实现。然而,在实际的匿踪查询场景中,服务端的数据库通常有大量数据,例如1亿条,而客户端发起的查询大多是实时以及少量多次的。在每次的匿踪查询中,服务端需要将其数据库扫描一遍,计算复杂度为O(n),每次查询都要进行几个甚至几十个GB的通讯是令人难以忍受的,导致匿踪查询的效率较低,无法满足用户的实时性需求。
发明内容
本发明实施例提供一种匿踪查询方法、装置和用于匿踪查询的装置,可以提高匿踪查询的效率,从而实现在线的实时匿踪查询。
第一方面,本发明实施例公开了一种匿踪查询方法,应用于服务端,所述服务端存储有n条第一信息,每条第一信息包括一个关键词和该关键词对应的数据,所述方法包括:
接收客户端发送的密文查询词,所述密文查询词为所述客户端基于其持有的密钥对查询词进行加密得到;
在黑盒数据中查询与所述密文查询词相匹配的密文关键词,所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有;
向所述客户端返回与所述密文查询词相匹配的密文关键词对应的密文数据。
第二方面,本发明实施例公开了一种匿踪查询方法,应用于客户端,所述方法包括:
基于持有的密钥对查询词进行加密,得到密文查询词;
将所述密文查询词发送至服务端,以使所述服务端在黑盒数据中查询与所述密文查询词相匹配的密文关键词,所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有;
接收所述服务端返回的与所述密文查询词相匹配的密文关键词对应的密文数据。
第三方面,本发明实施例公开了一种匿踪查询***,所述***包括客户端和服务端,所述服务端存储有n条第一信息,每条第一信息包括一个关键词和该关键词对应的数据,其中,
所述客户端,用于基于持有的密钥对查询词进行加密,得到密文查询词,并将所述密文查询词发送至所述服务端;
所述服务端,用于在黑盒数据中查询与所述密文查询词相匹配的密文关键词,并向所述客户端返回与所述密文查询词相匹配的密文关键词对应的密文数据;所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有。
第四方面,本发明实施例公开了一种匿踪查询装置,应用于服务端,所述服务端存储有n条第一信息,每条第一信息包括一个关键词和该关键词对应的数据,所述装置包括:
查询词接收模块,用于接收客户端发送的密文查询词,所述密文查询词为所述客户端基于其持有的密钥对查询词进行加密得到;
数据查询模块,用于在黑盒数据中查询与所述密文查询词相匹配的密文关键词,所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有;
结果返回模块,用于向所述客户端返回与所述密文查询词相匹配的密文关键词对应的密文数据。
第五方面,本发明实施例公开了一种匿踪查询装置,应用于客户端,所述装置包括:
查询词加密模块,用于基于持有的密钥对查询词进行加密,得到密文查询词;
查询词发送模块,用于将所述密文查询词发送至服务端,以使所述服务端在黑盒数据中查询与所述密文查询词相匹配的密文关键词,所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有;
结果接收模块,用于接收所述服务端返回的与所述密文查询词相匹配的密文关键词对应的密文数据。
第六方面,本发明实施例公开了一种用于匿踪查询的装置,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如前述一个或多个所述的匿踪查询方法的指令。
第七方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的匿踪查询方法。
本发明实施例包括以下优点:
本发明实施例提供了一种基于预计算的匿踪查询方法,将大部分的计算和通讯开销放在离线的预计算过程中。在预计算(离线计算)阶段,客户端和服务端双方基于安全计算协议(本发明实施例中称为黑盒协议)完成预计算过程,预计算完成后由服务端获得黑盒协议输出的黑盒数据。所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列。客户端每查询1条查询词,整个过程只需要进行1次加密过程(客户端用密钥加密查询词的过程)和1次解密过程(客户端用密钥解密查询得到的密文数据的过程)。相对于明文查询场景,本发明实施例的在线匿踪查询过程仅增加了1次加密和1次解密操作的过程,即便是采用公钥密码的单次加密和解密也能够在毫秒级别完成,故整个在线查询过程能够在毫秒级完成,可以保证在线查询的实时性。此外,本发明实施例的在线查询过程的通讯量仅包含客户端和服务端双方来回传输的2条密文(密文查询词和密文数据),与明文查询的通讯量是同一量级。因此,本发明实施例的匿踪查询方法与明文查询方法的耗时以及通讯量均处于同一量级,也即,无论服务端的数据量n有多大,本发明实施例的在线查询均可在毫秒级别完成,极大提高了匿踪查询的效率,可以实现在线的实时匿踪查询。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种匿踪查询方法实施例的步骤流程图;
图2是本发明一个示例中利用乱序加密电路生成黑盒数据的示意图;
图3是本发明的另一种匿踪查询方法实施例的步骤流程图;
图4是本发明的一种匿踪查询装置实施例的结构框图;
图5是本发明的另一种匿踪查询装置实施例的结构框图;
图6是本发明的一种匿踪查询***实施例的结构框图;
图7是本发明的一种用于匿踪查询的装置800的框图;
图8是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
参照图1,示出了本发明的一种匿踪查询方法实施例的步骤流程图,所述方法可应用于服务端,所述服务端存储有n条第一信息,每条第一信息包括一个关键词和该关键词对应的数据,所述方法可以包括如下步骤:
步骤101、接收客户端发送的密文查询词,所述密文查询词为所述客户端基于其持有的密钥对查询词进行加密得到;
步骤102、在黑盒数据中查询与所述密文查询词相匹配的密文关键词,所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有;
步骤103、向所述客户端返回与所述密文查询词相匹配的密文关键词对应的密文数据。
本发明实施例提供了一种匿踪查询方法,所述方法可应用于服务端,所述服务端的数据库中存储有n条第一信息,n为正整数,本发明实施例对n的取值不做限制。每条第一信息以数据对的形式存储,每条第一信息包括一个关键词和该关键词对应的数据。本发明实施例的匿踪查询方法为关键词查询方法,服务端的数据库中存储有n条第一信息,每条第一信息均为(keyword, data)数据对形式,keyword为关键词,data为关键词对应的数据。客户端发起的一次匿踪查询是指:客户端提供某个查询词k,服务端查询k是否在其数据库的关键词keyword列中,也即服务端在数据库中查询是否存在与查询词k相匹配的关键词keyword,若存在,则客户端希望得到与查询词k相匹配的关键词keyword对应的数据data。在查询过程中,服务端无法得到查询词k的任何信息(包括查询词k是否在关键词keyword列中),若查询词k在服务端数据库中的关键词keyword列中,则客户端只能得到查询词k对应的数据data,对服务端数据库中其他数据一无所知。
为了实现上述匿踪查询过程,并且提高匿踪查询的效率,本发明实施例提供了一种基于预计算的匿踪查询方法,将大部分的计算和通讯开销放在离线的预计算过程中,通过预计算,服务端可以获得黑盒数据。所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为根据客户端的密钥对服务端的n条第一信息进行加密并按照乱序进行排序得到,也即,所述n条第二信息是所述n条第一信息在所述密钥下的密文的乱序排列。其中,所述乱序排列所使用的乱序可以由客户端生成或者由第三方生成,也即,所述乱序为所述客户端或者第三方所持有,服务端无法获知该乱序。
在预计算(离线计算)阶段,客户端和服务端双方基于安全计算协议(本发明实施例中称为黑盒协议)完成预计算过程,预计算完成后由服务端获得黑盒协议输出的黑盒数据。本发明实施例对所述安全计算协议的类型不做限制,例如,所述安全计算协议可以为MPC(Secure Multi-party Computation,多方安全计算)协议,在基于MPC协议的安全计算***中,多个参与方可以在***漏自身数据的前提下,使用多方安全计算技术进行协同计算得到计算结果,参与计算的数据、中间结果、以及最终结果可以为密文。在执行所述预计算的过程中,客户端不会泄露自己的密钥信息,服务端也会***露自己数据库中的数据信息。
在具体实施中,客户端持有的密钥可以为AES(Advanced Encryption Standard,高级加密标准)的私钥,AES是一种对称加密算法,加密和解密使用相同的密钥。
具体地,客户端生成密钥(如记为skc),客户端将密钥skc作为黑盒协议的输入,服务端将其数据库中的n条第一信息作为黑盒协议的输入。双方执行黑盒协议,最终由服务端获得黑盒协议输出的黑盒数据,所述黑盒数据为服务端的n条第一信息在客户端的密钥skc下的密文的乱序排列。
一个示例中,服务端的数据库中包括如下n条第一信息:(k1,x1)、(k2,x2)、……、(kn,xn)。在预计算阶段,客户端和服务端双方执行黑盒协议,黑盒协议的输入包括客户端生成的密钥skc以及服务端的n条第一信息:(k1,x1)、(k2,x2)、……、(kn,xn)。客户端和服务端双方执行黑盒协议的输出为黑盒数据,即服务端的n条第一信息在客户端的密钥skc下的密文的乱序排列。如该黑盒数据包括如下n条第二信息:([kπ(1)],[xπ(1)])、([kπ(2)],[xπ(2)])、……、([kπ(n)],[xπ(n)])。每条第二信息以数据对的形式存储,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据。例如,对于第二信息([kπ(1)],[xπ(1)]),[kπ(1)]为密文关键词,[xπ(1)]为密文关键词[kπ(1)]对应的密文数据。在本发明实施例中,[x]表示利用客户端的密钥skc对x进行加密得到的密文,也即,用密钥skc对[x]进行解密可以得到x。
其中,π(1)、π(2)、……、π(n)表示一个乱序。例如,假设该乱序为(3,5,2,6,1,4),则π(1)=3, π(2)=5, π(3)=2, π(4)=6, π(5)=1, π(6)=4。
在本发明实施例中,乱序指的是一个序列,该序列可用于对另一个序列(如某个数组)中的元素进行重新排序,乱序中的元素用于表示重新排序后的数组中的元素顺序。所述乱序的长度可以与待排序的序列长度相等,例如,所述乱序的长度可以与服务端数据库中存储的第一信息组成的序列的长度相等,也即,所述乱序的长度可以为n。本发明实施例对生成所述乱序的方式不做限制,示例性地,假设n=6,可以先生成一个顺序序列,如(1,2,3,4,5,6),然后对该顺序序列随机打乱,即可得到一个乱序,如(3,5,2,6,1,4)。需要说明的是,对于某次预计算采用的乱序可以是随机生成的,该乱序并不唯一。
一个示例中,假设n=3,服务端的3条第一信息包括:(k1,x1)、(k2,x2)、(k3,x3),假设乱序为(3,1,2),则客户端和服务端双方执行黑盒协议得到的3条第二信息包括:([kπ(1)],[xπ(1)])、([kπ(2)],[xπ(2)])、([kπ(2)],[xπ(2)]),其中,π(1)=3, π(2)=1, π(3)=2。将这3条第二信息显示为明文则为:(k3,x3)、(k1,x1)、(k2,x2)。
在离线的预计算完成之后,服务端可以获得黑盒数据,利用该黑盒数据可以进行在线的匿踪查询。示例性地,假设客户端要查询某个查询词k对应的数据。首先,客户端利用密钥skc对查询词k进行加密得到密文查询词[k]。需要说明的是,在线进行匿踪查询时客户端使用的密钥与预计算时客户端使用的密钥相同。客户端将密文查询词[k]发送至服务端,服务端在黑盒数据中进行搜索,查询是否存在与该密文查询词[k]相匹配的密文关键词。若存在与该密文查询词[k]相匹配的密文关键词,如[kπ(i)]=[k],则获取该密文关键词[kπ(i)]对应密文数据[xπ(i)],并将该密文数据[xπ(i)]返回给客户端。客户端用密钥skc对该密文数据[xπ(i)]进行解密即可得到该密文数据[xπ(i)]的明文,也即得到查询词k对应的查询结果。
由于密文关键词和密文查询词都是利用客户端生成的同一个密钥加密得到的,因此,服务端在黑盒数据中搜索是否存在与密文查询词相匹配的密文关键词的过程,相当于明文意义上的搜索过程。客户端每查询1条查询词,整个过程只需要进行1次加密过程(客户端用密钥加密查询词的过程)和1次解密过程(客户端用密钥解密查询得到的密文数据的过程)。相对于直接使用明文进行查询,本发明实施例的在线查询过程仅增加了1次加密和1次解密操作的过程,即便是采用公钥密码的单次加密和解密也能够在毫秒级别完成,故整个在线查询过程能够在毫秒级完成,可以保证在线查询的实时性。此外,本发明实施例的在线查询过程的通讯量仅包含客户端和服务端双方来回传输的2条密文(如密文查询词[k]和密文数据[xπ(i)]),与明文查询的通讯量是同一量级。因此,本发明实施例的匿踪查询方法与明文查询方法的耗时以及通讯量均处于同一量级,也即,无论服务端的数据量n有多大,本发明实施例的在线查询均可在毫秒级别完成,极大提高了匿踪查询的效率,可以实现在线的实时匿踪查询。
在服务端,由于乱序是由客户端或者第三方生成的,服务端无法得知乱序的信息,因此,在服务端的角度看来,黑盒数据中的n条第二信息只是无意义的随机数,服务端无法得知n条第二信息的明文信息。再者,服务端在黑盒数据中搜索是否存在与密文查询词[k]相匹配的密文关键词的过程中,若存在与该密文查询词[k]相匹配的密文关键词,如[kπ(i)]=[k],则获取该密文关键词[kπ(i)]对应密文数据[xπ(i)],并将该密文数据[xπ(i)]返回给客户端。由于密文查询词、密文关键词、以及密文数据均是利用客户端的密钥加密得到,而服务端无法获知客户端的密钥,因此,服务端也就无法得知密文关键词[kπ(i)]和密文数据[xπ(i)]的明文信息,服务端无法得知客户端的查询相关信息。在客户端,客户端只能获取服务端返回的查询结果(如密文数据[xπ(i)]),对于服务端数据库中的其他数据信息一无所知。因此,本发明实施例提供的匿踪查询方法,在极大提高匿踪查询的效率,实现在线的实时匿踪查询的同时,可以保护客户端和服务端双方的数据隐私安全。
在本发明的一种可选实施例中,步骤101中所述接收客户端发送的密文查询词之前,所述方法还可以包括:所述服务端与所述客户端执行两方协同的多方安全计算,得到所述黑盒数据。
本发明实施例对服务端和客户端双方进行预计算采用的安全计算协议(黑盒协议)不做限制。所述安全计算协议可以为MPC协议,具体可以为所述服务端与所述客户端之间两方协同的MPC协议。所述MPC协议可以包括但不限于如下任意一种:混淆电路、不经意传输、同态加密等。
在本发明的一种可选实施例中,所述与所述客户端执行两方协同的多方安全计算,得到所述黑盒数据,可以包括:
步骤S11、向乱序加密电路输入所述n条第一信息,所述乱序加密电路为混淆电路,所述乱序加密电路还接收所述客户端输入的密钥和乱序;
步骤S12、获取所述乱序加密电路输出的n条第二信息,所述n条第二信息为所述乱序加密电路根据所述密钥对所述n条第一信息进行加密后再按照所述乱序进行排序得到。
一个可选的实施方式中,所述服务端与所述客户端可以通过乱序加密电路实现黑盒协议,生成黑盒数据,所述乱序加密电路为混淆电路。参照图2,示出了本发明一个示例中利用乱序加密电路生成黑盒数据的示意图。如图2所示,客户端201生成密钥skc和乱序π,并将密钥skc和乱序π输入乱序加密电路203。服务端202将n条第一信息输入乱序加密电路,n条第一信息包括:(k1,x1)、(k2,x2)、……、(kn,xn)。乱序加密电路203的输出为黑盒数据,包括如下n条第二信息:([kπ(1)],[xπ(1)])、([kπ(2)],[xπ(2)])、……、([kπ(n)],[xπ(n)])。
乱序加密电路可以通过构造混淆电路实现,混淆电路是一种密码学协议,用于完成参与方能在互相不知晓对方数据的情况下计算某一能被逻辑电路表示的函数。通过对电路进行加密来掩盖电路的输入和电路的结构,以此来实现对各个参与者的隐私信息的保密,再通过电路计算来实现多方安全计算的目标函数。
混淆电路的整个计算过程可以包括两个阶段:电路产生阶段和执行阶段。电路产生阶段指将安全计算的函数转换为电路。执行阶段指利用OT(Oblivious Transfer,不经意传输)、加密等密码学原语等执行电路。
在具体实施中,可以构建安全计算任务,该安全计算任务用于利用客户端输入的密钥对服务端输入的n条第一信息进行加密,再对加密得到的密文按照乱序进行排列,最后输出排列结果(也即输出黑盒数据)。由于混淆电路能够实现任何二进制计算,因此,该安全计算任务可以通过混淆电路来实现。例如,可以将该安全计算任务使用函数来描述,并将该安全计算任务的各函数转换为电路,如转换为一个复杂的混淆电路,从而构建乱序加密电路,该乱序加密电路可以实现该安全计算任务。
在上述过程中,客户端无法得到服务端输入混淆电路的任何数据信息,服务端也无法得到客户端输入混淆电路的任何数据信息。本发明实施例利用混淆电路,可以在保护客户端和服务端双方输入数据隐私性的前提下,输出服务端的n条第一信息在客户端的密钥下的密文的乱序排列。
在本发明的一种可选实施例中,所述与所述客户端执行两方协同的多方安全计算,得到所述黑盒数据,可以包括:
步骤S21、生成代理重加密的第一公私钥对,所述第一公私钥对包括第一公钥和第一私钥;
步骤S22、利用所述第一公钥对所述n条第一信息进行加密,得到n条第一加密数据,所述n条第一加密数据可被所述第一私钥解密;
步骤S23、将所述n条第一加密数据和所述第一公钥发送给代理方,所述代理方还接收所述客户端发送的第二公钥并获取乱序,所述第二公钥为所述客户端生成的代理重加密的第二公私钥对中的公钥,所述第二公私钥对包括第二公钥和第二私钥;
步骤S24、获取所述代理方输出的n条第二信息,所述n条第二信息为所述代理方基于加密状态将所述第一加密数据转换为第二加密数据后,按照所述乱序对所述第二加密数据进行排序得到,所述第二加密数据可被所述第二私钥解密。
其中,基于加密状态,指的是在操作过程中,操作方无法得知其操作的数据对应的明文的任何信息。
一个可选的实施方式中,所述服务端与所述客户端可以通过代理重加密(ProxyRe-Encryption,PRE)实现黑盒协议,生成黑盒数据。代理重加密是密文间的一种密钥转换机制,主要是通过代理方将一个用户的密文转换为另一个用户可以解密的密文,且***露用户的私钥和明文信息。在该过程中,代理方得不到数据的明文信息,可以防止数据泄露的风险。
具体地,服务端可以生成代理重加密的第一公私钥对,所述第一公私钥对包括第一公钥和第一私钥。服务端利用所述第一公钥对所述n条第一信息进行加密,得到n条第一加密数据,所述n条第一加密数据可被所述第一私钥解密。服务端将所述n条第一加密数据和所述第一公钥发送给代理方。客户端生成代理重加密的第二公私钥对,所述第二公私钥对包括第二公钥和第二私钥。客户端将所述第二公钥发送给代理方。
在本发明实施例中,乱序可以由客户端生成或者由第三方生成。在客户端生成乱序的情况下,客户端还将生成的乱序发送给代理方。在第三方生成乱序的情况下,所述第三方可以为所述代理方,所述代理方可用于执行代理重加密操作。
代理方对服务端发来的n条第一加密数据执行代理重加密操作,也即,代理方将服务端的n条第一加密数据(可被服务端的第一私钥解密)转换为n条第二加密数据(可被客户端的第二私钥解密)。代理方再对所述第二加密数据按照所述乱序进行排列,即可得到需要输出给服务端的黑盒数据。
服务端生成的代理重加密的第一公私钥对以及客户端生成的代理重加密的第二公私钥对,均为代理重加密的公私钥对,代理重加密的公私钥对可以实现代理重加密的功能(即代理方可以在密文状态下执行密钥转换操作),这是通常的公私钥对无法实现的。
本发明实施例使用代理重加密实现黑盒协议,使得离线的预计算过程可以在代理方处进行,且代理方无法得知服务端的第一私钥和客户端的第二私钥,也就无法获知服务端的数据信息和客户端的查询信息,可以保护客户端和服务端双方数据的隐私安全。
本发明实施例对所述代理方的类型不做限制,例如,所述代理方可以为独立的服务器,或者,所述代理方还可以为计算资源丰富的云服务器。在所述代理方为云服务器时,离线的预计算过程可以在较短时间内完成,可以提高预计算的效率。
在本发明的一种可选实施例中,所述方法还可以包括:
步骤S31、在所述n条第一信息发生数据更新时,得到更新后的m条第一信息;
步骤S32、基于所述更新后的m条第一信息与所述客户端基于所述客户端持有的更新后的密钥执行预计算,得到更新后的黑盒数据。
在实际应用中,对于某个客户端,利用其生成的密钥和服务端执行1次离线的预计算过程之后,在服务端的数据库不变的情况下,该客户端就可以利用该密钥随时、多次地进行实时的匿踪查询。可以理解的是,当存在多个客户端需要进行匿踪查询时,多个客户端中的每个客户端可以利用各自持有的密钥分别与服务端执行离线的预计算,服务端可以得到每个客户端对应的黑盒数据。由此,不同的客户端可以利用自身持有的密钥进行在线的匿踪查询。
在所述n条第一信息发生数据更新时(也即服务端的数据库发生变化时),例如,n条第一信息中的一条或多条发生修改,或者,在所述n条第一信息删除或新增第一信息等,得到更新后的m条第一信息。m可以为大于或等于或小于n的正整数。
服务端的数据库发生变化的情况下,客户端可以重新生成新的密钥,得到更新后的密钥。服务端基于更新后的m条第一信息与客户端基于其更新后的密钥重新执行一次离线的预计算,得到更新后的黑盒数据。进一步地,在重新执行预计算时,可以利用重新生成的新的乱序。
在得到更新后的黑盒数据,可以利用更新后的黑盒数据进行在线的匿踪查询,此时客户端使用的是更新后的密钥,可以防止原来的密钥泄露带来的安全隐患。
参照图3,示出了本发明的另一种匿踪查询方法实施例的步骤流程图,所述方法可应用于客户端,所述方法可以包括:
步骤301、基于持有的密钥对查询词进行加密,得到密文查询词;
步骤302、将所述密文查询词发送至服务端,以使所述服务端在黑盒数据中查询与所述密文查询词相匹配的密文关键词,所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有;
步骤303、接收所述服务端返回的与所述密文查询词相匹配的密文关键词对应的密文数据。
本发明实施例提供了一种匿踪查询方法,所述方法可应用于客户端,客户端可以向服务端请求针对某个查询词的匿踪查询。所述服务端的数据库中存储有n条第一信息,每条第一信息以数据对的形式存储,每条第一信息包括一个关键词和该关键词对应的数据。本发明实施例的匿踪查询方法为关键词查询方法。
为提高匿踪查询的效率,实现在线的实时匿踪查询,本发明实施例提供了一种基于预计算的匿踪查询方法,将大部分的计算和通讯开销放在离线的预计算过程中,通过预计算,服务端可以获得黑盒数据。利用该黑盒数据可以实现在线的实时匿踪查询。
客户端和服务端双方执行预计算的过程以及执行在线匿踪查询的过程,在前述实施例中已经详细说明,故该实施例中不再赘述。
在本发明的一种可选实施例中,所述方法还可以包括:基于持有的所述密钥对所述服务端返回的密文数据进行解密,得到所述查询词对应的查询结果。
在本发明的一种可选实施例中,步骤301中所述基于持有的密钥对查询词进行加密之前,所述方法还可以包括:与所述服务端执行两方协同的多方安全计算,以使所述服务端得到所述黑盒数据。
在本发明的一种可选实施例中,所述与所述服务端执行两方协同的多方安全计算,以使所述服务端得到所述黑盒数据,可以包括:
生成密钥和乱序,并向乱序加密电路输入所述密钥和所述乱序,以使所述乱序加密电路根据所述密钥对服务端输入的n条第一信息进行加密后再按照所述乱序进行排序,得到n条第二信息,所述乱序加密电路为混淆电路,所述乱序加密电路还接收所述服务端输入的所述n条第一信息,以及向所述服务端输出所述n条第二信息。
在本发明的一种可选实施例中,所述与所述服务端执行两方协同的多方安全计算,以使所述服务端得到所述黑盒数据,可以包括:
生成代理重加密的第二公私钥对,所述第二公私钥对包括第二公钥和第二私钥;
将所述第二公钥发送给代理方,所述代理方还接收所述服务端发送的n条第一加密数据并获取乱序,以使所述代理方基于加密状态将所述第一加密数据转换为第二加密数据后,按照所述乱序对所述第二加密数据进行排序得到n条第二信息,并将所述n条第二信息发送至所述服务端;其中,所述n条第一加密数据为所述服务端利用第一公钥对所述n条第一信息进行加密得到,所述第一公钥为所述服务端生成的代理重加密的第一公私钥对中的公钥,所述代理重加密的第一公私钥对包括第一公钥和第一私钥,所述n条第一加密数据可被所述第一私钥解密,所述第二加密数据可被所述第二私钥解密。
在本发明的一种可选实施例中,所述方法还可以包括:
在所述服务端的所述n条第一信息发生数据更新,得到更新后的m条第一信息的情况下,生成更新后的密钥;
基于所述更新后的密钥与所述服务端基于所述更新后的m条第一信息执行预计算,以使所述服务端得到更新后的黑盒数据。
综上,本发明实施例提供了一种基于预计算的匿踪查询方法,将大部分的计算和通讯开销放在离线的预计算过程中。在预计算(离线计算)阶段,客户端和服务端双方基于安全计算协议(本发明实施例中称为黑盒协议)完成预计算过程,预计算完成后由服务端获得黑盒协议输出的黑盒数据。所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列。客户端每查询1条查询词,整个过程只需要进行1次加密过程(客户端用密钥加密查询词的过程)和1次解密过程(客户端用密钥解密查询得到的密文数据的过程)。相对于直接使用明文进行查询,本发明实施例的在线查询过程仅增加了1次加密和1次解密操作的过程,即便是采用公钥密码的单次加密和解密也能够在毫秒级别完成,故整个在线查询过程能够在毫秒级完成,可以保证在线查询的实时性。此外,本发明实施例的在线查询过程的通讯量仅包含客户端和服务端双方来回传输的2条密文(密文查询词和密文数据),与明文查询的通讯量是同一量级。因此,本发明实施例的匿踪查询方法与明文查询方法的耗时以及通讯量均处于同一量级,也即,无论服务端的数据量n有多大,本发明实施例的在线查询均可在毫秒级别完成,极大提高了匿踪查询的效率,可以实现在线的实时匿踪查询。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明的一种匿踪查询装置实施例的结构框图,所述装置可应用于服务端,所述服务端存储有n条第一信息,每条第一信息包括一个关键词和该关键词对应的数据,所述装置可以包括:
查询词接收模块401,用于接收客户端发送的密文查询词,所述密文查询词为所述客户端基于其持有的密钥对查询词进行加密得到;
数据查询模块402,用于在黑盒数据中查询与所述密文查询词相匹配的密文关键词,所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有;
结果返回模块403,用于向所述客户端返回与所述密文查询词相匹配的密文关键词对应的密文数据。
可选地,所述装置还包括:
第一协同计算模块,用于与所述客户端执行两方协同的多方安全计算,得到所述黑盒数据。
可选地,所述第一协同计算模块,包括:
第一输入子模块,用于向乱序加密电路输入所述n条第一信息,所述乱序加密电路为混淆电路,所述乱序加密电路还接收所述客户端输入的密钥和乱序;
第一获取子模块,用于获取所述乱序加密电路输出的n条第二信息,所述n条第二信息为所述乱序加密电路根据所述密钥对所述n条第一信息进行加密后再按照所述乱序进行排序得到。
可选地,所述第一协同计算模块,包括:
第一生成子模块,用于生成代理重加密的第一公私钥对,所述第一公私钥对包括第一公钥和第一私钥;
加密子模块,用于利用所述第一公钥对所述n条第一信息进行加密,得到n条第一加密数据,所述n条第一加密数据可被所述第一私钥解密;
第一发送子模块,用于将所述n条第一加密数据和所述第一公钥发送给代理方,所述代理方还接收所述客户端发送的第二公钥并获取乱序,所述第二公钥为所述客户端生成的代理重加密的第二公私钥对中的公钥,所述第二公私钥对包括第二公钥和第二私钥;
第二获取子模块,用于获取所述代理方输出的n条第二信息,所述n条第二信息为所述代理方基于加密状态将所述第一加密数据转换为第二加密数据后,按照所述乱序对所述第二加密数据进行排序得到,所述第二加密数据可被所述第二私钥解密。
可选地,所述装置还包括:
第一更新模块,用于在所述n条第一信息发生数据更新时,得到更新后的m条第一信息;
第二更新模块,用于基于所述更新后的m条第一信息与所述客户端基于所述客户端持有的更新后的密钥执行预计算,得到更新后的黑盒数据。
参照图5,示出了本发明的另一种匿踪查询装置实施例的结构框图,所述装置可应用于客户端,所述装置可以包括:
查询词加密模块501,用于基于持有的密钥对查询词进行加密,得到密文查询词;
查询词发送模块502,用于将所述密文查询词发送至服务端,以使所述服务端在黑盒数据中查询与所述密文查询词相匹配的密文关键词,所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有;
结果接收模块503,用于接收所述服务端返回的与所述密文查询词相匹配的密文关键词对应的密文数据。
可选地,所述装置还包括:
结果解密模块,用于基于持有的所述密钥对所述服务端返回的密文数据进行解密,得到所述查询词对应的查询结果。
可选地,所述装置还包括:
第二协同计算模块,用于与所述服务端执行两方协同的多方安全计算,以使所述服务端得到所述黑盒数据。
可选地,所述第二协同计算模块,具体用于生成密钥和乱序,并向乱序加密电路输入所述密钥和所述乱序,以使所述乱序加密电路根据所述密钥对服务端输入的n条第一信息进行加密后再按照所述乱序进行排序,得到n条第二信息,所述乱序加密电路为混淆电路,所述乱序加密电路还接收所述服务端输入的所述n条第一信息,以及向所述服务端输出所述n条第二信息。
可选地,所述第二协同计算模块,包括:
第二生成子模块,用于生成代理重加密的第二公私钥对,所述第二公私钥对包括第二公钥和第二私钥;
第二发送子模块,用于将所述第二公钥发送给代理方,所述代理方还接收所述服务端发送的n条第一加密数据并获取乱序,以使所述代理方基于加密状态将所述第一加密数据转换为第二加密数据后,按照所述乱序对所述第二加密数据进行排序得到n条第二信息,并将所述n条第二信息发送至所述服务端;其中,所述n条第一加密数据为所述服务端利用第一公钥对所述n条第一信息进行加密得到,所述第一公钥为所述服务端生成的代理重加密的第一公私钥对中的公钥,所述代理重加密的第一公私钥对包括第一公钥和第一私钥,所述n条第一加密数据可被所述第一私钥解密,所述第二加密数据可被所述第二私钥解密。
可选地,所述装置还包括:
密钥更新模块,用于在所述服务端的所述n条第一信息发生数据更新,得到更新后的m条第一信息的情况下,生成更新后的密钥;
黑盒更新模块,用于基于所述更新后的密钥与所述服务端基于所述更新后的m条第一信息执行预计算,以使所述服务端得到更新后的黑盒数据。
参照图6,示出了本发明的一种匿踪查询***600实施例的结构框图,所述***包括客户端601和服务端602,所述服务端602存储有n条第一信息,每条第一信息包括一个关键词和该关键词对应的数据,其中,
所述客户端601,用于基于持有的密钥对查询词进行加密,得到密文查询词,并将所述密文查询词发送至所述服务端;
所述服务端602,用于在黑盒数据中查询与所述密文查询词相匹配的密文关键词,并向所述客户端返回与所述密文查询词相匹配的密文关键词对应的密文数据;所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有。
可选地,所述客户端601,还用于基于持有的所述密钥对所述服务端返回的密文数据进行解密,得到所述查询词对应的查询结果。
可选地,所述服务端602,还用于与所述客户端执行两方协同的多方安全计算,得到所述黑盒数据;所述客户端601,还用于与所述服务端执行两方协同的多方安全计算,以使所述服务端得到所述黑盒数据。
可选地,所述***600还包括乱序加密电路603,所述乱序加密电路为混淆电路;
所述客户端601,还用于向所述乱序加密电路输入其持有的密钥和乱序;
所述服务端602,还用于向所述乱序加密电路输入其持有的所述n条第一信息,以及获取所述乱序加密电路输出的n条第二信息;
所述乱序加密电路603,用于接收所述客户端输入的密钥和乱序以及所述服务端输入的n条第一信息,根据所述密钥对所述n条第一信息进行加密后再按照所述乱序进行排序,得到n条第二信息,并将所述n条第二信息输出至所述服务端。
可选地,所述***600还包括代理方604;
所述服务端602,还用于生成代理重加密的第一公私钥对,所述第一公私钥对包括第一公钥和第一私钥,利用所述第一公钥对所述n条第一信息进行加密,得到n条第一加密数据,将所述n条第一加密数据和所述第一公钥发送给所述代理方,所述n条第一加密数据可被所述第一私钥解密;
所述客户端601,还用于生成代理重加密的第二公私钥对,所述第二公私钥对包括第二公钥和第二私钥,并将所述第二公钥发送给所述代理方;
所述代理方604,用于接收所述服务端发送的所述n条第一加密数据和所述第一公钥,接收所述客户端发送的所述第二公钥,并获取乱序,基于加密状态将所述第一加密数据转换为第二加密数据后,按照所述乱序对所述第二加密数据进行排序,得到n条第二信息,将所述n条第二信息发送给所述服务端,所述第二加密数据可被所述第二私钥解密;
所述服务端602,还用于接收所述代理方发送的所述n条第二信息。
可选地,所述服务端602,还用于在所述n条第一信息发生数据更新时,得到更新后的m条第一信息,并基于所述更新后的m条第一信息与所述客户端基于所述客户端持有的更新后的密钥执行预计算,得到更新后的黑盒数据;
所述客户端601,还用于在所述服务端的n条第一信息中发生数据更新,得到更新后的m条第一信息的情况下,生成更新后的密钥,并基于所述更新后的密钥与所述服务端基于所述更新后的m条第一信息执行预计算,以使所述服务端得到更新后的黑盒数据。
本发明实施例将大部分的计算和通讯开销放在离线的预计算过程中。在预计算(离线计算)阶段,客户端和服务端双方基于安全计算协议(本发明实施例中称为黑盒协议)完成预计算过程,预计算完成后由服务端获得黑盒协议输出的黑盒数据。所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列。客户端每查询1条查询词,整个过程只需要进行1次加密过程(客户端用密钥加密查询词的过程)和1次解密过程(客户端用密钥解密查询得到的密文数据的过程)。相对于直接使用明文进行查询,本发明实施例的在线查询过程仅增加了1次加密和1次解密操作的过程,即便是采用公钥密码的单次加密和解密也能够在毫秒级别完成,故整个在线查询过程能够在毫秒级完成,可以保证在线查询的实时性。此外,本发明实施例的在线查询过程的通讯量仅包含客户端和服务端双方来回传输的2条密文(密文查询词和密文数据),与明文查询的通讯量是同一量级。因此,本发明实施例的匿踪查询装置与明文查询的耗时以及通讯量均处于同一量级,也即,无论服务端的数据量n有多大,本发明实施例的在线查询均可在毫秒级别完成,极大提高了匿踪查询的效率,可以实现在线的实时匿踪查询。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供了一种用于匿踪查询的装置,包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行前述一个或多个实施例所述的匿踪查询方法的指令。
图7是根据一示例性实施例示出的一种用于匿踪查询的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/ O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/ O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以搜索装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图8是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作***1941,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1或图3所示的匿踪查询方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行前文图1或图3所对应实施例中匿踪查询方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种匿踪查询方法、一种匿踪查询装置和一种用于匿踪查询的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (30)

1.一种匿踪查询方法,其特征在于,应用于服务端,所述服务端存储有n条第一信息,每条第一信息包括一个关键词和该关键词对应的数据,所述方法包括:
接收客户端发送的密文查询词,所述密文查询词为所述客户端基于其持有的密钥对查询词进行加密得到;
在黑盒数据中查询与所述密文查询词相匹配的密文关键词,所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有;
向所述客户端返回与所述密文查询词相匹配的密文关键词对应的密文数据。
2.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的密文查询词之前,所述方法还包括:
与所述客户端执行两方协同的多方安全计算,得到所述黑盒数据。
3.根据权利要求2所述的方法,其特征在于,所述与所述客户端执行两方协同的多方安全计算,得到所述黑盒数据,包括:
向乱序加密电路输入所述n条第一信息,所述乱序加密电路为混淆电路,所述乱序加密电路还接收所述客户端输入的密钥和乱序;
获取所述乱序加密电路输出的n条第二信息,所述n条第二信息为所述乱序加密电路根据所述密钥对所述n条第一信息进行加密后再按照所述乱序进行排序得到。
4.根据权利要求2所述的方法,其特征在于,所述与所述客户端执行两方协同的多方安全计算,得到所述黑盒数据,包括:
生成代理重加密的第一公私钥对,所述第一公私钥对包括第一公钥和第一私钥;
利用所述第一公钥对所述n条第一信息进行加密,得到n条第一加密数据,所述n条第一加密数据可被所述第一私钥解密;
将所述n条第一加密数据和所述第一公钥发送给代理方,所述代理方还接收所述客户端发送的第二公钥并获取乱序,所述第二公钥为所述客户端生成的代理重加密的第二公私钥对中的公钥,所述第二公私钥对包括第二公钥和第二私钥;
获取所述代理方输出的n条第二信息,所述n条第二信息为所述代理方基于加密状态将所述第一加密数据转换为第二加密数据后,按照所述乱序对所述第二加密数据进行排序得到,所述第二加密数据可被所述第二私钥解密。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述n条第一信息发生数据更新时,得到更新后的m条第一信息;
基于所述更新后的m条第一信息与所述客户端基于所述客户端持有的更新后的密钥执行预计算,得到更新后的黑盒数据。
6.一种匿踪查询方法,其特征在于,应用于客户端,所述方法包括:
基于持有的密钥对查询词进行加密,得到密文查询词;
将所述密文查询词发送至服务端,以使所述服务端在黑盒数据中查询与所述密文查询词相匹配的密文关键词,所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有;
接收所述服务端返回的与所述密文查询词相匹配的密文关键词对应的密文数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
基于持有的所述密钥对所述服务端返回的密文数据进行解密,得到所述查询词对应的查询结果。
8.根据权利要求6所述的方法,其特征在于,所述基于持有的密钥对查询词进行加密之前,所述方法还包括:
与所述服务端执行两方协同的多方安全计算,以使所述服务端得到所述黑盒数据。
9.根据权利要求8所述的方法,其特征在于,所述与所述服务端执行两方协同的多方安全计算,以使所述服务端得到所述黑盒数据,包括:
生成密钥和乱序,并向乱序加密电路输入所述密钥和所述乱序,以使所述乱序加密电路根据所述密钥对服务端输入的n条第一信息进行加密后再按照所述乱序进行排序,得到n条第二信息,所述乱序加密电路为混淆电路,所述乱序加密电路还接收所述服务端输入的所述n条第一信息,以及向所述服务端输出所述n条第二信息。
10.根据权利要求8所述的方法,其特征在于,所述与所述服务端执行两方协同的多方安全计算,以使所述服务端得到所述黑盒数据,包括:
生成代理重加密的第二公私钥对,所述第二公私钥对包括第二公钥和第二私钥;
将所述第二公钥发送给代理方,所述代理方还接收所述服务端发送的n条第一加密数据并获取乱序,以使所述代理方基于加密状态将所述第一加密数据转换为第二加密数据后,按照所述乱序对所述第二加密数据进行排序得到n条第二信息,并将所述n条第二信息发送至所述服务端;其中,所述n条第一加密数据为所述服务端利用第一公钥对所述n条第一信息进行加密得到,所述第一公钥为所述服务端生成的代理重加密的第一公私钥对中的公钥,所述代理重加密的第一公私钥对包括第一公钥和第一私钥,所述n条第一加密数据可被所述第一私钥解密,所述第二加密数据可被所述第二私钥解密。
11.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述服务端的所述n条第一信息发生数据更新,得到更新后的m条第一信息的情况下,生成更新后的密钥;
基于所述更新后的密钥与所述服务端基于所述更新后的m条第一信息执行预计算,以使所述服务端得到更新后的黑盒数据。
12.一种匿踪查询***,其特征在于,所述***包括客户端和服务端,所述服务端存储有n条第一信息,每条第一信息包括一个关键词和该关键词对应的数据,其中,
所述客户端,用于基于持有的密钥对查询词进行加密,得到密文查询词,并将所述密文查询词发送至所述服务端;
所述服务端,用于在黑盒数据中查询与所述密文查询词相匹配的密文关键词,并向所述客户端返回与所述密文查询词相匹配的密文关键词对应的密文数据;所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有。
13.根据权利要求12所述的***,其特征在于,所述客户端,还用于基于持有的所述密钥对所述服务端返回的密文数据进行解密,得到所述查询词对应的查询结果。
14.根据权利要求12所述的***,其特征在于,所述服务端,还用于与所述客户端执行两方协同的多方安全计算,得到所述黑盒数据;所述客户端,还用于与所述服务端执行两方协同的多方安全计算,以使所述服务端得到所述黑盒数据。
15.根据权利要求12所述的***,其特征在于,所述***还包括乱序加密电路,所述乱序加密电路为混淆电路;
所述客户端,还用于向所述乱序加密电路输入其持有的密钥和乱序;
所述服务端,还用于向所述乱序加密电路输入其持有的所述n条第一信息,以及获取所述乱序加密电路输出的n条第二信息;
所述乱序加密电路,用于接收所述客户端输入的密钥和乱序以及所述服务端输入的n条第一信息,根据所述密钥对所述n条第一信息进行加密后再按照所述乱序进行排序,得到n条第二信息,并将所述n条第二信息输出至所述服务端。
16.根据权利要求12所述的***,其特征在于,所述***还包括代理方;
所述服务端,还用于生成代理重加密的第一公私钥对,所述第一公私钥对包括第一公钥和第一私钥,利用所述第一公钥对所述n条第一信息进行加密,得到n条第一加密数据,将所述n条第一加密数据和所述第一公钥发送给所述代理方,所述n条第一加密数据可被所述第一私钥解密;
所述客户端,还用于生成代理重加密的第二公私钥对,所述第二公私钥对包括第二公钥和第二私钥,并将所述第二公钥发送给所述代理方;
所述代理方,用于接收所述服务端发送的所述n条第一加密数据和所述第一公钥,接收所述客户端发送的所述第二公钥,并获取乱序,基于加密状态将所述第一加密数据转换为第二加密数据后,按照所述乱序对所述第二加密数据进行排序,得到n条第二信息,将所述n条第二信息发送给所述服务端,所述第二加密数据可被所述第二私钥解密;
所述服务端,还用于接收所述代理方发送的所述n条第二信息。
17.根据权利要求12所述的***,其特征在于,所述服务端,还用于在所述n条第一信息发生数据更新时,得到更新后的m条第一信息,并基于所述更新后的m条第一信息与所述客户端基于所述客户端持有的更新后的密钥执行预计算,得到更新后的黑盒数据;
所述客户端,还用于在所述服务端的n条第一信息中发生数据更新,得到更新后的m条第一信息的情况下,生成更新后的密钥,并基于所述更新后的密钥与所述服务端基于所述更新后的m条第一信息执行预计算,以使所述服务端得到更新后的黑盒数据。
18.一种匿踪查询装置,其特征在于,应用于服务端,所述服务端存储有n条第一信息,每条第一信息包括一个关键词和该关键词对应的数据,所述装置包括:
查询词接收模块,用于接收客户端发送的密文查询词,所述密文查询词为所述客户端基于其持有的密钥对查询词进行加密得到;
数据查询模块,用于在黑盒数据中查询与所述密文查询词相匹配的密文关键词,所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有;
结果返回模块,用于向所述客户端返回与所述密文查询词相匹配的密文关键词对应的密文数据。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
第一协同计算模块,用于与所述客户端执行两方协同的多方安全计算,得到所述黑盒数据。
20.根据权利要求19所述的装置,其特征在于,所述第一协同计算模块,包括:
第一输入子模块,用于向乱序加密电路输入所述n条第一信息,所述乱序加密电路为混淆电路,所述乱序加密电路还接收所述客户端输入的密钥和乱序;
第一获取子模块,用于获取所述乱序加密电路输出的n条第二信息,所述n条第二信息为所述乱序加密电路根据所述密钥对所述n条第一信息进行加密后再按照所述乱序进行排序得到。
21.根据权利要求19所述的装置,其特征在于,所述第一协同计算模块,包括:
第一生成子模块,用于生成代理重加密的第一公私钥对,所述第一公私钥对包括第一公钥和第一私钥;
加密子模块,用于利用所述第一公钥对所述n条第一信息进行加密,得到n条第一加密数据,所述n条第一加密数据可被所述第一私钥解密;
第一发送子模块,用于将所述n条第一加密数据和所述第一公钥发送给代理方,所述代理方还接收所述客户端发送的第二公钥并获取乱序,所述第二公钥为所述客户端生成的代理重加密的第二公私钥对中的公钥,所述第二公私钥对包括第二公钥和第二私钥;
第二获取子模块,用于获取所述代理方输出的n条第二信息,所述n条第二信息为所述代理方基于加密状态将所述第一加密数据转换为第二加密数据后,按照所述乱序对所述第二加密数据进行排序得到,所述第二加密数据可被所述第二私钥解密。
22.根据权利要求18所述的装置,其特征在于,所述装置还包括:
第一更新模块,用于在所述n条第一信息发生数据更新时,得到更新后的m条第一信息;
第二更新模块,用于基于所述更新后的m条第一信息与所述客户端基于所述客户端持有的更新后的密钥执行预计算,得到更新后的黑盒数据。
23.一种匿踪查询装置,其特征在于,应用于客户端,所述装置包括:
查询词加密模块,用于基于持有的密钥对查询词进行加密,得到密文查询词;
查询词发送模块,用于将所述密文查询词发送至服务端,以使所述服务端在黑盒数据中查询与所述密文查询词相匹配的密文关键词,所述黑盒数据为根据所述客户端持有的密钥和所述服务端持有的n条第一信息基于安全计算协议进行预计算得到,所述黑盒数据为所述服务端所持有,所述黑盒数据包括n条第二信息,每条第二信息包括一个密文关键词和该密文关键词对应的密文数据,所述n条第二信息为所述n条第一信息在所述密钥下的密文的乱序排列,所述乱序排列所使用的乱序为所述客户端或者第三方所持有;
结果接收模块,用于接收所述服务端返回的与所述密文查询词相匹配的密文关键词对应的密文数据。
24.根据权利要求23所述的装置,其特征在于,所述装置还包括:
结果解密模块,用于基于持有的所述密钥对所述服务端返回的密文数据进行解密,得到所述查询词对应的查询结果。
25.根据权利要求23所述的装置,其特征在于,所述装置还包括:
第二协同计算模块,用于与所述服务端执行两方协同的多方安全计算,以使所述服务端得到所述黑盒数据。
26.根据权利要求25所述的装置,其特征在于,所述第二协同计算模块,具体用于生成密钥和乱序,并向乱序加密电路输入所述密钥和所述乱序,以使所述乱序加密电路根据所述密钥对服务端输入的n条第一信息进行加密后再按照所述乱序进行排序,得到n条第二信息,所述乱序加密电路为混淆电路,所述乱序加密电路还接收所述服务端输入的所述n条第一信息,以及向所述服务端输出所述n条第二信息。
27.根据权利要求25所述的装置,其特征在于,所述第二协同计算模块,包括:
第二生成子模块,用于生成代理重加密的第二公私钥对,所述第二公私钥对包括第二公钥和第二私钥;
第二发送子模块,用于将所述第二公钥发送给代理方,所述代理方还接收所述服务端发送的n条第一加密数据并获取乱序,以使所述代理方基于加密状态将所述第一加密数据转换为第二加密数据后,按照所述乱序对所述第二加密数据进行排序得到n条第二信息,并将所述n条第二信息发送至所述服务端;其中,所述n条第一加密数据为所述服务端利用第一公钥对所述n条第一信息进行加密得到,所述第一公钥为所述服务端生成的代理重加密的第一公私钥对中的公钥,所述代理重加密的第一公私钥对包括第一公钥和第一私钥,所述n条第一加密数据可被所述第一私钥解密,所述第二加密数据可被所述第二私钥解密。
28.根据权利要求23所述的装置,其特征在于,所述装置还包括:
密钥更新模块,用于在所述服务端的所述n条第一信息发生数据更新,得到更新后的m条第一信息的情况下,生成更新后的密钥;
黑盒更新模块,用于基于所述更新后的密钥与所述服务端基于所述更新后的m条第一信息执行预计算,以使所述服务端得到更新后的黑盒数据。
29.一种用于匿踪查询的装置,其特征在于,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如权利要求1至5或6至11中任一所述的匿踪查询方法的指令。
30.一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如权利要求1至5或6至11中任一所述的匿踪查询方法。
CN202210660740.2A 2022-06-13 2022-06-13 一种匿踪查询方法、装置和用于匿踪查询的装置 Active CN114756886B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210660740.2A CN114756886B (zh) 2022-06-13 2022-06-13 一种匿踪查询方法、装置和用于匿踪查询的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210660740.2A CN114756886B (zh) 2022-06-13 2022-06-13 一种匿踪查询方法、装置和用于匿踪查询的装置

Publications (2)

Publication Number Publication Date
CN114756886A true CN114756886A (zh) 2022-07-15
CN114756886B CN114756886B (zh) 2022-08-16

Family

ID=82336642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210660740.2A Active CN114756886B (zh) 2022-06-13 2022-06-13 一种匿踪查询方法、装置和用于匿踪查询的装置

Country Status (1)

Country Link
CN (1) CN114756886B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115098549A (zh) * 2022-08-25 2022-09-23 北京数牍科技有限公司 公平的数据匿踪查询方法、装置、设备及存储介质
CN115168455A (zh) * 2022-09-07 2022-10-11 华控清交信息科技(北京)有限公司 一种模糊查询方法、装置、多方安全计算***和可读存储介质
CN115269938A (zh) * 2022-09-22 2022-11-01 深圳市洞见智慧科技有限公司 基于同态加密的关键词匿踪查询方法、***及相关装置
CN115408451A (zh) * 2022-11-01 2022-11-29 北京信安世纪科技股份有限公司 匿踪查询方法和存储介质
CN115828310A (zh) * 2023-02-14 2023-03-21 蓝象智联(杭州)科技有限公司 一种基于隐私计算的数据查询方法、装置及存储介质
CN115982424A (zh) * 2023-03-15 2023-04-18 华控清交信息科技(北京)有限公司 一种隐私关键词查询方法、装置及电子设备
CN116032667A (zh) * 2023-03-29 2023-04-28 深圳市洞见智慧科技有限公司 支持高效更新的在线匿踪查询方法、***及相关设备
CN116108496A (zh) * 2023-04-13 2023-05-12 北京百度网讯科技有限公司 匿踪查询方法、装置、设备及存储介质
CN116257887A (zh) * 2023-05-16 2023-06-13 建信金融科技有限责任公司 数据查询方法、装置、***、设备及存储介质
CN117235802A (zh) * 2023-11-13 2023-12-15 翼方健数(北京)信息科技有限公司 一种基于隐私计算的条件匿踪查询方法、***和介质
WO2024066008A1 (zh) * 2022-09-30 2024-04-04 蚂蚁区块链科技(上海)有限公司 一种实现隐私信息检索的方法、***、服务器和客户端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102176709A (zh) * 2010-12-13 2011-09-07 北京交通大学 一种带隐私保护的数据共享与发布的方法和装置
CN103914541A (zh) * 2014-04-03 2014-07-09 小米科技有限责任公司 信息搜索的方法及装置
WO2019142268A1 (ja) * 2018-01-17 2019-07-25 三菱電機株式会社 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム
CN111726363A (zh) * 2020-06-24 2020-09-29 暨南大学 一种基于属性的多用户连接关键字可搜索加密方法
CN113254982A (zh) * 2021-07-13 2021-08-13 深圳市洞见智慧科技有限公司 一种支持关键词查询的匿踪查询方法及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102176709A (zh) * 2010-12-13 2011-09-07 北京交通大学 一种带隐私保护的数据共享与发布的方法和装置
CN103914541A (zh) * 2014-04-03 2014-07-09 小米科技有限责任公司 信息搜索的方法及装置
WO2019142268A1 (ja) * 2018-01-17 2019-07-25 三菱電機株式会社 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム
CN111726363A (zh) * 2020-06-24 2020-09-29 暨南大学 一种基于属性的多用户连接关键字可搜索加密方法
CN113254982A (zh) * 2021-07-13 2021-08-13 深圳市洞见智慧科技有限公司 一种支持关键词查询的匿踪查询方法及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张曼等: "加密数据库快速关键词查询技术", 《计算机工程与应用》 *
李勇等: "云环境下一种隐私文件分类存储与保护方案", 《计算机应用研究》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115098549B (zh) * 2022-08-25 2022-10-28 北京数牍科技有限公司 公平的数据匿踪查询方法、装置、设备及存储介质
CN115098549A (zh) * 2022-08-25 2022-09-23 北京数牍科技有限公司 公平的数据匿踪查询方法、装置、设备及存储介质
CN115168455A (zh) * 2022-09-07 2022-10-11 华控清交信息科技(北京)有限公司 一种模糊查询方法、装置、多方安全计算***和可读存储介质
CN115168455B (zh) * 2022-09-07 2022-12-06 华控清交信息科技(北京)有限公司 一种模糊查询方法、装置、多方安全计算***和可读存储介质
CN115269938A (zh) * 2022-09-22 2022-11-01 深圳市洞见智慧科技有限公司 基于同态加密的关键词匿踪查询方法、***及相关装置
WO2024066008A1 (zh) * 2022-09-30 2024-04-04 蚂蚁区块链科技(上海)有限公司 一种实现隐私信息检索的方法、***、服务器和客户端
CN115408451A (zh) * 2022-11-01 2022-11-29 北京信安世纪科技股份有限公司 匿踪查询方法和存储介质
CN115408451B (zh) * 2022-11-01 2023-01-17 北京信安世纪科技股份有限公司 匿踪查询方法和存储介质
CN115828310A (zh) * 2023-02-14 2023-03-21 蓝象智联(杭州)科技有限公司 一种基于隐私计算的数据查询方法、装置及存储介质
CN115982424A (zh) * 2023-03-15 2023-04-18 华控清交信息科技(北京)有限公司 一种隐私关键词查询方法、装置及电子设备
CN115982424B (zh) * 2023-03-15 2023-05-12 华控清交信息科技(北京)有限公司 一种隐私关键词查询方法、装置及电子设备
CN116032667B (zh) * 2023-03-29 2023-06-20 深圳市洞见智慧科技有限公司 支持高效更新的在线匿踪查询方法、***及相关设备
CN116032667A (zh) * 2023-03-29 2023-04-28 深圳市洞见智慧科技有限公司 支持高效更新的在线匿踪查询方法、***及相关设备
CN116108496A (zh) * 2023-04-13 2023-05-12 北京百度网讯科技有限公司 匿踪查询方法、装置、设备及存储介质
CN116108496B (zh) * 2023-04-13 2023-06-23 北京百度网讯科技有限公司 匿踪查询方法、装置、设备及存储介质
CN116257887A (zh) * 2023-05-16 2023-06-13 建信金融科技有限责任公司 数据查询方法、装置、***、设备及存储介质
CN116257887B (zh) * 2023-05-16 2023-08-22 建信金融科技有限责任公司 数据查询方法、装置、***、设备及存储介质
CN117235802A (zh) * 2023-11-13 2023-12-15 翼方健数(北京)信息科技有限公司 一种基于隐私计算的条件匿踪查询方法、***和介质
CN117235802B (zh) * 2023-11-13 2024-01-26 翼方健数(北京)信息科技有限公司 一种基于隐私计算的条件匿踪查询方法、***和介质

Also Published As

Publication number Publication date
CN114756886B (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
CN114756886B (zh) 一种匿踪查询方法、装置和用于匿踪查询的装置
US20200145208A1 (en) Method and device for encrypting and decrypting softphone, and computer-readable storage medium
CN115967491B (zh) 一种隐私求交方法、***和可读存储介质
Gu et al. Double C-NOT attack and counterattack on ‘Three-step semi-quantum secure direct communication protocol’
CN115396101B (zh) 一种基于秘密分享的不经意打乱方法和***
CN115396100B (zh) 一种基于秘密分享的不经意随机打乱方法和***
CN114301594B (zh) 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置
CN111177769A (zh) 一种隐私数据保护的名单查询方法及相关的名单查询***
CN114884645B (zh) 一种隐私计算方法、装置和可读存储介质
CN114547668A (zh) 一种基于国密和索引混淆的匿踪查询方法及装置
CN112688779B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114978512B (zh) 一种隐私求交方法、装置和可读存储介质
KR102290605B1 (ko) 메시지 송신 시스템, 통신 단말, 서버 장치, 메시지 송신 방법 및 프로그램
US10530581B2 (en) Authenticated broadcast encryption
CN114401154A (zh) 一种数据处理方法、装置、密文计算引擎和用于数据处理的装置
CN115941181B (zh) 一种乱序秘密分享方法、***和可读存储介质
CN113868505A (zh) 数据处理方法、装置、电子设备、服务器及存储介质
CN114885038B (zh) 一种加密协议转换方法、结果获取节点和隐私计算节点
WO2023185360A1 (zh) 一种数据处理方法、装置、***、设备及存储介质
CN114915455A (zh) 一种密文数据传输方法、装置和用于密文数据传输的装置
CN112395633B (zh) 保护隐私的多方联合进行数据统计的方法和装置
CN112671530B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN115134084A (zh) 基于椭圆曲线密码的搜索方法、装置、设备及存储介质
De Cristofaro et al. Tweeting with Hummingbird: Privacy in Large-Scale Micro-Blogging OSNs.
CN114880691B (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