基于空间数据的安全范围查询实现方法

文档序号:8905423阅读:841来源:国知局
基于空间数据的安全范围查询实现方法
【技术领域】
[0001] 本发明设及的是一种信息安全领域的技术,具体是一种基于空间数据的安全范围 查询实现方法。
【背景技术】
[0002] 自从诞生W来,数据安全问题就一直是云存储服务所面临的最重大的挑战之一。 因为数据存储于云端,并且通过网络进行存取,所W难免会遭到攻击者的利用。尽管数据的 内容本身可W进行加密,但是攻击者仍然能够从用户的访问模式中得到有用的信息。如何 设计一种合理的结构,尽量减小云存储中的信息泄露,把受到攻击的风险降到最低,一直是 一个重要的课题。在该个领域,目前比较有代表性的工作如下:
[0003]Gol化eich等人最早研究了如何隐藏访问模式W避免消息泄露的问题。他们的想 法是使用一个带有密钥的物理隔离的CPU来处理指令。CPU接收加密指令,并且使用它的内 部寄存器将其解密。他们最初设计了一种"平方根"方案,来将主存划分为主存储空间和保 护空间。该种方案虽然简单,但是性能并不理想。随后他们又提出了将保护空间结构化的 思路。Pinkas等人在其基础上进行了改进,使其性能得到了进一步的提升。Boneh等人提 出了遗忘存储的bliviousStorage)的方案,在性能上又有了进一步的提升。然而该些解 决方案都只针对一维的数据,对于二维W上的数据并没有很好的办法。
[0004] 另一方面,空间数据对象是地理位置查询中常见的对象。它通常出现在多维(例 如二维)空间中,仅仅用点是不能很好地描述的。对于空间对象,例如城市,街道等等,在二 维空间中都不能用一个孤立点来简单描述。而在数据对象的使用上,范围查询是一个很常 见的操作。例如,想要找到一个用户所在位置附近5公里内的街道。如何根据他们的空间 位置快速有效地返回相应的数据对象是非常重要的。
[0005]R-tree是由伯克利大学的AntomnGuttman等人在1984年最先提出的一种针对 多维数据的动态索引结构,是目前使用最为广泛的多维数据索引结构之一。它采用一种类 似于B+树的结构来存储多维数据,使得用户可W进行快速的查询和修改。Wang化ng等人 在其基础上,结合非对称标量积保存加密(ASP巧,进一步提出了rhat-trees,用于在加密 的情况下向服务器进行查询操作。尽管如此,W上方法对于如何应对由访问模式猜测用户 信息的攻击者都没有很好的解决方案。

【发明内容】

[0006] 本发明针对现有技术存在的上述不足,提出一种基于空间数据的安全范围查询实 现方法,在保证查询效率的同时,不但实现数据的加密,同时对数据的访问模式也进行隐藏 和保护,从而大大降低信息泄漏的风险。
[0007] 本发明是通过W下技术方案实现的:
[0008] 本发明当用户端C从服务器端S获取一个id的时候,要对其进行解密,并在用户 端返回服务器数据时进行重加密,具体为:
[0009] 步骤1、执行端判断V是否存在于层级列表L中
[0010] 步骤2、当V存在于L中时;
[0011] 2. 1)对于L中的每一层,用户端C向服务器端S发出一个数据项查询指令 GW(/W/y的),W获取一个伪装数据编号抑对应的数据值,并在接收到后忽略该数 据值。
[0012]2. 2)向服务器发送数据项查询指令Get(PRP,(v)),并在接收到服务器端S返回的 结果b。
[0013] 2. 3)执行加密传输处理shelterinsert(V,b)。
[0014] 2. 4)将decryptsK(b)作为结果返回给用户。
[0015] 步骤3、当V不存在于L中时;
[0016] 3. 1)设1为L中id为V的项目所在的层中最高的一层。
[0017] 3.。对于L中的每一个i声1的层,用户端向服务器端发出一个仙:))的 请求,W获取一个伪装数据。接收并忽略该数据;发送GW(P/?6.i(u)),设b为服务器返回的结 果。
[0018] 3.3)向服务器端S发送一个数据项查询指令Get(PRP,(d))W获取一个伪装数据 编号PK6-,.(d)对应的数据值,并在接收到后忽略该数据值。
[0019] 3. 4)执行加密传输处理shelterinsert(V,b)。
[0020] 3.W将decryptsK(b)作为结果返回给用户。
[0021] 在服务器上存储的数据结构为(v,b),而用户输入的数据结构则为(a,b)。其中;b 和服务器端的b相同,代表存储的数据。a表示该条数据在多维空间中的坐标,结构为(di, (V,,d。),其中;n为空间的维度,di,d2…分别代表该条数据的坐标在每一个维度的取值范 围。在该里为了讨论方便,不妨设n= 2,即二维空间。则a= (di,cg,其中;di= (Xi,X2), d2=(y1,y2),表示该条数据在经度Xi到X之间,维度y剧y之间的区域。
[0022] 当接收到一个请求的同时,执行端同时向服务器的隐藏存储区的每一层W及主存 储区都发送一个请求,并且只留下需要的结果,其他结果都被直接忽略。该样攻击者就无法 分辨究竟哪一个才是用户真正想要查询的数据对,从而大大降低了攻击者通过访问模式来 猜测用户信息的风险。 技术效果
[0023] 与现有技术相比,本发明的技术效果包括:
[0024] 首先,在服务器端采用了简单的一维id,使得服务器上不需要存储复杂的多位数 据,从而使得服务器数据结构的复杂度大大降低。
[00巧]其次,避免将地址信息a直接存储在服务器,可W避免泄密的风险。潜在的攻击者 只能获取到一维id的信息,而无法获知用户查询的真实范围。
[0026]此外,本方法当服务器的存储空间M固定时,用户端的存储空间m越大,算法的运 行速度越快。实验结果表明,在保证数据安全的前提下,对二维空间数据的处理速度达到了 接近一维速度的效果。
【附图说明】
[0027]图1为实施例中动态索引结构R-tree规模测试效果示意图;
[002引图2为实施例执行时间效果示意图;
[0029] 图3为实施例中置乱等待时长示意图;
[0030] 图4为实施例系统结构示意图;
[0031] 图5为实施例置乱处理示意图。
【具体实施方式】
[0032] 下面对本发明的实施例作详细说明,本实施例在W本发明技术方案为前提下进行 实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施 例。
[0033]W下实施例的应用环境包括:
[0034] 服务器端S,该服务器端S上的数据形式为(V,b),其中;V表示数据标识(id),b 表示数据内容;
[00巧]用户端C,包括;一个地址翻译模块和一个执行端,当用户端处理用户U发送的指 令,向服务器进行查询,并将结果返回给用户。
[0036] 所述的服务器端S响应W下指令:
[0037] 数据项查询指令Get(V):当id为V的项存在于服务器端S,则返回(v,b),否则返 回空值。
[003引数据项更新指令化t(v);服务器端S将(v,b)加入到存储空间中,且当V已经存 在时覆盖原数据。
[0039] 数据项批量查询指令GetRange(vl,v2):服务器端S返回所有满足vl《V《v2 的(v,b)值。
[0040] 数据项批量删除指令DelRange(VI,v2):服务器端S删除所有满足vl《V《v2 的(v,b)值。
[0041] 所述的用户端C响应W下指令:
[0042] 数据获取指令Get_o(a);获取范围a内的所有数据。
[0043] 数据更新指令^t_o(a,b);将范围a内的数据覆盖为b。
[0044] 其中;a= (di,d2"〇为查询的范围,di,d2…分别代表不同维度内的范围信息。例 如,对于二维的地理坐标,di和d2分别表示经度和绅度的范围。
[0045] 所述的用户U向用户端C发送Get
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1