Cipher Personality
Персонализированный профиль защиты, который Вы настраиваете при установке. Знает, какие факторы применять к Вам, в каком порядке, с какими порогами. Никогда не покидает Ваши два устройства. Оборачивает всё, что ниже.
Политика приватности — это слова на странице; архитектура — это структура из невозможностей. DevoraX2 построена так, что даже если бы я захотел прочитать Ваши сообщения — я не смог бы. Страницы ниже открыто описывают каждый слой, делающий это утверждение истинным.
Я не прошу Вас доверять моим намерениям. Я прошу Вас доверять структуре — и я публикую каждую её часть, чтобы доверие можно было проверить.
DevoraX2 построена в пять слоёв, сложенных так, что каждый из них касается только непосредственного соседа. Ни один слой не может читать тот, что над ним. Прорыв одного слоя не распространяется вверх. В этом и весь смысл стека.
Персонализированный профиль защиты, который Вы настраиваете при установке. Знает, какие факторы применять к Вам, в каком порядке, с какими порогами. Никогда не покидает Ваши два устройства. Оборачивает всё, что ниже.
Сам мессенджер: чаты, звонки, Миры, настройки. Касается Personality сверху и Cross-Guard снизу. Никогда не видит сырого криптографического материала. Говорит только непрозрачными токенами.
А структура внутри — Ваша. То, что я называю «Мирами», Вы можете переименовать как угодно — уровни, глубину, логику вложенности рисуете Вы. Эта схема шифруется на Вашем устройстве, как ключи. Моё реле видит только непрозрачные UUID и запечатанные блобы; оно никогда не узнаёт, что один блоб — это «Мир», а другой — «Топик». Смысл живёт только на Вашем устройстве. Я называю этот слой Personal Structure Schema (PSS) — защита разнообразием, потому что нет двух одинаковых структур, и эксплойт, заточенный под одного пользователя, ничего не находит у другого.
Подписывает каждое чувствительное действие между Устройством A и Устройством B. Живёт между приложением и криптографическим ядром — не может расшифровать то, что подписывает, и не может подписать то, что расшифровывает. Свой ключ для каждого действия.
PQXDH обмен ключами + ML-KEM-1024 (постквантовый), Double Ratchet (прямая и будущая секретность), ChaCha20-Poly1305 (аутентифицированное симметричное шифрование), Sealed Sender (приватность метаданных). Единственный слой, который касается открытого текста. Всё, что выше, непрозрачно для самого себя.
Запечатанные пакеты между устройствами и моим реле. WebSocket, QUIC, fallback на HTTPS. Транспортный слой не может читать криптографическое ядро над собой — он видит только шифротекст, адресованный непрозрачным сессионным токенам.
Топология рантайма имеет трёх живых участников — Устройство A, Устройство B и реле (которое я называю «сервером»). У каждого узла точная область того, что он знает, и явная граница того, чего он не может.
Все Ваши сообщения, контакты, ключи, настройки. Расшифровывает входящие и шифрует исходящие. Держит рантайм.
Менять пароли, спаривать устройства, отключать режимы, экспортировать архивы или удалять Cross-Guard в одиночку.
Запечатанные пакеты, непрозрачные сессионные токены, пинги присутствия. Маршрутизирует зашифрованные блобы с одного непрозрачного адреса на другой.
Читать содержимое сообщений, видеть кто с кем говорит (идентичность отправителя запечатана), подделывать подписи или изменять рукопожатия Cross-Guard. Не «не будет». Не может.
Запросы на чувствительные действия от A. Их подписи, контексты, метки времени. Одобряет, отклоняет, замораживает, стирает, перевыпускает.
Держать постоянную копию всех сообщений, действовать в чате в реальном времени. Это власть, а не рантайм.
Хранилище — не живой участник — оно спит, ожидая. Получает непрерывные и панические бэкапы от Устройства A, запечатанные сквозным шифрованием с ключами, которые можете вывести только Вы. Мой сервер не может прочитать хранилище; провайдер хранилища не может прочитать содержимое. Вы выбираете его местоположение при установке (см. Раздел V ниже).
Ядро построено из стандартных, хорошо проверенных криптографических примитивов. Ни один из них не нов. Новизна в криптографии — самая дорогая фича из существующих, и я не буду оплачивать этот счёт Вашими данными.
Гибрид: классическое и постквантовое одновременно. Противник должен победить оба, чтобы вывести сессионный ключ — один из них не имеет известной квантовой атаки.
Новый ключ для каждого сообщения; предыдущий уничтожается при использовании. Компрометация ключа одного сообщения раскрывает только это сообщение.
Тот же шифр, которому доверяют Signal, WireGuard и TLS 1.3 по всему миру. Один бит, перевёрнутый в передаче, вызывает громкий отказ.
Моё реле не узнаёт, кто с кем говорит — только что два непрозрачных сессионных токена обмениваются пакетами. Граф отношений никогда не существует на моей стороне.
Каждое устройство несёт один долгосрочный ключ идентичности. Приватная половина никогда не покидает устройство; публичная — это то, против чего другие устройства проверяют при открытии сессии.
Используется для адресации содержимого зашифрованных блобов и обязательств целостности в журнале аудита. Быстрый, параллельный и современный — преемник BLAKE2 из той же семьи проверенных хеш-дизайнов.
Разблокировка хранилища и материал GraphPIN проходят через Argon2id, прежде чем когда-либо коснутся симметрического ключа. Подбирающий атакующий платит полную стоимость памяти за попытку — brute force масштабируется железом, а не терпением.
Склеивает вывод гибридного KEM в сессионный ключ, со своей меткой на каждый шаг ratchet. Тот же примитив, что выводит сессионные ключи в TLS 1.3. Простой, проверенный, трудно злоупотребить, когда метки записаны.
Полный разбор — четырёхслойное крипто-погружение живёт в Security · 01 · Шифрование →
Большинство мессенджеров честны в том, что они делают, и молчат о том, что могли бы. Я делаю наоборот: громко говорю, что невозможно по замыслу. Если бы вся моя инфраструктура была взломана завтра — вот что унёс бы с собой атакующий.
Хранилище — это место, где живут Ваши непрерывные бэкапы и панические снимки. Оно никогда не расшифровывается вне Ваших устройств — а значит, я могу предложить пять разных мест размещения хранилища, ничего не теряя из модели безопасности. Место — это удобство. Шифрование — постоянная.
Размещено у меня, на инфраструктуре, которой я управляю. Запечатано сквозным шифрованием — я хостаю непрозрачные блобы. Самая простая настройка, без зависимостей.
Доступно · Фаза IIНебольшой демон, который Вы запускаете на своём VPS, NAS или домашнем сервере. Непрозрачные блобы никогда не покидают инфраструктуру, которую Вы контролируете.
Следующее · Фаза IVБэкапы запиннены в IPFS через Pinata, Filebase или Ваш собственный узел. Адресуемые содержимым, реплицируемые, цензуроустойчивые.
Следующее · Фаза IXПериодические офлайн-записи на устройство с аппаратной защитой (USB-enclave, выделенный SSD). Air-gapped во время окон атаки.
Будущее · Фаза XIVХранилище, размещённое организацией, к которой Вы принадлежите (компания, издание, коалиция). Тот же протокол, локальное управление.
Будущее · Фаза XVУ каждой безопасной системы есть модель доверия — список вещей, которые, если скомпрометированы, система предполагает, что они не таковы. Большинство компаний размывают этот список. Я перечисляю его явно: чему я доверяю, чему — нет, и почему.
Signal Protocol. ML-KEM-1024. ChaCha20-Poly1305. Стандартное, рецензированное, проверенное десятилетиями. Если математика падёт, вся область падёт раньше меня.
Каждая строка криптографической реализации опубликована, проверена и собирается воспроизводимо. Я доверяю тому, что Вы можете проверить, а не тому, что я обещаю.
Пара, которую Вы настроили. Я доверяю им по замыслу — это единственные места, где когда-либо живёт открытый текст. Если оба скомпрометированы одновременно, модель ломается; именно поэтому существует Cross-Guard, именно поэтому существуют Режимы.
Слова, которые Вы записали на бумаге при установке. Я доверяю Вам хранить их там, куда я не могу дотянуться. Система, которой не нужен мастер-ключ, делегирует весь суверенитет Вам.
Мне не нужно быть достойным доверия, чтобы это работало. Я мог бы быть злонамеренным, небрежным, вызванным повесткой или несостоятельным — архитектура означает, что я не могу прочитать Ваши сообщения в любом случае. Смысл дизайна — убрать себя из Вашего списка доверия.
Тот, кто хостит моё реле, видит только запечатанные пакеты. Не может читать содержимое, не может идентифицировать, кто с кем говорит. Взлом моего хостинг-провайдера даёт зашифрованный шум.
Я не могу передать то, чего у меня нет. Повестки дают шифротекст. Кляп-ордера не могут заставить меня прочитать файл, от которого у меня нет ключа. Архитектура — это юридический ответ.
Privacy-продукт, игнорирующий собственные режимы отказа, — это продукт, который о них не подумал. Я подумал. Вот три самых значимых поломки — и то, что их переживает.
Что, если компания DevoraX2 исчезнет завтра?
→ ОтветМессенджер продолжает работать между сопряжёнными устройствами. Ваше хранилище остаётся доступным — если Вы self-host, бессрочно; если использовали моё облако — пока мой хостинг-счёт не уйдёт в дефолт (а opensource-мигратор позволяет переместить его раньше). Я не единственная точка отказа для Вашего прошлого. Я максимум единственная точка отказа для моих будущих обновлений — именно поэтому код открыт и воспроизводим.
Что, если реле упадёт?
→ ОтветУстройства буферизуют исходящие сообщения локально и повторяют. Рукопожатия Cross-Guard ставятся в очередь и возобновляются при переподключении. Федеративные реле (Фаза XV) дают альтернативы; до тех пор региональный сбой вызывает задержки, никогда — потерю данных. Уведомления откатываются к SMS-каналам там, где Вы согласились. Пауза — это худший случай.
Что, если аудит найдёт дефект?
→ The answerПубличная пауза. Версионированная миграция. Я не выпущу фикс, скрывающий исходный дефект — и отчёт, и исправление становятся частью аудит-трейла. Доверие восстанавливается прозрачностью, а не молчанием. Если я не могу его восстановить — я об этом скажу и попрошу пользователей мигрировать на то, что переживёт поломку. Я не буду делать вид, что плохой новости не было.
Я мог построить более простой мессенджер. Я не стал — три раза подряд. Вот три решения, сделавшие DevoraX2 тем, что она есть — и почему каждый компромисс был правильным.
Одно устройство — это единственная точка отказа — и единственная точка принуждения. С одним телефоном, одним PIN, одной биометрией Вы и атакующий, держащий Ваш телефон, функционально неотличимы для замка. Два устройства дают замку второй голос, у которого можно спросить перед открытием. Цена — владеть вторым телефоном. Выгода — что первый телефон в одиночку не оканчивает Вас.
Privacy-продукт с закрытым кодом — это продукт, просящий доверия на словах. Я не хочу такого доверия — оно не переживает одной плохой новостной недели. Поэтому я публикую код, протоколы, аудиты, архитектуру. Если я когда-нибудь зашью бэкдор — opensource-сообщество увидит его раньше моих инвесторов.
Потребительский мессенджер выкатывает фичу за спринт и извиняется потом. Я не могу выпросить себе прощение за сломанное шифрование. Поэтому я выкатываю медленно, только когда математика готова. Инвесторы, желающие роста хоккейной клюшкой, обычно уходят от меня. Это тоже часть дизайна.
Если Вы хотите прочитать криптографическое погружение, протокол двух устройств или режимы, защищающие Вас под давлением — страницы Security идут слой за слоем.