Урок 3 из 4 · 8 мин
Что защищает сквозное шифрование и чего оно не защищает
Содержание — лишь часть того, что раскрывает разговор. Метаданные, конечные точки и резервные копии могут иметь не меньшее значение — и шифрование их не покрывает.
Сквозное шифрование (E2EE) — одна из самых обнадёживающих фраз в программном обеспечении и одна из самых неправильно понимаемых. Руководство EFF Surveillance Self-Defense даёт точное определение: оно «гарантирует, что информация превращается в секретное сообщение её первоначальным отправителем… и расшифровывается только её конечным получателем». Это сильная гарантия для содержания сообщения. Но это не гарантия для всего остального, что касается разговора.
Что E2EE действительно защищает: содержание
Когда мессенджер правильно реализует сквозное шифрование, компания, управляющая сервисом, не может прочитать сообщения, проходящие через её собственные серверы, — ключи, необходимые для расшифровки, есть только у устройства отправителя и устройства получателя. Опубликованная техническая документация Signal описывает лежащие в основе механизмы, включая алгоритм Double Ratchet, устроенный так, что «более ранние ключи невозможно вычислить из более поздних»: даже если один ключ когда-либо будет раскрыт, прошлые сообщения останутся защищены — это свойство называется прямой секретностью (forward secrecy). Это та часть обещания, которая надёжно держится при правильной реализации, и это существенное отличие от обычного текстового сообщения или незашифрованного письма, которые может прочитать любой сервер на пути.
Чего оно не защищает: метаданные
Руководство EFF прямо говорит об этом пробеле: шифрование «скрывает содержание ваших сообщений, но не то, кто с кем разговаривает, когда и как часто». Метаданные — кто с кем связывался, в какое время, как долго, из какого места — могут быть не менее показательны, чем само сообщение. Знание того, что источник позвонил журналисту накануне выхода материала, может выдать этот источник, даже если ни одно слово разговора не было прочитано. Некоторые сервисы работают именно над снижением этого риска: функция Signal «скрытый отправитель» (sealed sender) устроена так, что собственным серверам сервиса не нужно знать, кто отправил данное сообщение, — только кому оно доставлено, хотя собственное описание этой функции от Signal отмечает, что устойчивость к более продвинутому анализу трафика — с использованием времени и IP-адресов — остаётся областью текущей работы, а не решённой задачей.
Чего оно не защищает: конечные точки
Шифрование защищает данные при передаче между двумя устройствами. Оно не может защитить данные на устройстве, которое само скомпрометировано. EFF прямо заявляет: «если ваши конечные точки… скомпрометированы, ваши зашифрованные сообщения могут быть скомпрометированы». Опасное приложение с доступом к чтению экрана, устройство, разблокированное кем-то другим, или сообщение, которое получатель решил сфотографировать экраном, — всё это выходит за рамки того, что может решить шифрование: сообщение было добросовестно расшифровано именно так, как задумано, именно для того, кто и должен был его прочитать, а он затем сделал с ним что-то, находящееся вне контроля отправителя.
Чего оно не защищает: резервные копии
Разговор, зашифрованный при передаче, не остаётся зашифрованным тем же способом после сохранения. EFF отмечает, что если вы «автоматически сохраняете резервные копии зашифрованных разговоров в облако», эти резервные копии могут не сохранять ту же сквозную защиту, что была у живого разговора, — в зависимости от сервиса и его настроек резервного копирования облачный провайдер (или любой, кто его взломает или кого законно принудят передать содержимое) потенциально может прочитать резервную копию, от которой было защищено само исходное сообщение. Стоит один раз проверить, зашифрованы ли резервные копии приложения сквозным шифрованием по умолчанию или только опционально, а не предполагать, что самая надёжная настройка включена автоматически.
| Сквозное шифрование защищает | Обычно оно не защищает |
|---|---|
| Содержание сообщения при передаче между отправителем и получателем | Кто кому писал, когда и как часто (метаданные) |
| Сообщения от чтения собственными серверами провайдера сервиса | Устройство, которое само скомпрометировано (доступ к экрану, разблокированный телефон, опасное программное обеспечение) |
| Прошлые сообщения — если протокол обладает прямой секретностью — даже после того, как ключ позже раскрыт | Резервные копии в облаке, если они отдельно не защищены сквозным шифрованием |
Почему это различие важно на практике
Для источника или клиента, которым что-то угрожает, фраза «мы используем зашифрованное приложение» — не полный ответ на вопрос «в безопасности ли мы», потому что самые важные угрозы — выявление по характеру звонков, изъятие и разблокировка телефона или передача резервной копии по юридическому запросу — по большей части находятся за пределами того, что решает шифрование. Следующий урок разбирает элемент, который заставляет всё это вообще работать: ключи и пароли, от которых зависит шифрование, и что происходит, когда они теряются или раскрываются.
Главное
- Сквозное шифрование защищает содержание сообщения от провайдера сервиса и от любого, кто перехватывает соединение.
- Оно не скрывает метаданные: кто с кем говорил, когда и как часто может быть не менее показательно, чем само сообщение.
- Скомпрометированная конечная точка — взломанное или разблокированное устройство — обходит сквозное шифрование, не ломая никакой криптографии.
- Резервные копии зашифрованных разговоров в облаке не защищены сквозным шифрованием автоматически; проверяйте конкретное приложение и настройку.
- Прямая секретность (используемая, например, в алгоритме Double Ratchet от Signal) защищает прошлые сообщения, даже если позднее раскрывается ключ.
Проверьте себя
1. Что гарантирует сквозное шифрование согласно руководству EFF Surveillance Self-Defense?
- Что никто вообще не сможет узнать, что вы общаетесь
- Что содержание сообщения читаемо только отправителем и получателем, но не провайдером сервиса — Верно.
- Что резервные копии всегда защищены так же, как живые сообщения
- Что устройство получателя не может быть скомпрометировано
EFF определяет E2EE как гарантию того, что содержание кодируется отправителем и декодируется только конечным получателем, — это гарантия о содержании, а не о метаданных или безопасности устройства.
2. Почему метаданные могут быть не менее показательны, чем содержание сообщения?
- Метаданные всегда содержат полный текст сообщения
- Знание того, кто с кем связывался, когда и как часто, может выдать отношения или событие без прочтения ни одного сообщения — Верно.
- Сбор метаданных незаконен
- Шифрование всегда скрывает метаданные так же, как содержание
Паттерны контактов — время, частота, участники — могут раскрывать чувствительные отношения даже тогда, когда само содержание остаётся нечитаемым.
3. Если телефон получателя скомпрометирован программой для чтения экрана, что происходит с отправленным ему сквозно зашифрованным сообщением?
- Шифрование автоматически блокирует опасную программу
- Сообщение было расшифровано именно так, как задумано, и скомпрометированная конечная точка затем может его раскрыть — Верно.
- Сообщение никогда не будет доставлено
- Сквозное шифрование полностью предотвращает такой сценарий
Шифрование защищает данные при передаче; оно не может защитить данные после того, как они были добросовестно расшифрованы на устройстве, которое само скомпрометировано.
Примените на практике в FireAI
Примените этот урок на своём Mac.
- Глубокая проверка без расшифровки чего-либо — Получайте реальные подробности о защищённом соединении, при этом FireAI никогда не читает то, что внутри него.
- Что остаётся на вашем Mac и когда именно FireAI сам выходит в сеть — Прочитайте полный список того, что отправляет FireAI, вместо того чтобы просто верить файрволу на слово.
Источники
- EFF Surveillance Self-Defense: What Should I Know About Encryption?
- Signal: Technical documentation
- Signal blog: Technology preview: Sealed sender for Signal
Примените это на своём Mac
Все функции бесплатно на 17 дней, без банковской карты.