delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

28 Feb 2012

全盘加密

最近在琢磨一个产品里实现全盘加密的问题,简单来说就是加入存储卷的硬盘存储的是完全加密的数据。对于保存机密数据(例如患者数据)的存储设备来说,这一点十分重要,举例来说,如果硬盘出现故障,OP可以直接把硬盘拆下送回厂商,而不是必须做抹除数据的动作。

之前以为 AES-XTS 会导致延迟,实测发现 FreeBSD 的 GEOM_ELI 实现(配合 Xeon 5600 系列的 AES-NI 指令集)其实已经可以做到几乎没有差异了。因此,大致的想法是:

  • 主机的非易失性存储上保存密钥(从 /dev/random 中dd),妥为备份;
  • 所有的交换区均作加密(特别是在硬盘上的,如果有的话);
  • 系统引导过程中使用保存的密钥;

做了个原型出来,先测测再说。