磁盘加密技术
如上节所述,Disk Encryption磁盘加密,目标是保护数据at Rest状态下的机密性,加密对象是整个磁盘/分区、或者文件系统,采用实时加解密技术。
磁盘加密技术从加密对象,软硬件实现、文件系统特征等维度,也可以有多种分类。首先,根据加密对像是整个磁盘,还是文件系统,可分为Full-Disk Encryption 和 Filesystem-Level Encryption(也称为File-Based Encryption)两大类。
3.1、FDE
Full-Disk Encryption全盘加密在实现上有硬件、软件两种方案。两者核心原理类似,区别是加解密核心功能所在主体是软件还是硬件,另外软件方案一般不能真正加密整个硬盘(boot分区不加密),而硬件方案Hardware-based Full-Disk Encryption则具备整个硬盘加密能力。硬件FDE方案产品主要是Self Encryption Drive自加密硬盘,一般由存储器件厂商、安全厂商提供。
硬件和软件FDE方案核心原理及流程类似,统一抽象说明如下:
在初始化或创建FDE时,会随机生成一个磁盘数据加密DEK(Disk Encryption Key,用户无感知),同时要求用户输入一个AK(Authentication Key)用来加密保护DEK。在使用时,需用户先输入AK验证并解密DEK,之后操作系统才能使用DEK访问加密磁盘上的数据。
由于需执行特定程序展示UI提供用户输入AK并验证,故这部分启动代码不能加密。因此引了入Pre-Boot Authentication 及PBA environment的概念。
在PBA实现上,硬件FDE方案(SED产品)一般出厂时内嵌Pre-Boot environment(小的OS或bootloader),上电后先运行Pre-Boot程序并验证AK,再进行正常的加载引导等。
软件FDE方案采用不加密boot分区的方式,一般在initial ramdisk集成PBA功能并完成验证。
软件FDE方案发展历史久,主流OS环境均有成熟方案,例如Windows下的BitLocker、Apple
OS/X下的FileVault、以及Linux/UNIX生态下的dm-crypt/LUKS。另外也有不依赖操作系统的三方FDE方案,如TrueCrypt、VeraCrypt等。
对Linux下dm-crypt/LUKS方案感兴趣的同学可以在Ubuntu虚拟机上测试研究。
全部0条评论
快来发表一下你的评论吧 !