fscrypt:只给手机里的某个文件夹加密,系统怎么做到?
TL;DR
Linux fscrypt 在支持的文件系统中为目录树、文件内容和文件名提供文件级加密。它与整盘加密保护的范围不同,也不会隐藏所有文件系统元数据;本文从解锁密钥说到备份与恢复的边界。
Linux fscrypt 在支持的文件系统中为目录树、文件内容和文件名提供文件级加密。它与整盘加密保护的范围不同,也不会隐藏所有文件系统元数据;本文从解锁密钥说到备份与恢复的边界。

整盘加密很像给整栋房子装上一把总锁:设备关机或磁盘被拆走时,锁住的范围很大。但有时系统希望更细地管理数据,例如只保护某个用户目录,或者在设备已解锁时仍让不同应用的文件按密钥策略隔开。Linux 的 fscrypt 就是面向支持文件系统的文件级加密框架。
加密发生在文件系统这一层
应用照常打开、读取和写入文件;文件系统在数据落到存储设备之前,根据目录策略和密钥完成加解密。fscrypt 可以保护文件内容,也能对文件名进行加密。密钥可由用户空间提供,再交给内核管理;目录策略决定新建文件如何继承加密设置。
可以把它想成带锁的文件柜,而不是整间仓库封死。你打开柜门并提供密钥后,应用仍以普通文件路径访问内容;数据写入底层存储时则以加密形式保存。对移动设备、用户目录和应用私有数据而言,这种透明性让上层软件不必自己实现整套磁盘加密流程。
文件加密不等于所有信息都消失
文件系统需要保留一些管理信息才能工作。即便文件内容和文件名受到保护,目录结构、文件大小、修改时间、访问模式或其他元数据是否暴露,仍取决于具体文件系统和实现。fscrypt 也不等于整盘加密:没有被加密策略覆盖的文件或分区仍可能以明文存储。
密钥管理同样是安全边界的一部分。设备运行且密钥已加载时,拥有相应权限的软件仍可能访问明文;若忘记密钥、没有正确备份恢复凭据,数据可能无法找回。加密能降低设备丢失、存储介质被离线读取的风险,却无法阻止已登录账户被恶意软件滥用。
实践中,使用前要确认文件系统支持 fscrypt、内核与用户空间工具配置正确,并理解目录策略如何继承。备份时也要考虑密钥恢复。把 fscrypt 看作“文件系统提供的一种数据静态保护机制”,比把它叫作“给文件加锁后万事无忧”更准确。



