2.2.8 笔记加密

Trilium 旨在存储各种数据,包括个人日记、凭据或机密文件等敏感信息。为了保护此类内容,Trilium 提供了保护笔记的选项,其中包括以下措施:

  • 加密:受保护的笔记使用从您的密码派生的密钥进行加密。这确保了如果没有正确的密码,受保护的笔记仍然无法破译。即使有人获得了对您的 Trilium 数据库的访问权限,他们也无法阅读您的加密笔记。

  • 时访问:要访问受保护的笔记,您必须首先输入密码,这会解密笔记以进行读写。但是,在指定的闲置时间(默认为 10 分钟)后,笔记将从内存中卸载,需要您重新输入密码才能再次访问它。

    • 当您与受保护的笔记交互时,会话超时会自动延长,因此如果您正在主动编辑,会话将保持打开状态。但是,如果您切换到未受保护的笔记,则会话计时器将启动,并且会话将在 10 分钟不活动后过期,除非您返回到受保护的笔记。

  • 保护范围:受保护的笔记确保其内容的机密性和部分完整性。虽然未经授权的用户无法读取或编辑受保护的笔记,但他们仍然可以将其删除或移动到受保护的会话之外。

 

使用受密码保护的笔记

默认情况下,笔记不受保护。要保护笔记,只需单击笔记标题旁边的盾牌图标,如下所示:

什么是加密?

Trilium 对受保护笔记中的数据进行加密,但不加密其元数据。具体说来:

加密:

  • 笔记标题

  • 笔记内容

  • 图像

  • 文件附件

未加密:

  • 注释结构(即,仍然可见存在受保护的注释)

  • 元数据,例如上次修改日期

  • 属性

加密详细信息

以下步骤概述了 Trilium 中的加密和解密工作原理:

  1. 用户输入密码。

  2. 密码与“密码验证”一起通过 scrypt 算法传递,以确认密码正确无误。

  3. 然后通过带有“加密”盐的 scrypt 再次处理密码,从而生成哈希值。

  4. 生成的哈希值用于解密实际的数据加密密钥

    • 数据加密密钥使用 AES-128 和随机 IV 进行加密。

    • 数据加密密钥在数据库初始化期间随机生成,并在文档的整个生命周期内保持不变。更改密码时,仅重新加密此密钥。

  5. 然后使用数据加密密钥来解密笔记的实际内容,包括其标题和正文。

    • 使用的加密算法是具有 CBC 模式的 AES-128,其中为每个加密作生成一个唯一的 IV 并与密文一起存储。

共享受保护的笔记

受保护的笔记不能像普通笔记那样共享。它们的加密确保只有具有正确密码的授权用户才能访问它们。

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录关闭