Парольная политика (ADR-013) и привязка экспорта к аккаунту (ADR-014)

ADR-013: PBKDF2-HMAC-SHA256 ≥600k итераций (цель 1M), параметры KDF
версионируются рядом с блобом; пароль от 12 символов, длина важнее
состава. ADR-014: парольная фраза экспорта отменена, ключ экспорта —
HKDF от 32-байтового секрета аккаунта из ключевого блоба; архив .bare
криптографически бесполезен вне аккаунта-владельца. Перекрёстно
обновлены ADR-006, ADR-010, architecture, threat-model; в открытые
вопросы добавлен серверный «перец» для блоба.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SW4ZXtKn5NjX8NH3Lhm2ND
This commit is contained in:
Claude
2026-08-20 09:41:33 +00:00
co-authored by Claude Fable 5
parent 700256c8ef
commit b9bf4ea04e
7 changed files with 55 additions and 5 deletions
+3 -1
View File
@@ -24,10 +24,12 @@
**Компрометация устройства.** История лежит на устройстве в открытом виде (IndexedDB). Доступ к устройству — доступ к истории. Защита устройства — зона ответственности пользователя и ОС.
**Слабый пароль.** Пароль — материал ключа. Ключевой блоб хранится на сервере, и его стойкость к оффлайн-перебору равна стойкости пароля. Слабый пароль ослабляет и вход, и шифрование.
**Слабый пароль.** Пароль — материал ключа. Ключевой блоб хранится на сервере, и его стойкость к оффлайн-перебору равна стойкости пароля. Гарантия «оператор не читает сообщения» действует в пределах стойкости пароля пользователя: слабый пароль слабое E2EE. Это осознанная цена парольного мультидевайса. Контрмеры (ADR-013): PBKDF2-HMAC-SHA256 с не менее чем 600 000 итераций, пароль от 12 символов, рекомендация парольной фразы в UI.
**Собеседник.** E2EE не защищает от участника чата: получатель может сохранить, переслать, сфотографировать. «Удалить у всех» после доставки не существует.
**Сам владелец истории.** Привязка экспорта к аккаунту (ADR-014) защищает файл, а не содержимое от владельца. Пользователь, желающий отдать переписку третьему лицу, сделает это скриншотами или модифицированным клиентом — «аналоговая дыра» криптографией не закрывается. К тому же у собеседников есть собственные копии тех же сообщений. Смысл привязки: перемещённый — случайно или злонамеренно — файл `.bare` бесполезен для посторонних.
## Осознанные пределы v1
**Forward secrecy отсутствует.** Компрометация приватного ключа пользователя раскрывает ранее записанные атакующим шифротексты его чатов 1:1. Осознанный non-goal v1.