重新审视安全处理器实现中不经意RAM的定义基础
密码学与安全
2017-10-24 v3
摘要
不经意RAM (Oblivious RAM, ORAM) 是一种著名的用于向不可信内存隐藏应用程序访问模式的技术。根据 Goldreich 和 Ostrovsky 提出的标准 ORAM 定义,如果两个 ORAM 访问序列的长度服从相同分布,则它们必须在计算上不可区分。该定义的一个固有特性是,它不适用于当前安全处理器技术中采用的现代 ORAM 实现,因为其内存访问序列的长度依赖于程序行为(其终止时间)而任意变化。因此,ORAM 定义不能直接应用;ORAM 的理论基础未能清晰地论证时序与终止信道。本文从现代实用 ORAM(例如 Path ORAM)的角度对标准的 Goldreich-Ostrovsky ORAM 定义进行了首次严格研究,并展示了理论基础与实际实现之间的鸿沟。提出了一种清晰分离出终止信道泄漏的新 ORAM 形式化定义。展示了该定义如何蕴含标准 ORAM 定义(针对有限长度输入访问序列)并更好地契合现代实用 ORAM 实现。所提定义放宽了 Path ORAM 关于暂存区大小与溢出概率的约束,本质上将其安全性论证转化为性能考量问题。最后,展示了一种清晰包含终止泄漏混淆的“强” ORAM 形式化定义,它蕴含我们的新 ORAM 形式化定义,并适用于外包磁盘存储的 ORAM。在此强形式化中约束未被放宽,Path ORAM 的安全性论证仍然复杂,因为需要证明暂存区以可忽略概率溢出。
引用
@article{arxiv.1706.03852,
title = {Revisiting Definitional Foundations of Oblivious RAM for Secure Processor Implementations},
author = {Syed Kamran Haider and Omer Khan and Marten van Dijk},
journal= {arXiv preprint arXiv:1706.03852},
year = {2017}
}