2024年4月26日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.7

(22)申请日 2012.12.11

(71)申请人 上海交通大学

地址 200240 上海市闵行区东川路800号

(72)发明人 管海兵 李健 李亚帅 马汝辉 周凡夫 宋涛

(74)专利代理机构 上海旭诚知识产权代理有限公司

代理人 郑立

(51)

H04L29/08

G06F17/30

G06F21/31

(10)申请公布号 CN 103024035 A

(43)申请公布日 2013.04.03

权利要求说明书 说明书 幅图

(54)发明名称

基于移动云平台的安全节能的加密

搜索方法

(57)摘要

本发明公开了一种基于移动云平台

的安全节能的加密搜索方法,其中,首

先,客户端向云端发送查询关键字;接

着,云端计算相关度得分;最后,云端返

回相关文档。本发明的基于移动云平台的

安全节能的加密搜索方法将相关度得分的

计算从客户端转移到了云端,大大减轻了

客户端的计算负载;同时修改了文档查询

的步骤,节省了一次通信过程,节省了移

动设备的电量,也通过修改加密算法以及

增加包装函数提高了用户数据的安全性。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种基于移动云平台的安全节能的加密搜索方法,其特征在于,包括如下

步骤一:数据的拥有者在将文档集存储到云端之前进行预处理步骤,得到文档

集的索引,并利用保序加密对所述索引进行加密,然后将文档集也进

密后的索引以及文档集存到云端;

步骤:

行加密,将加

步骤二:用户进行查询之前,首先向数据的拥有者进行认证,得到认证的用户

步骤三:用户在进行查询时,对查询关键词进行词干化以及加密处理,通过哈

希表得到对应的哈希值,利用随机数与所述哈希值进行运算,得到包

值,之后将所述包装后的哈希值发送到云端;云

在索引表中找到对应所述查

并且将

为合法用户,以便执行关键词查询;

装之后的哈希

端在得到处理后的查询关键词之后,

询关键词的部分,取出相应的索引值来计算相关度得分

其按照大小顺序排列,之后从云存储中取出最相关的若干文档,返回给用户;

2.如权利要求1所述的基于移动云平台的安全节能的加密搜索方法,其特征

11)数据的拥有者收集自己需要存储在云端的文件,对这些文件进行词干化,

然后抽取出所有出现过的词干;

在于,其中,所述步骤一具体包括以下步骤:

用户得到文档之后解密,得到原始文档。

12)数据的拥有者对每一个词干进行加密,得到加密后的词干,然后对加密后

的词干进行哈希,得到所述加密后的词干位于索引中的行的编号,并

哈希表; 且存储为一个

13)在得到每个词干的行的编号之后,数据的拥有者统计出每个词干在每个文

14)得到的索引被数据的拥有者加密并且存储在云端;

15)需要被存储的文档集也被数据的拥有者加密并且存到云端。

3.如权利要求2所述的基于移动云平台的安全节能的加密搜索方法,其特征

在于,其中,步骤11)中,对文档进行词干化通过取出文档中所有词汇的词

实现。

档中出现的频率,建立索引;

根来

4.如权利要求1所述的基于移动云平台的安全节能的加密搜索方法,其特征

21)数据的使用者发送自己的相关信息至数据的拥有者进行认证;

22)如果认证成功,数据的拥有者会发送给所述数据的使用者相应的密钥以及

哈希表;如果认证失败,则提示失败信息。

在于,所述步骤二中的认证步骤又包括:

5.如权利要求4所述的基于移动云平台的安全节能的加密搜索方法,其特征

在于,其中,步骤21)中,数据的使用者的相关信息包括数据的使用者的用

密码对。 户名

6.如权利要求4所述的基于移动云平台的安全节能的加密搜索方法,其特征

在于,步骤22)中,所述密钥包括用来对查询关键词进行加密的密钥以及对

存储中取回的文档进行解密的密钥;所述哈希表用来哈希加密

便确定查询关键词在索引中的位置。

从云

后的查询关键词,以

7.如权利要求1所述的基于移动云平台的安全节能的加密搜索方法,其特征

31)合法的用户对查询关键词进行词干化;

32)用户使用从数据的拥有者处得到的密钥对词干化后的关键词进行加密并利

