一种云环境下高效的隐私保护密文连接访问操作验证方法

文档序号:8905424阅读:1004来源:国知局
一种云环境下高效的隐私保护密文连接访问操作验证方法
【技术领域】
[0001] 本发明属于可信数据管理领域,设及一种数据验证方法,具体设及一种云环境下 高效的隐私保护密文连接访问操作验证方法。
【背景技术】
[0002] 安全云服务环境下,数据拥有者在本地可信前端对数据加密处理后外包给云服务 提供商进行存储、管理和维护。数据加密实现了数据私密性保护,但是仍然无法保证"不可 信"云服务提供商不会恶意修改、丢失用户数据,或在用户访问时返回不完整的结果数据。 因此,提供一种数据验证方法,确保用户访问操作结果数据的正确性是非常必要的。
[0003] 云环境下密文连接访问操作验证有W下两方面需求;一方面,为了保证云系统的 可用性,首先要求验证方法是高效的,具体表现在;验证数据结构构建时间效率、云端验证 对象生成时间效率、客户端结果验证时间效率、客户端与云端间通信开销(即验证对象的 空间开销)。另一方面,为了确保验证数据正确性的同时,不会导致数据隐私信息的泄露,贝U 要求验证方法是安全的。主要表现为验证结构自身和验证过程不会泄露数据隐私。
[0004] 因此,一种能支持多数据表上连接访问操作且兼具隐私保护特性和时空高效性的 密文连接访问操作验证方法将在云环境下安全数据外包管理中起到至关重要的作用。
[0005] 目前,研究者们主要提出了两类方法来保障用户访问结果数据的正确性。第一类 方法通过引入第=方权威机构和面向公众的云端密文数据集正确性审计,通过即时随机抽 样审计云端数据的正确性。然而,该方法仍无法防止恶意云服务提供商在用户访问时返回 不真实、不完整或不新颖的结果密文数据。另一类方法通过客户端执行对访问结果数据的 正确性验证,彻底保障结果数据的真实性、完整性和新颖性,然而该类验证方法要求客户端 在每次数据访问时执行结果数据的验证任务从而造成较大的验证开销。
[0006] 上述面向访问操作结果数据的正确性验证方法都主要集中于简单数据操作,如单 个数据表上的范围查询操作、聚集查询操作、Top-k查询操作等。多关系数据表上的连接访 问操作作为数据库中重要数据访问操作类型,由于其操作方式的复杂性和操作结果的特殊 性,使得其结果正确性的验证具有更大的挑战。对于多关系数据表的连接访问操作,其结果 数据分布相关于操作数据表中的具体记录值。访问用户无法确定结果密文数据的具体值 域,因而无法应用现有方法简单执行其正确性验证。Yin等人第一次提出了面向多关系数据 表连接访问操作的结果正确性精确验证方法,然而该方法一方面只支持明文数据的连接访 问操作验证,未考虑面向密文数据连接访问操作的隐私保护验证。另一方面,该方法的基本 思想是客户端验证结果数据时重现云端的连接操作,从而造成较大的验证对象通信开销和 客户端验证计算开销。综上所述,目前的密文连接访问操作验证方法均无法满足安全云存 储服务环境下的隐私保护需求和实际云系统应用价值。

【发明内容】

