В нынешних условиях многим пользователям приходится по принуждению использовать незащищённые мессенджеры и социальные сети, то есть скомпрометированные каналы связи. К счастью, есть возможность передавать секретные зашифрованные сообщения по публичным открытым каналам. Это стандартная задача, которая давно решена в криптографии.
Более того, зашифрованное сообщение можно сделать похожим на обычный текст или даже скрыть в обычном контенте — видео, звуковых файлах и тексте, который не вызовет подозрений у «цензора». Это область стеганографии.
Но прямо сейчас людям нужен простой и практичный способ шифровать сообщения, максимально удобным способом. Рассмотрим самые простые онлайновые утилиты, которые позволяют это делать.
Способ использования всех утилит примерно одинаковый:
-
Договариваемся с собеседником о секретном пароле или парольной фразе. Это может быть предложение из нескольких слов. Такое предложение легко запомнить и оно обеспечивает высокую энтропию.
-
Копируем текст сообщения в форму.
-
Нажимаем кнопку «Зашифровать» с указанием пароля.
-
Отправляем зашифрованный текст любым способом в любой незащищённой программе, мессенджере, соцсети или по электронной почте.
-
Адресат расшифровывает текст с помощью того же инструмента и пароля.
Веб-формы для шифрования
Есть программы для шифрования текста в браузере. Важно проверить, чтобы шифрование выполнялось строго на клиентской стороне. В этом случае пароль (ключ шифрования) не передаётся на сервер, так что вероятность утечки минимизируется. Проверка на локальность выполняется через мониторинг сетевых пакетов в DevTools («Инструменты разработчика» в браузере) или межсетевой экран вроде Little Snitch.
Расшифровать сообщение можно через браузерную форму Decrypt или локально в офлайне с помощью утилиты OpenSSL.
-
Paranoia Text Encryption, AES-256 в режиме EAX, ключ из пароля через Argon2
-
LOCK.PUB: создаёт в онлайне секретные зашифрованные заметки, прочитать которые можно по паролю, руководство
-
GCHQ CyberChef, опенсорcный инструмент от британской разведки GCHQ, множество режимов, подходит для более продвинутых пользователей.
-
AES Utils: AES-256-GCM с PBKDF2, простой интерфейс
Для сравнения, что нельзя считать надёжным инструментом — форма MagicTool, выполняющая шифрование и расшифровку текста без пароля. Это означает, что используется один общий пароль для всех текстов, которые проходят через данную форму. И расшифровать их может любой, кто знает о существовании этого сайта. То есть сам этот инструмент выполняет роль «секретного ключа» самим фактом своего существования.
Это довольно наивный подход к криптографии. Но вполне вероятно, что в некоторых сценариях «шифрование» без ключа может оказаться подходящим вариантом для манипуляций. Например, если нужно обманным путём заставить противника думать, что вы глупый пользователь, хотя в реальности наша цель — «скормить» ему эту зашифрованную информацию.
Офлайновые программы для шифрования
Кроме браузерных форм, есть и классические нативные утилиты для Linux, Windows и macOS, которые тоже выполняют надёжное шифрование текстовых сообщений:
-
парольные менеджеры
-
и др.
Многие из этих программ подходят и для шифрования файлов.
Стилистическое шифрование
Из общего списка шифровальных утилит выделяются необычные проекты, больше похожие на художественный перфоманс. Например, утилита Paternoster от Леонида Каганова и Кирилла Пименова, которую они выпустили на 1 апреля. Особенность утилиты в использовании стилистических словарей для шифрования текстов. Всего есть девять словарей, включая смайлики, крики души в стиле СССР, пьяный бред, молитвы и китайские иероглифы:
Словари созданы на датасете реальных сообщений в блоге Каганова, то есть зашифрованный (например, в смайликах) текст может быть даже короче оригинала. Сама шифровка выглядит как специфическая лексика:
В остальном инструмент работает стандартным способом, с применением стойких шифров. Используется сквозное шифрование X25519+AES-GCM, секретная часть ключа хранится только в браузере (для бэкапа ключа есть специальная кнопка в настройках), публичные ключи интегрированы в первые сообщения, затем обмен станет лаконичнее. Страница не обменивается никакими данными с сервером, она целиком статическая, только один index.html. Поэтому можно скачать и сохранить её локально у себя. Подробнее см. в репозитории проекта на Github.
ссылка на оригинал статьи https://habr.com/ru/articles/1030886/