TrueCrypt 就地系统驱动器加密是如何实现的?

TrueCrypt 就地系统驱动器加密是如何实现的?

TrueCrypt 支持在操作系统运行时加密系统分区。

来自文档

请注意,TrueCrypt 可以在操作系统运行时就地加密现有的未加密系统分区/驱动器(在系统加密期间,您可以照常使用计算机,不受任何限制)。同样,TrueCrypt 加密的系统分区/驱动器可以在操作系统运行时就地解密。您可以随时中断加密或解密过程,使分区/驱动器保持部分未加密状态,重新启动或关闭计算机,然后恢复该过程,该过程将从停止点继续。

问题是 :

它是如何实现的?TrueCrypt 如何使分区的一部分加密,而另一部分不加密?它如何在不断加密未加密部分的同时提供对这两个部分的访问?如果系统试图访问(甚至写入)当前正在加密的数据(从分区的非加密部分转移到加密部分),会发生什么?

答案1

TrueCrypt 会拦截所有读写操作。如果操作的是磁盘未加密的部分,则操作不加密。如果操作的是磁盘加密的部分,则操作加密。同时,未加密部分不断缩小,而加密部分不断扩大,直到整个磁盘都加密。

唯一的怪癖是处理正在加密的块的操作。万一发生这种情况,TrueCrypt 会延迟对块的操作,直到块加密后,再正常处理加密块。

相关内容