CN107908779A - 云环境下基于mat树的动态多属性连接关键词的搜索方法 - Google Patents
云环境下基于mat树的动态多属性连接关键词的搜索方法 Download PDFInfo
- Publication number
- CN107908779A CN107908779A CN201711269664.8A CN201711269664A CN107908779A CN 107908779 A CN107908779 A CN 107908779A CN 201711269664 A CN201711269664 A CN 201711269664A CN 107908779 A CN107908779 A CN 107908779A
- Authority
- CN
- China
- Prior art keywords
- keyword
- encrypted
- mat
- layer
- vector
- 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
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- 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
-
- 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/242—Query formulation
- G06F16/243—Natural language query formulation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
云环境下基于MAT的动态多属性连接关键词的搜索方法,包括以下步骤:数据拥有者将每一个数据记录构建成基于MAT的安全索引,并将各数据记录对应的文档进行加密,然后将加密的索引以及加密的文档外包给云服务器,数据用户向数据拥有者请求搜索授权,数据拥有者根据授权规则决定是否授权。本发明有益效果:本发明提供了云计算环境下对数据记录实现动态的连接关键词查询的安全有效方法,该方法保证了用户的隐私及数据的安全,并且能快速地满足用户需求的查询,克服了以往绝大多数方案的线性查询及数据库不能更新的缺点。
Description
技术领域
本发明属于云环境下可搜索加密技术领域,具体涉及云环境下基于MAT树的动态多属性连接关键词的搜索方法。
背景技术
云计算作为一种继分布式计算,网格计算等之后一种崭新的计算模式,可以提供强大的数据存储,管理和计算能力。近几年,随着云计算的迅速发展,很多公司或组织开始将数据外包到云端服务器,以避免繁琐的本地数据管理并获得更加便捷的服务。但是云服务器是由第三方互联网商业公司(如亚马逊、谷歌等)维护与管理的,通常与用户不属于同一个信任域。因此为了保护数据安全和用户隐私,用户一般将数据加密后再存储在云服务器中,尽管加密可以保护数据不被非授权用户访问,但是对加密的数据执行安全而有效的搜索是一个挑战性的问题。为了解决这个问题,研究者已经提出了一些像同态加密,不经意的RAM(obliviousRAMs),但这些方法因为高昂的计算开销而不切实际。相反更加实际的方案,如可搜索加密(SearchableEncryption,简称SE)方案也已经被提出。在这些SE方案中,多属性连接关键词搜索在电子邮件,电子医疗记录(Electric MedicalRecords,简称EMRs)等领域受到越来越多的关注。例如,随着医疗信息化的不断发展,EMRs数量越来越大,医院或者医疗组织为了对EMRs执行有效地存储和管理将他们外包到云服务器。每一条EMR(对应一个病人)包含性别,年龄,疾病,地区等多个属性,每个属性值又称关键词。由于EMRs涉及病人的隐私,EMRs以及相应的病历文档都是被加密后存储在云服务器上。数据的加密给多关键词的数据查询带了极大地不便。找到满足包含多个属性查询条件的所有记录,也就是连接关键词查询,是医疗组织关心的主要问题。例如,一个医疗研究者为实现信息统计的目的希望查询满足“(40<年龄<50)AND(性别=男)AND(疾病=糖尿病)”的记录,这是一个典型多属性连接关键词查询(conjunctive query)问题。
近几年一些简单的多关键词连接查询(例如“(性别=女)AND(疾病=乳腺癌)”)方案已经提出,这些方案仅能实现相等连接,而不支持范围查询和子集查询。之后一些具有支持范围和子集查询的多属性的连接关键词搜索方案也陆续被提出,在这些方案中,一般的方法是在复杂的代数结构,例如复合阶群或者双对矢量空间上构造矢量。由于在复杂代数结构上双线性对的计算开销非常大,因此这类方案的搜索效率成了一个最大的问题。而且这些方案共性的问题是它们都是线性搜索。
在实际中,数据的拥有者在将数据外包到远程服务器后可能需要更新数据文档,这样就要求SE方案要能支持文档的更新。然而以前大多数SE方案不支持数据文档的更新。少数的动态的SE方案,如2013年Kamara等人提出的动态SE方案仅支持单关键词的查询。2015年Xia等人提出了支持多关键词排序方案只适合文本的搜索,不适合数据库的查询。
发明内容
本发明所要解决的技术问题是提供云环境下基于MAT树的动态多属性连接关键词的搜索方法,解决目前云存储中多属性连接关键词查询存在的效率低,不能有效更新的问题,在保证用户隐私及数据安全的前提下,满足用户快速、动态查询的需求。
本发明为解决上述技术问题所采用的技术方案是:云环境下基于MAT的动态多属性连接关键词的搜索方法,包括以下步骤:
步骤一、数据拥有者根据安全策略将数据记录集{r1,…,rn}构建成基于MAT的加密的索引,并将每个数据记录对应的文档内容{f1,…,fn}用对称加密算法进行加密,然后将加密的索引树与加密的文档内容上传至云端云服务器,其中n表示数据记录的个数;
步骤二、数据用户向数据拥有者请求搜索授权,数据拥有者根据授权规则决定是否授权,若用户获得授权,数据拥有者执行步骤三;
步骤三、生成陷门并向数据用户分发搜索陷门和解密密钥;
步骤四、云服务器接收到用户提交的陷门时,利用搜索MAT索引的算法,进行搜索,找出与用户查询需求匹配的所有记录,陷门不揭露查询的任何信息;
步骤五、云服务器返回满足特定搜索规则的记录的ID及对应的加密的文档,解密密钥实现匹配记录的对应密文文档的解密。
本发明所述步骤一中对每个记录对应的文档内容进行加密采用的算法为AES算法。
本发明所述步骤一中将数据记录集{r1,…,rn}构建成基于MAT的加密的索引的方法为:假设数据记录的属性的个数为m,则数据记录的属性集A为:A={A1,A2,…,Am},
(1)构建未加密的基于MAT的索引:
(11)将记录的属性集A转换成新的属性集A′,A′={A′1,A′2,…,A′h},则确定索引树的层数为h层;
(12)根据A′i(i=1,2,…,h)的属性值将所有的记录分类;
(13)将从第i层父结点衍生的第i+1层子结点集中的所有子结点按任意的顺序排序;
(14)将数据记录分配到各个ID序列。
(2)构建加密的基于MAT的索引:
(21)将未加密的基于MAT的索引的各层结点关键词表示成矢量,用li表示第i层的结点关键词矢量的矢量长度,将各层关键词矢量均扩展为固定的长度L,将矢量的后面L-li位全部设置为0;
(22)对各层结点矢量进行加密:首先根据密钥生成算法为第i层(1≤i≤h)随机生成一个L位的二进制矢量Si和L×L的可逆矩阵{M1,i,M2,i},则第i层的子密钥SKi为三元组{Si,M1,i,M2,i},SK={SK1,SK2,…,SKh};之后对第i层(1≤i≤h)的结点关键词矢量进行加密,假定数据记录r的对应于索引树第i层的关键词矢量为对矢量的加密过程如下:①用一个非零的随机数εi乘以得到即②将划分为两个随机的矢量对于x=1到L,假如和被设定满足若和都设定为③对两个随机矢量进行加密,产生加密的矢量
本发明所述步骤三生成陷门的方法为:首先将对应于第i层的查询关键词表示成li位的矢量qi,随后对qi进行加密,加密的过程如下:①对qi(1≤i≤h)按位取反得到矢量Qi;②将Qi的长度扩展到长度L,记为其中(L-li)位设为随机数;③用不为0的随机数βi乘以得得到④将划分为两个随机的矢量假如Si[x]=1,1≤x≤L,和均被设置为与相等;假如Si[x]=0,和被设置满足⑤随机矢量被加密成即第i层的陷门
本发明所述步骤四中搜索MAT索引的算法具体为:从根结点开始逐层搜索MAT索引,当搜索过程进入第i层时,搜索过程开始在第i层的子结点集中所有的子结点从左到右执行顺序搜索,具体地,当选择第i层的一个子结点集中的一个结点时,对该结点关键词ki通过匹配算法执行匹配操作,其中是ki的矢量的加密形式,是第i层的陷门;当该关键词与查询关键词匹配时,确定关键词ki位于索引树的哪一层,当ki位于中间层时,搜索过程向下到下一层的子结点集,当ki位于最底层时,搜索过程将该关键词指针指向的ID序列的所有ID号加入结果的列表;当关键词ki与查询关键词不匹配时,搜索过程开始搜索该子结点集中的下一个子结点。
本发明对结点关键词ki通过匹配算法执行匹配操作的具体方法为:执行和的内积运算,即该式第二项Σ求和始终为0,当结点关键词与查询关键词匹配时,第一个Σ求和为0,根据该内积的结果是否为0,确定该结点关键词是否与查询关键词匹配。
本发明的有益效果是:本发明提供了云计算环境下对数据记录实现动态的连接关键词查询的安全有效方法,该方法保证了用户的隐私及数据的安全,并且能快速的满足用户需求的查询,克服了以往绝大多数方案的线性查询及数据库不能更新的缺点,具有以下优点:(1)构建了基于MAT的加密的索引结构,通过策略地设定树的层数,用固定长度表示各层关键词矢量,对结点关键词执行不确定性加密等方法保证了数据的安全,能够抵抗已知背景知识的攻击。(2)提出了对MAT树的搜索算法,不仅能支持灵活的连接关键词查询,而且克服了搜索时间与数据库文档数成线性关系的弊端,该算法不需要搜索全部的记录便能搜索出所有满足搜索请求的所有记录,实现了搜索效率的提高,这种算法更加适用于大型数据库场景。(3)该方案不仅能实现快速的多关键词连接查询,而且还能实现数据库的更新操作,满足了用户添加和删除记录的需求。
附图说明
图1为本发明系统结构体系图;
图2中a为原始的EMRs,b为分类后的EMRs;
图3为根据本发明图2中数据记录构建成的MAT索引;
图4为本发明搜索MAT索引的算法。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步说明。
如图所示,云环境下基于MAT树的动态多属性连接关键词的搜索方法,包括以下步骤:
步骤一、数据拥有者根据一定的安全策略将记录集构建成基于MAT的加密的索引,并且将每个记录对应的文档内容用现有对称加密算法,如AES,进行加密,然后将加密的索引及加密的文档内容上传给远端云服务器,具体的过程如(1)-(4):
(1)构建未加密的基于MAT的索引(为方便描述,下面称MAT索引)。
①确定MAT树的层数。一般的MAT结构中,树的层数被设定为数据记录的属性的个数m,根结点不对应任何属性值,下面的i层依次对应i个属性。但是对于要外包给云服务器的索引树来说,为了阻止具有背景知识的云服务器从树的结构中推测出记录的属性信息,我们需要策略的设定树的层数。具体的说,先将记录的属性集A={A1,A2,…,Am}策略的变成新的属性集A′={A′1,A′2,…,A′h}(以EMRs为例,可以将属性个数较少的属性sex与其他属性,如age合并),这样树的层数就设定为h层。
②根据A′i(i=1,2,…,h)的属性值将所有的记录分类,为了更清晰更直观地描述问题,根据初始的数据属性集A对记录进行分类,例如对图2(a)中的数据分类后变成图2(b),在每一列中,连接具有相同值的所有记录到这个值结点上。
③将从第i层衍生的第(i+1)层子结点集(filialset)中的所有子结点按任意的顺序排序。在一般的MAT结构中,一个子结点集中的结点是按关键词值升序排序的,但是为了防止索引树外包后,云服务器根据其掌握的背景知识猜测一些属性值,构造MAT索引时对一个子结点集中的所有结点按照任意顺序排序。
④将记录分配到各个ID序列。
任何终端结点,不仅包含一个属性值,还包含一个指向ID序列的指针,在ID序列中,我们存储具有相同的m个属性值的记录的ID号。图3是根据图2中EMRs构造的MAT索引。
(2)构建加密的MAT索引
①对各层结点关键词表示成矢量。将MAT索引各层结点关键词表示成矢量,可以采用现有的有效的属性矢量表示方法,例如张丽丽等人在2016年6月在《软件学报》上提出的属性值矢量表示方法。由于MAT索引各层属性不同,所以各层结点关键词矢量的长度也不一样,用li表示第i层的结点关键词矢量的长度。为了防止具有背景知识的云服务器根据矢量长度推测各层对应的属性,将各层关键词矢量长度统一扩展为L,L的选取方法:假定lj是l1到lh中最大的,L可以等于或者略微大于lj,将矢量的后面的(L-li)位全部设置为0。
②对各层结点矢量进行加密。首先,根据密钥生成算法GenKey(1n)为i(1≤i≤h)层随机生成一个L位的二进制矢量Si和L×L的可逆矩阵{M1,i,M2,i},则第i层的子密钥SKi为三元组{Si,M1,i,M2,i},SK={SK1,SK2,…,SKh};之后对第i层(1≤i≤h)的结点关键词矢量进行加密,假定数据记录r的对应于索引树第i层的关键词矢量为对矢量的加密过程如下:①用一个非零的随机数εi乘以得到即②将划分为两个随机的矢量对于x=1到L,假如和被设定满足若和都设定为③对两个随机矢量进行加密,产生加密的矢量
(3)用现有的对称加密算法,如AES,对数据库中记录{r1,…,rn}对应的文档{f1,…,fn}分别进行加密,记为C={c1,…,cn}。
(4)将加密的MAT索引与加密的文档集C一起上传给远端云服务器。
步骤二、数据用户向数据拥有者请求搜索授权,数据拥有者根据授权规则决定是否授权,这里假定数据拥有者与数据用户有相互认证的能力,并且搜索控制机制,如广播加密可以用在这里。假如用户获得授权,数据拥有者执行步骤三。
步骤三、生成陷门,并向数据用户分发搜索陷门和解密秘钥。
首先将对应于第i层的查询关键词表示成li位的矢量qi,在这里采用的矢量表示方法是张丽丽等人在2016年6月在《软件学报》上提出的查询矢量表示方法。该方法可以完成相等连接,范围连接和子集连接。随后对qi进行加密,加密的过程如下①对qi(1≤i≤h)按位取反得到矢量Qi;②将Qi的长度扩展到长度L,记为其中(L-li)位设为随机数;③用不为0的随机数βi乘以得得到④将划分为两个随机的矢量假如Si[x]=1,和均被设置为与相等;假如和被设置满足⑤随机矢量被加密成即第i层的陷门
步骤四、云服务器接收到用户提交的陷门时,利用搜索MAT索引的算法,称为searchMAT算法,开始搜索,找出与用户查询需求匹配的所有记录,陷门不揭露查询的任何信息。
搜索MAT索引的算法:该算法从根结点开始逐层搜索MAT索引,当搜索过程进入第i层时,搜索过程开始在第i层的子结点集中所有的子结点从左到右执行顺序搜索,具体地,当选择第i层的一个子结点集中的一个结点时,对该结点关键词ki通过匹配算法执行匹配操作,其中是ki的矢量的加密形式,是第i层的陷门。具体的匹配操作是执行和的内积运算,即该式第二项Σ求和始终为0,当结点关键词与查询关键词匹配时,第一个Σ求和为0,根据该内积的结果是否为0,确定该结点关键词是否与查询关键词匹配。当该关键词与查询关键词匹配时,搜索操作取决于关键词位于索引树的哪一层,当ki位于中间层时,搜索过程向下到下一层的子结点集。当ki位于最底层时,搜索过程将该关键词指针指向的ID序列的所有ID号加入结果的列表。当关键词ki与查询关键词不匹配时,搜索过程开始搜索该子结点集中的下一个子结点。注意,由于我们采用了是张丽丽等人在2016年6月在《软件学报》上提出的矢量表示方法,该方法能实现相等连接,范围连接和子集连接,所以这里的“匹配”有四种含义:(1)该关键词等于该查询域的关键词;(2)该用户不关心属性Ai;(3)该关键词在该查询域的范围内;(4)该关键词是该查询域的子集。具体的searchMAT算法见图4。为了清晰地说明这个搜索算法,我们用关键的序列(k1,...,ki-1)表示从第i-1层衍生的第i层的子结点集的ID,用(¢)表示根的结点,例如,在图3中,(k1,k2)=(男,70)表示第三层的子结结点集,包含“肝炎”和“心脏病”两个结点。步骤五、云服务器返回满足特定搜索规则的记录的ID及对应的加密的文档,解密密钥实现匹配记录的对应密文文档的解密,这里的解密密钥是用来加密文档内容的密钥。
本发明还提出了数据的更新算法。当插入和删除一个文档时,索引也应该同步更新,本发明的索引被构建成MAT树,因此更新操作是通过更新树的结点。索引的更新只是基于文档ID号,而不需要访问文档的内容。数据的更新操作包括在数据拥有者端的产生更新信息的操作和云端服务器的更新索引的操作。
产生更新信息,更新操作包括文档的删除和文档的添加。为了方便描述,采用如图3所示的MAT索引描述文档的更新操作。
删除操作需要分两种情况讨论,假如在记录集中有其他文档记录与被删除文档ri有相同的m个属性值,那么这时只需要将ri的ID号从ID序列中删除即可,并且将ri对应的文档的密文ci设置为null。另一种情况,需要分析被删除文档的每个属性值,例如我们想删除图3中的记录r3={男,50,糖尿病,上海},第一个属性值是男,在文档集中有多个文档的属性值是男,所以,男结点必须保留,而男性中满足“年龄=50,疾病=糖尿病,地区=上海”的只有r3。所有“男”结点下由“50”“糖尿病”“上海”及“ID=3”组成的子树必须从索引中删除。并且将c3置为空。
插入操作也需分两种情况讨论,假如在文档数据集中存在有其他记录与需要添加的记录ri具有同样的ID号,那么只需要将被添加的记录的ID号加入的原始的ID序列中。在其他情况,需要分析被添加的记录的属性值,以图3为例,我们需要添加ri={女,70,肝炎,郑州},经分析文档集中存在记录前两个属性值分别是女和70,因此不需要增加结点“女”和“70”,然而在数据集中不存在满足{性别=女,年龄=70,疾病=肝炎}的病人,所以需要在结点“70”下增加子结点“肝炎”,在“肝炎”结点下增加“郑州”结点,“郑州”结点的指针指向“ID=i”的ID序列。数据拥有者需要加密子树,即将新增结点关键词先矢量后再加密,加密后上传给云服务器。加密方法与构建加密索引部分的结点关键词的加密方法相同。由于结点关键词加密因为引入随机数而成为非确定性加密,即使插入的结点关键词可能存在于索引树中其他结点,但是加密后密文是不一样的。需要说明的是数据拥有者一方始终保存未加密的MAT索引,他可以根据添加和删除的文档直接更新MAT索引。
更新数据算法:当服务器接收到删除数据的请求时,根据用户发来删除信息,完成删除操作,并把相应的ci设置为null。当服务器接收到更新数据的请求时,根据用户发来的需要插入的子树更改MAT索引,并将需要添加记录对应的文档的密文加入原来的密文集C中。为了让云服务器知道在加密的索引树结构中的哪个位置删除和添加子树,在构建索引树时,需要给每个结点分配一个ID号。数据拥有者给服务器发更新信息时,需要发送添加子树或者删除子树的结点的ID。
Claims (6)
1.云环境下基于MAT树的动态多属性连接关键词的搜索方法,其特征在于:包括以下步骤:
步骤一、数据拥有者根据安全策略将数据记录集{r1,…,rn}构建成基于MAT的加密的索引,并将每个数据记录对应的文档内容{f1,…,fn}用对称加密算法进行加密,然后将加密的索引树与加密的文档内容上传至云端云服务器,其中n表示数据记录的个数;
步骤二、数据用户向数据拥有者请求搜索授权,数据拥有者根据授权规则决定是否授权,若用户获得授权,数据拥有者执行步骤三;
步骤三、生成陷门并向数据用户分发搜索陷门和解密密钥;
步骤四、云服务器接收到用户提交的陷门时,利用搜索MAT索引的算法,进行搜索,找出与用户查询需求匹配的所有记录,陷门不揭露查询的任何信息;
步骤五、云服务器返回满足特定搜索规则的记录的ID及对应的加密的文档,解密密钥实现匹配记录的对应密文文档的解密。
2.根据权利要求1所述的云环境下基于MAT树的动态多属性连接关键词的搜索方法,其特征在于:所述步骤一中对每个记录对应的文档内容进行加密采用的算法为AES算法。
3.根据权利要求1所述的云环境下基于MAT树的动态多属性连接关键词的搜索方法,其特征在于:所述步骤一中将数据记录集{r1,…,rn}构建成基于MAT的加密的索引的方法为:假设数据记录的属性的个数为m,则数据记录的属性集A为:A={A1,A2,…,Am},
(1)构建未加密的基于MAT的索引:
(11)将记录的属性集A转换成新的属性集A′,A′={A′1,A′2,…,A′h},则确定索引树的层数为h层;
(12)根据A′i(i=1,2,…,h)的属性值将所有的记录分类;
(13)将从第i层父结点衍生的第i+1层子结点集中的所有子结点按任意的顺序排序;
(14)将数据记录分配到各个ID序列;
(2)构建加密的基于MAT的索引:
(21)将未加密的基于MAT的索引的各层结点关键词表示成矢量,用li表示第i层的结点关键词矢量的矢量长度,将各层关键词矢量均扩展为固定的长度L,将矢量的后面L-li位全部设置为0;
(22)对各层结点矢量进行加密:首先根据密钥生成算法为第i层(1≤i≤h)随机生成一个L位的二进制矢量Si和L×L的可逆矩阵{M1,i,M2,i},则第i层的子密钥SKi为三元组{Si,M1,i,M2,i},SK={SK1,SK2,…,SKh};之后对第i层(1≤i≤h)的结点关键词矢量进行加密,假定数据记录r的对应于索引树第i层的关键词矢量为对矢量的加密过程如下:①用一个非零的随机数εi乘以得到即②将划分为两个随机的矢量对于x=1到L,x为变量假如Si[x]=1,和被设定满足若Si[x]=0,和都设定为③对两个随机矢量进行加密,产生加密的矢量
4.根据权利要求1所述的云环境下基于MAT树的动态多属性连接关键词的搜索方法,其特征在于:所述步骤三生成陷门的方法为:首先将对应于第i层的查询关键词表示成li位的矢量qi,随后对qi进行加密,加密的过程如下:①对qi(1≤i≤h)按位取反得到矢量Qi;②将Qi的长度扩展到长度L,记为其中(L-li)位设为随机数;③用不为0的随机数βi乘以得得到④将划分为两个随机的矢量假如Si[x]=1,1≤x≤L,和均被设置为与相等;假如Si[x]=0,和被设置满足⑤随机矢量被加密成即第i层的陷门
5.根据权利要求1所述的云环境下基于MAT树的动态多属性连接关键词的搜索方法,其特征在于:所述步骤四中搜索MAT索引的算法具体为:从根结点开始逐层搜索MAT索引,当搜索过程进入第i层时,搜索过程开始在第i层的子结点集中所有的子结点从左到右执行顺序搜索,具体地,当选择第i层的一个子结点集中的一个结点时,对该结点关键词ki通过匹配算法执行匹配操作,其中是ki的矢量的加密形式,是第i层的陷门;当该关键词与查询关键词匹配时,确定关键词ki位于索引树的哪一层,当ki位于中间层时,搜索过程向下到下一层的子结点集,当ki位于最底层时,搜索过程将该关键词指针指向的ID序列的所有ID号加入结果的列表;当关键词ki与查询关键词不匹配时,搜索过程开始搜索该子结点集中的下一个子结点。
6.根据权利要求5所述的云环境下基于MAT树的动态多属性连接关键词的搜索方法,其特征在于:对结点关键词ki通过匹配算法执行匹配操作的具体方法为:执行和的内积运算,即该式第二项Σ求和始终为0,当结点关键词与查询关键词匹配时,第一个Σ求和为0,根据该内积的结果是否为0,确定该结点关键词是否与查询关键词匹配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711269664.8A CN107908779A (zh) | 2017-12-05 | 2017-12-05 | 云环境下基于mat树的动态多属性连接关键词的搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711269664.8A CN107908779A (zh) | 2017-12-05 | 2017-12-05 | 云环境下基于mat树的动态多属性连接关键词的搜索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107908779A true CN107908779A (zh) | 2018-04-13 |
Family
ID=61854566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711269664.8A Pending CN107908779A (zh) | 2017-12-05 | 2017-12-05 | 云环境下基于mat树的动态多属性连接关键词的搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107908779A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109450935A (zh) * | 2018-12-19 | 2019-03-08 | 河南科技大学 | 云存储中可验证的语义安全的多关键词搜索方法 |
CN111241606A (zh) * | 2020-01-21 | 2020-06-05 | 北京连山科技股份有限公司 | 一种一拖三的移动存储设备 |
CN111431705A (zh) * | 2020-03-06 | 2020-07-17 | 电子科技大学 | 一种适用于可搜索加密的密码逆向防火墙方法 |
CN111478765A (zh) * | 2020-04-03 | 2020-07-31 | 广西大学 | 一种云环境下的同态密文范围索引方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665683B1 (en) * | 2001-06-22 | 2003-12-16 | E. Intelligence, Inc. | System and method for adjusting a value within a multidimensional aggregation tree |
CN104615692A (zh) * | 2015-01-23 | 2015-05-13 | 重庆邮电大学 | 一种支持动态更新及多关键字安全排序的可搜索加密方法 |
CN106815350A (zh) * | 2017-01-19 | 2017-06-09 | 安徽大学 | 一种云环境中动态的密文多关键词模糊搜索方法 |
CN106980796A (zh) * | 2017-03-27 | 2017-07-25 | 河南科技大学 | 云环境下基于mdb+树的多域连接关键词的搜索方法 |
-
2017
- 2017-12-05 CN CN201711269664.8A patent/CN107908779A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665683B1 (en) * | 2001-06-22 | 2003-12-16 | E. Intelligence, Inc. | System and method for adjusting a value within a multidimensional aggregation tree |
CN104615692A (zh) * | 2015-01-23 | 2015-05-13 | 重庆邮电大学 | 一种支持动态更新及多关键字安全排序的可搜索加密方法 |
CN106815350A (zh) * | 2017-01-19 | 2017-06-09 | 安徽大学 | 一种云环境中动态的密文多关键词模糊搜索方法 |
CN106980796A (zh) * | 2017-03-27 | 2017-07-25 | 河南科技大学 | 云环境下基于mdb+树的多域连接关键词的搜索方法 |
Non-Patent Citations (1)
Title |
---|
张丽丽等: "对加密电子医疗记录有效的连接关键词的搜索", 《软件学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109450935A (zh) * | 2018-12-19 | 2019-03-08 | 河南科技大学 | 云存储中可验证的语义安全的多关键词搜索方法 |
CN109450935B (zh) * | 2018-12-19 | 2021-02-02 | 河南科技大学 | 云存储中可验证的语义安全的多关键词搜索方法 |
CN111241606A (zh) * | 2020-01-21 | 2020-06-05 | 北京连山科技股份有限公司 | 一种一拖三的移动存储设备 |
CN111431705A (zh) * | 2020-03-06 | 2020-07-17 | 电子科技大学 | 一种适用于可搜索加密的密码逆向防火墙方法 |
CN111478765A (zh) * | 2020-04-03 | 2020-07-31 | 广西大学 | 一种云环境下的同态密文范围索引方法 |
CN111478765B (zh) * | 2020-04-03 | 2023-06-09 | 广西大学 | 一种云环境下的同态密文范围索引方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815350B (zh) | 一种云环境中动态的密文多关键词模糊搜索方法 | |
Fu et al. | Toward efficient multi-keyword fuzzy search over encrypted outsourced data with accuracy improvement | |
Swaminathan et al. | Confidentiality-preserving rank-ordered search | |
CN104408177B (zh) | 基于云文档系统的密文检索方法 | |
CN106951411B (zh) | 一种云计算中保护数据隐私的快速多关键词语义排序搜索方法 | |
Li et al. | Fast and scalable range query processing with strong privacy protection for cloud computing | |
Kuzu et al. | Efficient similarity search over encrypted data | |
CN107908779A (zh) | 云环境下基于mat树的动态多属性连接关键词的搜索方法 | |
CN106326360A (zh) | 一种云环境中密文数据的模糊多关键词检索方法 | |
CN108712366A (zh) | 云环境中支持词形词义模糊检索的可搜索加密方法及系统 | |
CN109885640B (zh) | 一种基于α叉索引树的多关键词密文排序检索方法 | |
CN101859323B (zh) | 密文全文检索系统 | |
CN108628867A (zh) | 面向云存储的多关键词密文检索方法和系统 | |
Zhang et al. | Towards privacy preserving publishing of set-valued data on hybrid cloud | |
CN108156138A (zh) | 一种用于雾计算的细粒度可搜索加密方法 | |
CN106599719A (zh) | 支持高效密钥管理的密文检索方法 | |
Dai et al. | A privacy-preserving multi-keyword ranked search over encrypted data in hybrid clouds | |
CN106980796A (zh) | 云环境下基于mdb+树的多域连接关键词的搜索方法 | |
Wang et al. | Towards secure and effective utilization over encrypted cloud data | |
CN109885650B (zh) | 一种外包云环境隐私保护密文排序检索方法 | |
CN108171071A (zh) | 一种面向云计算的多关键字可排序密文检索方法 | |
Cuzzocrea et al. | Effective and efficient skyline query processing over attribute-order-preserving-free encrypted data in cloud-enabled databases | |
CN116010546A (zh) | 一种基于语义扩展的密文检索方法 | |
Raghavendra et al. | IGSK: index generation on split keyword for search over cloud data | |
CN107203723B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180413 |
|
RJ01 | Rejection of invention patent application after publication |