На криптографию надейся, а сам не плошай
Настало время разобраться в одном важном вопросе – как работает шифрование в мессенджерах. Вот захотел я, да. Но для начала давайте разберемся на простом примере, что вообще такое шифрование и для чего оно нужно. Представьте, что ваше сообщение – это письмо. В обычной жизни вы кладете письмо в конверт, и любой почтальон может его вскрыть и прочитать. Или кто-то может подойти к почтальону, попросить открыть нужный конверт, прочитать содержимое и вернуть обратно.
В мессенджерах с шифрованием вы кладете письмо в условный несгораемый сейф. У вас и у друга есть по уникальному ключу. Вы закрываете сейф своим ключом, а открыть его может только ключ вашего друга. Так обеспечивается конфиденциальность вашей переписки.
Вот только когда мессенджер утверждает, что «ваши сообщения зашифрованы», это еще ничего не значит. Правильный вопрос: зашифрованы от ĸого? Вся криптография тут сводится ĸ важному моменту – у ĸого лежат ключи.
С точки зрения архитектуры, существует 2 основных вида шифрования:
1. Транспортное шифрование (клиент-сервер)
Ваше сообщение шифруется только во время отправки с вашего устройства на сервер. Сервер получает его, дешифрует, сохраняет, а потом снова шифрует для отправки другому клиенту. То есть при большом желании оператор/посредник может прочитать его содержимое (или кому-то показать). Грубо говоря, шифруется тут канал, по которому ваше сообщение проходит путь от устройства до сервера.
Плюсы такого подхода: облачная история, мгновенная синхронизация между устройствами, поиск по переписке с любого девайса. Минус один, зато фундаментальный: сервер становится точкой доверия. Взлом, недобросовестный сотрудник, юридическое принуждение – и переписка оказывается доступна третьей стороне.
Транспортное шифрование используется во всех мессенджерах, но есть те, кто не добавляет сверху никакой защиты. Например, так работают обычные (не секретные) чаты Telegram, наши любимые мессенджеры VK и Max, корпоративные Google Chat и Microsoft Team и др.
2. Сквозное шифрование (end-to-end, E2EE)
Ключи генерируются и хранятся тольĸо на устройствах собеседников. Сервер видит и передает лишь зашифрованный текст, который не может расшифровать даже сам оператор/посредник. Проще говоря, в этом случае шифруется уже не канал передачи, а само сообщение. То есть при перехвате данных все, кроме получателя, увидят лишь бессмысленный набор символов.
Плюсы этого вида: никто не сможет получить доступ к вашей переписке – даже при взломе сервера или по запросу спецслужб. Защищены не только тексты, но и фото, видео, файлы, звонки. Минусы: ваши метаданные все равно оседают у оператора/посредника (кому вы пишете, в какое время, с какого устройства и как долго длился разговор).
Сквозное шифрование доступно в режиме «секретный чат» в ТГ, а также является основной защитой для WhatsApp, Signal, Viber, iMessage и Threema.
Так что, получается, WhatsApp безопаснее Telegram? По сути, с точки зрения архитектуры, да, сквозное шифрование надежнее транспортного. Но на практике, уязвимости всплывали у каждого мессенджера хотя бы раз.
Кроме того, шифрование канала не гарантирует полную безопасность. Метаданные, незашифрованные бэĸапы, зараженное устройство, где переписку читают до всяĸого шифрования – все это выносит атаку за пределы криптографии.
Ну и стоит помнить, что ни один вид шифрования не защитит вас от перехода по фишинговым ссылкам или добровольной передачи личной информации мошенникам. Так что будьте бдительны и следите, кому вы доверяете свои данные. Всем добра.
⚡ ПБ | 😎 Чат | 🛍 Проекты | 📹 YT
В этом посте были ссылки, но мы их удалили по правилам Сетки