- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
总结 数据篡改验证的几个方面(从query结果来看): 原数据未被非法的增删改 简单的元组级select、join操作结果集完整性的验证 不可做范围查询的属性列上等值查询完整性的验证 集合函数(sum、avg)正确性的验证 Client的增删改操作得到完整执行 性能考虑: 计算力 存储 带宽 对查询的影响 对数据分布的影响 基于概率的验证方法 验证的关键:fake tuples的构造 数据分布对于安全很重要 Fake tuple是否是有用的数据?对于完全不会出现在query结果中的fake tuple对于完整性的验证没有意义。出现的几率很小则对于完整性的验证贡献不大。或结果集中的fake tuple数量不多,则发现数据篡改的概率较小。Fake tuple数量太多,则会增加server存储,降低query执行效率,fake tuples的传输增加带宽压力,Cs(Q)与Cc(Q)的比较时间也会加大。 基于概率的验证方法 完整性验证方法: 随机fake tuple 验证 确定的/伪随机 fake tuple 验证 随机fake tuple 验证 方法: 在client端按real tuple distribution随机生成fake tuple,并存储在client端 将fake tuple与real tuple一样处理后存放到server Client发出query,server返回查询结果,包含符合query的real tuple 与 fake tuple Cs(Q) 在client端执行同一个query,得到满足query的fake tuple Cc(Q) 比较|Cs(Q)|?=|Cc(Q)|,验证返回结果的完整性 随机fake tuple 验证 优点: 可验证简单的元组级的range query的完整性 可验证含join的query的结果集的完整性 可验证server对于client发出的增删改的执行 缺点: Client端需要存储和维护fake tuples 确定的/伪随机 fake tuple 验证 Choose a family of functions(易于计算部分覆盖元组的个数) e.g., linear functions, quadratic functions Randomly pick a key, which determines a function in the family e.g., coefficients of the linear/quadratic functions Each client remembers the function Little storage cost Efficient to find the count of fake tuples that satisfy a query Fake tuple 的生成 How about distribution? Divide the feature space into grids Capture the distribution of the real data (count of tuples in each grid) Create a key (hence a deterministic function) for each grid The count decides how many tuples the function generates for that grid Fake tuple 的生成 Fake tuple generation: 简单查询的完整性验证 Checking integrity Join操作完整性的验证 Integrity assurance of Joins Join two tables T1 and T2 SELECT * FROMT1 and T2 WHERE T1.B = T2.B We have 4 cases here: 1. Original tuples from T1 join with original tuples from T2 2. Fake tuples from T1 join with original tuples from T2 3. Original tuples from T1 join with fake tuples from T2 4. Fake tuples from T1 join with fake tuples from T2 对于增删改的验证 在进行增删改操作的时候,加入适当的fake tuples,这样在query时,通过验证query结果的完整性,就能验证服务器是否执行了client端发出的增删改操作。 基于
文档评论(0)