CN107491497B - 支持任意语言查询的多用户多关键词排序可搜索加密*** - Google Patents
支持任意语言查询的多用户多关键词排序可搜索加密*** Download PDFInfo
- Publication number
- CN107491497B CN107491497B CN201710614034.3A CN201710614034A CN107491497B CN 107491497 B CN107491497 B CN 107491497B CN 201710614034 A CN201710614034 A CN 201710614034A CN 107491497 B CN107491497 B CN 107491497B
- Authority
- CN
- China
- Prior art keywords
- user
- key
- keyword
- cloud platform
- document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- 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/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Description
技术领域
本发明涉及一种支持任意语言查询的多用户多关键词排序可搜索加密***。
背景技术
云计算提供了丰富的计算和存储资源,吸引越来越多的个人和企业将数据外包存储到云服务器中。数据加密算法可以将数据转换成不可读的密文,但是如何搜索和共享加密数据是一个具有挑战性的问题。可搜索加密(SE)是对加密数据进行关键词搜索的一种有效方法,在医疗、智能电网、物联网等领域有广泛的用途。为了通过SE来实现对加密文档的搜索,数据拥有者需要首先从文档中提取出一组关键词,并将其加密为加密索引。然后,数据拥有者将加密索引和加密文档上传到云服务器进行存储。在数据查询阶段,用户生成关键词陷门,并将陷门提交给云服务器。云服务器使用匹配算法来测试陷门和加密索引之间的关联关系,之后把含有关键词的加密文档返回给用户。
很多现有的SE***只支持单一关键词搜索或联结关键词查询,不能根据相关度分数对搜索到的文档进行排序。为了改善搜索体验,有人提出了多关键词排序可搜索加密机制(MRSE),使得云服务器返回前k篇具有最高相关度分数的文档,而不是所有文档给用户。然而大多数现有的MRSE***都是基于特殊的k-最近邻(KNN)算法设计的,这类***架构简称为KNN-SE。现有的基于KNN-SE架构的MRSE***有许多缺点,具有较大局限性。在保证方案效率和安全性的前提下,需要设计新的MRSE***来克服这些缺陷。
2000年,Song等人首次提出安全可搜索加密的概念。Boneh等人提出了公钥加密和关键词搜索方案。Curtmola和Cash等人利用可搜索对称加密方案来实现高可扩展性的***。2011年,Cao等人提出了支持单用户的MRSE方案,它基于KNN-SE架构。KNN-SE是一种对称加密***,它利用“内积相似度”来量化相似度并对结果进行排序。KNN-SE的安全密钥由两个k×k的矩阵M1、M2和向量S∈{0,1}k组成(k是***建立时预定义的关键词数量)。对于每篇文档,提取的关键词被映射到向量I∈{0,1}k,向量中的每一位都表示预定义的关键词是否存在于文档中。接着根据指示向量S,向量I***成两个向量I'和I”。I'、I”分别与 相乘来生成加密索引。生成陷门与生成加密索引的过程是类似的,不同之处在于***的查询向量I'和I”分别与相乘。在查询阶段,利用内积来计算相关度分数。
大多数的MRSE***都是基于KNN-SE架构设计的。Yu等人提出了两轮可搜索加密***来实现排序多关键词搜索。他们使用KNN-SE架构和保序加密技术来保证***的安全性。Fu等人提出了支持同义词查询的多关键词排序搜索***,它也基于KNN-SE架构.***支持同义词查询并且在数据检索过程中允许同义词替换。我们在提取关键词时利用了TF-IDF(词频-逆文档频率)作为关键词权重。数据拥有者必须构造索引树来加速搜索算法,这消耗了很多存储空间。后来,他们提出了可验证的基于关键词的语义搜索***,支持搜索结果的可验证性;设计了一个基于符号的索引树来存储“路径”信息,可以使用该索引树来验证搜索结果。
Sun等人还提出了一种可验证的可搜索加密***来支持多关键词搜索和相似度排序。他们利用基于树的索引结构,多维算法和KNN-SE架构来提高搜索效率。Li等人将KNN-SE架构和盲存储方法相结合来设计MRSE***。然后,他们利用超递增序列来设计支持布尔查询的新型MRSE***,例如“AND”、“OR”和“NO”操作。他们还利用分类子字典方法来提高效率。Xia等人设计了基于树的索引结构和“贪心深度优先搜索”算法来提高搜索效率。他们还使用KNN-SE算法加密索引和查询。Chen等人设计了层次聚类方法来实现更多的搜索方式。分层方法是基于最小相关度阈值设计的,它能够聚合加密的文档,并将生成的分组划分为子集,从而实现更快的搜索速度。Fu等人使用局部敏感哈希函数、布隆过滤器和KNN-SE架构来实现多关键词模糊可搜索加密***。虽然大量的MRSE***是基于KNN-SE架构设计的,但是事实上该架构有几个明显的缺点。首先,在***建立阶段,KNN-SE需要预定义一组关键词集合,如果在***运行过程中需要定义新的关键词,整个***都需要重新构建。其次,KNN-SE架构是一种对称密钥加密***,因此,数据拥有者必须向用户透露其私钥从而授予查询权限。第三,为了支持任意语言的关键词检索,需要预定义的关键词数量和矩阵M1、M2的维度都将是天文数字,所以基于KNN-SE架构的MRSE***不能支持任意语言的关键词搜索。第四,计算出的文档相关度分数是明文,云服务器可以得到用户数据的统计信息,例如高度相关的文档和高频率的返回文档。这些信息会泄露用户的隐私。
发明内容
本发明的目的在于提供一种支持任意语言查询的多用户多关键词排序可搜索加密***,以克服现有技术中存在的缺陷。
为实现上述目的,本发明的技术方案是:一种支持任意语言查询的多用户多关键词排序可搜索加密***,包括:
密钥生成中心KGC,为***中的每个实体生成密钥;
云平台CP,以加密形式存储用户的文档,响应用户的数据检索请求;
计算服务提供商CSP,提供在线计算的在线计算服务器;
数据拥有者,对关键词和文档加密,并将其发送到所述云平台CP进行存储;
用户,生成关键词陷门向所述云平台CP发起数据检索请求。
在本发明一实施例中,所述密钥生成中心KGC通过具有门限解密功能的Paillier密码***的KeyGen算法,密钥生成中心KGC生成***公共参数PP=(g,N)、主私钥MSK=λ和用户Ai的公钥/私钥对与密钥生成中心KGC把私钥发送给用户拥有者中的用户Ai,并公开公钥密钥生成中心KGC计算主公钥MPK=gλ;密钥生成中心KGC存储主私钥MSK,并公开***公共参数PP;密钥生成中心KGC执行具有门限解密功能的Paillier密码***的主密钥***算法,生成部分密钥SK1=λ1和SK2=λ2,并分别秘密发送给所述云平台CP和所述计算服务提供商CSP。
在本发明一实施例中,一用户B将信息(B,AT1)发送给所述数据拥有者A1,申请在授权时间AT1期间内,对数据拥有者A1的数据进行搜索的授权;如果允许授权,所述数据拥有者A1为用户B生成授权证书:
其中,私钥skΣ被秘密发送给用户B;被发送给所述密钥生成中心KGC、所述云平台CP、所述计算服务提供商CSP和用户B;当授权时间AT1过期时,授权将自动失效;Sig/Verify是密码上安全的签名/验证算法,记哈希函数H1:{0,1}*→ZN和H2:ZN→K,K为对称密钥空间;
如果数据拥有者A1在授权时间AT1内撤销用户B的特权,则生成撤销证书:
在本发明一实施例中,一用户B同时对多个数据拥有者(A1,...,Am)的文档进行查询,则从该多个数据拥有者(A1,...,Am)处得到授权证书用户B向所述密钥生成中心KGC申请查询权限,在确认证书的有效性后,所述密钥生成中心KGC计算授权期限ATΣ=AT1∩...ATm,生成授权证书CERΣ,B:
<cer=(A1,...,Am,B,ATΣ,pkΣ),Sig(cer,MSK)>,
其中,skΣ=H1(A1,...,Am,B,ATΣ,MSK);skΣ被发送给用户B,pkΣ对所述云平台CP、所述计算服务提供商CSP和用户B公开;Sig/Verify是密码上安全的签名/验证算法,记哈希函数H1:{0,1}*→ZN和H2:ZN→K,K为对称密钥空间;
RVKΣ,B:<rvk=(CERΣ,B,revoke,RT),Sig(rvk,MSK)>;
其中,RT是撤销时间;所述密钥生成中心KGC把RVKΣ,B发送给所述云平台CP、所述计算服务提供商CSP和用户B。
在本发明一实施例中,在查询阶段,用户B生成陷门进行查询:
在本发明一实施例中,接收到关键词搜索请求后,云平台CP先核实用户B是否有权访问数据;如果用户B有权限,云平台CP使用用户B的公钥pkB验证查询的签名如果签名无效,云平台CP拒绝用户B查询请求;否则,云平台CP会对搜索请求做出响应,且云平台CP先为每篇文档计算加密查询和加密索引的相关度分数;接着云平台CP返回相关度分数最高的前k篇文档。
在本发明一实施例中,所述云平台CP通过如下步骤返回相关度分数最高的前k篇文档:
步骤S31:通过采用跨域安全最大选取协议MAX,在两篇加密文档中选取出相关度分数最高的文档;
步骤S32:通过采用跨域安全最大n选取协议MAXn,利用胡步骤S31的计算结果,在n篇文档中选取出相关度分数最高的文档;
步骤S33:通过采用跨域安全top-k数据检索协议Top-K,利用步骤S32的计算结果,选取出相关度分数最高的前k篇文档。
在本发明一实施例中,用户B接收到k篇加密文档后,通过公钥pkΣ,恢复相关度分数Ii、文档号IDi和文档加密密钥Ki,1≤i≤k;通过私有信息检索PIR或者不经意内存访问ORAM的方法,用户B从云平台CP处获得加密文件,而不会泄漏访问模式;用户B先恢复出文档加密密钥K,然后计算并利用K'恢复出文档M,哈希函数H1:{0,1}*→ZN和 为对称密钥空间。
相较于现有技术,本发明具有以下有益效果:
1.存储开销小。在***生成阶段不需要预定义关键词集合,在运行过程中可以任意添加新的关键词。
2.支持任意语言。本发明使用Unicode对任意语言的关键词进行编码,并利用有效的方式将其转换为密文。
3.灵活的授权机制和基于时间的用户撤销机制。***允许数据拥有者在一个特定时间段内把搜索和解密权限授予给用户。当授权期限到期时,***会自动撤销这些用户的搜索权限。此外,***也为数据拥有者提供了在授权期限内进行权限撤销的有效方法。
4.同时搜索多个数据拥有者的数据。本发明中,用户只要使用一个陷门就能同时对多个数据拥有者的加密文档进行搜索。
5.灵活的关键词权重和偏好分数设置。在加密阶段,数据拥有者可以根据关键词的重要性来设置不同的关键词权重。在查询阶段,用户可以为查询的多个关键词设置不同的偏好分数。在搜索阶段,云服务器可以根据关键词权重和偏好分数计算得到加密形式的相关度分数,并将前k篇文档返回给数据用户
6.保护用户隐私。在现有的MRSE***中,云服务器能够获取每个搜索文档的相关度分数,并且知道哪些文档是最相关的。在本发明中,由于返回给用户的相关度分数是加密的,云服务器从搜索结果中获取不到任何明文和统计信息。
附图说明
图1为本发明一实施例中***框架图。
图2为本发明一实施例中K2C算法的实例示意图。
图3为本发明一实施例中加密过程示意图示意图。
图4为本发明一实施例中查询过程示意图。
图5为本发明一实施例中计算相关度分数示意图。
图6为本发明一实施例中MAXn协议的示意图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明一种支持任意语言查询的多用户多关键词排序可搜索加密***,如图1为本发明的***架构,***包括以下几种实体:
密钥生成中心。密钥生成中心(KGC)是完全可信的,负责为***中的每个实体生成密钥。
云平台。云平台(CP)有着强大的存储和计算能力,并以加密形式存储用户的文档。CP还响应用户的数据检索请求。
计算服务提供商。计算服务提供商(CSP)是在线计算服务器,具有强大的计算能力。
数据拥有者。数据拥有者加密关键词和文档,并将其发送到CP进行存储。
用户。用户生成关键词陷门向CP发起数据检索请求。
进一步的,***在建立阶段不需要预定义关键词集合,在***运行过程中可以任意添加新的关键词,极大地降低了存储开销。利用Unicode对任意语言的关键词进行编码,并通过有效的方式将其转换为密文。允许用户使用一个陷门来同时搜索多个数据拥有者的文档。提供灵活的授权机制和基于时间的用户撤销机制。***允许数据拥有者在一个特定时间段内把搜索和解密权限授予给用户。当授权期限到期时,***会自动撤销这些用户的搜索权限。此外,***也为数据拥有者提供了在授权期限内进行权限撤销的有效方法。
进一步的,提供灵活的关键词权重和偏好分数设置。在加密阶段,数据拥有者可以根据关键词的重要性来设置不同的关键词权重。在查询阶段,用户可以为查询的多个关键词设置不同的偏好分数。在搜索阶段,云服务器可以根据关键词权重和偏好分数计算得到加密形式的相关度分数,并将相关度最高的前k篇文档返回给数据用户。
在现有的MRSE***中,云服务器能够获取每个搜索文档的相关度分数。由于计算的相关度分数是加密的,云服务器从搜索结果中获取不到任何明文和统计信息,有效地保护了用户隐私。
为了让本领域技术人员进一步了解本发明所提出的***,下面结合具体实施例进行说明。
进一步,在本实施例中,采用具有门限解密功能的Paillier密码***(PCTD:Paillier Cryptosystem with Threshold Decryption),实现了同态加密,可以在云平台中保护外包数据的隐私性。利用同态性质,无需对密文进行解密,就可以直接进行各种计算,从而就能实现安全的外包计算。此外,它的计算开销低于全同态加密***所需的计算开销。令表示X的比特长度。
密钥生成:κ是安全参数,p和q是两个大素数,计算N=pq,λ=lcm(p-1,q-1)/2(lcm表示两个数的最小公倍数)。定义函数选择生成元g并且g的阶为ord(g)=(p-1)(q-1)/2。***公共参数PP=(g,N),主私钥SK=λ。***为每位用户i分配私钥ski∈ZN和公钥
主私钥***:主私钥SK=λ可以随机***成两个部分SK1=λ1和SK2=λ2,使得λ1+λ2=0modλ,λ1+λ2=1modN2。
本***使用了下述协议,这些协议都需要CP和CSP交互运算执行。pkA和pkB是用户A和B的公钥。pkΣ是为用户A和B定义的联合公钥。
进一步的,在本实施例中,为了把一个关键词编码成集合ZN中的一个元素,首先把关键词中的每个字母转换成其ASCII码形式,接着把十六进制的ASCII码转化成十进制。根据每个字母在关键词中的位置,每个元素乘以一定的权重,将已加权的元素相加,然后使用PCTD算法对相加后的大整数进行加密。该算法称为关键词转化密文算法(K2C:keyword tociphertext algorithm),如图3所示。
为了将任何语言中的任何关键词转换为密文,而无需预定义关键词集,本实施例提供了安全关键词转化密文算法(K2C),主要包括以下步骤:
1.把关键词中的每个字符(包括特殊字符)都转化成其unicode形式(UTF-16:16位Unicode转换格式)。2.把每个十六进制unicode转换为十进制整数。3.根据每个字母在关键词中的位置,每个元素乘以一定的权重。4.把所有已加权的整数相加成大整数。5.使用PCTD算法和数据拥有者的公钥把关键词的大整数加密成密文。
进一步的,图2中给出了一个例子来说明如何使用K2C算法把英文、中文、韩文和日文的字符串“关键词”转换为密文。值得注意的是,K2C算法可以成功地把关键词转换为唯一的大整数,成功解决了其他可搜索加密算法中使用布隆过滤器所引起的错误概率问题。
进一步的,在本实施例中,还提供一种加密关键词等价测试协议,该协议用于检测两个关键词密文是否包含相同的关键词。以两个由不同公钥加密的关键词和作为输入,加密关键词等价测试协议KET输出加密结果来表示两个关键词是否相同。如果u*=1,表示两个关键词是相同的;否则u*=0。令CP和CSP交互执行加密关键词等价测试协议KET。按照如下步骤实现:
步骤一:1.CP计算
3.CP和CSP执行以下操作
进一步的,在本实施例中,密钥生成算法采用通过运行PCTD的KeyGen算法,KGC生成***公共参数PP=(g,N)、主私钥MSK=λ和用户Ai的公钥/私钥对KGC把秘密发送给用户Ai而公开KGC计算主公钥MPK=gλ。KGC秘密存储MSK,公开PP。接着KGC执行PCTD的主密钥***算法来生成部分密钥SK1=λ1和SK2=λ2,并分别把它们秘密发送给CP和CSP。
进一步的,为了简化表示,利用将ZN的元素作为Sig算法的私钥。在实际使用中,可以使用哈希函数从ZN的元素中计算出签名密钥。
进一步的,在本实施例中,还提供用户授权和撤销算法。
当处于单个数据拥有者场景时:
假设用户B希望得到授权,能够在2016年1月1日至2017年1月1日(授权时间AT1=“20160101-20170101”)期间内对数据拥有者A1的数据进行搜索,他必须把信息(B,AT1)发送给数据拥有者A1来申请授权。如果允许授权,A1会为B生成授权证书。
当处于多个数据拥有者场景时:
假设用户B想要同时对多个数据拥有者(A1,...,Am)的文档进行查询,他首先需要从(A1,...,Am)处得到授权证书接着他向KGC申请查询权限。在确认证书的有效性后,KGC计算授权期限ATΣ=AT1∩...ATm。接着KGC生成授权证书CERΣ,B:
<cer=(A1,...,Am,B,ATΣ,pkΣ),Sig(cer,MSK)>,
如果要在授权有效期ATΣ内撤销KGC生成撤销证书RVKΣ,B:<rvk=(CERΣ,B,revoke,RT),Sig(rvk,MSK)>,其中RT是撤销时间。接着KGC把RVKΣ,B发送给CP、CSP和B。
1.数据拥有者首先提取一组关键词集合来描述文档。为了区分关键词的重要性,Ai为关键词设置不同的权重有很多方法来计算关键词权重,例如TF-IDF(词频-逆文档频率)。数据拥有者选择一种定义关键词权重的方法(本发明不指定具体方法)。
进一步的,如果关键词权重是小数(例如TF-IDF值),数据拥有者可以用一个整数(10或者100)分别乘以各个关键词的权重,使得这些小数可以映射到ZN中。
进一步的,在本实施例中,在查询阶段,用户B生成陷门进行查询,如图4所示。
进一步的的,在本实施例中,在搜索阶段,接收到关键词搜索请求后,CP先核实用户B是否有权访问数据。如果B有权限,CP使用B的公钥pkB验证查询的签名如果无效,CP会拒绝查询请求。否则,CP会对搜索请求做出响应。
2.接着CP会返回相关度分数较高的前k篇文档。
具体流程包括:
A.相关度分数计算。
为了计算查询和文档索引之间的相关度分数,本发明设计了跨域安全多关键词搜索协议(MKS:secure multiple keyword search protocol across domains)。
对于每个查询关键词Yj(1≤j≤n2),MKS协议计算它和加密索引的相关度分数。协议先计算Yj和Xi(1≤i≤n1)的相关度分数(第三行)。
2.第五行,将关键词权重αi与偏好分数βj相乘:
B.Top-k排序。
计算相关度分数后,根据相关度分数返回前k篇加密文档。Top-k排序的要求如下所示:在排序过程中,加密的相关度分数信息不能泄露给CP和CSP,即CP和CSP不知道返回给用户的是哪几篇文档。为了实现top-k排序,本发明设计了三个保护隐私的协议。
1.跨域安全最大选取协议(MAX)在两篇加密文档中选取出相关度分数最高的文档。
2.跨域安全最大n选取协议(MAXn)使用MAX协议在n篇文档中选取出相关度分数最高的文档。
3.跨域安全top-k数据检索协议(Top-K)利用MAXn协议选取出相关度分数最高的前k篇文档。
B.1跨域安全最大选取协议(MAX)
给定和(由不同密钥进行加密),MAX协议输出使得IDU,KU分别对应其文档号和文档加密密钥。在协议中,CP和CSP不能够区分TU的来源,即不能区分TU来自于或是MAX协议有三个步骤,并且需要CP和CSP交互执行。
步骤一:CP计算
如果s=1,CP和CSP计算
如果s=0,CP和CSP计算
B.2:跨域安全最大n选取协议(MAXn)。
输入n个加密的文档T1,...,Tn,MAXn协议输出
使得IMAX=max(I1,...,In),IDMAX,KMAX分别对应其文档号和文档加密密钥。在协议中,CP和CSP不能够识别TMAX的来源,即不能区分TMAX来自于T1,...,Tn中的那个元组。
B.3:跨域安全top-k数据检索协议(Top-K)。
输入n个加密的文档T1,...,Tn,Top-K协议输出相关度分数最高的k篇文档。
首先,初始化空集合Sa来存储k个结果和集合Sb={T1,...,Tn}。Top-K协议需要k***作才能得到结果。每一轮,协议会找出最大元组。每一轮的操作如下所示。
2.第5-7行,对于Sb中每一个加密的元组,CP和CSP计算
进一步的,在本实施例中,在解密阶段,用户B接收到k篇加密文档后。利用公钥pkΣ来恢复相关度分数Ii、文档号IDi和密钥Ki(1≤i≤k)。接着利用私有信息检索(PIR)或者不经意内存访问(ORAM)的方法,用户从CP处安全地获得加密文件,而不会泄漏访问模式。用户B先恢复出文档加密密钥K,然后计算并利用K'恢复出文档M。
进一步的,在本实施例中,在多关键词排序可搜索加密方案(MRSE)中,云服务器收到用户对加密数据进行多关键词搜索的请求后,可以返回相关度最高的前k篇文档。在保护数据可用性的前提下,提供了一种在云存储***中保护数据隐私的有效方式。许多现有的MRSE***是基于KNN-SE(可搜索加密的k最近邻算法)架构设计的。但是KNN-SE架构存在很多缺陷。本发明提出了一种新的MRSE***,克服了基于KNN-SE架构的MRSE***中存在的所有缺陷。新***不需要预定义关键词集合,它支持任意语言的关键词搜索,提供了灵活的搜索权限授予和基于时间控制的用户撤销机制。在本发明中,云服务器无法识别哪些文档是返回给用户的相关性最高的前k篇文档,因此它实现了更好的数据隐私保护。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (9)
1.一种支持任意语言查询的多用户多关键词排序可搜索加密***,其特征在于,包括:
密钥生成中心KGC,为***中的每个实体生成密钥;
云平台CP,以加密形式存储用户的文档,响应用户的数据检索请求;
计算服务提供商CSP,提供在线计算的在线计算服务器;
数据拥有者,对关键词和文档加密,并将其发送到所述云平台CP进行存储;
2.根据权利要求1所述的支持任意语言查询的多用户多关键词排序可搜索加密***,其特征在于,一用户B将信息(B,AT1)发送给所述数据拥有者A1,申请在授权时间AT1期间内,对数据拥有者A1的数据进行搜索的授权;如果允许授权,所述数据拥有者A1为用户B生成授权证书:
其中,私钥skΣ被秘密发送给用户B;被发送给所述密钥生成中心KGC、所述云平台CP、所述计算服务提供商CSP和用户B;当授权时间AT1过期时,授权将自动失效;Sig/Verify是密码上安全的签名/验证算法,记哈希函数H1:{0,1}*→ZN和H2:ZN→K,K为对称密钥空间;
如果数据拥有者A1在授权时间AT1内撤销用户B的特权,则生成撤销证书:
3.根据权利要求1所述的支持任意语言查询的多用户多关键词排序可搜索加密***,其特征在于,一用户B同时对多个数据拥有者(A1,...,Am)的文档进行查询,则从该多个数据拥有者(A1,...,Am)处得到授权证书用户B向所述密钥生成中心KGC申请查询权限,在确认证书的有效性后,所述密钥生成中心KGC计算授权期限ATΣ=AT1∩...ATm,生成授权证书CERΣ,B:
<cer=(A1,...,Am,B,ATΣ,pkΣ),Sig(cer,MSK)>,
其中,skΣ=H1(A1,...,Am,B,ATΣ,MSK);skΣ被发送给用户B,pkΣ对所述云平台CP、所述计算服务提供商CSP和用户B公开;Sig/Verify是密码上安全的签名/验证算法,记哈希函数H1:{0,1}*→ZN和H2:ZN→K,K为对称密钥空间;
RVKΣ,B:〈rvk=(CERΣ,B,revoke,RT),Sig(rvk,MSK)>;
其中,RT是撤销时间;所述密钥生成中心KGC把RVKΣ,B发送给所述云平台CP、所述计算服务提供商CSP和用户B。
6.根据权利要求1所述的支持任意语言查询的多用户多关键词排序可搜索加密***,其特征在于,接收到关键词搜索请求后,云平台CP先核实用户B是否有权访问数据;如果用户B有权限,云平台CP使用用户B的公钥pkB验证查询Q的签名SQ;如果签名SQ无效,云平台CP拒绝用户B查询请求;否则,云平台CP会对搜索请求做出响应,且云平台CP先为每篇文档计算加密查询Q和加密索引的相关度分数;接着云平台CP返回相关度分数最高的前k篇文档。
7.根据权利要求6所述的支持任意语言查询的多用户多关键词排序可搜索加密***,其特征在于,通过采用跨域安全多关键词搜索协议MKS,为每篇文档计算加密查询Q和加密索引的相关度分数。
8.根据权利要求7所述的支持任意语言查询的多用户多关键词排序可搜索加密***,其特征在于,所述云平台CP通过如下步骤返回相关度分数最高的前k篇文档:
步骤S31:通过采用跨域安全最大选取协议MAX,在两篇加密文档中选取出相关度分数最高的文档;
步骤S32:通过采用跨域安全最大n选取协议MAXn,利用步骤S31的计算结果,在n篇文档中选取出相关度分数最高的文档;
步骤S33:通过采用跨域安全top-k数据检索协议Top-K,利用步骤S32的计算结果,选取出相关度分数最高的前k篇文档。
9.根据权利要求1所述的支持任意语言查询的多用户多关键词排序可搜索加密***,其特征在于,用户B接收到k篇加密文档后,通过公钥pkΣ,恢复相关度分数Ii、文档号IDi和文档加密密钥Ki,1≤i≤k;通过私有信息检索PIR或者不经意内存访问ORAM的方法,用户B从云平台CP处获得加密文件,而不会泄漏访问模式;用户B先恢复出文档加密密钥K,然后计算K'=H2(Ki)∈K,并利用K'恢复出文档M,哈希函数H1:{0,1}*→ZN和H2:ZN→K,K为对称密钥空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710614034.3A CN107491497B (zh) | 2017-07-25 | 2017-07-25 | 支持任意语言查询的多用户多关键词排序可搜索加密*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710614034.3A CN107491497B (zh) | 2017-07-25 | 2017-07-25 | 支持任意语言查询的多用户多关键词排序可搜索加密*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107491497A CN107491497A (zh) | 2017-12-19 |
CN107491497B true CN107491497B (zh) | 2020-08-11 |
Family
ID=60644947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710614034.3A Active CN107491497B (zh) | 2017-07-25 | 2017-07-25 | 支持任意语言查询的多用户多关键词排序可搜索加密*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107491497B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156140B (zh) * | 2017-12-13 | 2020-10-30 | 西安电子科技大学 | 一种支持数值属性比较的多关键字可搜索加密方法 |
CN108632032B (zh) * | 2018-02-22 | 2021-11-02 | 福州大学 | 无密钥托管的安全多关键词排序检索*** |
CN108599937B (zh) * | 2018-04-20 | 2020-10-09 | 西安电子科技大学 | 一种多关键字可搜索的公钥加密方法 |
CN108768608B (zh) * | 2018-05-25 | 2020-05-12 | 电子科技大学 | 在区块链pki下支持瘦客户端的隐私保护身份认证方法 |
CN109492410B (zh) * | 2018-10-09 | 2020-09-01 | 华南农业大学 | 数据可搜索加密和关键词搜索方法、***及终端、设备 |
CN109728910A (zh) * | 2018-12-27 | 2019-05-07 | 北京永恒纪元科技有限公司 | 一种高效的门限分布式椭圆曲线密钥生成及签名方法和*** |
CN110245170B (zh) * | 2019-04-19 | 2021-11-16 | 联通数字科技有限公司 | 数据处理方法及*** |
CN110059148A (zh) * | 2019-04-24 | 2019-07-26 | 上海交通大学 | 应用于电子地图的空间关键字查询的准确搜索方法 |
CN110069592A (zh) * | 2019-04-24 | 2019-07-30 | 上海交通大学 | 应用于电子地图的空间关键字查询的搜索方法 |
CN110224978A (zh) * | 2019-04-30 | 2019-09-10 | 济南汇通远德科技有限公司 | 一种基于云服务实现视频追溯的方法 |
CN110162999B (zh) * | 2019-05-08 | 2022-06-07 | 湖北工业大学 | 一种基于隐私保护的收入分配差距基尼系数度量方法 |
CN110222081B (zh) * | 2019-06-08 | 2022-04-19 | 西安电子科技大学 | 多用户环境下基于细粒度排序的数据密文查询方法 |
CN111404679B (zh) * | 2020-03-10 | 2023-08-08 | 上海市大数据中心 | 一种面向大数据的安全认证的密文检索方法 |
CN111913981B (zh) * | 2020-06-09 | 2022-04-22 | 华南理工大学 | 在线离线的基于属性的布尔关键字可搜索加密方法及*** |
CN112733193B (zh) * | 2021-01-22 | 2023-04-07 | 福州大学 | 基于时间控制可审计匿名的谓词检索***及方法 |
CN112765669B (zh) * | 2021-02-01 | 2023-04-18 | 福州大学 | 基于时间授权的正则语言可搜索加密*** |
CN113779597B (zh) * | 2021-08-19 | 2023-08-18 | 深圳技术大学 | 加密文档的存储和相似检索方法、装置、设备及介质 |
CN114357477B (zh) * | 2021-12-15 | 2023-07-18 | 华南理工大学 | 支持大规模用户群的布尔关键词可搜索加密方法 |
CN114884660B (zh) * | 2022-07-12 | 2022-09-20 | 西南石油大学 | 一种基于通配符身份的可搜索加密方法 |
CN115563634B (zh) * | 2022-09-29 | 2023-08-15 | 北京海泰方圆科技股份有限公司 | 一种检索方法、装置、设备及介质 |
CN116127498B (zh) * | 2022-11-28 | 2024-06-07 | 中国民用航空总局第二研究所 | 一种密文检索结果可验证的多关键字可搜索加密方法 |
CN116150795B (zh) * | 2023-04-17 | 2023-07-14 | 粤港澳大湾区数字经济研究院(福田) | 基于同态加密的数据处理方法、***及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955537A (zh) * | 2014-05-16 | 2014-07-30 | 福州大学 | 一种语义模糊可搜索加密云盘设计方法及*** |
CN105024802A (zh) * | 2015-07-13 | 2015-11-04 | 西安理工大学 | 云存储中基于双线性对的多用户多关键词可搜索加密方法 |
CN105681280A (zh) * | 2015-12-29 | 2016-06-15 | 西安电子科技大学 | 一种云环境中基于中文的可搜索加密方法 |
CN105915520A (zh) * | 2016-04-18 | 2016-08-31 | 深圳大学 | 基于公钥可搜索加密的文件存储、搜索方法及存储*** |
CN106407447A (zh) * | 2016-09-30 | 2017-02-15 | 福州大学 | 一种加密云数据下基于Simhash的模糊排序搜索方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130085491A (ko) * | 2011-12-09 | 2013-07-30 | 한국전자통신연구원 | 인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법 |
IN2014CH00681A (zh) * | 2014-02-13 | 2015-08-14 | Infosys Ltd |
-
2017
- 2017-07-25 CN CN201710614034.3A patent/CN107491497B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955537A (zh) * | 2014-05-16 | 2014-07-30 | 福州大学 | 一种语义模糊可搜索加密云盘设计方法及*** |
CN105024802A (zh) * | 2015-07-13 | 2015-11-04 | 西安理工大学 | 云存储中基于双线性对的多用户多关键词可搜索加密方法 |
CN105681280A (zh) * | 2015-12-29 | 2016-06-15 | 西安电子科技大学 | 一种云环境中基于中文的可搜索加密方法 |
CN105915520A (zh) * | 2016-04-18 | 2016-08-31 | 深圳大学 | 基于公钥可搜索加密的文件存储、搜索方法及存储*** |
CN106407447A (zh) * | 2016-09-30 | 2017-02-15 | 福州大学 | 一种加密云数据下基于Simhash的模糊排序搜索方法 |
Non-Patent Citations (5)
Title |
---|
An Efficient Privacy-Preserving Outsourced Calculation Toolkit With Multiple Keys;ximeng Liu等;《IEEE Transactions on Information Forensics and Security》;20160527;2401-2414页 * |
Toward Efficient Multi-Keyword Fuzzy Search Over Encrypted Outsourced Data With Accuracy Improvement;zhangjie FU等;《IEEE Transactions on Information Forensics and Security 》;20160728;2706-2716页 * |
具有细粒度访问控制的隐藏关键词可搜索加密方;杨旸等;《工程学报》;20130825;92-100页 * |
加密云数据下的关键词模糊搜索方案;吴阳等;《计算机工程与应用》;20140403;90-96页 * |
基于云环境下排序的模糊关键字搜索;闫文婷;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170315;I136-815页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107491497A (zh) | 2017-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107491497B (zh) | 支持任意语言查询的多用户多关键词排序可搜索加密*** | |
CN108632032B (zh) | 无密钥托管的安全多关键词排序检索*** | |
CN111835500B (zh) | 基于同态加密与区块链的可搜索加密数据安全共享方法 | |
Yang et al. | Multi-user multi-keyword rank search over encrypted data in arbitrary language | |
CN106803784B (zh) | 安全多媒体云存储中基于格的多用户模糊可搜索加密方法 | |
Wang et al. | Secure ranked keyword search over encrypted cloud data | |
CN107256248B (zh) | 云存储安全中基于通配符的可搜索加密方法 | |
Li et al. | Enabling fine-grained multi-keyword search supporting classified sub-dictionaries over encrypted cloud data | |
CN109450935B (zh) | 云存储中可验证的语义安全的多关键词搜索方法 | |
CN110392038B (zh) | 一种多用户场景下可验证的多密钥可搜索加密方法 | |
Van Rompay et al. | Multi-user searchable encryption in the cloud | |
Yi et al. | Privacy-preserving user profile matching in social networks | |
Liu et al. | EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination | |
Yang et al. | Expressive query over outsourced encrypted data | |
Fan et al. | Verifiable attribute-based multi-keyword search over encrypted cloud data in multi-owner setting | |
CN111159352B (zh) | 一种支持多关键词加权检索和结果排序且可验证的加解密方法 | |
Shu et al. | SybSub: Privacy-preserving expressive task subscription with sybil detection in crowdsourcing | |
Li et al. | Multi-user searchable encryption with a designated server | |
Rajan et al. | Dynamic multi-keyword based search algorithm using modified based fully homomorphic encryption and Prim’s algorithm | |
Verma | Secure client-side deduplication scheme for cloud with dual trusted execution environment | |
Park et al. | PKIS: practical keyword index search on cloud datacenter | |
Cui et al. | Towards encrypted in-network storage services with secure near-duplicate detection | |
Wang et al. | Towards practical private processing of database queries over public data | |
Song et al. | An efficient and privacy-preserving multi-user multi-keyword search scheme without key sharing | |
Zhu et al. | A secure data sharing scheme with designated server |
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 |