Вступление
Природа современных цифровых коммуникаций такова, что мы редко взаимодействуем с адресатами напрямую. Может показаться, что вы и ваши собеседники обмениваетесь сообщениями приватно, однако в действительности сообщения передаются через центральный сервер и могут на нем храниться.
Конечно, вы не хотели бы, чтобы ваши сообщения читал сервер, ответственный за их передачу между вами и получателем. Тогда решением для вас может стать сквозное шифрование (или E2EE).
Сквозное шифрование – это такой метод шифрования сообщений между получателем и отправителем, при котором расшифровать данные могут только они. Оно ведет свою историю с 90-х годов, когда Фил Циммерман представил программу Pretty Good Privacy (более известную как PGP).
Прежде чем рассказать, зачем вам может понадобиться E2EE и как оно работает, давайте посмотрим, как передаются незашифрованные сообщения.
Как передаются незашифрованные сообщения?
Давайте рассмотрим то, как устроена обычная платформа обмена сообщениями для смартфонов. Вы устанавливаете приложение и создаете аккаунт, который позволяет вам общаться с другими пользователями, которые сделали то же самое. Вы пишете текст и вводите никнейм получателя, а затем отправляете сообщение на центральный сервер. Сервер видит, кому вы адресовали сообщение, и пересылает его адресату.
Взаимодействие пользователей А и В. Чтобы обмениваться сообщениями друг с другом, они должны передавать данные через сервер (S).
Скорее всего, вы знакомы с моделью “клиент-сервер”. Клиент (ваш телефон) обладает ограниченной функциональностью – основные вычисления производятся на сервере. Это также значит, что сервер является посредником между вами и получателем.
В большинстве случаев данные между A <> S и S <> B на схеме зашифрованы. Примером реализации такого шифрования является криптографический протокол Transport Layer Security (TLS), который широко используется для защиты соединений между клиентом и сервером.
TLS и аналогичные решения безопасности не позволяют перехватить сообщение, когда оно передается между клиентом и сервером. Эти меры предотвращают атаки типа "человек посередине", однако сообщение все еще может быть прочитано сервером. Вот здесь и появляется необходимость в сквозном шифровании. Если бы данные A были зашифрованы криптографическим ключом, принадлежащим B, то сервер не смог бы прочесть их или получить к ним доступ.
Если сквозного шифрования нет, то сервер может хранить в базе данных ваши сообщения вместе с миллионами других. Поскольку масштабные утечки данных происходят постоянно, отсутствие шифрования может иметь катастрофические последствия для конечных пользователей.
Как работает сквозное шифрование?
Сквозное шифрование гарантирует, что никто – даже сервер, который соединяет вас с другими пользователями – не может получить доступ к вашим данным. Речь идет о чем угодно: от обычного текста и электронных писем до файлов и видеозвонков.
Сквозным шифрованием данные защищены в таких приложениях, как Whatsapp, Signal и (вероятно) Google Duo, так что расшифровать их могут только отправители и предполагаемые получатели. Сквозное шифрование начинается с так называемого обмена ключами.
Как работает обмен ключами в протоколе Диффи-Хеллмана?
Идея обмена ключами Диффи-Хеллмана была предложена криптографами Уитфилдом Диффи, Мартином Хеллманом и Ральфом Мерклом. Это ставший революционным криптографический протокол, по которому стороны могут генерировать общий секретный ключ в открытой уязвимой среде.
Другими словами, генерация ключа может происходить на небезопасных ресурсах (даже при возможном прослушивании канала) без ущерба для последующих сообщений. В век информации это особенно ценно, поскольку сторонам не нужно физически обмениваться ключами для связи.
Сам обмен заключается в использовании случайных больших чисел и криптографической магии. Мы не будем вдаваться в подробности. Вместо этого воспользуемся популярной аналогией с красками. Предположим, что Алиса и Боб находятся в разных гостиничных номерах на противоположных концах коридора и хотят использовать вместе краску определенного цвета. Они не хотят, чтобы кто-то еще знал, какую именно.
К сожалению, этаж находится под наблюдением шпионов. Предположим, что Алиса и Боб не могут входить в комнаты друг друга, поэтому могут взаимодействовать только в коридоре. В коридоре они могут выбрать общую краску, например, желтую. Затем они берут банку с желтой краской, отливают себе часть и возвращаются в комнаты.
В своих комнатах им нужно подмешать в желтую краску секретный цвет – такой, о котором никто не знает. Алиса использует синий, а Боб – красный. Важно, что шпионам эти секретные цвета неизвестны. Теперь Алиса и Боб выходят из комнат со своими сине-желтыми и красно-желтыми смесями – результат смешивания известен шпионам.
Алиса и Боб меняются смесями в открытую. Неважно, что шпионы это видят – они не могут определить точный оттенок добавленных цветов. Помните, что это всего лишь аналогия – настоящая математика, лежащая в основе этой системы, делает еще труднее подбор секретного “цвета”.
Алиса берет смесь Боба, Боб берет смесь Алисы, и они снова возвращаются в комнаты. Теперь они еще раз подмешивают свои секретные цвета.
Алиса смешивает свою секретную синюю краску с красно-желтой смесью Боба, получая красно-желто-синий цвет
Боб смешивает свою секретную красную краску с сине-желтой смесью Алисы, получая сине-желто-красный цвет
В обеих комбинациях одинаковые цвета, поэтому они выглядят одинаково. Алиса и Боб успешно получили уникальный цвет, неизвестный шпионам.
Такова схема создания общего секрета в открытой среде. Разница в том, что в реальности мы имеем дело не с коридорами и красками, а с небезопасными каналами передачи, открытыми и закрытыми ключами.
Обмен сообщениями
Полученный общий секрет стороны могут использовать как основу для асимметричного шифрования. Популярные реализации обычно включают в себя дополнительные методы для более надежной защиты, но все они являются абстракцией для пользователя. После того, как вы установите с собеседником связь в приложении с E2EE, шифрование и дешифрование могут выполняться только на ваших устройствах (если не учитывать любые серьезные уязвимости программного обеспечения).
Неважно, являетесь ли вы хакером, оператором связи или даже представителем правоохранительных органов. Если приложение действительно использует сквозное шифрование, любое перехваченное сообщение будет выглядеть непонятным набором байт.
➟ Хотите начать пользоваться криптовалютой? Купите Биткоин на Binance!
Достоинства и недостатки сквозного шифрования
Недостатки сквозного шифрования
У сквозного шифрования есть только один недостаток, и будет ли он недостатком вообще, полностью зависит от вашей точки зрения. Для некоторых ценность E2EE неактуальна именно потому, что нельзя получить доступ к сообщениям без соответствующего ключа.
Противники утверждают, что E2EE могут использовать преступники, зная, что правительства и технологические компании не cмогут расшифровать их сообщения. Они считают, что законопослушным людям не нужно хранить в секрете свою переписку и телефонные звонки. Это мнение разделяют многие политики, лоббируя законодательство, по которому будет возможно использовать бэкдоры для доступа к коммуникациям граждан. Конечно, это противоречит цели сквозного шифрования.
Стоит отметить, что приложения, использующие E2EE, не защищены на 100%. Сообщения зашифрованы при передаче между устройствами, но доступны на конечных точках – например, на ноутбуке или смартфоне. Само по себе это не является недостатком сквозного шифрования, но о нем стоит помнить.
Сообщение находится в открытом виде до и после расшифровки.
E2EE гарантирует, что никто не может прочесть ваши данные в процессе передачи. Но все еще актуальны другие угрозы:
Ваше устройство может быть украдено: если у вас не установлен код защиты или злоумышленник его обойдет, он может получить доступ к сообщениям.
Ваше устройство может быть скомпрометировано: на нем может быть вредоносное программное обеспечение, которое имеет доступ к сообщениям до и после отправки.
Другой риск заключается в том, что кто-то может получить доступ к каналу между вами и вашим собеседником, реализовав атаку “человек посередине”. Это может произойти в начале общения – когда вы выполняете обмен ключами, то не можете быть уверены в подлинности второй стороны. Таким образом, сами того не подозревая, вы можете разделить секрет со злоумышленником. Злоумышленник получает ваши сообщения и имеет ключ для их расшифровки. Он может аналогично обмануть и вашего собеседника, что означает, он сможет передавать сообщения, читать и изменять их по своему усмотрению.
Чтобы избежать такой атаки, многие приложения реализуют различные коды безопасности. Это строка чисел или QR-код, которыми вы можете поделиться со своими контактами через безопасный канал (в идеале оффлайн). Если числа совпадают, то вы можете быть уверены, что третья сторона не отслеживает ваше взаимодействие.
Достоинства сквозного шифрования
При использовании без каких-либо из ранее упомянутых уязвимостей E2EE, несомненно, является очень ценным способом повышения конфиденциальности и безопасности. Как и луковая маршрутизация, это технология, пропагандируемая активистами защиты конфиденциальности по всему миру. Сквозное шифрование легко встраивается в приложения, к которым мы привыкли, а это означает, что оно доступно любому, кто может использовать мобильный телефон.
Неверно рассматривать E2EE средство, полезное только для преступников и информаторов. Доказано, что даже самые, казалось бы, безопасные компании уязвимы для кибератак, в результате чего незашифрованная информация о пользователях становится доступной злоумышленникам. Доступ к пользовательским данным, таким как конфиденциальные сообщения или документы, удостоверяющие личность, может иметь катастрофические последствия для жизни людей.
Если компания, пользователи которой защищены E2EE, будет взломана, хакеры не смогут извлечь полезную информацию о содержании сообщений (если реализация сквозного шифрования надежна). В лучшем случае они могут получить метаданные. Это все еще вызывает беспокойство с точки зрения конфиденциальности, но важно, что содержание сообщений остается неизвестным.
Заключение
В дополнение к замечаниям выше стоит сказать, что растет количество свободно распространяемых инструментов для сквозного ширования. В комплекте с операционными системами iOS и Android идут соответственно Apple iMessage и Google Duo, при этом появляется все больше программного обеспечения, ориентированного на конфиденциальность и безопасность.
Подчеркнем еще раз: сквозное шифрование не волшебный барьер против всех форм кибератак. Однако, приложив относительно небольшие усилия, вы можете активно использовать его, чтобы значительно снизить риск, которому вы подвергаете себя в сети. Помимо Tor, VPN и криптовалют, мессенджеры c E2EE могут стать ценным дополнением к вашему арсеналу цифровой конфиденциальности.
➟ Остались вопросы о сквозном шифровании? Перейдите в Ask Academy, чтобы обсудить их с сообществом!