1
0
Fork 0
mirror of https://github.com/anyproto/docs.git synced 2025-06-08 05:47:05 +09:00

Create how-we-keep-your-data-safe.md

This commit is contained in:
TamerlanPRO 2024-09-04 08:40:34 +04:00 committed by GitHub
parent 806868723c
commit 41668e6bc8
Signed by: github
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,27 @@
# Конфиденциальность и Шифрование
### Конфиденциальность <a href="#privacy" id="privacy"></a>
Все ваши данные в Anytype являются частными. Только у вас есть ключи шифрования. Никто в Anytype не может расшифровать ваши данные. Поэтому, если вы потеряете свою фразу восстановления, мы не сможем восстановить доступ. Также никто в Anytype или любой другой человек не может прочитать содержимое вашего Anytype.
### Шифрование <a href="#keychain" id="keychain"></a>
* Ваши объекты хранятся как локально, так и на узлах в зашифрованном формате, который может быть расшифрован только с помощью ключей шифрования. Они разные для каждого документа, и у нас есть определенная иерархия ключей.
* Чтобы эффективно искать по документам, мы создаем индексы ваших данных локально на основе зашифрованных объектов. Представьте, что это два разных хранилища: одно для данных, другое для индексов. Мы расшифровываем эти зашифрованные объекты на лету с помощью ваших ключей, выполняем некоторую логику и затем сохраняем результаты (т.е. индексы) локально. Эти индексы не зашифрованы, но мы предполагаем, что только у вас есть доступ к вашим локальным данным, т.е. доступ к вашему локальному компьютеру не скомпрометирован.
* Эти индексы не синхронизируются нигде и остаются только на вашем компьютере. Например, если у вас два устройства, у каждого из них будет свое собственное хранилище индексов.
{% hint style="danger" %}
Мы предполагаем, что машина пользователя не скомпрометирована и надежна. По сути, если устройство скомпрометировано, существует множество векторов атак, включая сканирование ОЗУ и кейлоггинг фразы-пароля, что делает локальное шифрование намного менее полезным. Мы обязательно добавим дополнительное шифрование позже. **На данный момент мы рекомендуем включить шифрование HDD и пароль на устройстве.**
{% endhint %}
#### Технические детали <a href="#tech-details" id="tech-details"></a>
Вот некоторые технические детали о шифровании и хранении данных:
* Anytype хранит историю изменений для каждого объекта, который вы создали.
* Каждое изменение объекта имеет 2 уровня шифрования с разными ключами.
* Первый уровень используется для связывания изменений в рамках одного объекта, например, "все эти зашифрованные данные принадлежат объекту с id \<abc>".
* Второй уровень используется для шифрования фактических данных. Мы используем AES с потоковым шифрованием в режиме CFB.
* Когда вы создаете новое изменение для объекта, мы периодически отправляем его на наш резервный узел (только с ключом первого уровня). Больше информации о синхронизации [здесь](https://tech.anytype.io/any-sync/overview).
* Резервные узлы Anytype имеют доступ к ключу первого уровня, поэтому они могут группировать изменения для объекта и отправлять их в одном пакете, когда вы хотите восстановить свои данные.
* Резервные узлы Anytype НЕ имеют доступа к ключу второго уровня [what-is-a-recovery-phrase.md](what-is-a-recovery-phrase.md "mention"), поэтому они не могут прочитать фактические изменения данных.