论文标题
通过虚拟磁盘重新考虑块存储加密
Rethinking Block Storage Encryption with Virtual Disks
论文作者
论文摘要
当今,磁盘加密使用标准的加密方法,这些方法可以保留长度,并且不需要使用加密磁盘扇区存储任何其他信息。这大大简化了磁盘加密管理,因为磁盘映射不会随加密而变化。另一方面,当数据被覆盖并不允许完整性机制时,它迫使加密是确定性的,从而降低了安全保证。此外,由于使用最广泛的标准加密方法(例如AES-XTS)在不超过32个字节的小子块中起作用,因此确定性覆盖构成更大的安全风险。总体而言,当今的标准实践将放弃一些安全性,以易于管理和绩效注意事项。在支持版本控制和快照的虚拟磁盘设置中进一步扩大了这种缺陷,以使覆盖的数据仍然可以访问。 在这项工作中,我们解决了这些问题,并规定尤其是在虚拟磁盘上,有动力和潜力以牺牲较小的绩效开销为代价。具体而言,将每个扇区元数据添加到虚拟磁盘中允许使用随机初始化向量(IV)运行加密,并可能添加完整性机制。我们探讨了如何最好地在Ceph RBD中实现其他每个扇区信息,Ceph RBD是一种带有客户端加密的流行开源分布式块存储。我们实施并评估了几种方法,并表明可以在可管理的间接开销范围为1 \%-22 \%,具体取决于IO大小,可以使用随机IV运行AES-XTS加密。
Disk encryption today uses standard encryption methods that are length preserving and do not require storing any additional information with an encrypted disk sector. This significantly simplifies disk encryption management as the disk mapping does not change with encryption. On the other hand, it forces the encryption to be deterministic when data is being overwritten and it disallows integrity mechanisms, thus lowering security guarantees. Moreover, because the most widely used standard encryption methods (like AES-XTS) work at small sub-blocks of no more than 32 bytes, deterministic overwrites form an even greater security risk. Overall, today's standard practice forfeits some security for ease of management and performance considerations. This shortcoming is further amplified in a virtual disk setting that supports versioning and snapshots so that overwritten data remains accessible. In this work, we address these concerns and stipulate that especially with virtual disks, there is motivation and potential to improve security at the expense of a small performance overhead. Specifically, adding per-sector metadata to a virtual disk allows running encryption with a random initialization vector (IV) as well as potentially adding integrity mechanisms. We explore how best to implement additional per-sector information in Ceph RBD, a popular open-source distributed block storage with client-side encryption. We implement and evaluate several approaches and show that one can run AES-XTS encryption with a random IV at a manageable overhead ranging from 1\%--22\%, depending on the IO size.