[0007] 为了解决【背景技术】中存在的上述技术问题,本发明提供了一种选择条件连接访问 操作的验证方法SJVS(SelectedJoinVerificationScheme)。
[000引本发明所采用的技术方案是:一种云环境下高效的隐私保护密文连接访问操作验 证方法,其特征在于,包括W下步骤:
[0009] 步骤1 ;数据拥有者在客户端加密关系数据表R和关系数据表S,同时构建相应的 嵌入式MHT验证结构并签名,最后向云端发布密文关系数据表旬、Cs和验证数据结构;
[0010] 步骤2;访问用户提交条件连接操作请求到云端,云端返回结果密文数据,同时根 据访问请求和验证数据结构生成验证对象并返回;
[0011] 步骤3 ;访问用户在客户端利用验证对象对访问结果进行正确性验证。
[0012] 作为优选,步骤1的具体实现包括W下子步骤:
[0013] 步骤1. 1 ;数据拥有者执行关系数据表R和关系数据表S在连接属性上的连接操 作预计算,得到其连接操作结果数据表RS;
[0014] 步骤1. 2 ;从RS中获得表R条件属性R.a;上被连接操作命中的字段值r1,将其去 重、排序后定义为
[00巧]步骤1. 3 ;W构建嵌入式MHT验证结构T胃中外层MHT的叶子节点;
[0016] 步骤1. 4 ;从叶子节点自底向上构建MHT--Te"t,1和r分别表示节点V的左右孩 子,符号II表示字符串串联操作,符号U表示内层MHT的合并操作,非叶子节点的构建公式 为:
[0017]
(式壹);
[0018] 步骤1. 5 ;对于外层MHT,签名根节点V的V.value和V.data;对于内层MHT,签名 根节点U的U.value、U.data和U.numW及所有叶子节点和中间节点U的U.num;
[0019] 步骤1.6;数据拥有者用加密密钥对明文关系数据表进行加密,同条件属性R. 的保序哈希值构成密文关系数据表;最后向云端发布密文关系数据表和签名的验证数据结 构Temht。
[0020] 作为优选,步骤1. 3的具体实现法包括W下子步骤:
[0021] 步骤1. 3. 1 ; 中的每一个字段值r;作为一个叶子节点,则Temht共有。,个 叶子节点;
[0022] 步骤1.3.2;对于每一个叶子节点Vi,赋予条件属性字段值的保序哈希值 hoph),良PVi.value=hoph);
[0023] 步骤1. 3. 3 ;对于每一个叶子节点Vi,赋予表R中ri所在记录数据(表示为 (rid,R.a。. . .,R.aj)的摘要,即Vi.data=h(ridIIR.ajI. . .IIR.a*);
[0024] 步骤1. 3. 4 ;对于每一个叶子节点Vi,获得所在记录数据与S执行连接操作的结 果记录数据集,并从中还原属于原始表S的记录数据S,;(按照条件属性S. 字段 值排序),W&生成内层MHT,记为Vi.imht。
[0025] 作为优选,步骤1. 3. 4中构建嵌入式MHT验证结构中内层血町的具体实现包 括W下子步骤:
[0026] 步骤1. 3. 4. 1 ;S,中的每一个字段值作为一个叶子节点,则内层MHT共有#&个叶 子节点;
[0027] 步骤1. 3. 4. 2 ;对于每一个叶子节点U,赋予条件属性字段值sj的保序哈希值 h〇p(Sj),即U.value=h〇p(Sj);
[002引步骤1. 3. 4. 3 ;对于每一个叶子节点U,赋予&中Sj.所在记录数据(表示为 (sid,S.a。. . .,S.a*))的摘要,即U.data=hkidIIS.ajI. . .IIS.a*);
[0029]步骤1. 3. 4. 4;对于每一个叶子节点u,式中Sj所在记录数据的个数记为u.num; >2时,利用式壹的原理自底向上构建MHT--Vi.imht。
[0030] 作为优选,步骤2的具体实现包括w下子步骤:
[0031] 步骤2. 1 ;访问用户在客户端提交对表R和表S的选择条件的连接操作请求,云端 根据用户请求对密文数据表执行连接操作,获得密文关系数据表旬被连接操作命中的密文 记录数据集;
[0032] 步骤2. 2 ;将密文记录数据集对应到验证结构Tcmht中的叶子节点,找到其还原根节 点所需的最少节点集,将节点集中每一个节点的V.data添加到验证对象V〇ii;
[0033]步骤2. 3;扩展密文记录数据集在验证结构Tcmht中对应的叶子节点的左右边界 节点,找到扩展后的叶子节点还原根节点所需的最少节点集,将节点集中每一个节点的 V.valueW及左右边界节点的保序哈希值添加到验证对象V〇i2;
[0034]步骤2. 4;对于T胃T的根节点V,分别添加签名的V.data和V.value到验证对象 V〇ii和V〇i2 中;
[0035] 步骤2. 5 ;云端根据用户请求对密文数据表执行连接操作,获得密文关系数据表Cs 被连接操作命中的密文记录数据集,并将其对应到内层MHT的叶子节点,利用步骤2. 2至步 骤2. 4的原理构建验证对象V〇2i和VO22;
[0036] 步骤2. 6 ;将表Cs被连接操作命中的密文记录数据集对应到内层MHT中的叶子节 点,找到能覆盖该些节点所需的最少节点集,并添加该些节点到验证对象V〇3中;
[0037] 步骤2. 7 ;云端返回客户端选择条件连接操作的结果密文数据表和验证对象VO, VO= {V〇i={VO…VO。},V〇2={VO21,V〇22},VO3}。
[003引作为优选,步骤3的具体实现包括W下子步骤:
[0039] 步骤3. 1 ;客户端获得密文结果数据表RS和验证对象VO;解密密文结果数据表得 到明文结果数据表;客户端根据RS分解出其对应于两个原始关系表R和S的记录数据集 R'、S'(R'GR,S'G巧;<
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1