33)利用一个随机数函数对哈希值进行包装,使得传到云端的是一个包装后的

34)云端在接收到包装后的关键词之后对其进行解包,得到原始的哈希值;

35)云端利用解包得到的索引值进行一系列计算得到与查询关键词最相关的部

哈希值;

用哈希表得到一个哈希值;

在于,所述步骤三具体包括以下步骤:

分文档,返回给用户;

36)用户解密,得到原始文档。

说 明 书

技术领域

本发明涉及一种加密搜索方法,尤其涉及一种基于移动云平台的安全节能的加

背景技术

云计算可以为其用户提供动态可扩展的虚拟化计算资源,它的计算能力以及存

储空间可以作为一种商品以因特网服务的方式进行流通,方便快捷并且价格

云计算的用户可以按照自己对资源的使用量来进行付费,省去

以及维护硬件设备的大量开销。移动设备在种类

备变成了除PC之外云计算的另外

移动设备计算能力以

密搜索方法。

较低。

了自己购买硬件设备

以及数量上的迅速发展使得移动设

一种重要客户端,这种移动云很大程度上克服了

及存储空间的限制。

移动云存储中的安全问题十分重要,用户数据的安全性必须得到保护。目前一

种保护云用户数据安全性的方式是加密搜索。具体来说,就是数据的拥有者

据保存到云端之前,需要进行一个预处理步骤。数据的拥有者

存的文档集的索引,将这个索引以及需要保存的

回需要的文档时,数据的使用者提

况下利用索引进行一

档。这

在将数

首先得到自己需要保

文档集本身都进行加密;当需要取

供需要查询的关键字,云端会在不解密索引的情

系列计算,给数据的使用者返回与关键字相关度最高的一些文

个索引一般是词频表(term frequency table,TF table),也就是一个统计每

目前,这种加密搜索主要分为两种:布尔类型的搜索(Boolean keyword search)

以及基于相关度排名的搜索(Ranked keyword search)。

个词在每个文档中出现次数的表。

Boolean keyword search只是根据文档中是否出现查询的关键字来返回相应文

档,也就是说,云端服务器在收到查询关键词之后,根据索引中的布尔类型

进行查询。文中出现查询关键字的文档均被返回给客户端,而

关度排名没有被考虑。

要很大的后期

的值来

且它们与关键字的相

使用这种方法,用户需要从云端得到大量的文档,客户端需

处理工作才能确定这些文档跟关键字的相关度具体有多少。对于移动

客户端的计算能力来说,这是很大的负担,而且文件传输的网络流量对于移

也是很大的开销。 动设备

Ranked keyword search可以使用相关度得分(Relevance Score)来对文档与关

键字的相关程度进行排序,根据用户的需求返回排序比较靠前的文档,也就

Relevance Score比较大的文档。在目前已经提出的相应策略中,执行

所示,具体如下:用户需要向云端提供查询关键字,云端接收

把相应的部分索引返回给客户端,根据策略不同,

是使用其他方式进行保护的。客户端接受

需要对这些索引进行一些操

算,得出相关度得分

客户端

步骤如图1

到查询关键字之后会

这些索引或许是加过密的,或许

到这些索引,也就是查询的中间结果之后,

作,然后取出索引中的对应数值进行相关度得分的计

比较高的文档,也就是跟查询关键词最相关的部分文档。最后,

根据计算结果发送进一步的请求给云端,以便取回这些相关文档。此类传统

方案一般使用保序加密算法对文档集的索引进行加密,保序加密可以在将明

变成密文的同时,保持它们之间的大小顺序,使得索引表在不

况下就可以取出索引值来进行计算。这种查询方

文数字

需要被首先解密的情

法要优于Boolean keyword search。

但是,在每一次关键词查询的过程中,客户端都需要向云端发送两次请求,一

次是发送查询关键词,一次是得到最相关文档之后发送从云存储中将其取回

求。这样就导致通信的开销比较大,不但有两次通信的开销,还有不的请

必要的中间结 果,也就是索引的传输,这导致网络流量的增大。另外,

导致文档的查询时间相应的增加,相关度

计算就需要能源的消耗,而

使得文档查询

两次通信的过程比较复杂,

得分需要在客户端进行计算,客户端进行

