2024-05-15
可信执行环境的侧信道防御是一个广受关注的课题。高鸣宇团队发现对于最广泛存在的基于内存访问模式的侧信道攻击,其防御方式ORAM的初始化过程很少被研究。经过充分调研,团队发现其过程有着大量的应用场景,并提出使能ORAM的批量化加载算法Bulkor。相较于之前的工作,Bulkor在保证高安全性的情况下实现了大幅度的性能提升。该算法有助于ORAM在更多场景下的应用。
论文题目:BULKOR: Enabling Bulk Loading for Path ORAM
论文作者:Xiang Li, Yunqian Luo, Mingyu Gao
论文链接:https://people.iiis.tsinghua.edu.cn/~gaomy/pubs/bulkor.s&p24.pdf
尽管现代加密和身份验证技术可以保护数据内容,但攻击者仍然可以通过仅观察敏感数据的访问模式来执行高级侧信道攻击,以获取私密信息。不经意随机访问存储(ORAM)协议,比如Path ORAM,是解决此问题的通用方案。ORAM可结合硬件安全技术例如可信执行环境(TEE),将客户端的部分控制逻辑放入TEE中,以减少网络通信成本。然而,与完全可信的客户端不同,TEE保护数据内容,但不保护其访问模式。在这种情况下,可信内存和不可信内存都需要做到不经意访问,这需要在TEE内设计更复杂的ORAM控制器。一些工作基于此设计了更高效的安全数据处理系统。但是很少有工作考虑到TEE环境下ORAM的初始化加载问题,此问题影响了ORAM的进一步应用。
由此,我们提出了一个名为Bulkor的TEE环境下Path ORAM批量化加载算法,它从一开始就完全独立且随机地分配Path ORAM中每个数据块的路径。然后它根据先前分配的路径,高效和不经意地调整ORAM树中每个数据块的实际位置,以消除任何容量溢出问题。在此过程中无需更改先前分配的路径,从而不影响安全性。另外,所有块的分配和位置调整这些过程都是在元数据上进行的,位置固定后将最终位置信息提供给原数据块,因此对于数据块我们只需做一次不经意排序,从而降低了性能开销。相对于之前的方案,该算法可将理论复杂度由Ο(Nlog3N)降低到Ο(Nlog2N)。实验结果显示其实际性能显着优于先前系统Oblix和ZeroTrace,达8.7至54.6倍和5.8倍至533.1倍。
分享到