【技术实现步骤摘要】
【国外来华专利技术】用于安全存储数据的数据存储服务器和客户端设备
[0001]本专利技术涉及数据存储系统。更具体地,本专利技术涉及用于安全存储安全敏感数据(包括数值数据和/或文本数据)并实现安全敏感数据的范围查询的客户端设备和数据存储服务器。
技术介绍
[0002]由于远程数据存储(例如云数据存储)使得用户客户端设备(通常只能存储有限数据)将数据和文件保存在一个或多个能够通过公共互联网或专用私网连接访问的远程数据存储服务器中,因此越来越受欢迎。云存储提供商承载、保护、管理和维护数据存储服务器和关联的基础设施,并且确保用户客户端设备对数据的访问。云存储的主要优点之一是,当数据已删除、损坏或在用户客户端设备上无法访问时,可以从远程数据存储服务器恢复用户数据。然而,由于云存储提供商负责保护传输到远程数据存储服务器的用户数据,云存储提供商很可能访问到安全敏感用户数据,这是用户不希望看到的和/或违反法律法规。通常,待存储在远程数据存储服务器中的安全敏感数据包括安全敏感数据,例如数值数据或文本数据,这些数据可以以明文查询,但如果加密,则不能通过范围查询等方便地查询。
技术实现思路
[0003]本专利技术的目的是提供一种改进的客户端设备和一种改进的数据存储服务器,以实现安全敏感数据(例如数值数据和/或文本数据)的安全云存储,从而实现安全敏感数据的范围查询。
[0004]上述和其它目的是通过由独立权利要求请求保护的主题来实现的。其它实现方式在从属权利要求、说明书和附图中是显而易见的。
[0005]根据第一方面,提供了一种 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种客户端设备(110),其特征在于,所述客户端设备(110)包括处理器(111),所述处理器(111)用于:获取包括多个明文数据元素(200b)的数据(125a),其中,所述多个明文数据元素(200b)中的每个数据元素在范围的多个子范围中的一个子范围内,所述多个子范围中的每个子范围由子范围标识符(200a)标识;使用第一加密密钥(115a)对所述多个明文数据元素(200b)进行加密,以得到多个密文数据元素(210a);将包括所述多个密文数据元素(210a)的所述数据(125a)发送给数据存储服务器(120),以将所述数据(125a)存储在所述数据存储服务器(120)的数据库(125)中;对于所述多个子范围中的每个子范围,使用第二加密密钥(115a)对子范围数据桶(220b)进行加密,其中,每个子范围数据桶(220b)包括所述相应子范围内的明文数据元素(200b)和对应的密文数据元素(210a);对于所述多个子范围中的每个子范围,将相应的加密子范围数据桶(220b)和相应子范围标识符(200a)的消息摘要或者相应的加密子范围数据桶(220b)和相应子范围标识符(200a)的基于消息验证码(message authentication code,MAC)密钥(115b)的MAC(220a)发送给所述数据存储服务器(120),以将所述多个加密子范围数据桶(220b)和所述子范围标识符(200a)的多个消息摘要或MAC(220a)存储在所述数据存储服务器(120)的所述数据库(125)中。2.根据权利要求1所述的客户端设备(110),其特征在于,所述处理器(111)还用于从远程密钥管理服务器(130)获取所述第一加密密钥(115a)、所述第二加密密钥(115a)和所述MAC密钥(115b)中的至少一个的加密版本,其中,所述加密的第一加密密钥(115a)、所述加密的第二加密密钥(115a)和所述加密的MAC密钥(115b)中的至少一个是使用客户端设备主密钥进行加密的。3.根据权利要求1或2所述的客户端设备(110),其特征在于,所述处理器(111)还用于将所述第一加密密钥(115a)的标识符与包括所述多个密文数据元素(210a)的所述数据(125a)一起发送给所述数据存储服务器(120),以根据所述第一加密密钥(115a)的所述标识符将所述数据(125a)存储在所述数据存储服务器(120)的所述数据库(125)中。4.根据权利要求3所述的客户端设备(110),其特征在于,所述处理器(111)还用于将所述加密的第一加密密钥(115a)、所述加密的第二加密密钥(115a)和所述加密的MAC密钥(115b)中的至少一个发送给所述数据存储服务器(120)。5.根据上述权利要求中任一项所述的客户端设备(110),其特征在于,为了处理对存储在所述数据存储服务器(120)的所述数据库(125)中的包括所述多个密文数据元素(210a)的所述数据(125a)的查询,所述处理器(111)用于:确定由所述查询限定的查询范围所覆盖的子范围的子范围标识符,以得到所述多个子范围标识符(200a)的子集;根据所述多个子范围标识符(200a)的子集内的一个或多个子范围标识符的消息摘要或MAC,从所述数据存储服务器(120)的所述数据库(125)中获取所述多个加密数据桶(220b)中的一个或多个数据桶;使用所述第二加密密钥(115b)对所述一个或多个加密数据桶(220b)进行解密,以得到
每个加密数据桶(220b)的多对明文数据元素和密文数据元素中的一对或多对;根据所述一个或多个密文数据元素,获取存储在所述数据存储服务器(120)的所述数据库(125)中的所述数据(125a)。6.根据权利要求5所述的客户端设备(110),其特征在于,所述处理器(111)还用于根据所述明文数据元素(200b)检查相应的数据元素是否在所述查询范围内。7.根据上述权利要求中任一项所述的客户端设备(110),其特征在于,所述处理器(111)还用于根据随机加密方案或确定性加密方案使用所述第一加密密钥(115a)对所述明文数据元素(200b)进行加密。8.根据上述权利要求中任一项所述的客户端设备(110),其特征在于,所述第一加密密钥(115a)和所述第二加密密钥(115a)是相同的加密密钥(115a)。9.根据上述权利要求中任一项所述的客户端设备(110),其特征在于,所述MAC是基于哈希的消息验证码(hash
‑
based message authentication code,HMAC)。10.一种用于操作客户端设备(110)的方法(700),其特征在于,所述方法(700)包括:获取(701)包括多个明文数据元素(200b)的数据(125a),其中,所述多个明文数据元素(200b)中的每个数据元素在范围的多个子范围中的一个子范围内,所述多个子范围中的每个子范围由子范围标识符(200a)标识;使用第一加密密钥(115a)对所述多个明文数据元素(200b)进行加密(703),以得到多个密文数据元素(210a);将包括所述多个密文数据元素(210a)的所述数据(125a)发送(705)给数据存储服务器(120),以将所述数据(125a)存储在所述数据存储服务器(120)的数据库(125)中;对于所述多个子范围中的每个子范围,使用第二加密密钥(115a)对子范围数据桶(220b)进行加密(707),其中,每个子范围数据桶(220b)包括所述相应子范围内的明文数据元素和对应的密文数据元素;对于所述多个子范围中的每个子范围,将相应的加密子范围数据桶(220b)和相应子范围标识符的消息摘要或者相应的加密子范围数据桶(220b)和相应子范围标识符的基于消息验证码(message authentication code,MAC)密钥(115b)的MAC(220a)发送(70...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。