且由于客户端的计算能力比云端要弱,计算的时间也会

时间变得不必要的增大。由于移动设备对于通信开销,程序执行时间

发明内容

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种基于移动

云平台的安全节能的加密搜索方法,该方法能保证用户数据的安全性,同时

客户端的能量消耗,并且能减小网

题。

以及能量消耗比较敏感,这样的方案可能不适合移植到移动云框架下。

能降低

络流量以及执行时间,克服现存方案中存在的问

为实现上述目的,本发明提供了一种基于移动云平台的安全节能的加密搜索方

步骤一:数据的拥有者在将文档集存储到云端之前进行预处理步骤,得到文档

集的索引,并利用保序加密对所述索引进行加密,然后将文档集也进行加密,

密后的索引以及文档集存到云端;

法,包括如下步骤:

将加

步骤二:用户进行查询之前,首先向数据的拥有者进行认证,得到认证的用户

步骤三:用户在进行查询时,对查询关键词进行词干化以及加密处理,通过哈

希表得到对应的哈希值,利用随机数与所述哈希值进行运算,得到包装之后

值,之后将所述包装后的哈希值发送到云端;云端在得到处理

为合法用户,以便执行关键词查询;

的哈希

后的查询关键词之后, 在索引表中找到对应所述查询关键词的部分,取

并且将其按照大小顺序排列,之后

用户得到文档之后解

出相应的索引值来计算相关度得分

从云存储中取出最相关的若干文档,返回给用户;

密,得到原始文档。

如上述的基于移动云平台的安全节能的加密搜索方法,其中,所述步骤一具体

11)数据的拥有者收集自己需要存储在云端的文件,对这些文件进行词干化,

12)数据的拥有者对每一个词干进行加密,得到加密后的词干,然后对加密后

的词干进行哈希,得到所述加密后的词干位于索引中的行的编号,并且存储

哈希表;

然后抽取出所有出现过的词干;

包括以下步骤:

为一个

13)在得到每个词干的行的编号之后,数据的拥有者统计出每个词干在每个文

14)得到的索引被数据的拥有者加密并且存储在云端;

15)需要被存储的文档集也被数据的拥有者加密并且存到云端。

进一步地,如上述的基于移动云平台的安全节能的加密搜索方法,其中,步

如上述的基于移动云平台的安全节能的加密搜索方法,其中,所述步骤二中的

认证步骤又包括:

骤11)中,对文档进行词干化通过取出文档中所有词汇的词根来实现。

档中出现的频率,建立索引;

21)数据的使用者发送自己的相关信息至数据拥有者进行认证;

22)如果认证成功,数据的拥有者会发送给所述数据的使用者相应的密钥以及

进一步地,如上述的基于移动云平台的安全节能的加密搜索方法,其中,步骤

进一步地,如上述的基于移动云平台的安全节能的加密搜索方法,其中,步骤

22)中,所述密钥包括用来对查询关键词进行加密的密钥以及对从云存储中

文档进行解密的密钥;所述哈希表用来哈希加密后的查询关键

键词在索引中的位置。

21)中,数据的使用者的相关信息包括数据的使用者的用户名密码对。

哈希表;如果认证失败,则提示失败信息。

取回的

词,以便确定查询关

如上述的基于移动云平台的安全节能的加密搜索方法,其中,所述步骤三具体

31)合法的用户对查询关键词进行词干化;

32)用户使用从数据的拥有者处得到的密钥对词干化后的关键词进行加密并利

33)利用一个随机数函数对哈希值进行包装,使得传到云端的是一个包装后的

34)云端在接收到包装后的关键词之后对其进行解包,得到原始的哈希值;

35)云端利用解包得到的索引值进行一系列计算得到与查询关键词最相关的部

分文档,返回给用户;

哈希值;

用哈希表得到一个哈希值;

包括以下步骤:

36)用户解密,得到原始文档。

相较于现有技术,本发明的基于移动云平台的安全节能的加密搜索方法具有以

第一,通过将相关度得分的计算量转移到云端,使得移动客户端不必计算相关

度得分,从而可以节省移动客户端的计算能力,降低能量消耗;同时,由于

计算能力远远高于移动设备,上传的相关度得分计算操作可以

成,也就提高了文件查询的速度;

下有益的技术效果:

