summaryrefslogtreecommitdiff
path: root/pages/features/cryptography/ru.text
diff options
context:
space:
mode:
Diffstat (limited to 'pages/features/cryptography/ru.text')
-rw-r--r--pages/features/cryptography/ru.text54
1 files changed, 0 insertions, 54 deletions
diff --git a/pages/features/cryptography/ru.text b/pages/features/cryptography/ru.text
index 3c4b419..a96a9ef 100644
--- a/pages/features/cryptography/ru.text
+++ b/pages/features/cryptography/ru.text
@@ -41,44 +41,6 @@ h2. Транспорт - TLS
Все TLS-соединения используют шифры PFS.
-h2. Хранение - Soledad
-
-Приложение Bitmask хранит свои данные в [[Soledad => https://leap.se/soledad]], который занимается шифрованием этих данных, надежно делает их резервные копии и синхронизирует их между устройствами пользователя. В Soledad локальное хранилище использует симметричное блочное шифрование всей базы данных с использованием единственного ключа. Для данных, хранящихся удаленно, каждый отдельный документ отдельно шифруется с использованием ключа, уникального для этого документа.
-
-Оба ключа для локального и удаленного хранилищ получаются из главного "секретного значения хранилища". Это длинное случайное секретное значение хранилища хранится на диске локально, защищенное симметричным шифрованием с помощью ключа, полученного из пароля пользователя (scrypt используется в качестве функции формирования ключа).
-
-На данный момент параметры scrypt такие:
-
-bc. N (параметр стоимости соотношения время/память) = 2^14 = 16384
-p (степень параллельности) = 1
-r (длина блока, перемешиваемого SMix()) = 8
-dkLen (длина выходного ключа) = 32 байта = 256 бит
-
-Мы рассматриваем использование большего значения для N.
-
-*Локальное хранение*
-
-p((. Локальная база данных SQLite с блочным шифрованием использует @AES-256-CBC@, используя первые 256 бит [@storage_secret@]. Смотрите https://github.com/kalikaneko/python-u1dbcipher и http://sqlcipher.net.
-
-*Удаленное хранение*
-
-p((. Подокументное шифрование документов, хранящихся удаленно, использует симметричное шифрование с AES-256-CTR или шифр XSalsa20, использующий 256-битные ключи. Для этого используется библиотека pycryptopp. Ключ и MAC, используемые для шифрования каждого отдельного документа, получаются следующим образом:
-
-<pre style="margin-left: 2em">
-storage_secret_a = первые 256 бит секретного значения хранилища
-storage_secret_b = все после первых 256 битов секретного значения хранилища
-document_key = hmac(document_id, storage_secret_b)
-document_mac = hmac(document_id | document_revision | iv | ciphertext, hmac(document_id, storage_secret_a)
-</pre>
-
-p((. Каждый документ имеет свой собственный ключ. [@document_revision@] в MAC документа предотвращает откат к старой версии документа. HMAC использует SHA256.
-
-p((. Некоторые документы в удаленном хранилище данных пользователя добавляются провайдером, например, в случае нового входящего сообщения электронной почты. Эти документы используют асимметричное шифрование, с каждым документом, зашифрованным с использованием пользовательского открытого OpenPGP-ключа. Библиотекой, которую мы используем для этого, является [[форк Айсис python-gnupg => https://github.com/isislovecruft/python-gnupg]]. Эти документы лишь временно хранятся пободным образом: как только клиент увидит их, они остаются в незашифрованном виде и повторно шифруются с использованием других методов.
-
-*Транспорт*
-
-p((. TLS, как описано выше. Скоро будет CurveZMQ.
-
h2. Зашифрованный туннель - OpenVPN
OpenVPN имеет три параметра, которые управляют тем, какие шифры он использует (есть и четвертый, @--tls-auth@, но мы не можем его использовать в публичном многопользовательском окружении). Каждый провайдер может легко выбрать любые опции по своему желанию. Ниже приведены текущие значения по умолчанию, которые идут с leap_platform.
@@ -127,24 +89,8 @@ Bitmask пока не поддерживает ECC ключи.
Bitmask использует GnuPG. Библиотекой python, которую мы используем, является [[форк Айсис python-gnupg => https://github.com/isislovecruft/python-gnupg]].
-h2. Безопасные обновления - TUF
-
-Безопасные обновления осуществляется с помощью [[TUF => http://theupdateframework.com/]], они используют 4096-битные RSA-ключи OpenSSL с pyCrypto. Существует три ключа, участвующие в процессе обновления (корневой, целевой и временной метки).
-
-* Корневой ключ используется для подтверждения остальных ключей, которые живут в автономном хранилище и используются только один раз в год, чтобы обновить сертификацию или в случае ротации другого ключа.
-* Целевой ключ используется для подписи всех обновлений. Этот ключ находится в руках менеджера версий и используются для каждой версии приложения.
-* Ключ временной метки используется для подписи временной метки файла каждый день, этот файл используется клиентом, чтобы предотвратить противника от воспроизведения устаревших обновлений. Этот ключ живет онлайн на серверах платформы.
-
h2. Разное
h3. OpenSSH
По умолчанию, все серверы используют RSA-ключи хостов вместо ECDSA. Если у хоста ECDSA-ключ, платформа предложит системному администратору перейти на RSA. В будущем, когда Curve255219 будет лучше поддерживаться, платформа будем поощрять переход на 25519.
-
-h3. DNSSec
-
-Будет написано.
-
-h3. StartTLS + DANE
-
-Будет написано. \ No newline at end of file