用于查询受保护的结构化数据的方法和设备技术

技术编号:2842626 阅读:158 留言:0更新日期:2012-04-11 18:40
用于查询受保护的树形式的结构化数据的方法和设备。构造对应的结点多项式树,使得每个结点多项式对于等于在从所考虑的结点开始的树的分支中出现的结点名字被分配的标识符的输入,计算为零。构造盲目多项式树和差分多项式树,使得结点多项式树中的每一个多项式等于盲目多项式树中相应的多项式与差分多项式树中相应的多项式的和。将盲目多项式树给予客户端,将差分多项式树给予服务器。通过组合客户端和服务器的计算结果,有可能识别与给定查询相匹配的结点。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及用于查询受保护的结构化数据的方法和设备
技术介绍
在远程数据库中存储诸如XML结构化文档的需求日益增加。当这样的数据包含敏感信息,诸如病人信息或者(音频)视频内容的有商业价值的元数据时,数据应当受到保护。通常的方法是在将数据存储到远程数据库之前对其进行加密。引起的问题是如何使得客户端设备随后能够对数据库进行查询。最明显的解决方法是下载整个数据库到本地,并且随后完成查询。这样当然是相当低效率的。另外一个选择是提供具有解密密钥的数据库服务器,但是,这个并不是通常可以得到满足的,它需要数据库服务器系统中和管理它的人员的完全信任。因此,在此领域的问题是如何使得服务器可以高效地对加密的数据进行查询,特别是XML结构化的数据。W3C推荐“XML加密语法”以便允许使用对称和公共密钥的组合来对XML数据进行加密,其中,单元内容通过使用对称密钥加密,而该对称密钥又使用接收者的公共密钥予以加密。参考在http://www.w3.org/TR/xml-encryption-req的W3C注释“XML加密需求”,2002年3月4日,和在http://www.w3.org/TR/xmlenc-core的W3C推荐标准“XML加密语法和处理”,2002年12月10日。由于查询是在XML数据上完成的基础操作,要完成的第一步是定位围绕对加密的XML数据的查询的主题。对加密的XML数据进行搜索的一种直接方法是首先对数据进行解密,随后在解密的XML数据上进行搜索。但是,这样不可避免地招致大量不必要的解密操作,导致查询效率低下,特别是在被搜索的数据量很大,而搜索目标仅仅来自被搜索数据中的一小部分时。
技术实现思路
有利地,本专利技术提供了如权利要求1中所述的用于对受保护的数据进行查询的由计算机完成的方法和如权利要求9中所述的相应的设备。本专利技术还提供了如权利要求11中所述的客户端设备。假设数据是以树状来组织的。树的结点多项式是依照数据被组织的树所对应的结构而被构造的。该树中每个结点多项式,对于某些输入(该输入等于从所考虑的结点开始的树的分支中出现的某个结点名被分配的标识符),计算为零。所述构造的树被划分为客户端部分和服务器部分。客户端部分被随机地选定,并且服务器部分是与原始数据树的差。在对查询的响应中,客户端和服务器均对在自己部分内的多项式进行计算,并且将结果发给查询发起者(可能是客户端本身)。这些结果的任一个均不包含重构原始数据所需的足够信息。因此,数据得到保护。通过将客户端部分和服务器部分的计算结果组合,可以识别出与给定查询相匹配的结点。对于任何特定的结点名,所述两部分的计算结果之和与原始结点多项式针对该特定结点名的计算结果相同。并且,如果此查询的结点名字与该特殊结点名字的结点名字相匹配,此计算为零。因此,查询可以在服务器也不知道答案时得到回答。一旦查询到匹配结点,可以从服务器中检索到它们(被加密)的内容,并且由客户端进行解密。在优选实施例中,在树中的数据结点被转换成特里结构(trie)表达形式,从而,数据段中在第二个字符之后的第一个字符,被表示为所述第二个字符的子结点。这使得可以对加密文档中元素的数据内容进行搜索。附图说明本专利技术的这些和其他方面参考在附图中显示的说明性实施例将得到阐述并且变得显而易见,其中,图1示意性地示出了依照本专利技术的系统的概图。图2(a)示出一个基于XML的示例文档的树表示图。图2(b)示出一个分配给结点名字的结点多项式的树。图3(a)示出F5中的结点多项式的树。图3(b)示出Z中的结点多项式的树。图4(a)示出F5中的盲目多项式(blinding polynomial)的树。图4(b)示出F5中的差分多项式的树。图5(a)示出Z中的盲目多项式的树。图5(b)示出Z中的差分多项式的树。图6(a)示出图4(a)中盲目多项式的树的所有多项式的F5中的计算。图6(b)示出图4(b)中差分多项式树的所有多项式的F5中的计算。图6(c)示出图6(a)和6(b)中的多项式的对应计算的F5中的对应和。图7(a)示出图5(a)中盲目多项式树的所有多项式在Z中的计算。图7(b)示出图5(b)中差分多项式树的所有多项式在Z中的计算。图7(c)示出图7(a)和7(b)中多项式的对应计算在Z中的对应和。图8(a)示出一个具有数据内容的XML元素的例子。图8(b)示出此XML元素压缩的特里结构表示;和图8(c)示出此XML元素未压缩的特里结构表示。贯穿这些图,相同的参考数字指示相似的或者对应的特性。附图中所示的这些特性的一部分典型地由软件来实现,并且同样表示诸如软件模块或对象的软件实体。具体实施例方式图1示意性地示出了依照本专利技术的系统的概图。如同本领域所公知的,服务器100维护着具有数据的数据库101,并且被配置来对来自一个或者多个客户端102的查询进行应答。从诸如因特网的网络110接收到查询。数据库101中存储的数据由数据源系统103供应。此系统103可以是客户端102中的一个,但是也可以是一个独立的系统。当然所述数据可以来自多个源,并且由服务器100合并。例如,客户端102可以是医院中输入病人信息的终端。病人信息随后又被存储在数据库101中,由于这样或者那样的原因,数据库位于一个远程地址。病人信息由于隐私的缘故,而必须受到保护。随后,使用客户端102来对数据库101进行查询,以便得到先前输入的病人的信息。这个情况中,数据来源系统103与客户端102相同。在另外一个实施例中,数据来源系统103可以是内容提供商,它将诸如电影或音乐的有用内容提供给客户。此外,内容提供商允许它的客户使用诸如它所出售的内容的名字或者艺术家的元数据对数据库进行查询。由于提供商的效率的原因,可以由第三方来提供数据库的管理。由于这样的数据库的商业价值昂贵,提供商需要对数据库中的数据进行保护。假设数据具有类似树的结构,在基于XML的文档中是这样的。在XML文档中,每个结点具有一个名字,并且可能具有一个值。两个结点之间不会多于一个路径。下面示出一个示例的基于XML的文档,它的树形表示被显示在图2(a)中。1.<?xml version=′1.0′?> 2.<customers> 3.<client><name>Smith</name></client> 4.<client><name>Jones</name></client> 5.</customers> 在图2(a)中,可以看出,“customers(顾客)”元素成为树的根或者最顶端的结点。在它的下面是两个名为“client(客户)”的结点,每一个结点有名为“name(名字)”的一个子结点。名为“name”’的结点是叶子结点,也就是它们没有子结点。数据也可以是索引结构,以允许对诸如e-mail消息的扁平文本文件进行搜索。非结构化的数据可以首先被转换为类似树的结构化格式。希望对数据进行保本文档来自技高网
...

【技术保护点】
一种能够对受保护数据进行查询的由计算机完成的方法,数据以树的形式进行组织,树包含具有相应结点名字的结点,每个结点名字被分配一个唯一的标识符,该方法包含:    对应数据所被组织的树的结构来构造结点多项式的树,使得每一个结点多项式,对于等于在从所考虑的结点开始的树的分支中出现的结点名字被分配的标识符的输入,计算为零,    对应于数据所被组织的树的结构来构造盲目多项式树和差分多项式树,使得结点多项式树中的每一个多项式等于盲目多项式树中相应的多项式与差分多项式树中相应的多项式的和,    使得服务器系统可以得到盲目多项式树和差分多项式树中的一个,并且,客户端设备可以得到盲目多项式树和差分多项式树中的另外一个。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:W永克R布林克曼JM杜门B舍恩马克斯
申请(专利权)人:皇家飞利浦电子股份有限公司
类型:发明
国别省市:NL[荷兰]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1