安全
我们如何保护 你的数据。
ErtiNote 的设计目标是:即使保险库文件被盗或泄露,没有你的主密码也毫无用处。下面介绍它的工作原理——以及它的保护止于何处。
状态:ErtiNote 正在开发中。其代码和密码学实现尚未接受任何独立审计。
原则
本地优先
你的保险库是你设备上的一个文件,应用也不发出任何网络请求。
加密一切
内容、名称、文件夹结构和条目数量均会加密,而不仅仅是笔记的文本。
不自创加密算法
仅使用来自 RustCrypto 项目的成熟开源密码学原语。
没有后门
你的主密码从不存储。任何人,包括我们,都无法找回它。
安全失败
损坏或被篡改的数据会被检测出来,绝不会被悄无声息地交出。
说明我们不做什么
局限与保护措施记录得同样清楚。
密码学
- 加密
- XChaCha20-Poly1305,每次加密均使用新的随机 192 位 nonce
- 由密码派生密钥
- Argon2id v1.3,默认 128 MiB 内存、3 轮、4 条并行通道
- 子密钥
- HKDF-SHA-256
- 随机数
- 操作系统提供的密码学安全随机数生成器
- 文件
- 1 MiB 块,每块单独加密和认证;导出前校验 SHA-256
数据密钥使用由你的主密码派生的密钥进行封装。解锁后,密码和中间密钥会从应用核心的内存中清除。
ErtiNote 能防范什么
保险库文件被盗或泄露
无论来自 U 盘、云文件夹还是磁盘备份:内容、名称、文件夹结构和条目数量均已加密,且 Argon2id 会拖慢密码猜测。
篡改和损坏
对文件、其分区或分区顺序的任何更改,都会在解密时被检测出来。
写入中断
带校验的原子写入确保保险库在断电或磁盘已满时也不会处于写了一半的状态。
恶意内容
笔记中的原始 HTML 不会被渲染,远程图片不会被加载,归档路径也无法逃逸出目标文件夹。
回滚
如果在同一台电脑上,保险库被替换为它自身的旧版本,ErtiNote 会向你发出警告。
保护止于何处
设备已被入侵
以你的身份运行的恶意软件——键盘记录器、录屏程序、内存读取工具——可能会截获你的密码或已打开的保险库。
弱密码
Argon2id 能拖慢猜测,但无法挽救过短或常见的密码。
内存与交换空间
操作系统可能会将内存内容写入磁盘。请使用 FileVault、BitLocker 或 LUKS 等全盘加密。
剪贴板与导出
复制的文本以及导出或在外部打开的文件会离开保险库,不再受其保护。
文件元数据
保险库的总大小、修改时间、名称和位置是可见的,块数量也会暴露文件的大致大小。
整理前的已删除数据
已删除的条目在保险库完成空间整理之前,仍会以加密形式保留在文件中。
本网站
本网站是静态网站。它不设置 Cookie,不运行任何分析或跟踪脚本,也不加载任何第三方资源;字体由我们自己的服务器提供。它在你的浏览器中存储的仅有你的主题,以及(如果你选择了)你的语言。
ErtiCloud Backup(计划中)
计划中的备份服务遵循同样的原则进行设计:备份在上传前于你的设备上加密,且该服务完全可选。我们会在其推出前公布它的安全设计。