使用inode字段存储文件的加密密钥
我正在研究用于文件加密和解密的固有内核功能;具有某些预定义前缀的目录名称将被自动加密。现在我被安全地存储文件的加密密钥,我可以使用任何未使用的inode字段吗?它会高效或请建议任何其他想法。使用inode字段存储文件的加密密钥
将加密密钥存储在加密文件的索引节点中是自欺欺人的 - 您可以使用例如“磁盘编辑器并访问文件内容,从而破坏加密。您需要为此提供一个/ proc接口,以便用户空间可以决定如何提供此密钥(例如,系统会提示用户输入散列密码以获取加密密钥)。
内核不应该在任何地方写入加密密钥,它只能在写入特殊/ proc文件时接收。您可以使用另一个/ proc文件来告诉内核标记加密目录的目录前缀。
如果您需要在文件中存储一些加密元数据(不是加密密钥!),请将其放入eCryptfs的标头中。
扩展属性(可信)呢?我们可以用它来存储密钥吗? –
编号。所有扩展属性(可信,系统等)也可以使用磁盘编辑器读取。将某些信息放在可信的属性中可以防止正在运行的系统中的进程看到它,但不会阻止在另一台计算机或使用Live CD中读取此数据。换句话说,这完全不是根本不加密文件,而是依靠文件权限来限制对文件的访问。 –
你在使用什么文件系统?并非所有的文件系统甚至都有inode。 – Gabe
仅适用于Linux文件系统。 –