扩展盲化倒排索引表产生方法和设备、联合关键字搜索方法和设备的制作方法

文档序号:6579773阅读:213来源:国知局
专利名称:扩展盲化倒排索引表产生方法和设备、联合关键字搜索方法和设备的制作方法
技术领域
本发明涉及计算机通信网络安全领域,更具体地,涉及一种包括扩展盲化倒排索 引表(EBIT)的联合关键字搜索方法和设备。
背景技术
数据存储外包是当前互联网上的一种趋势,即以全球存档服务来存储数据,而不 是使用自身的本地存储器来存储数据。现在,基于互联网的在线存档服务为其终端用户提 供大量的存储空间,其终端用户包括个人用户和企业。存在提供各种用户数据的存储的存 档服务。例如,Amazon Simple Storage Service (Amazon S3)(参考文献[1])提供了一种 网络服务接口,可用于存储和检索不限量的分类数据,以GB/月和数据传输量来计费。网络 上还存在提供特定数据类型的存储的其它存档服务,尤其是敏感数据类型,例如健康记录。 例如,Google Health (参考文献[2])和 Microsoft HealthVault (参考文献[3]) 二者均 提供个人健康信息综合服务,有助于其用户将分离的健康记录合并为一份综合的档案。尽管这些存档服务带来了便捷和易用的优点,但是它们也引起了对安全性的深度 担忧。尽管所有这些服务提供商都提出了适当的书面安全和隐私策略,并且采取一些信息 安全和系统安全措施来执行这些策略,但是,用户仅仅依赖于存档服务提供商来确保其数 据安全和隐私是危险的。无疑服务提供商可能会无法适当地执行它们的书面安全和隐私策 略。以存储客户的信用卡数据的企业为例。在2008年6月,BBC新闻报道了服装厂 Cotton Traders的多达3. 8万名客户的信用卡细目被盗(参考文献[4])。这种情况并不 少见,而且也不是最严重的事件。Securityfocus.com(参考文献[5])报道了在2005年7 月至2007年1月间,未知攻击者入侵TJX公司的计算机交易处理系统,盗取了至少4560万 张信用卡的数据。信用卡信息被认为至少与分类数据或健康记录同样敏感。因而,可以推断出,存储 信用卡信息的公司具有适当的书面安全和隐私策略并且应该运用了表面上有力的安全措 施来执行其策略。这些安全措施至少应该与用于保护分类数据或健康记录的安全措施一样 有力。由于信用卡信息被披露的多次报道,同时注意到大量用户数据的高价值,因此,没有 理由坚持认为存档服务提供商所存储的数据不会被盗和被暴露。无论如何,存在一种应对数据安全入侵的简单对策,即在输出敏感数据之前对其 加密。结果,即使存档服务受到危害,所暴露的也只是大量密文,攻击者无法从中获利。然 而,这种简单对策的代价是可用性。具体地说,难以搜索输出到外部的数据。例如,如果健 康记录的所有方对健康记录进行了加密,则允许授权用户搜索健康有关信息的Microsoft Live Search Health (Microsoft HealthVault的搜索组件)无法工作。(当然,我们假定 数据的所有方对其隐私充分关注,因此不会与Microsoft共享他们的解密密钥。)我们所关注的系统有三方,即数据所有方、服务器和搜索方。数据所有方对其数据
8文件进行索引、对其数据文件进行加密并将索引和文件输出到服务器。服务器存储加密的 文件及其索引(索引表),并提供对加密文件的搜索。搜索服务器的搜索方通常不是数据所 有方自己,但是,当然,搜索方也可以是数据所有方自己。为了能够搜索加密数据,搜索方需 要获得从数据所有方发出的搜索权限(SC),并且搜索方需要将SC提交给服务器。服务器可 以通过将SC运用于索引来搜索加密数据。除了 SC之外,搜索方还需要获得数据所有方发 出的解密权限(DC)。在从服务器接收到搜索结果时,搜索方将使用DC来对搜索结果进行解 密,从而将数据文件恢复为明文。一些基本的安全要求包括1)服务器不知道搜索方查找什么,例如,如果搜索方正在搜索包含关键字“网络” 的文献,服务器应该不知道。2)搜索方无法根据经验伪造搜索权限,例如,如果搜索方曾经被发给了搜索包含 关键字“网络”的文献的SC,他应该不能够制造针对关键字“网”或“络”的Sc。这同样适用 于服务器,即使搜索方与服务器串通一气。3)解密权限与SC唯一关联,例如,如果SC允许搜索包含关键字“网络”的文献,DC 则仅能够对该特定SC的搜索结果进行解密。这同样适用于服务器,即使搜索方与服务器串 通,即,服务器也许对其所存储的所有加密文件尝试使用DC,但是除了 SC的搜索结果之外, 对于其他加密文件不会发生效力。除了上述安全要求之外,还有效率要求,例如SC的大小、索引的大小以及搜索所 花费的时间等。自从Song等人(参考文献[6])首次提出了关于如何有效地对加密数据进行关键 字搜索的问题以来,加密数据的搜索引起了广泛的关注。加密数据的搜索是不同领域的技术的融合,因而具有不同的分类标准。1)从加密技术角度看,在秘密密钥设置中和公共密钥设置中考虑关键字搜索的加 密,在秘密密钥设置中这被称为可搜索对称加密(SSE)(参考文献[6]),在公共密钥设置中 这被称为公共密钥加密搜索(PEKS)(参考文献[7])。然而,值得注意的是,通过使公共密钥 保密,任何PEKS方案都简单地在SSE设置中也行得通。2)从索引技术角度看,在正向索引设置中和倒排索引设置中考虑关键字索引的加 密,在正向索引设置中这被称为盲化正向索引表(BFT),在倒排索引设置中这被称为盲化倒 排索引表(BIT)。3)从搜索权限角度看,在单个关键字搜索(SKS)和联合关键作搜索(CKS)中考虑 关键字搜索的加密。4)从搜索关键字角度看,在域特定关键字(DSK)和非限定域关键字(DH0中考虑 关键字搜索的加密。就我们所知,现有技术大多数符合SSE、BFT、SKS和DH(。也就是说,现有技术是秘 密密钥设置的、基于盲化正向索引表、利用非限定域关键字、仅能够单个关键字搜索。然而, 存在一些另外情况。参考文献[8]公开了秘密密钥设置(SSE)的方案,可以以非限定域关键字(DH0 实现盲化倒排索引表(BIT)的单关键字搜索(SKS)。注意,明文倒排索引表在处理联合关键字搜索方面非常有效。使用明文倒排索引表,仅仅需要针对每个关键字获取一组匹配文件,然后找到所有文件组的交集。例如,如果 文件F1和F2符合关键字KW1而文件F1和F3符合关键字KW2,则显然,"KW1和KW2”下的联合 关键字搜索的结果得到文件Fl。具体地,图1和图2以两个阶段示出了参考文献[8]的详细过程,即索引阶段(图 1)和搜索阶段(图2)。参考图1和图2,数据所有方、搜索方和服务器的各个单元如下 密钼产牛单元1001产牛随机文件加密密钼。 盲化单元101以主秘密密钥、文件加密密钥、加密文件的文件名(EFN)和(明 文)倒排索引表作为输入,输出盲化倒排索引表(BIT)。 加密单元102以文件加密密钥和数据作为输入,输出加密数据(EF)。 权限发布单元201以秘密密钥和关键字作为输入,输出搜索权限(SC)和解密权 限(DC)。 单关键字匹配单元203以SC和BIT作为输入,输出包括BIT中匹配行的相应已 加密索引ef^的BIT匹配结果。
BIT解密单元202以DC和BIT匹配结果作为输入,输出匹配EFN及其相应解密 密钥。
EF获取单元204以匹配EFN作为输入,并从服务器中检索出EF。
EF加密单元205以得到的EF和文件解密密钥作为输入,输出已解密数据F。表1示例明文倒排索引表
KW1FN1FN2FN3KW2FN1FN2KW3FN2FN4在表1中,每一行可由不同的关键字KWi标识。跟随KWi的是包含KWi的所有文件 FNU。很容易看出,明文倒排索引表的联合关键字搜索是容易的。例如,"KW2和矾”的联合 关键字搜索的唯一结果是FN2。根据参考文献[8],盲化单元101输出的BFT如下表2所示。表2示例盲化倒排索引表
10
EK1efnefi2efisEK2ef2ief22EK3ef3ief32表1中的每个KWi由EKi代替,EKi是使用数据所有方的主秘密密钥作为密钥的KWi 的加密散列或键控散列(keyed hash)。此外,表1中的每个FNu由efu(已加密索引)代替。为了计算ef^·,数据所有方首 先针对表的每一行,使用主秘密密钥和KWi来产生不同的解密密钥ekit) ef.j实际上是使用 eki的相应ENuW (对称)加密。显然,BIT的直接联合关键字搜索是困难的。即使从明文 倒排索引表看出FN2是关键字"KW2和KW3”的搜索的结果,由于ef22和ef32是经过不可分辨 性的基本安全要求(也被称为“语义安全semantic security")的(对称)加密的输出, 所以也不可能(通过计算)知道ef22和ef32是否是相同文件的加密。简而言之,参考文献[8]公开了以下方法。密钥产生选择对称加密算法Enckey(msg),以key和明文消息msg作为输入,输出密文。在 msg是密文的情况下输出明文;选择安全单向键控散列函数Hkey (msg),以密钥key和明文消息msg作为输入,输出 摘要;选择主秘密密钥msk。BIT 产生以明文倒排索引表作为输入。不失一般性地,假设表1的明文倒排索引表是输入。选择文件加密密钥fku,并按照^=胁(K)加密FNJ勺内容,即Fu。此外,按照 CFNu = Εη\ 加密FNu以获得加密文件名。计算EKi = Encmsk (Kffi)和吒=EncH^(KW){fku,CFNJ。如表2所示,以EKi和ef。.填充BIT。注意,处于安全考虑,对称加密必须以起始向量作为附加输入。例如,计算EKi = Encmsk(KWi)的起始向量可以计算为IVi = Hmsk(KWiI" IV"),其中“|”表示级联。此外,存 在以上简述的其它可选方案。例如,可以按照EKiZHm^KW」"O")计算EKi,可以按照 《=彻Cu^mCAu,CFiVu)计算efij。关于更详细的说明,请查阅参考文献[8]。产生SC 禾口 DC 在搜索方想要搜索关键字KWi时,按照SC = Encmsk(KWi)计算搜索权限(SC),并按 照DC = Hmsk(Kffi)计算解密权限(DC)。
11
捭索在接收到SC时,服务器定位BIT中以SC作为起始的行,并将行中ef^的返回给搜索方。解密捭索结果搜索方使用DC 来解密^ 二 EncHmJKW,、(fK,CFNJ,并获得 fku 和 CFNU。搜索方向服务器请求CFNu的内容,即EFU。最后,搜索方使用fku来解密CFNu和EFU,获得FNu及其内容Fu。搜索方(例如正在查找包含关键字“KW/’的文件的人)将进行以下动作1)向数据搜索方请求域"KW1 ”相对应的搜索权限和解密权限;2)以搜索权限查询服务器,从服务器获得匹配结果;3)对匹配结果进行解密,获得加密的文件名和文件加密密钥;4)将加密的文件名提交给服务器,并获得加密的文件内容;5)利用文件加密密钥来解密加密文件名和加密文件内容,最终产生明文的文件名 和文件内容。然而,明文倒排索引表的联合关键字搜索的简单性并不直接适用于盲化倒排索引 表。为了保密,BIT的每一项都被加密以使得它们不可(通过计算)彼此区分开。加密的 该特性被称为语义安全或不可分辨性。例如,如果使用对称加密机制来对BIT的表项进行 加密,则必须使用不同的加密密钥或不同的初始向量来加密每一表项。因此,即使在明文倒 排索引表中,一个文件在被转换为加密倒排索引表之后,在两行中出现(即与两个关键字 匹配),因此难以通过计算分辨出。因此,即使简单地模拟明文倒排索引表的联合关键字搜 索方法,也不可能进行基于BIT的联合关键字搜索。因此,参考文献[8]不能够处理联合关键字搜索。

