我的理解是,基于闪存的设备,例如SSD,是过度配置的,并且不宣传操作系统可以使用的额外存储块。过量供应的存储块是为了支持数据的有效分配通过磨损水准.
假设我的理解是正确的,那么如果操作系统没有公布或访问额外的存储块,那么完整的磁盘加密如何满足存储的过度供应呢?
如果数据的分配仅限于驱动器的控制器,那么是否存在数据从加密块流向未加密块的风险,例如过量存储?
发布于 2019-01-11 17:12:36
如果您从一开始就加密磁盘,那么当您第一次开始使用它时,这并不是一个问题。您编写的所有数据都是加密的,而重映射扇区只会导致加密数据保留在超额供应区域。由于数据是加密的,所以即使您在拆卸的SSD上使用直接闪存读取恢复数据,也不能对其进行任何操作。
此外,识别加密流中的数据来自何处是特别困难的,而且由于大多数FDE分组密码模式(例如XTS)包括扇区号(或一些其他位置值)作为初始化向量的一部分,因此即使您拥有FDE主密钥,也非常难以从这些剩余扇区恢复明文。
在此基础上,大多数SSD实现ATA安全擦除功能。此功能允许您发送一个命令来安全地擦除磁盘,而无需重写每个扇区。覆盖扇区的成本很高,因为flash单元的写入周期有限。此特性的工作方式是使用随机生成的密钥透明地加密所有扇区,该密钥存储在磁盘控制器的非易失性内存中。运行ATA安全擦除命令时,磁盘控制器将丢弃旧密钥并生成新密钥。这立即使磁盘上的所有数据都不可读。作为一种副作用,所有超额供应的区域也是这样加密的,这意味着即使没有在SSD上使用您自己的FDE,过度供应的区域仍然是加密的,即使您从控制器的非易失性内存中提取安全擦除主密钥,也很难恢复。如果稍后执行安全擦除命令,过度供应的区域也会变得不可读。
发布于 2019-01-11 17:06:44
FDE不需要了解任何关于过度供应的信息。如果分区被加密,任何纯文本都不会被写入任何地方。预留用于磨损平整的块要么具有未初始化的随机数据,要么具有加密块。
如果使用控制器提供的加密,则在控制器内进行加密/解密,因此不会在块上写入纯文本数据。如果加密是由操作系统完成的,控制器已经接收到加密的数据。
https://security.stackexchange.com/questions/201289
复制相似问题