Foxtrot 1.0.0.2265稳定版:双缓冲透明加密驱动开发文档

需积分: 0 3 下载量 17 浏览量 更新于2024-06-30 收藏 832KB PDF 举报
"FOKS-TROT开发文档1" 本文档详细介绍了名为Foxtrot的实验性项目,这是一个基于minifilter框架的透明加密解密过滤驱动程序。Foxtrot旨在自动加密和解密特定文件扩展名(如txt和docx)的文件,仅允许授权进程读取和解密文件,而对非授权进程则显示密文并阻止其修改。 1. 双缓冲机制:Foxtrot使用双缓冲技术,确保授权进程与非授权进程分别拥有明文缓冲和密文缓冲,以实现透明加密和解密。这样可以保证只有经过验证的进程才能访问原始数据。 2. StreamContext与文件标识:驱动程序通过StreamContext存储运行时的文件信息,并在文件尾部添加4KB的文件标识尾部,用于存储解密所需的数据。 3. AES-128 ECB模式:加密过程采用AES-128的ECB(电子密码本)模式。针对小于16字节的文件,会在写入时扩展到16字节,而大于16字节的文件,则利用Ciphertext stealing方法解决块对齐问题。 4. 透明加密解密:在写入(Write)和读取(Read)操作中,通过SwapBuffers方法实现文件内容的加密解密,使得对文件的操作对用户来说是透明的。 5. 特权加密解密:特权加密和解密功能利用重入(Reentry)技术,允许驱动程序在不中断正常操作的情况下加密或解密文件。 6. 文件重命名处理:针对某些应用程序(如Office文档)使用临时文件(tmp)进行读写的情况,Foxtrot在FileRenameInformationEx和FileRenameInformation操作时进行处理,自动加密或解密这些文件。 7. 进程管理:通过注册进程回调并使用链表统一管理授权和非授权进程,同时保护EPROCESS和ETHREAD对象,确保系统的安全性和稳定性。 8. 安全性考虑:Foxtrot项目还关注进程和线程对象的安全,注册相应的回调函数来保护系统关键组件,防止未经授权的访问或修改。 需要注意的是,由于Foxtrot是一个实验性项目,可能存在理解和实现上的偏差,作者提醒读者谨慎对待并遵循开源协议。当前发布的1.0.0.2265版已在Windows 10 x64系统上稳定运行,但不支持先前版本驱动加密过的文件。作者在不断改进和完善项目,以提供更稳定的功能。