云端的

在更短的时间内完

第二,相关度得分可以在云端进行计算,不但提高了计算速度,而且可以减少

一次通信步骤;此时用户不需要通过第二次请求才能得到相关文档,文件的

以在一次通信之内完成,降低了网络流量的开销,缩短了文件

查询可

查询需要的时间;

第三,修改后的保序加密算法不但可以保证云端在不解密索引的情况下利用索

引中的数值进行计算,也使得索引值分布更加均匀,难以被恶意攻击者破解,

了用户数据的安全性;对查询关键词进行的包装操作也使得关键词对

基本不可见的,也在一定程度上保护了用户数据安全。

增加

恶意攻击者是

附图说明

图1是现有技术中基于相关度排名的搜索的流程图;

图2是本发明的基于移动云平台的安全节能的加密搜索方法的流程图;

图3是本发明的基于移动云平台的安全节能的加密搜索方法的框架示意图;

图4是本发明中预处理过程的流程图;

图5是本发明中认证过程的流程图;

图6是本发明中关键词查询过程的流程示意图。

具体实施方式

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,

如图2所示,本发明的基于移动云平台的安全节能的加密搜索方法的基本步骤

为:首先,客户端向云端发送查询关键字;接着,云端计算相关度得分;最

端返回相关文档。该加密搜索方法在保证数据安全性的前提下,

过程中,将相关度得分的计算转移到云端,从而降低客

一次通信过程,并避免不必要的中间结果

以充分地了解本发明的目的、特征和效果。

后,云

在加密搜索的查询

户端的计算负载,并且减少

的传输。

图3为本发明的基于移动云平台的安全节能的加密搜索方法的设计方案的具

本发明的基于移动云平台的安全节能的加密搜索方法的具体步骤如下:

步骤一:数据的拥有者在将文档集存储到云端之前进行预处理步骤,得到文档

集的索引,并利用保序加密对该索引进行加密,

后的索引以及文档集存到云端;

体框架,其执行过程主要包括预处理步骤,认证步骤以及关键字查询步骤。

然后将文档集也进行加密,将加密

步骤二:用户进行查询之前,首先向数据的拥有者进行认证,得到认证的用户

步骤三:用户在进行查询时,对查询关键词进行词干化以及加密处理,通过哈

希表得到对应的哈希值,利用随机数与该哈希值进行运算,得到包装之后的

之后将包装后的哈希值发送到云端;云端在得到处理后的用户

索引表中找到对应与该关键词的部分,取出相应

其按照大小顺序排列,之后从云存

得到文档之后解密,

为合法用户,以便执行关键词查询;

哈希值,

查询关键词之后,在

的索引值来计算相关度得分并且将

储中取出最相关的若干文档,返回给用户;用户

得到原始文档。

具体地,本发明中的预处理过程如图4所示,具体步骤如下:

11)数据的拥有者收集自己需要存储在云端的文件,对这些文件进行词干化,

在实际应用中,对文档进行词干化可以选取不同的方式,一般都是取出文档中

12)数据的拥有者对每一个词干进行加密,得到加密后的词干,然后对加密后

的词干进行哈希,得到加密后的词干位于索引中的行的编号,并且存储为一

表。这个哈希表也就是认证过程中传输的哈希表。

所有词汇的词根。

然后抽取出所有出现过的词干。

个哈希

在实际应用中,此处的加密方法以及加密密钥都可以随机选取,哈希函数也可

以根据需要进行选择。最终得到的哈希值即该词干位于索引表中的位置。为

说明,这里首先对该实施例中的索引表的结构进行一下详细说了便于

明。

实施例中采用矩阵的方式保存词频表(Term Frequency Table,TF Table),作

其中,该表的每一行代表一个词干,每一列代表一个文档,其交叉处的数值代

表该词汇在该文档中出现的频率。这些数值均为一般的整型数字,可以用于

得分的一系列计算。

为文档集的索引。具体结构如下表所示。

相关度

13)在得到每个词干的行的编号之后,数据的拥有者统计出每个词干在每个文

在实际的应用中,词频的数值可以经过规范化等一些可能的特殊处理,以使得

14)得到的索引被数据的拥有者加密并且存储在云端。

在实际应用中,加密算法可以选取前文提到的保序加密。保序加密可以加密整

