Найти в Дзене

Что такое сквозное шифрование и зачем о нем знать

В Интернете мы используем общественные точки доступа, кабели, сайты.

Данные в открытых каналах, таких как физический провод, не зашифрованы и могут быть доступны всем, кто имеет доступ к той же линии или роутеру.

Чтобы защитить общение и работу в сети от перехвата чувствительных данных, появилось программное шифрование.

Программным оно называется потому, что для криптографических задач не используются специальные «железные» компоненты. Достаточно процессора вашего гаджета и общепринятых протоколов шифрования.

Защищенные каналы используют клиент-серверное или сквозное (“клиент-клиент”) шифрование. В обоих случаях цель - сделать данные недоступными при компрометации в пути.

Эти методы криптографии сильно отличаются друг от друга. Знать об отличиях полезно при выборе решения для защиты конфиденциальной информации в Интернете.

Клиент-серверное шифрование подразумевает, что ключи для расшифровки трафика есть у пользователя и у сервера. Как при подключении к интернет-банку или почтовому ящику через HTTPS/IMAP.

-2

Срок действия ключей определяется SSL-сертификатом сайта. Как правило, это 1 год.

Обслуживающий этот сайт или приложение сервер (например, банка) видит передаваемые данные в открытом виде, потому что хранит у себя ключ от SSL-сертификата. Но другие посредники передачи трафика (например, интернет-провайдер) видят его зашифрованным. Им доступны метаданные подключения, такие как IP-адреса участников, продолжительность сессии, информация о запрашиваемых DNS и многое другое, но само содержимое вашего канала недоступно.

Уязвимая часть клиент-серверного шифрования в том, что безопасность критически зависит от сервера.

Если файл ключа SSL-сертификата на сервере будет скомпрометирован, то злоумышленник сможет перехватывать трафик и расшифровывать его. Кроме того, при использовании такого шифрования, вы автоматически проявляете доверие к серверу и провайдеру, который его обслуживает.

Даже не имея доступ к серверному ключу, пакостник имеет возможность представиться нужным сайтом или пользователем. Например, подменив в вашей домашней сети Wi-Fi сервер, который обслуживает определенный мессенджер или ваш онлайн-кошелек.

Да, SSL-сертификат изменится и качественно сделанное приложение заметит изменение. Или не заметит 🤔

В случае успеха злоумышленник имеет много путей сделать так, чтобы вы были уверены в подлинности корреспондента, общаясь не с ним.

Чтобы сервер не выступал критически уязвимым компонентом безопасности, появилось сквозное шифрование, оно же “клиент-клиент”, “end-to-end encryption”, “e2ee”.

-3

При этой схеме ключи шифрования генерируются между самими пользователями сети.

Ключи могут быть новыми для каждого диалога и истекать по завершении сеанса связи.

Сервер не имеет доступа к ключам. Поэтому он не сможет получить трафик между пользователями в открытом виде. По этой же причине для злоумышленника почти нет смысла подменять сервер, потому что ключи ваших собеседников сменятся потребуется явно подтвердить, что они доверенные.

При входе с другого устройства даже с верным паролем или СМС-кодом, восстановить содержимое диалогов не получится, не имея подготовленной самостоятельно заранее резервной копии ключей сквозного шифрования.

Иногда end-to-end шифрование может даже создавать неудобства, зато оно гарантирует, что вашим собеседником не притворяется чужой человек и ваш диалог конфиденциален.

Едва ли оно потребуется для мемов с котиками. Но для специализированного ПО, работающих в среде низкого доверия (Интернет) наличие end-to-end шифрования часто критично. Это не только мессенджеры, но и, например, умные системы управления всякими штуками, финансовый сектор.

Сквозное шифрование - ключ показатель защищенности мессенджеров и облачных хранилищ. Обращайте на него внимание, когда вам рекомендуют новое приложение, заявленное как безопасное.Именно на это нужно обращать внимание в первую очередь, когда вам рекомендуют новое приложение, заявленное как безопасное.

Уточните, работает ли сквозное для всех диалогов, для передачи и хранения файлов, не имеет ли софт непрозрачных механизмов копирования ключей на сервер? В полной мере дать такую прозрачность может только ПО на открытом исходном коде. Если код проприетарный, нужно доверять компании-разработчику.