1
0
Fork 0
mirror of https://github.com/anyproto/docs.git synced 2025-06-07 21:37:03 +09:00
docs/zh-CN/data-and-security/how-we-keep-your-data-safe.md
Gitbreast 4e2c2c5157
Completely Simplified Chinese translation for current docs. (#37)
* Completely Simplified Chinese translation for current docs.

* Added roland's intro to SUMMARY.md

* Correct the translation about relative path in CONTRIBUTING.md.

* Correct the translation about local encryption following the main branch.
2024-03-05 12:42:33 +02:00

2.7 KiB
Raw Blame History

隐私与加密

隐私

在 Anytype 中你的所有数据都是保密的。只有你才拥有加密密钥。Anytype 的任何人都无法解密你的数据。因此如果你丢失了短语我们无法恢复你的访问权限。同样Anytype 的任何人或其他任何人都无法读取你的 Anytype 内容。

{% hint style="info" %} 由于 Anytype 的特性,你无法使用 Syncthing 或 iCloud 等服务来同步随时准备编辑的对象。 {% endhint %}

加密

  • 你的对象以一种加密格式存储在本地和节点上,只有使用加密密钥才能够解码。每个文档的加密密钥都不一样,我们有某种密钥层次结构。
  • 为了能够高效地搜索文件,我们会基于被加密的对象在本地创建你的数据的索引。这就好比两个不同的存储空间:一个存储数据,另一个存储索引。我们使用你的密钥对这些加密对象进行即时解密,执行一些逻辑,然后将结果(也即索引)保存在本地。这些索引没有被加密,但这里我们假定只有你才能访问本地数据,也就是说,你本地计算机的访问权限没有泄露。
  • 这些索引不会同步到任何地方,只会保存在你的电脑上。例如,如果你有两台设备,每台设备都有它自己的索引存储空间。

{% hint style="danger" %} 在这里,我们有一个前提条件,就是用户的机器没有被入侵,并且是可信任的。基本上,如果设备被入侵,就会有很多攻击媒介,包括 RAM 扫描和密码键盘记录,这会使得本地加密的作用大打折扣。我们之后一定会进行额外的加密。目前,我们建议开启硬盘加密和设备密码。 {% endhint %}

技术细节

下面是一些关于加密和数据存储的技术细节:

  • Anytype 存储你创建的每个对象的历史更改记录。
  • 每个对象的更改,都有 2 个具有不同密钥的加密层。
  • 第一层用于连接对象内部的更改,例如“所有这些加密数据都属于 id 为 <abc> 的对象”。
  • 第二层用于加密实际数据。我们使用带有 CFB 模式的 AES 流加密。
  • 当你为一个对象创建一个新更改时,我们会定期将其发送到我们的备份节点(仅使用第一层密钥)。有关同步的更多信息,见 此处
  • Anytype 备份节点可以访问第一层密钥,因此它可以将对象的更改分组,并在你要恢复数据时将它们打包发送。
  • Anytype 备份节点无法访问第二层密钥,因此无法读取数据的实际更改。