数并且保持其大小顺序,可以使得云端直接利用密文来计算相关度得分并且

大小,排列其顺序。

相关度得分的计算更加准确和简便。

档中出现的频率,建立索引。如建立上述结构的TF表。

判断其

在对文档集的索引进行加密时,我们采用的是一对多的保序加密算法,在保证

保序性,使得云端可以利用密文状态下的索引进行计算的同时,将每一个索

射到一个确定的区域。这样可以使得云端在不解密索引的情况

关度得分的计算,而且使得索引值的分布比较均

索引表更加难以破解,增加了用户

引值映

下利用索引值进行相

匀,其直方图不会陡峭,从而使得

数据的安全性。

15)需要被存储的文档集也被数据的拥有者加密并且存到云端。这里的加密算

本发明中的认证过程如图5所示,其具体步骤如下:

21)数据的使用者发送自己的相关信息至数据的拥有者进行认证。

在实际应用中,数据的使用者一般是发送自己的用户名密码对,或者其他身份

22)如果认证成功,数据的拥有者会发送给该用户相应的密钥以及哈希表;如

果认证失败,则提示失败信息。其中,密钥包括用来对查询关键词进行加密

以及对从云存储中取回的文档进行解密的密钥。哈希表用来哈

词,以便确定查询关

信息至数据的拥有者,以便使得数据的拥有者可以确认其合法身份。

法可以任意选择效率高以及安全性好的加密算法。

的密钥

希加密后的查询关键

键词在索引中的位置。

在实际应用中,一个合法的用户不必每次都进行验证,假定一个用户的合法性

在一段时间内是可以得到保证的。因此,为了降低网络流量的消耗,只需要

新加密关键词的密钥以及哈希表即可。 定期更

本发明中的关键词查询过程如图6所示,具体步骤如下:

31)一个合法的用户对查询关键词进行词干化。

在实际应用中,此处的词干化需要使用与预处理步骤中相同的方法,以便相同

的查询关键词可以得到与预处理时相同的词干。

32)用户使用从数据的拥有者处得到的密钥对词干化后的关键词进行加密并利

在实际应用中,这个哈希值代表它在索引中出现位置的行号,可以作为索引的

33)利用一个随机数函数对哈希值进行包装,使得传到云端的是一个包装后的

在实际应用中,可以选择一个比较合理的函数以及随机数生成手段对哈希值进

行包装。比如我们可以随机产生一个随机数,将该随机数与哈希值进行一定

运算,将运算后的结果发送到云端,亦即使得该哈希值对攻击

此方式可以达到对哈希值进行包装的效果。

哈希值。

入口来使用。

用哈希表得到一个哈希值。

的数学

者是无法分辨的,用

34)云端在接收到包装后的关键词之后对其进行解包,得到原始的哈希值。

在实际应用中,解包函数可以由数据拥有者通知云端,并定期更新以保证安全

35)云端利用解包得到的索引值进行一系列计算得到与查询关键词最相关的部

36)用户解密,得到原始文档。

通过采用以上技术方案,客户端在进行关键词查询时,可以将标志文档与关键

词相关程度的相关度得分的计算从客户端转移到云端,从而减少了客户端的

载,提高了相关度得分的计算速度。另外,由于云端在不解密

分文档,返回给用户。

性。

计算负

索引的情况下可以根 据密文来计算相关度得分,也就使得查询过程省

速度,去了一次通信,提高了文件传输的

由于通信过程的简化以及消除了不必要的中间结果的传输,整个系统的网络

流量也得以降低。利用保序加密的性质而产生的这种计算负载的转移是本发

键的地方。 明最关

另外,数据的使用者模块的包装函数以及云服务器模块的解包函数也是十分重

要的。由于查询关键词是通过包装函数包装好的,这使得关键词对于攻击者

区分的,从而进一步提高了安全性。而服务器可以通过解包函

也就是该查询关键词在索引中的入口,也使得云

装函数的影响。

是不可

数得到原本的哈希值,

端的相关度得分的计算没有受到包

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需

创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术

技术人员依本发明的构思在现有技术的基础上通过逻辑分析、

可以得到的技术方案,皆应在由权利要求书所确

领域中

推理或者有限的实验

定的保护范围内。