发明内容
鉴于现有技术的上述缺点,本发明提出了一种扩展盲化倒排索引表产生方法和设 备、以及一种秘密密钥设置下的联合关键字搜索方法和设备。根据本发明的第一方案,提出一种产生扩展盲化倒排索引表的设备,包括键控 行标识符产生器,用于针对倒排索引表的每一行,根据行标识符和第一密钥,产生第一和第 二键控行标识符KRID1和KRID2 ;键控数据项标识符产生器,用于针对该行中的每一个数据 项标识符,根据数据项标识符和第二密钥,产生键控数据项标识符KFN ;盲化文件信息项产 生器,用于针对该行中的每一个数据项标识符,根据第三密钥、第一和第二键控行标识符 KRIDJPKRID2、键控数据项标识符KFN以及生成子,产生盲化文件信息项;以及排列器,用于 通过排列行标识符和盲化文件信息项,形成扩展盲化倒排索引表的一行。优选地,所述设备还可包括文件加密器,用于针对每一个数据项标识符,选择文 件加密密钥,并利用所选的文件加密密钥来对与每一个数据项标识符相对应的文件进行加 密,以获得已加密文件数据。优选地,所述设备还可包括加密索引产生器,用于针对该行中的每一个数据项标 识符,选择变换密钥,并通过用变换密钥来对数据项标识符进行加密,来产生已加密索引; 已加密变换密钥产生器,用于针对该行中的每一个数据项标识符,选择一种子,根据行标识
12符、第一密钥、第五密钥和该种子来产生中间密钥,并通过用该中间密钥来对变换密钥进行 加密,来产生已加密变换密钥;以及盲化索引产生器,用于针对该行中的每一个数据项标识 符,根据该种子、第三密钥、行标识符和第一密钥来产生盲化索引,其中扩展盲化倒排索引 表中的对应项至少包括根据所述数据项标识符所产生的已加密索引、已加密变换密钥、盲 化文件信息项和盲化索引。更优选地,加密索引产生器还可对已加密索引中的文件加密密钥进行加密。更优选地,所述设备还可包括加密密钥产生器,用于根据行标识符和第四密钥来 产生加密密钥,其中加密索引产生器产生已加密索引还包括用加密密钥对变换密钥进行 加密。优选地,将每一行的关键字用作该行的行标识符。或者可选地,根据每一行的关键 字和第四密钥来产生每一行的盲化关键字,并将盲化关键字用作该行的行标识符。优选地,数据项标识符具有加密的形式,被称为已加密数据项标识符,是根据文件 加密密钥由明文形式产生的。根据本发明的第二方案,提出一种产生扩展盲化倒排索引表的方法,包括步骤针 对倒排索引表的每一行,根据行标识符和第一密钥,产生第一和第二键控行标识符KRID1和 KRID2 ;针对该行中的每一个数据项标识符,根据数据项标识符和第二密钥,产生键控数据 项标识符KFN ;根据第三密钥、第一和第二键控行标识符KRID1和KRID2、键控数据项标识符 KFN以及生成子,产生盲化文件信息项;以及通过排列行标识符和盲化文件信息项,形成扩 展盲化倒排索引表的一行。优选地,所述方法还可包括步骤针对每一个数据项标识符,选择文件加密密钥, 其中利用所选的文件加密密钥来对与每一个数据项标识符相对应的文件进行加密,以获得 已加密文件数据。优选地,所述方法还可包括步骤针对该行中的每一个数据项标识符,选择变换密 钥;通过用变换密钥来对数据项标识符进行加密,来产生已加密索引;选择一种子;根据行 标识符、第一密钥、第五密钥和该种子来产生中间密钥;通过用该中间密钥来对变换密钥进 行加密,来产生已加密变换密钥;以及根据该种子、第三密钥、行标识符和第一密钥来产生 盲化索引,其中扩展盲化倒排索引表中的对应项至少包括根据所述数据项标识符所产生的 已加密索引、已加密变换密钥、盲化文件信息项和盲化索引。更优选地,文件加密密钥还被加密在已加密索引中。更优选地,所述方法还可包括步骤根据行标识符和第四密钥来产生加密密钥,并 且其中产生已加密索引还包括步骤用加密密钥对变换密钥进行加密。优选地,将每一行的关键字用作该行的行标识符。或者可选地,根据每一行的关键 字和第四密钥来产生每一行的盲化关键字,并将盲化关键字用作该行的行标识符。优选地,数据项标识符具有加密的形式,被称为已加密数据项标识符,是根据文件 加密密钥由明文形式产生的。根据本发明的第三方案,提出一种发布扩展盲化倒排索引表的联合关键字搜索 权限的设备,包括键控行标识符产生器,用于针对一组t个查询关键字,根据各个查询关 键字和第一密钥,产生与各个查询关键字一一对应的第一和第二键控行标识符KRID1和 KRID2 ;以及联合关键字搜索权限产生器,用于针对该组t个查询关键字,选择一种子,并根据第三密钥、所有产生的第一和第二键控行标识符KRID1和KRID2、种子和生成子,来产生联 合关键字搜索权限。优选地,所述设备还可包括盲化关键字产生器,用于在最开始,根据第四密钥和 各个查询关键字,产生与各个查询关键字一一对应的t个盲化关键字,其中在键控行标识 符产生器和联合关键字搜索权限产生器中,以所述t个盲化关键字替换所述t个查询关键字。优选地,扩展盲化倒排索引表中的项至少包括根据同一个数据项标识符而产生的 已加密索引、已加密变换密钥、盲化文件信息项和盲化索引。优选地,所述设备还可包括解密权限产生器,用于从该组t个查询关键字中选择 一个查询关键字,根据第三密钥、所有产生的第一键控行标识符KRID1、所选的一个查询关 键字、第一密钥以及第五密钥,来产生解密权限。优选地,所述设备还可包括查询表达式解析器,用于在最开始,将关键字的复杂查 询表达式解析为由逻辑OR运算符连接的一系列关键字AND子查询表达式,其中对于每个关 键字AND子查询表达式,发布一个联合关键字搜索权限。根据本发明的第四方案,提出一种发布扩展盲化倒排索引表的联合关键字搜索权 限的方法,包括步骤针对一组t个查询关键字,根据各个查询关键字和第一密钥,产生与 各个查询关键字一一对应的第一和第二键控行标识符KRID1和KRID2 ;选择一种子;以及根 据第三密钥、所有产生的第一和第二键控行标识符KRID1和KRID2、种子和生成子,来产生联 合关键字搜索权限。优选地,在最开始,根据第四密钥和各个查询关键字,产生与各个查询关键字一一 对应的t个盲化关键字,然后在各个步骤中,以所述t个盲化关键字被用于替换所述t个查 询关键字。优选地,扩展盲化倒排索引表中的项至少包括根据同一个数据项标识符而产生的 已加密索引、已加密变换密钥、盲化文件信息项和盲化索引。优选地,所述方法还可包括从该组t个查询关键字中选择一个查询关键字;根据 第三密钥、所有产生的第一键控行标识符KRID1、所选的一个查询关键字、第一密钥以及第 五密钥,来产生解密权限。优选地,所述方法还可包括在最开始,将关键字的复杂查询表达式解析为由逻辑 OR运算符连接的一系列关键字AND子查询表达式,以及对于每个关键字AND子查询表达式, 分别执行后续各个步骤。根据本发明的第五方案,提出一种在扩展盲化倒排索引表中执行联合搜索的设 备,包括接收器,用于接收一组t个查询标识符和与之对应的联合搜索权限;行定位器,用 于通过使用所述t个查询标识符作为行标识符,定位扩展盲化倒排索引表中分别与t个查 询标识符相对应的t行;匹配结果命中器,用于针对来自所定位t行的每一行的t个盲化文 件信息项的每个组合,如果从t个盲化文件信息项的第一子项和联合搜索权限的第一子搜 索权限所获得的第一标准值与第二标准值相等,其中第二标准值是按照与第一标准值相同 的方式、从t个盲化文件信息项的第二子项和联合搜索权限的第二子搜索权限所获得的, 则确定匹配结果命中,并基于组合的t个盲化文件信息项的任何一个来记录该匹配结果。优选地,该组t个查询标识符是明文形式的一组t个查询关键字。或者可选地,该组t个查询标识符是与各个查询关键字一一对应的、根据第四密钥和各个查询关键字所产 生的一组t个盲化关键字。优选地,扩展盲化倒排索引表中的项至少包括根据同一个数据项标识符而产生的 已加密索引、已加密变换密钥、盲化文件信息项和盲化索引,每一个记录的匹配结果包括来 自组合的t个盲化文件信息项中的任何一个所属的项的已加密索引和已加密变换密钥、和 来自组合的t个盲化文件信息项分别所属的各个项的t个盲化索引。更优选地,接收器还可接收解密权限,所述设备还包括匹配结果解密器,用于针 对每一个记录的匹配结果,根据解密权限和t个盲化索引,产生中间密钥,利用中间密钥对 已加密变换密钥进行解密以获得变换密钥,并用变换密钥对已加密索引进行解密以获得文 件加密密钥和数据项标识符。更优选地,数据项标识符具有加密形式,被称为已加密数据项标识符,所述设备还 包括已加密数据项标识符解密器,用于利用文件加密密钥来对已加密数据项标识符进行解 密以获得明文形式的数据项标识符。优选地,所述设备还包括已加密文件数据解密器,用于针对每一个记录的匹配 结果,利用文件加密密钥来对与匹配结果的数据项标识符相对应的已加密文件数据进行解
r t [ ο优选地,所述设备还可包括查询表达式解析器,用于在最开始,将查询标识符的 复杂查询表达式解析为由逻辑OR运算符连接的一系列查询标识符AND子查询表达式,其中 对于每个查询标识符AND子查询表达式,执行一次扩展盲化倒排索引表中的联合搜索;并 且所述设备还可包括合并器,用于在匹配结果命中器记录了每个AND子查询表达式的匹 配结果之后,合并器合并所述一系列AND子查询表达式的所有记录的匹配结果。更优选地,在所述合并中,合并器可消除记录的匹配结果中的冗余。根据本发明的第六方案,提出一种在扩展盲化倒排索引表中执行联合搜索的方 法,包括步骤接收一组t个查询标识符和与之对应的联合搜索权限;通过使用所述t个查 询标识符作为行标识符,定位扩展盲化倒排索引表中分别与t个查询标识符相对应的t行; 针对来自所定位t行的每一行的t个盲化文件信息项的每个组合,如果从t个盲化文件信 息项的第一子项和联合搜索权限的第一子搜索权限所获得的第一标准值与第二标准值相 等,其中第二标准值是按照与第一标准值相同的方式、从t个盲化文件信息项的第二子项 和联合搜索权限的第二子搜索权限所获得的,则确定匹配结果命中;以及基于组合的t个 盲化文件信息项的任何一个来记录该匹配结果。优选地,该组t个查询标识符是明文形式的一组t个查询关键字。或者可选地,该 组t个查询标识符是与各个查询关键字一一对应的、根据第四密钥和各个查询关键字所产 生的一组t个盲化关键字。优选地,扩展盲化倒排索引表中的项至少包括根据同一个数据项标识符而产生的 已加密索引、已加密变换密钥、盲化文件信息项和盲化索引,每一个记录的匹配结果包括来 自组合的t个盲化文件信息项中的任何一个所属的项的已加密索引和已加密变换密钥、和 来自组合的t个盲化文件信息项分别所属的各个项的t个盲化索引。更优选地,所述方法还可包括接收解密权限;针对每一个记录的匹配结果,根据 解密权限和t个盲化索引,产生中间密钥;利用中间密钥对已加密变换密钥进行解密以获
15得变换密钥;以及用变换密钥对已加密索引进行解密以获得文件加密密钥和数据项标识 符。更优选地,数据项标识符具有加密形式,被称为已加密数据项标识符,所述方法还 包括步骤利用文件加密密钥来对已加密数据项标识符进行解密,以获得明文形式的数据 项标识符。优选地,所述方法还包括针对每一个记录的匹配结果,利用文件加密密钥来对与 匹配结果的数据项标识符相对应的已加密文件数据进行解密。优选地,所述方法还可包括在最开始,将查询标识符的复杂查询表达式解析为由 逻辑OR运算符连接的一系列查询标识符AND子查询表达式;对于每个查询标识符AND子查 询表达式,分别执行后续各个步骤;以及在记录了每个AND子查询表达式的匹配结果之后, 合并所述一系列AND子查询表达式的所有记录的匹配结果。更优选地,在所述合并步骤中,消除所记录的匹配结果中的冗余。与最接近的现有技术相比,本发明的积极效果包括(I)能够对盲化倒排索引表进行联合关键字搜索;以及(II)能够以合理的计算和存储开销来进行联合关键字搜索。


结合附图,根据下面对本发明的非限制性实施例的详细描述,本发明的上述及其 他目的、特征和优点将变得更加清楚,附图中图1是示出了根据参考文献[8]、在索引阶段工作的各个单元的方框图;图2是示出了根据参考文献[8]、在搜索阶段工作的各个单元的方框图;图3是示出了根据本发明第一实施例、在索引阶段工作的各个单元的方框图;图4是示出了根据本发明第一实施例、在搜索阶段工作的各个单元的方框图;以 及图5是示出了根据本发明第二实施例、在搜索阶段工作的各个单元的方框图。
具体实施例方式下面,根据附图描述本发明。在以下描述中,一些具体实施例仅用于描述目的,而 不应该理解为对本发明有任何限制,而只是本发明的示例。省略了常规结构或构造,以免导 致对本发明的理解不清楚。[第一实施例]根据本发明的第一实施例,图3和图4以两个阶段示出了所提出的联合关键字搜 索方案的详细过程,即索引阶段(图3)和搜索阶段(图4)。在所提出的联合关键字搜索方 案中,涉及扩展盲化倒排索引表(EBIT)。参考图3和图4,数据所有方、搜索方和服务器的 各个单元如下 密钥产生单元3001产生随机文件加密密钥和变换密钥。 扩展盲化单元301以主秘密密钥、文件加密密钥、加密文件的文件名(EFN)、变 换密钥和(明文)倒排索引表作为输入,输出扩展盲化倒排索引表(EBIT)。除了已加密索 引之外,EBIT中的每一个表项还包含盲化文件信息和盲化变换索引。
扩展权限发布单元401以主秘密密钥和关键字作为输入,输出扩展搜索权限 (SC),扩展搜索权限(SC)允许对每个关键字进行单关键字搜索和联合关键字搜索。此外, 还输出扩展解密权限(DC),扩展解密权限(DC)仅能够对联合搜索结果进行解密。 联合关键字匹配单元407以单关键字匹配单元403的输出以及扩展SC作为输 入,输出第二级EBIT匹配结果,第二级EBIT匹配结果仅包含联合关键字搜索结果的已加密 索引和盲化变换密钥。 变换密钼恢复单元406以盲化变换密钥和扩展DC作为输入,输出变换密钥。
EBIT解密单元402以变换密钥和已加密索引作为输入,输出匹配的EFN及其对 应解密密钥。 所有其它单元(302、402、404和405)与在本说明书“背景技术”部分所描述的 单元(102、202、204和205)执行相同的操作,因此为了简明起见,在此省略了对这些单元的 详细说明。场景描述首先给出所提出的包括扩展盲化倒排索引表(EBIT)的联合关键字搜索方案的概 述。不失一般性地,以示例的明文倒排索引表开始。示例的明文倒排索引表如表1,与 在本说明书“背景技术”部分中所给出的表1相同。表1示例明文倒排索引表
权利要求
一种产生扩展盲化倒排索引表的设备,包括键控行标识符产生器,用于针对倒排索引表的每一行,根据行标识符和第一密钥,产生第一和第二键控行标识符KRID1和KRID2;键控数据项标识符产生器,用于针对该行中的每一个数据项标识符,根据数据项标识符和第二密钥,产生键控数据项标识符KFN;盲化文件信息项产生器,用于针对该行中的每一个数据项标识符,根据第三密钥、第一和第二键控行标识符KRID1和KRID2、键控数据项标识符KFN以及生成子,产生盲化文件信息项;以及排列器,用于通过排列行标识符和盲化文件信息项,形成扩展盲化倒排索引表的一行。
2.根据权利要求1所述的设备,还包括文件加密器,用于针对每一个数据项标识符,选择文件加密密钥,并利用所选的文件加 密密钥来对与每一个数据项标识符相对应的文件进行加密,以获得已加密文件数据。
3.根据权利要求1所述的设备,还包括加密索引产生器,用于针对该行中的每一个数据项标识符,选择变换密钥,并通过用变 换密钥来对数据项标识符进行加密,来产生已加密索引;加密变换密钥产生器,用于针对该行中的每一个数据项标识符,选择一种子,根据行标 识符、第一密钥、第五密钥和该种子来产生中间密钥,并通过用该中间密钥来对变换密钥进 行加密,来产生已加密变换密钥;以及盲化索引产生器,用于针对该行中的每一个数据项标识符,根据该种子、第三密钥、行 标识符和第一密钥来产生盲化索引,其中扩展盲化倒排索引表中的对应项至少包括根据所述数据项标识符所产生的已加 密索引、已加密变换密钥、盲化文件信息项和盲化索引。
4.根据权利要求3所述的设备,其中加密索引产生器还对已加密索引中的文件加密密钥进行加密。
5.根据权利要求3所述的设备,还包括加密密钥产生器,用于根据行标识符和第四密钥来产生加密密钥,并且 其中加密索引产生器产生已加密索引还包括用加密密钥对变换密钥进行加密。
6.根据权利要求1 5之一所述的设备,其中 将每一行的关键字用作该行的行标识符。
7.根据权利要求1 5之一所述的设备,其中根据每一行的关键字和第四密钥来产生每一行的盲化关键字,并将盲化关键字用作该 行的行标识符。
8.根据权利要求1 5之一所述的设备,其中数据项标识符具有加密的形式,被称为已加密数据项标识符,是根据文件加密密钥由 明文形式产生的。
9.一种产生扩展盲化倒排索引表的方法,包括步骤针对倒排索引表的每一行,根据行标识符和第一密钥,产生第一和第二键控行标识符 KRID1 和 KRID2 ;针对该行中的每一个数据项标识符,根据数据项标识符和第二密钥,产生键控数据项标识符KFN ;根据第三密钥、第一和第二键控行标识符KRID1和KRID2、键控数据项标识符KFN以及 生成子,产生盲化文件信息项;以及通过排列行标识符和盲化文件信息项,形成扩展盲化倒排索引表的一行。
10.根据权利要求9所述的方法,还包括步骤 针对每一个数据项标识符,选择文件加密密钥,其中利用所选的文件加密密钥来对与每一个数据项标识符相对应的文件进行加密,以 获得已加密文件数据。
11.根据权利要求9所述的方法,还包括步骤 针对该行中的每一个数据项标识符,选择变换密钥;通过用变换密钥来对数据项标识符进行加密,来产生已加密索引; 选择一种子;根据行标识符、第一密钥、第五密钥和该种子来产生中间密钥; 通过用该中间密钥来对变换密钥进行加密,来产生已加密变换密钥;以及 根据该种子、第三密钥、行标识符和第一密钥来产生盲化索引, 其中扩展盲化倒排索引表中的对应项至少包括根据所述数据项标识符所产生的已加 密索引、已加密变换密钥、盲化文件信息项和盲化索引。
12.根据权利要求11所述的方法,其中 文件加密密钥还被加密在已加密索引中。
13.根据权利要求11所述的方法,还包括步骤 根据行标识符和第四密钥来产生加密密钥,并且其中产生已加密索引还包括用加密密钥对变换密钥进行加密。
14.根据权利要求9 13之一所述的方法,其中 将每一行的关键字用作该行的行标识符。
15.根据权利要求9 13之一所述的方法,其中根据每一行的关键字和第四密钥来产生每一行的盲化关键字,并将盲化关键字用作该 行的行标识符。
16.根据权利要求9 13之一所述的方法,其中数据项标识符具有加密的形式,被称为已加密数据项标识符,是根据文件加密密钥由 明文形式产生的。
17.一种发布扩展盲化倒排索引表的联合关键字搜索权限的设备,包括键控行标识符产生器,用于针对一组t个查询关键字,根据各个查询关键字和第一密 钥,产生与各个查询关键字一一对应的第一和第二键控行标识符KRID1和KRID2 ;以及联合关键字搜索权限产生器,用于针对该组t个查询关键字,选择一种子,并根据第三 密钥、所有产生的第一和第二键控行标识符KRID1和KRID2、种子和生成子,来产生联合关键 字搜索权限。
18.根据权利要求17所述的设备,还包括盲化关键字产生器,用于在最开始,根据第四密钥和各个查询关键字,产生与各个查询关键字一一对应的t个盲化关键字,其中在键控行标识符产生器和联合关键字搜索权限产生器中,以所述t个盲化关键字 替换所述t个查询关键字。
19.根据权利要求17所述的设备,其中扩展盲化倒排索引表中的项至少包括根据同一个数据项标识符而产生的已加密索引、 已加密变换密钥、盲化文件信息项和盲化索引。
20.根据权利要求17所述的设备,还包括解密权限产生器,用于从该组t个查询关键字中选择一个查询关键字,根据第三密钥、 所有产生的第一键控行标识符KRID1、所选的一个查询关键字、第一密钥以及第五密钥,来 产生解密权限。
21.根据权利要求17 20所述的设备,还包括查询表达式解析器,用于在最开始,将关键字的复杂查询表达式解析为由逻辑OR运算 符连接的一系列关键字AND子查询表达式,其中对于每个关键字AND子查询表达式,发布一个联合关键字搜索权限。
22.—种发布扩展盲化倒排索引表的联合关键字搜索权限的方法,包括步骤 针对一组t个查询关键字,根据各个查询关键字和第一密钥,产生与各个查询关键字一一对应的第一和第二键控 行标识符KRID1和KRID2 ; 选择一种子;以及根据第三密钥、所有产生的第一和第二键控行标识符KRID1和KRID2、种子和生成子,来 产生联合关键字搜索权限。
23.根据权利要求22所述的方法,其中在最开始,根据第四密钥和各个查询关键字,产生与各个查询关键字一一对应的t个 盲化关键字,然后在各个步骤中,以所述t个盲化关键字替换所述t个查询关键字。
24.根据权利要求22所述的方法,其中扩展盲化倒排索引表中的项至少包括根据同一个数据项标识符而产生的已加密索引、 已加密变换密钥、盲化文件信息项和盲化索引。
25.根据权利要求22所述的方法,还包括 从该组t个查询关键字中选择一个查询关键字;以及根据第三密钥、所有产生的第一键控行标识符KRID1、所选的一个查询关键字、第一密 钥以及第五密钥,来产生解密权限。
26.根据权利要求22 25所述的方法,还包括在最开始,将关键字的复杂查询表达式解析为由逻辑OR运算符连接的一系列关键字 AND子查询表达式,以及对于每个关键字AND子查询表达式, 分别执行后续各个步骤。
27.一种在扩展盲化倒排索引表中执行联合搜索的设备,包括接收器,用于接收一组t个查询标识符和与之对应的联合搜索权限; 行定位器,用于通过使用所述t个查询标识符作为行标识符,定位扩展盲化倒排索引表中分别与t个查询标识符相对应的t行;匹配结果命中器,用于针对来自所定位t行的每一行的t个盲化文件信息项的每个组I=I,如果从t个盲化文件信息项的第一子项和联合搜索权限的第一子搜索权限所获得的 第一标准值与第二标准值相等,其中第二标准值是按照与第一标准值相同的方式、从t个 盲化文件信息项的第二子项和联合搜索权限的第二子搜索权限所获得的,则确定匹配结果 命中,以及基于组合的t个盲化文件信息项的任何一个来记录该匹配结果。
28.根据权利要求27所述的设备,其中该组t个查询标识符是明文形式的一组t个查询关键字。
29.根据权利要求27所述的设备,其中该组t个查询标识符是与各个查询关键字一一对应的、根据第四密钥和各个查询关键 字所产生的一组t个盲化关键字。
30.根据权利要求27所述的设备,其中扩展盲化倒排索引表中的项至少包括根据同一个数据项标识符而产生的已加密索引、 已加密变换密钥、盲化文件信息项和盲化索引,以及每一个记录的匹配结果包括来自组合的t个盲化文件信息项中的任何一个所属的项 的已加密索引和已加密变换密钥、和来自所述组合的t个盲化文件信息项分别所属的各个 项的t个盲化索引。
31.根据权利要求30所述的设备,其中接收器还接收解密权限,以及所述设备还包括匹配结果解密器,用于针对每一个记录的匹配结果,根据解密权限和t个盲化索引,产 生中间密钥,利用中间密钥对已加密变换密钥进行解密以获得变换密钥,并用变换密钥对 已加密索引进行解密以获得文件加密密钥和数据项标识符。
32.根据权利要求31所述的设备,其中数据项标识符具有加密形式,被称为已加密数据项标识符,所述设备还包括已加密数 据项标识符解密器,用于利用文件加密密钥来对已加密数据项标识符进行解密以获得明文 形式的数据项标识符。
33.根据权利要求31所述的设备,还包括已加密文件数据解密器,用于针对每一个记录的匹配结果,利用文件加密密钥来对与 匹配结果的数据项标识符相对应的已加密文件数据进行解密。
34.根据权利要求27 33之一所述的设备,其中所述设备还包括查询表达式解析器,用于在最开始,将查询标识符的复杂查询表达式 解析为由逻辑OR运算符连接的一系列查询标识符AND子查询表达式,其中对于每个查询标识符AND子查询表达式,执行一次扩展盲化倒排索引表中的联合 搜索;以及所述设备还包括合并器,用于在匹配结果命中器记录了每个AND子查询表达式的匹 配结果之后,合并所述一系列AND子查询表达式的所有记录的匹配结果。
35.根据权利要求34所述的设备,其中在所述合并中,合并器消除所记录的匹配结果中的冗余。
36.一种在扩展盲化倒排索引表中执行联合搜索的方法,包括步骤 接收一组t个查询标识符和与之对应的联合搜索权限;通过使用所述t个查询标识符作为行标识符,定位扩展盲化倒排索引表中分别与t个 查询标识符相对应的t行;针对来自所定位t行的每一行的t个盲化文件信息项的每个组合, 如果从t个盲化文件信息项的第一子项和联合搜索权限的第一子搜索权限所获得的 第一标准值与第二标准值相等,其中第二标准值是按照与第一标准值相同的方式、从t个 盲化文件信息项的第二子项和联合搜索权限的第二子搜索权限所获得的,则确定匹配结果 命中;以及基于组合的t个盲化文件信息项的任何一个来记录该匹配结果。
37.根据权利要求36所述的方法,其中该组t个查询标识符是明文形式的一组t个查询关键字。
38.根据权利要求36所述的方法,其中该组t个查询标识符是与各个查询关键字一一对应的、根据第四密钥和各个查询关键 字所产生的一组t个盲化关键字。
39.根据权利要求36所述的方法,其中扩展盲化倒排索引表中的项至少包括根据同一个数据项标识符而产生的已加密索引、 已加密变换密钥、盲化文件信息项和盲化索引,以及每一个记录的匹配结果包括来自组合的t个盲化文件信息项中的任何一个所属的项 的已加密索引和已加密变换密钥、和来自所述组合的t个盲化文件信息项分别所属的各个 项的t个盲化索引。
40.根据权利要求39所述的方法,还包括 接收解密权限;针对每一个记录的匹配结果, 根据解密权限和t个盲化索引,产生中间密钥; 利用中间密钥对已加密变换密钥进行解密以获得变换密钥;以及 用变换密钥对已加密索引进行解密以获得文件加密密钥和数据项标识符。
41.根据权利要求40所述的方法,其中数据项标识符具有加密形式,被称为已加密数据项标识符, 所述方法还包括步骤利用文件加密密钥来对已加密数据项标识符进行解密,以获得明文形式的数据项标识符。
42.根据权利要求40所述的方法,还包括针对每一个记录的匹配结果,利用文件加密密钥来对与匹配结果的数据项标识符相对 应的已加密文件数据进行解密。
43.根据权利要求36 42之一所述的方法,还包括在最开始,将查询标识符的复杂查询表达式解析为由逻辑OR运算符连接的一系列查询标识符AND子查询表达式;对于每个查询标识符AND子查询表达式, 分别执行后续各个步骤;以及在记录了每个AND子查询表达式的匹配结果之后,合并所述一系列AND子查询表达式 的所有记录的匹配结果。
44.根据权利要求43所述的方法,其中在所述合并步骤中,消除所记录的匹配结果中的冗余。
全文摘要
本发明提出了一种产生扩展盲化倒排索引表的设备,包括键控行标识符产生器,用于针对倒排索引表的每一行,根据行标识符和第一密钥,产生第一和第二键控行标识符KRID1和KRID2;键控数据项标识符产生器,用于针对该行中的每一个数据项标识符,根据数据项标识符和第二密钥,产生键控数据项标识符KFN;盲化文件信息项产生器,用于针对该行中的每一个数据项标识符,根据第三密钥、第一和第二键控行标识符KRID1和KRID2、键控数据项标识符KFN以及生成子,产生盲化文件信息项;以及排列器,用于通过排列行标识符和盲化文件信息项,形成扩展盲化倒排索引表的一行。本发明还提出一种产生扩展盲化倒排索引表的方法。可选地,本发明还提出一种发布扩展盲化倒排索引表的联合关键字搜索权限的方法和设备以及在扩展盲化倒排索引表中执行联合搜索的方法和设备。
文档编号G06F17/30GK101957902SQ20091016456
公开日2011年1月26日 申请日期2009年7月20日 优先权日2009年7月20日
发明者曾珂, 福岛俊一 申请人:日电(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1