尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

SiYuan 加密笔记本深度解析:本地数据加密、密钥管理与隐私保护完全指南

SiYuan 加密笔记本深度解析:本地数据加密、密钥管理与隐私保护完全指南 SiYuan 加密笔记本深度解析本地数据加密、密钥管理与隐私保护完全指南【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuanSiYuan思源笔记是一款开源、隐私优先的自托管知识工作空间其加密笔记本功能可将本地数据全盘加密.sy文档、资源文件、数据库文件和 SQLite 索引在磁盘上全部以密文存储通过主密码和密钥包络机制管理即使设备丢失或磁盘数据被恢复没有主密码也只能看到乱码密文。本文将从加密原理、密钥管理、隐私边界到日常使用习惯带你完整看懂这项隐私保护能力。 什么是加密笔记本你的本地数据保险箱在 SiYuan 中加密笔记本是一种特殊笔记本创建时输入主密码之后该笔记本下的所有内容都加密落盘。它与普通笔记本的关键区别如下维度普通笔记本加密笔记本.sy文档明文 JSON 落盘AES-256-GCM 密文落盘读时透明解密assets 资源文件明文二进制 原始文件名密文存储文件名脱敏原始名加密保存SQLite 索引库写入全局siyuan.db每个加密笔记本独立 SQLCipher 加密库全局搜索 / 关系图参与完全不参与数据物理隔离打开方式直接打开需输主密码解锁约 1 秒密钥派生一句话理解加密笔记本是一个孤岛——数据物理隔离、操作走专用入口、普通笔记本零影响。完整的设计规格见官方文档 docs/ENCRYPTED-NOTEBOOK.zh-CN.md。️ 本地数据加密原理KEK DEK 双层密钥架构SiYuan 加密笔记本采用业界标准的**包络加密Envelope Encryption**架构这也是密钥管理的核心用户主密码 │ Argon2id64MB 内存硬度抗暴力破解 ▼ KEK密钥加密密钥仅存内存用完即弃 │ AES-256-GCM 包络 ├─→ 解开 DEK₁ → 加密笔记本 1 的全部数据 └─→ 解开 DEK₂ → 加密笔记本 2 的全部数据KEK由主密码经 Argon2id 派生OWASP 推荐算法只用于解开各笔记本的 DEK从不触碰数据本身DEK每个加密笔记本独立生成一把 32 字节随机密钥真正用于加密.sy、assets、数据库文件改密码极快修改主密码只需重新包络各 DEK无需重新加密任何文档秒级完成KEK 用完即弃每次解锁都重新派生解锁笔记本 A 绝不影响笔记本 B 的锁定状态隔离性极强。全局密钥参数MasterSalt、KEK 校验器、Argon2 参数由 kernel/conf/notebook_crypto.go 中的NotebookCrypto结构体维护并随conf.json持久化数据文件层面的透明加解密由 kernel/filesys/crypto_hook.go 的DEKProvider回调注入实现——读盘后解密、写盘前加密对上层完全透明密码派生与密钥生命周期管理在 kernel/model/crypto.go 中实现对外 API 入口见 kernel/api/notebook.go。 加密范围全表什么被加密什么不会被类别是否加密保护.sy文档正文含自定义属性✅assets 二进制内容 原始文件名✅数据库数据库文件列/行/视图配置✅content 与 blocktree 两个 SQLite 索引库✅SQLCipher历史目录中的.sy与数据库快照✅密文原样存储conf.json中的 MasterSalt / 校验器❌设计上 salt 不保密verifier 是密文元数据文件数量、目录结构、文件大小、修改时间、资源扩展名❌加密不掩盖元数据值得注意的细节加密笔记本的 SQLite 索引物理独立于全局库siyuan-encrypted-boxID.db因此它天然不参与全局全文搜索、语义搜索、嵌入向量化和关系图——这是数据不进出孤岛的底层保障️ 隐私保护细节隔离设计与安全边界SiYuan 为加密笔记本设计了多层隐私边界详见 docs/ENCRYPTED-NOTEBOOK.zh-CN.md §9-§12、§16跨边界引用被禁止普通 ↔ 加密、加密 A ↔ 加密 B 之间的块引、文档移动、数据库镜像全部被拒绝落库前还会做兜底校验跨边界引用自动降级为纯文本原始文件 API 全拦截/api/file/getFile等通用接口拒绝读写加密笔记本下的任何文件防止密文泄漏或明文破坏AI/LLM 可见性由解锁状态决定锁定后 AI、MCP、智能体均无法读取解锁后与普通笔记本一致——官方建议的安全习惯就一条敏感内容用完即锁重启即锁定DEK 只存在于进程内存应用重启后所有加密笔记本强制关闭需重新输主密码锁定即清理关闭笔记本会撤销受管 DEK 句柄、删除加密 SQLite 库并尽力清理内核管理的明文缓存与临时文件。需要清醒认识到的安全边界加密保护的是静态数据机密性和锁定后的不可达性。解锁期间已授权的应用内调用方API、插件、AI可读明文操作系统交换区、崩溃转储等瞬时副本不在承诺范围内。因此官方建议日常笔记放普通笔记本只把真正敏感的内容隐私日记、财务记录、工作机密、医疗信息放进加密笔记本。 密钥管理备份、跨设备恢复与修改密码忘记密码 数据永久不可恢复没有后门所以密钥备份是密钥管理的第一要务自动备份启用加密或修改密码时整套密钥材料MasterSalt / 校验器 / KDF 参数会刷新到DataDir/.siyuan/notebook-crypto-backup.json并随数据同步进入云端跨设备恢复零操作新设备完成同步后密钥备份自动拉取、内核自动恢复已启用状态直接输主密码即可解锁无需手动启用手动导出/导入在设置 → 访问授权 → 加密笔记本可手动导出/导入密钥备份文件作为同步之外的独立恢复途径跨账号迁移、离线转存备份完整性校验备份文件带 SHA-256 校验和与 KEK HMAC损坏或被篡改会被安全拒绝不会静默放行修改主密码即时完成仅重新包络 DEK备份自动刷新。注意官方明确提示改密不能吊销旧主密码的解密能力若怀疑旧密码泄露应把内容迁移到新建加密笔记本新 DEK。 上手步骤三步启用加密笔记本启用进入设置 → 访问授权 → 加密笔记本打开开关并设置主密码双输入确认 风险确认。建议 12 位以上混合大小写、数字与符号并用密码管理器保存创建在文件面板更多菜单中选择新建加密笔记本输入名字 主密码自动解锁并打开日常使用点击锁定的笔记本 → 输主密码 → 等待约 1 秒Argon2id 派生→ 打开关闭笔记本即锁定。用完即锁是最重要的安全习惯。导入.sy.zip/ Markdown 会自动加密落盘导出需先解锁、导出的是明文锁定状态下拒绝导出。功能上需注意的边界加密笔记本不支持闪卡、书签、标签和资源文件重命名详见设计文档 §14 功能限制。✅ 总结一张表看懂 SiYuan 加密笔记本关注点结论加密算法AES-256-GCM数据 Argon2id密钥派生 SQLCipher索引库密钥架构主密码 → KEK内存→ 每笔记本独立 DEK改密秒级隐私边界孤岛式隔离不进全局搜索/关系图/AI 嵌入跨边界操作全部拒绝恢复能力密钥备份随同步自动分发跨设备零操作恢复主密码丢失不可恢复适合场景隐私日记、财务/医疗记录、工作机密不适合场景需要全局搜索、跨笔记本引用的日常知识网络SiYuan 的加密笔记本用包络加密 物理隔离 尽力清理三件套在完全本地的前提下提供了接近企业级的数据保护——这也是其隐私优先、自托管定位的核心体现。更多项目介绍可参阅 README.zh-CN.md密钥与同步相关实现见 kernel/model/conf.go 与 kernel/conf/box.go。【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表