# 概述
为了你的数据安全,[[Obsidian 官方同步]]在所有设备间的数据传输都进行了加密,也就是[[端到端加密]]。任何人、任何设备要访问你的[[远程仓库(Obsidian)|远程仓库]],他们必须知道你的仓库密码。
# 加密方案
为了保障数据安全,我们使用了满足行业标准的加密协议。具体来说,我们使用 [AES-256](https://www.nist.gov/publications/advanced-encryption-standard-aes-0) 标准,这是最强大的加密标准,在银行等领域被广泛应用。具体来说,加密过程涉及以下两步:
- **密钥生成算法:** 参见 [scrypt](https://en.wikipedia.org/wiki/Scrypt)
- **加密算法:** 使用 [Galois/Counter Mode (GCM)](https://en.wikipedia.org/wiki/Galois/Counter_Mode) 的 AES-256
# 自定义加密
当你新建远程仓库时,你有两个选项:
- **自定义端到端加密:** 开启该选项后,Obsidian 在将仓库数据发送到 Obsidian 服务器之前,将使用你设置的加密密钥对数据进行加密,随后再进行传输。这将使得没有密码的任何用户、设备都无法查看你的笔记(包括 Obsidian 团队)。
- **托管加密:** 如果你觉得自定义加密过于麻烦,不想记住这个密码,你也可以让 Obsidian 来托管加密。Obsidian 会在保证安全和隐私的同时,尽可能方便你的操作。
如果你忘记了自定义的加密密码,你的数据将永远保持加密状态。我们无法为你找回密码,或者为你提供数据解密服务。
以上选项仅影响远程仓库,本地仓库不会受到加密影响。
# 验证
如果想验证数据是否进行了端到端加密,可以见 [如何验证 Obsidian 官方同步的端到端加密](https://obsidian.md/blog/verify-obsidian-sync-encryption/)这篇指南。该指南提供了详细的操作说明。
# 注意事项
如果使用了自定义密码,但又忘记了加密密码,该远程仓库将永远无法被其他本地仓库连接。
但是,各设备的数据仍然会安全地存储在该设备上。
在这种情况下,为了继续使用官方同步,建议你重新设置同步:
1. **在经常使用该仓库的设备上对仓库进行完整备份,以防数据丢失。** 这可以是简单地复制仓库文件夹,或者为仓库文件夹创建一个 zip 文件。
2. 在每台设备上断开远程仓库的连接。这可以通过转到**设置 → 同步 → 远程仓库 → 断开同步**来完成。
3. 点击**管理**,创建一个新的远程仓库。随后你可以选择删除之前的远程仓库,因为没有密码就无法继续使用。(如果你已达到仓库数量限制,就必须删除之前的远程仓库才能创建新仓库。)
4. 等待同步。此时你可以观察屏幕右下角的同步符号,直到它变为绿色勾号。
5. 将其余设备连接到新创建的远程仓库。在连接时,Obsidian 会进行仓库合并的警告,这是正常的,你可以继续合并。随后,设备就会连接并同步新远程仓库上的内容。
6. 现在你的所有设备应该都已经连接到新的远程仓库。