CN115495792A - 一种具有隐私保护的模糊关键词可搜索加密方法和系统 - Google Patents
一种具有隐私保护的模糊关键词可搜索加密方法和系统 Download PDFInfo
- Publication number
- CN115495792A CN115495792A CN202211393210.2A CN202211393210A CN115495792A CN 115495792 A CN115495792 A CN 115495792A CN 202211393210 A CN202211393210 A CN 202211393210A CN 115495792 A CN115495792 A CN 115495792A
- Authority
- CN
- China
- Prior art keywords
- file
- search
- key
- keyword
- 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
Links
Images
Classifications
-
- 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
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2468—Fuzzy queries
-
- 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
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种具有隐私保护的模糊关键词可搜索加密方法和系统,包括:数据客户端对文件集合中每个文件提取关键词,通过虚拟二叉树结构对关键词进行索引构建并基于计数布隆过滤器对索引进行存储;对每个文件进行加密,并将索引和加密文件集合上传至云服务器进行存储;搜索客户端接收数据客户端发送的密钥集合,基于密钥集合中关键词密钥生成搜索陷门,并将搜索陷门发送至云服务器;云服务器收到搜索陷门后通过搜索算法在索引上进行计算,并将匹配的加密文件集合返回至搜索客户端;搜索客户端通过密钥集合中文件密钥对加密文件进行解密得到明文文件。本发明支持模糊关键词搜索,能够快速返回给用户正确的检索结果,不会造成用户隐私的泄露。
Description
技术领域
本发明涉及信息安全技术领域,更具体的说是涉及一种具有隐私保护的模糊关键词可搜索加密方法和系统。
背景技术
可搜索加密技术是一种支持在加密数据中执行关键词匹配检索的技术。目前还存在以下弊端:
(1)大多数可搜索加密方案都仅支持精准关键词搜索,也就是数据用户输入的关键词是正确的。但在实际应用中,用户很可能键入错误的关键词,而大多数可搜索加密方案不支持模糊搜索。
(2)可搜索加密技术大多需要进行复杂运算来查找目标文件,当数据量达到一定规模时就会带来检索效率低的问题,影响用户的使用体验。
(3)在对云端数据进行更新或检索时,外部网络攻击或恶意的云服务器会造成用户隐私数据的泄露。
因此,如何提供一种具有隐私保护的模糊关键词可搜索加密方法用于解决上述至少一个技术问题。
发明内容
有鉴于此,本发明提供了一种具有隐私保护的模糊关键词可搜索加密方法和系统,支持模糊关键词搜索,在一轮通讯内能够快速返回给用户正确的检索结果,整个存储和搜索过程不会造成用户隐私的泄露。
为了实现上述目的,本发明采用如下技术方案:
一种具有隐私保护的模糊关键词可搜索加密方法,包括:
S1:数据客户端对文件集合中每个文件提取关键词并建立模糊关键词集,通过虚拟二叉树结构分别对关键词和模糊关键词进行索引构建并基于计数布隆过滤器对索引进行存储;
对每个文件进行加密,生成加密文件集合和密钥集合,并将索引和加密文件集合上传至云服务器进行存储;
S2:搜索客户端接收数据客户端发送的密钥集合,基于密钥集合中关键词密钥生成搜索陷门,并将搜索陷门发送至云服务器;
S3:云服务器收到搜索陷门后通过搜索算法在索引上进行计算,并将匹配的加密文件集合返回至搜索客户端;
S4:搜索客户端通过密钥集合中文件密钥对加密文件集合中的加密文件进行解密得到明文文件。
优选地,S1具体包括:
S11:数据客户端对文件集合F中每一个文件f i 提取关键词,将提取的关键词作为精准关键词并构建关键词集W;
对每一个精准关键词w i ∈W,构建第i个精准关键词编辑距离为d模糊关键词词集S wi ;
对文件集合F中的每一个文件f i 经过数据加密算法SKE.Enc(k,f i )(f i ∈F)进行加密处理得到加密文件c i ,并构建加密文件集合C,C={c1,c2...,cn},其中k为文件加解密密钥;
S12:基于方案支持的最大文件数量n分别构造虚拟二叉树VB 1和虚拟二叉树VB 2,所有虚拟二叉树高度H满足n ≤2 H-1;
S13:虚拟二叉树VB 1的叶子节点中存储文件中精准关键词w i ,所有非叶子节点存储其左右子节点中所有精准关键词;
虚拟二叉树VB 2的叶子节点中存储文件中模糊关键词w i,j ∈S wi ,所有非叶子节点存储其左右子节点中所有模糊关键词;
S14:构建计数布隆过滤器CB 1和计数布隆过滤器CB 2,将虚拟二叉树VB 1和虚拟二叉树VB 2中所有的数据对应映射至计数布隆过滤器CB 1和计数布隆过滤器CB 2;
S15:数据客户端将加密文件集合C、计数布隆过滤器CB 1和计数布隆过滤器CB 2发送到云服务器。
优选地,密钥集合具体生成过程为:
数据客户端基于安全参数λ并采用密钥生成算法SKE.Gen(1 λ )生成文件加解密密钥k,随机选择用于精准关键词或模糊关键词伪随机置换的关键词密钥k w ←{0, 1} λ ,表示通过输入安全参数λ输出0和1组成的比特串,输出密钥集合SK={k, k w }。
优选地,S2具体包括:
搜索客户端基于密钥集合SK中的关键词密钥k w ,对查询关键词集Q中的每个关键词采用伪随机函数PRF生成搜索陷门:t wi ←PRF kw (w i ),t wi 表示第i个查询关键词w i 对应的陷门,关键词密钥k w 作为伪随机函数PRF的输入,构建陷门集合TQ并发送至云服务器。
优选地,S3具体包括:
S31:云服务器从根节点开始计算搜索陷门中关键词是否存在于计数布隆过滤器CB 1中,即检查经过哈希运算后在计数布隆过滤器CB 1中对应的位置是否不为0,若陷门集合中每个关键词在计数布隆过滤器CB 1中对应的哈希位置都不为0且当前节点深度小于H,则云服务器递归的检查当前节点的子节点,直到节点深度为H,代表找到了符合条件的叶子节点,将该叶子节点对应的加密文件返回给搜索客户端;
S32:若云服务器在S31中没有检索成功,则从根节点开始计算搜索陷门中关键词是否存在于计数布隆过滤器CB 2中,如果搜索陷门中关键词存在于当前节点,则云服务器递归的检查当前节点的孩子节点,直到节点深度为H,代表找到了符合条件的叶子节点,将该叶子节点对应的加密文件返回给搜索客户端。
优选地,S4具体包括:
搜索客户端接收到加密文件集合后,通过密钥集合SK中的文件密钥k对加密文件集合中的加密文件c i 解密得到明文文件f←SKE.Dec(k, c i ),SKE.Dec表示数据解密算法。
优选地,S14具体包括:
数据客户端初始化两个长度为m的整数型数组,分别选取N个哈希函数组成计数布隆过滤器CB 1和计数布隆过滤器CB 2,数组中每个位置初始设置为0;
对于虚拟二叉树VB 1,从根节点开始,将每个节点中的所有精准关键字都以如下形式映射到计数布隆过滤器CB 1中,映射对应位置的计数加1;
对于虚拟二叉树VB 2,从根节点开始,将每个节点中的所有模糊关键字都以如下形式映射到计数布隆过滤器CB 2中,映射对应位置的计数加1。
一种具有隐私保护的模糊关键词可搜索加密系统,包括:数据客户端、搜索客户端和云服务器;
数据客户端用于对文件集合中每个文件提取关键词,通过虚拟二叉树结构对关键词进行索引构建并基于计数布隆过滤器对索引进行存储;
对每个文件进行加密,生成加密文件集合和密钥集合,并将索引和加密文件集合上传至云服务器进行存储;
搜索客户端用于接收数据客户端发送的密钥集合,基于密钥集合中关键词密钥生成搜索陷门,并将搜索陷门发送至云服务器;
云服务器用于存储索引和加密文件,在收到搜索陷门后通过搜索算法在索引上进行计算,并将匹配的加密文件集合返回至搜索客户端;
搜索客户端还用于通过密钥集合中文件密钥对加密文件集合中的加密文件进行解密得到明文文件。
本发明具有以下优点:
(1)利用虚拟二叉树结构进行关键词索引构建,使用计数布隆过滤器对索引进行存储,实现了多关键词下的可搜索加密。通过编辑距离模式来建立模糊关键词集,使用单独的计数布隆过滤器来存储模糊关键词索引,去除了对精准关键词搜索误判的干扰,实现了模糊关键词可搜索加密。
(2)即使键入了错误的关键词,数据用户也仅需与云服务器进行一轮交互。计数布隆过滤器结构使得关键词检索的时间开销不会随文件数量的增加而增长,保证用户检索可以在一定时间内返回正确的结果。
(3)用户文件和索引文件都经过加密处理,云服务器不保存用户的明文信息,搜索陷门的生成须使用数据拥有者提供的密钥,整个存储和搜索的过程不会造成用户隐私的泄露。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明提供的一种具有隐私保护的模糊关键词可搜索加密方法流程图。
图2附图为本发明提供的一种具有隐私保护的模糊关键词可搜索加密系统模型图。
图3附图为本发明提供的虚拟二叉树结构。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种具有隐私保护的模糊关键词可搜索加密方法,如图1所示,包括:
S1:数据客户端对文件集合中每个文件提取关键词并建立模糊关键词集,通过虚拟二叉树结构分别对关键词和模糊关键词进行索引构建并基于计数布隆过滤器对索引进行存储;
对每个文件进行加密,生成加密文件集合和密钥集合,并将索引和加密文件集合上传至云服务器进行存储;
S2:搜索客户端接收数据客户端发送的密钥集合,基于密钥集合中关键词密钥生成搜索陷门,并将搜索陷门发送至云服务器;
S3:云服务器收到搜索陷门后通过搜索算法在索引上进行计算,并将匹配的加密文件集合返回至搜索客户端;
S4:搜索客户端通过密钥集合中文件密钥对加密文件集合中的加密文件进行解密得到明文文件。
在本实施例中,S1具体包括:
S11:数据客户端对文件集合F中每一个文件f i 提取关键词,将提取的关键词作为精准关键词并构建关键词集W;
对每一个精准关键词w i ∈W,构建第i个精准关键词编辑距离为d模糊关键词词集S wi ;
对文件集合F中的每一个文件f i 经过数据加密算法SKE.Enc(k,f i )(f i ∈F)进行加密处理得到加密文件c i ,并构建加密文件集合C,C={c1,c2...,cn},其中k为文件加解密密钥;
S12:基于方案支持的最大文件数量n分别构造虚拟二叉树VB 1和虚拟二叉树VB 2,如图3所示,虚拟二叉树VB 1存储精准关键词索引,虚拟二叉树VB 2存储模糊关键词索引,虚拟二叉树VB 1和虚拟二叉树VB 2高度H均满足n ≤2 H-1;
S13:为每个文件c i ∈C在虚拟二叉树中分配相同的叶子节点,虚拟二叉树VB 1的叶子节点中存储文件中精准关键词w i ,所有非叶子节点存储其左右子节点中所有精准关键词;
虚拟二叉树VB 2的叶子节点中存储文件中模糊关键词w i,j ,w i,j ∈S wi ,所有非叶子节点存储其左右子节点中所有模糊关键词;
S14:数据客户端初始化两个长度为m的整数型数组,分别选取N个哈希函数组成计数布隆过滤器CB 1和计数布隆过滤器CB 2,数组中每个位置初始设置为0;
对于虚拟二叉树VB 1,从根节点开始,将每个节点中的所有精准关键字都以如下形式映射到计数布隆过滤器CB 1中,即h i (PRF kw (w)||mark(node)) i=1, 2, …, N,i表示哈希函数编号,PRF表示伪随机函数,h i 代表第i个哈希函数,mark(node)表示节点node的编号;
将映射对应位置的计数加1,即CB 1[h i (PRF kw (w)|| mark(node))]++,i=1, 2, …,N;
对于虚拟二叉树VB 2,从根节点开始,将每个节点中的所有模糊关键字都以如下形式映射到计数布隆过滤器CB 2中,即h i (PRF kw (w)||mark(node)) ,i=1, 2, …, N,i表示哈希函数编号,PRF表示伪随机函数,h i 代表第i个哈希函数,mark(node)表示节点node的编号;
将映射对应位置的计数加1,即CB 2[h i (PRF kw (w)|| mark(node))]++,i=1, 2, …,N;
S15:数据客户端将加密文件集合C、计数布隆过滤器CB 1和计数布隆过滤器CB 2发送到云服务器。
在本实施例中,密钥集合具体生成过程为:
数据客户端基于安全参数λ并采用密钥生成算法SKE.Gen(1 λ )生成文件加解密密钥k,随机选择用于精准关键词或模糊关键词伪随机置换的密钥k w ←{0, 1} λ ,表示通过输入安全参数λ输出0和1组成的比特串,输出密钥集合SK={k, k w }。
在本实施例中,S2具体包括:
搜索客户端基于密钥集合SK中的关键词密钥k w ,对查询关键词集Q中的每个关键词采用伪随机函数PRF生成搜索陷门:t wi ←PRF kw (w i ),t wi 表示第i个查询关键词w i 对应的陷门,关键词密钥k w 作为伪随机函数PRF的输入,构建陷门集合TQ并发送至云服务器。
在本实施例中,S3具体包括:
S31:云服务器从根节点开始计算搜索陷门中关键词是否存在于计数布隆过滤器CB 1中,即检查经过哈希运算后在计数布隆过滤器CB 1中对应的位置是否不为0,哈希运算公式为h i (t wi ||mark(node)),i=1, 2, …, N, t wi ∈T Q ,公式代表经过哈希运算后在数组中的下标位置,i表示第几个哈希函数,TQ表示查询关键词陷门,h i 代表第i个哈希函数,若陷门集合中每个关键词在计数布隆过滤器CB 1中对应的哈希位置都不为0且当前节点深度小于H,则云服务器递归的检查当前节点的子节点,直到节点深度为H,代表找到了符合条件的叶子节点,将该叶子节点对应的加密文件返回给搜索客户端,若查询到多个叶子节点满足条件则返回多个叶子节点对应的加密文件集合,每个叶子节点对应一个加密文件,若陷门集合中每个关键词在计数布隆过滤器CB 1中对应的哈希位置不满足都不为0,代表当前叶子节点不包含所查询关键词,则放弃查询该节点和其孩子节点;
S32:若云服务器在S31中没有检索成功,则从根节点开始计算搜索陷门中关键词是否存在于计数布隆过滤器CB 2中,如果搜索陷门中关键词存在于当前节点,则云服务器递归的检查当前节点的孩子节点,直到节点深度为H,代表找到了符合条件的叶子节点,将该叶子节点对应的加密文件返回给搜索客户端,若查询到多个叶子节点满足条件则返回多个叶子节点对应的加密文件集合,每个叶子节点对应一个密文文件;若不存在于计数布隆过滤器CB 2中代表无匹配文件,服务器不返回。
在本实施例中,S4具体包括:
搜索客户端接收到加密文件集合后,通过密钥集合SK中的文件密钥k对加密文件集合中的加密文件c i 解密得到明文文件f←SKE.Dec(k, c i ),SKE.Dec表示数据解密算法。
对称加密算法SKE由密钥生成算法Gen,数据加密算法Enc和数据解密算法 Dec三个多项式时间内的算法构成,可以表示为SKE=(Gen,Enc,Dec)。
需要说明的是,上述公式中所有箭头指向表示输出结果。
如图2所示,本实施例公开了一种具有隐私保护的模糊关键词可搜索加密系统,包括:数据客户端、搜索客户端和云服务器;
数据客户端用于对文件集合中每个文件提取关键词,通过虚拟二叉树结构对关键词进行索引构建并基于计数布隆过滤器对索引进行存储;
对每个文件进行加密,生成加密文件集合和密钥集合,并将索引和加密文件集合上传至云服务器进行存储;具体的:
数据客户端对文件集合F中每一个文件f i 提取关键词,将提取的关键词作为精准关键词并构建关键词集W;
对每一个精准关键词w i ∈W,构建第i个精准关键词编辑距离为d模糊关键词词集S wi ;
对文件集合F中的每一个文件f i 经过对称加密算法SKE.Enc(k,f i ),f i ∈F,进行加密处理得到加密文件c i ,并构建加密文件集合C,C={c1,c2...,cn},其中k为文件加解密密钥;
基于方案支持的最大文件数量n分别构造虚拟二叉树VB 1和虚拟二叉树VB 2,所有虚拟二叉树高度H满足n ≤2 H-1;
虚拟二叉树VB 1的叶子节点中存储文件中精准关键词w i ,所有非叶子节点存储其左右子节点中所有精准关键词;
虚拟二叉树VB 2的叶子节点中存储文件中模糊关键词w i,j ∈S wi ,所有非叶子节点存储其左右子节点中所有模糊关键词;
构建计数布隆过滤器CB 1和计数布隆过滤器CB 2,将虚拟二叉树VB 1和虚拟二叉树VB 2中所有的数据对应映射至计数布隆过滤器CB 1和计数布隆过滤器CB 2;
数据客户端将加密文件集合C、计数布隆过滤器CB 1和计数布隆过滤器CB 2发送到云服务器。
搜索客户端用于接收数据客户端发送的密钥集合,基于密钥集合中关键词密钥生成搜索陷门,并将搜索陷门发送至云服务器;具体的:
搜索客户端基于密钥集合SK中的关键词密钥k w ,对查询关键词集Q中的每个关键词采用伪随机函数PRF生成搜索陷门:t wi ←PRF kw (w i ),构建陷门集合TQ并发送至云服务器。
云服务器用于存储索引和加密文件,在收到搜索陷门后通过搜索算法在索引上进行计算,并将匹配的加密文件集合返回至搜索客户端;具体的:
云服务器从根节点开始计算搜索陷门中关键词是否存在于计数布隆过滤器CB 1中,即检查经过哈希运算后在计数布隆过滤器CB 1中对应的位置是否不为0,哈希运算公式为h i (t wi ||mark(node)),i=1, 2, …, N,t wi ∈T Q ,公式代表经过哈希运算后在数组中的下标位置,i表示第几个哈希函数,TQ表示查询关键词陷门,h i 代表第i个哈希函数,若陷门集合中每个关键词在计数布隆过滤器CB 1中对应的哈希位置都不为0且当前节点深度小于H,则云服务器递归的检查当前节点的子节点,直到节点深度为H,代表找到了符合条件的叶子节点,将该叶子节点对应的加密文件返回给搜索客户端,若查询到多个叶子节点满足条件则返回多个叶子节点对应的加密文件集合,每个叶子节点对应一个加密文件,若陷门集合中每个关键词在计数布隆过滤器CB 1中对应的哈希位置不满足都不为0,代表当前叶子节点不包含所查询关键词,则放弃查询该节点和其孩子节点;
若云服务器在上述没有检索成功,则从根节点开始计算搜索陷门中关键词是否存在于计数布隆过滤器CB 2中,如果搜索陷门中关键词存在于当前节点,则云服务器递归的检查当前节点的孩子节点,直到节点深度为H,代表找到了符合条件的叶子节点,将该叶子节点对应的加密文件返回给搜索客户端,若查询到多个叶子节点满足条件则返回多个叶子节点对应的加密文件集合,每个叶子节点对应一个密文文件;若不存在于计数布隆过滤器CB 2中代表无匹配文件,服务器不返回。
搜索客户端还用于通过密钥集合中文件密钥对加密文件集合中的加密文件进行解密得到明文文件。具体的:
搜索客户端接收到加密文件集合后,通过密钥集合SK中的文件密钥k对加密文件集合中的加密文件c i 解密得到明文文件f←SKE.Dec(k, c i )。
在本实施例中,密钥集合具体生成过程为:
数据客户端基于安全参数λ并采用对称加密算法SKE.Gen(1 λ )生成文件加解密密钥k,随机选择用于关键词伪随机置换的密钥k w ←{0, 1} λ ,输出密钥集合SK={k, k w }。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种具有隐私保护的模糊关键词可搜索加密方法,其特征在于,包括:
S1:数据客户端对文件集合中每个文件提取关键词并建立模糊关键词集,通过虚拟二叉树结构分别对关键词和模糊关键词进行索引构建并基于计数布隆过滤器对索引进行存储;
对每个文件进行加密,生成加密文件集合和密钥集合,并将索引和加密文件集合上传至云服务器进行存储;
S2:搜索客户端接收数据客户端发送的密钥集合,基于密钥集合中关键词密钥生成搜索陷门,并将搜索陷门发送至云服务器;
S3:云服务器收到搜索陷门后通过搜索算法在索引上进行计算,并将匹配的加密文件集合返回至搜索客户端;
S4:搜索客户端通过密钥集合中文件密钥对加密文件集合中的加密文件进行解密得到明文文件。
2.根据权利要求1所述的一种具有隐私保护的模糊关键词可搜索加密方法,其特征在于,S1具体包括:
S11:数据客户端对文件集合F中每一个文件f i 提取关键词,将提取的关键词作为精准关键词并构建关键词集W;
对每一个精准关键词w i ∈W,构建第i个精准关键词编辑距离为d模糊关键词词集S wi ;
对文件集合F中的每一个文件f i 经过数据加密算法进行加密处理得到加密文件c i ,并构建加密文件集合C,C={c1,c2...,cn};
S12:基于方案支持的最大文件数量n分别构造虚拟二叉树VB 1和虚拟二叉树VB 2,所有虚拟二叉树高度H满足n ≤2 H-1;
S13:虚拟二叉树VB 1的叶子节点中存储文件中精准关键词w i ,所有非叶子节点存储其左右子节点中所有精准关键词;
虚拟二叉树VB 2的叶子节点中存储文件中模糊关键词w i,j ,w i,j ∈S wi ,所有非叶子节点存储其左右子节点中所有模糊关键词;
S14:构建计数布隆过滤器CB 1和计数布隆过滤器CB 2,将虚拟二叉树VB 1和虚拟二叉树VB 2中所有的数据对应映射至计数布隆过滤器CB 1和计数布隆过滤器CB 2;
S15:数据客户端将加密文件集合C、计数布隆过滤器CB 1和计数布隆过滤器CB 2发送到云服务器。
3.根据权利要求2所述的一种具有隐私保护的模糊关键词可搜索加密方法,其特征在于,密钥集合具体生成过程为:
数据客户端基于安全参数λ并采用密钥生成算法生成文件加解密密钥k,随机选择用于精准关键词或模糊关键词伪随机置换的关键词密钥k w ,输出密钥集合SK={k, k w }。
4.根据权利要求3所述的一种具有隐私保护的模糊关键词可搜索加密方法,其特征在于,S2具体包括:
搜索客户端基于密钥集合SK中的关键词密钥k w ,对查询关键词集Q中的每个关键词采用伪随机函数PRF生成搜索陷门,构建陷门集合TQ并发送至云服务器。
5.根据权利要求4所述的一种具有隐私保护的模糊关键词可搜索加密方法,其特征在于,S3具体包括:
S31:云服务器从根节点开始计算搜索陷门中关键词是否存在于计数布隆过滤器CB 1中,即检查经过哈希运算后在计数布隆过滤器CB 1中对应的位置是否不为0,若陷门集合中每个关键词在计数布隆过滤器CB 1中对应的哈希位置都不为0且当前节点深度小于H,则云服务器递归的检查当前节点的子节点,直到节点深度为H,代表找到了符合条件的叶子节点,将该叶子节点对应的加密文件返回给搜索客户端;
S32:若云服务器在S31中没有检索成功,则从根节点开始计算搜索陷门中关键词是否存在于计数布隆过滤器CB 2中,如果搜索陷门中关键词存在于当前节点,则云服务器递归的检查当前节点的孩子节点,直到节点深度为H,代表找到了符合条件的叶子节点,将该叶子节点对应的加密文件返回给搜索客户端。
6.根据权利要求5所述的一种具有隐私保护的模糊关键词可搜索加密方法,其特征在于,S4具体包括:
搜索客户端接收到加密文件集合后,通过密钥集合SK中的文件密钥k对加密文件集合中的加密文件c i 通过数据解密算法解密得到明文文件f。
7.根据权利要求2或6所述的一种具有隐私保护的模糊关键词可搜索加密方法,其特征在于,S14具体包括:
数据客户端初始化两个长度为m的整数型数组,分别选取N个哈希函数组成计数布隆过滤器CB 1和计数布隆过滤器CB 2,数组中每个位置初始设置为0;
对于虚拟二叉树VB 1,从根节点开始,将每个节点中的所有精准关键字都以如下形式映射到计数布隆过滤器CB 1中,映射对应位置的计数加1;
对于虚拟二叉树VB 2,从根节点开始,将每个节点中的所有模糊关键字都以如下形式映射到计数布隆过滤器CB 2中,映射对应位置的计数加1。
8.一种具有隐私保护的模糊关键词可搜索加密系统,其特征在于,包括:数据客户端、搜索客户端和云服务器;
数据客户端用于对文件集合中每个文件提取关键词,通过虚拟二叉树结构对关键词进行索引构建并基于计数布隆过滤器对索引进行存储;
对每个文件进行加密,生成加密文件集合和密钥集合,并将索引和加密文件集合上传至云服务器进行存储;
搜索客户端用于接收数据客户端发送的密钥集合,基于密钥集合中关键词密钥生成搜索陷门,并将搜索陷门发送至云服务器;
云服务器用于存储索引和加密文件,在收到搜索陷门后通过搜索算法在索引上进行计算,并将匹配的加密文件集合返回至搜索客户端;
搜索客户端还用于通过密钥集合中文件密钥对加密文件集合中的加密文件进行解密得到明文文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211393210.2A CN115495792B (zh) | 2022-11-08 | 2022-11-08 | 一种具有隐私保护的模糊关键词可搜索加密方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211393210.2A CN115495792B (zh) | 2022-11-08 | 2022-11-08 | 一种具有隐私保护的模糊关键词可搜索加密方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115495792A true CN115495792A (zh) | 2022-12-20 |
CN115495792B CN115495792B (zh) | 2023-03-28 |
Family
ID=85116343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211393210.2A Active CN115495792B (zh) | 2022-11-08 | 2022-11-08 | 一种具有隐私保护的模糊关键词可搜索加密方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115495792B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116107967A (zh) * | 2023-02-14 | 2023-05-12 | 山东大学 | 基于同态加密和树结构的多关键词密文搜索方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815350A (zh) * | 2017-01-19 | 2017-06-09 | 安徽大学 | 一种云环境中动态的密文多关键词模糊搜索方法 |
CN108712366A (zh) * | 2018-03-27 | 2018-10-26 | 西安电子科技大学 | 云环境中支持词形词义模糊检索的可搜索加密方法及系统 |
US20200372023A1 (en) * | 2018-02-07 | 2020-11-26 | South China University Of Technology | Full-text fuzzy search method for similar-form chinese characters in ciphertext domain |
CN112000632A (zh) * | 2020-07-31 | 2020-11-27 | 天翼电子商务有限公司 | 密文的分享方法、介质、分享客户端及系统 |
-
2022
- 2022-11-08 CN CN202211393210.2A patent/CN115495792B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815350A (zh) * | 2017-01-19 | 2017-06-09 | 安徽大学 | 一种云环境中动态的密文多关键词模糊搜索方法 |
US20200372023A1 (en) * | 2018-02-07 | 2020-11-26 | South China University Of Technology | Full-text fuzzy search method for similar-form chinese characters in ciphertext domain |
CN108712366A (zh) * | 2018-03-27 | 2018-10-26 | 西安电子科技大学 | 云环境中支持词形词义模糊检索的可搜索加密方法及系统 |
CN112000632A (zh) * | 2020-07-31 | 2020-11-27 | 天翼电子商务有限公司 | 密文的分享方法、介质、分享客户端及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116107967A (zh) * | 2023-02-14 | 2023-05-12 | 山东大学 | 基于同态加密和树结构的多关键词密文搜索方法及系统 |
CN116107967B (zh) * | 2023-02-14 | 2024-04-30 | 山东大学 | 基于同态加密和树结构的多关键词密文搜索方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115495792B (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815350B (zh) | 一种云环境中动态的密文多关键词模糊搜索方法 | |
Pasupuleti et al. | An efficient and secure privacy-preserving approach for outsourced data of resource constrained mobile devices in cloud computing | |
Li et al. | Fuzzy keyword search over encrypted data in cloud computing | |
Wang et al. | Achieving usable and privacy-assured similarity search over outsourced cloud data | |
CN107256248B (zh) | 云存储安全中基于通配符的可搜索加密方法 | |
CN112270006A (zh) | 电商平台中隐藏搜索模式和访问模式的可搜索加密方法 | |
CN108197499B (zh) | 一种可验证的密文数据范围查询方法 | |
Suga et al. | Secure keyword search using bloom filter with specified character positions | |
CN111026788B (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
CN112332979A (zh) | 云计算环境中的密文搜索方法及系统、设备 | |
Li et al. | Enabling efficient fuzzy keyword search over encrypted data in cloud computing | |
CN112328606A (zh) | 基于区块链的关键字可搜索加密方法 | |
Hu et al. | Efficient and secure multi‐functional searchable symmetric encryption schemes | |
CN115495792B (zh) | 一种具有隐私保护的模糊关键词可搜索加密方法和系统 | |
Wang et al. | An efficient and privacy-preserving range query over encrypted cloud data | |
CN115757676A (zh) | 模糊可搜索加密方法、装置及电子设备 | |
Raghavendra et al. | IGSK: index generation on split keyword for search over cloud data | |
CN108011713B (zh) | 一种云存储中基于同态加密的密文检索方法 | |
Ibrahim et al. | Approximate keyword-based search over encrypted cloud data | |
Xue et al. | Cuckoo-filter based privacy-aware search over encrypted cloud data | |
Rizomiliotis et al. | Simple forward and backward private searchable symmetric encryption schemes with constant number of roundtrips | |
Kamble et al. | A study on fuzzy keywords search techniques and incorporating certificateless cryptography | |
CN112328626B (zh) | 面向云环境的支持模糊关键词排序的可搜索加密方法 | |
CN108319670A (zh) | 基于云计算的可验证的动态排名搜索方法 | |
YueJuan et al. | A searchable ciphertext retrieval method based on counting bloom filter over cloud encrypted data |
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 |