1. Главная
  2. Что такое шифрование данных и как оно используется в мессенджерах

Что такое шифрование данных и как оно используется в мессенджерах

3 июня 20244 минуты чтения
Иллюстрация материала

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

Что такое шифрование данных

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

Какие задачи выполняет шифрование

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

Целостность. Шифрование подтверждает, что полученная информация соответствует отправленной и не была изменена.

Идентификация. Технология позволяет идентифицировать отправителя и получателя.

Какие виды шифрования данных бывают

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

Асимметричное (сквозное). Используется два ключа: публичный и приватный. Разными приватными ключами обладают только отправитель и получатель. Они нужны для расшифровки информации, хранятся на физических носителях и никуда не отправляются. Шифруются данные с помощью открытого ключа, который может передаваться по незащищенным каналам. Его невозможно использовать для декодирования.

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

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

Какое шифрование используется в мессенджерах

Мессенджеры используют алгоритмы кодирования и декодирования информации, чтобы обеспечить конфиденциальность переписки пользователей. Но у каждой компании — свой подход.

Telegram

Российский мессенджер Telegram использует протокол шифрования собственной разработки MTProto. Есть два варианта хранения сообщений: на сервере и на устройстве клиента. В первом случае используется симметричное шифрование. Во втором — асимметричное, доступ к отправленным сообщениям имеют только отправитель и получатель. Шифруется вся отправляемая информация: текст, картинки, видео и голосовые сообщения.

В обычных переписках

MTProto работает по принципам симметричного шифрования AES и протокола Диффи-Хеллмана с применением хеш-функций. В начале переписки пользователи обмениваются открытым секретным RSA-ключом размером 2048 бит. Он превращается в хеш для дальнейшей проверки на подлинность получателем. Все сообщения шифруются с помощью метода AES, принятого в качестве мирового стандарта. Кодируется информация о содержании сообщения, времени его отправки и текущей сессии пользователя.

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

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

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

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

Signal и WhatsApp

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

В основе работы Signal лежит алгоритм двойного храповика и тройной обмен ключами по протоколу Диффи-Хеллмана. В шифровании данных участвуют алгоритмы AES и SHA-256.

В начале переписки формируется несколько приватных и публичных ключей: долгосрочный, среднесрочный и эфемерные. Они хранятся локально. После каждого отправленного сообщения формируется новый публичный ключ для усиления безопасности. Шифрование происходит схожим с MTProto образом, с разделением информации на блоки. Для расшифровки зашифрованного публичным ключом сообщения используется приватный ключ пользователя.

Мессенджер Signal — открытый проект. Это означает, что каждый пользователь может проверить код приложения и сервера, которые участвуют в передаче данных.

Текст: