在Keystone中引入快速安全的确定性无暂存只写不经意RAM以实现按需分页
密码学与安全
2021-06-21 v1 性能
摘要
Keystone是基于RISC-V架构的可信执行环境。它将内存划分为安全的Keystone私有内存和不安全非Keystone内存,并允许位于Keystone私有内存内的代码安全执行。Keystone中的简单按需分页最终会将Keystone应用的敏感访问模式泄露给被假定为恶意的操作系统(OS)。这是因为访问不安全非Keystone内存时,Keystone需要操作系统的支持。为缓解此问题,Keystone需要实现不经意按需分页,并利用不经意RAM(ORAM)技术混淆其页面访问模式。这导致应用执行出现显著减速。本文通过使用确定性、无暂存、只写ORAM(DetWoORAM)进行不经意按需分页,弥合了Keystone中非安全与安全按需分页的应用执行时间之间的性能差距。我们还说明了为何只写ORAM的DetWoORAM足以用于不经意按需分页。DetWoORAM将内存逻辑划分为主区域和持有区域,实际页面存于主区域。我们提出两种优于DetWoORAM的增强以改进应用执行减速。第一种增强称为Eager DetWoORAM,涉及页面预加载,利用DetWoORAM的确定性访问模式并尝试隐藏ORAM延迟。第二种增强称为Parallel DetWoORAM,涉及生成多个线程,每个线程执行DetWoORAM内存访问算法的一部分。相较于DetWoORAM呈现的减速[1.4x、2x和3.24x],Eager DetWoORAM和Parallel DetWoORAM在k=3、7和15时分别提供[1.2x、1.8x和3.2x]与[1.1x、1.1x和1.4x]的减速。
引用
@article{arxiv.2106.09966,
title = {Introducing Fast and Secure Deterministic Stash Free Write Only Oblivious RAMs for Demand Paging in Keystone},
author = {Mriganka Shekhar Chakravarty and Biswabandan Panda},
journal= {arXiv preprint arXiv:2106.09966},
year = {2021}
}