外包数据库中基本查询支持的安全方案与认证数据结构
1. 前缀保留ESAE方案
1.1 前缀匹配查询
在处理外包数据库时,为了高效处理前缀匹配查询(即定位属性值以给定前缀开头的记录,例如所有以区号310开头的电话号码),我们对ESAE框架进行了扩展。这里的加密方案基于“在线密码”的研究,它是一种确定性的保长加密方案,输入由固定长度的块(即前缀的“字符”)组成,输出的第i个块仅依赖于输入的前i个块。这意味着如果两个明文的前k个字符相同,那么它们的密文也相同。
为了实现高效的前缀搜索,我们让函数F和G分别返回l字符前缀的加密结果和密文的前l个字符。由于加密是确定性的,所以完整性为1,健全性为0。
在构建过程中,前缀的字符长度与底层块密码的输入长度一致(例如,使用DES变体时为64位或4个UTF - 16字符)。虽然Xu等人提出的按位前缀保留方案在查询前缀粒度上更灵活,但会向服务器透露更多信息,且对于文本文件等输入可能效率较低。此外,我们的方案还能实现密文完整性,而前者难以实现这一特性。
1.2 安全性
在线密码的更强安全定义要求其与一个“理想”对象不可区分,这个“理想”对象是从所有可能的“在线”排列家族中随机抽取的函数,即使攻击者可以访问相应的“反转器”解密预言机。例如,逐字符加密是完全不安全的,“HAT”和“BAT”的加密结果在这种情况下应看起来完全不相关。
我们还定义了密文完整性的额外属性,因此加密算法应在末尾包含一些冗余信息,以便密文可验证。具体来说,我们使用一个理想对象,它在加密消息时会附加一个随机块,并且在理想实验中,解密预言机总是返回⊥,以确保攻击者无法创建新的有效密文。
<
超级会员免费看
订阅专栏 解锁全文
1422

被折叠的 条评论
为什么被折叠?



