Что такое end to end шифрование

Как перестать бояться и полюбить end-to-end шифрование

Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование

Управление ключами

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

Первое что следует принять во внимание при реализации схемы с открытым ключом — это возможность подмены публичного ключа третьей стороной. Злоумышленник, располагающий возможностью модифицировать трафик, способен перехватить публичный ключ пользователя Алиса и подменить его на свой собственный публичный ключ. Это приводит к тому, что пользователь Боб, при попытке отправить зашифраванное сообщение Алисе, на самом деле зашифрует его ключом атакующего, который сможет расшифровать и прочитать секретные данные.
Один из возможных вариантов предотвращения такой ситуации — это возможность однозначно идентифицировать обладателя ключа. В таком случае подмена ключа станет очевидна для Боба. В качестве идентификатора, можно указать e-mail адрес, номер телефона и другую уникальную, но легко распознаваемую информацию. При этом следует учесть, что идентификатор указываемый при создании нового ключа, должен быть проверен и подтвержден. В противном случае мы рискуем получить систему, в которой каждый пользователь сможет выдать себя за кого угодно.

Для проверки имени потребуется сервис проверки личности (identity validation service). Как правило, такие сервисы высылают случайно сгенерированный код на указанный в качестве имени e-mail адрес или номер телефона и ждут подтверждения от пользователя.
Однако использование сервиса проверки личности лишь перекладывает проблему доверия с канала связи на сам сервис. На самом деле ничто не мешает владельцу сервиса создать скомпрометированный ключ, якобы принадлежащий третьей стороне.

Для того, чтобы полностью избавиться от возможности появления скомпрометированных ключей, необходима аутентификация ключей.
Аутентификация ключей – способ убедить Боба, что ключ который он считает принадлежащим Алисе, на самом деле принадлежит Алисе. Существует несколько способов решения проблемы аутентификации ключей. Наиболее очевидный среди них – это обмен ключами при личной встрече или с использованием более надежного канала связи. Несмотря на высокую надежность, этот способ не всегда реализуем в реальном мире. Поэтому используется один из следующих методов аутентификации ключей.
Первый способ – использование доверенных центров сертификации. Когда определенный пользователь (доверенный центр) системы располагает неограниченным доверием и способен выступать в качестве заверителя ключей. Ни один ключ в такой системе не считается надежным без подписи доверенного центра.
Второй способ – использование сети доверия. При этом, каждый пользователь системы в праве подписать ключ любого другого пользователя, подтверждая тем самым, что ключ на самом деле принадлежит указанному владельцу. Чем больше заверяющих подписей под ключом, тем большего доверия он заслуживает.

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

Virgil Security

Virgil services и end-to-end шифрование

Ну вот теперь пришло время немного покодить. Покажем как с помощью Virgil Security осуществить надежное end-to-end шифрование. Для этого реализуем следующую схему:
Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование
Обратите внимание, что при шифровании используется ECIES схема. Это означает, что сообщение шифруется симметричным алгоритмом AES с помощью эфемерного симметричного ключа, восстановить который возможно только обладая приватным ключом получателя. Шифрование же производится с использованием публичного ключа получателя.

Для работы с сервисами Virgil Security нам нужно получить секретный токен и пара публичный/закрытый ключ. Для этого регистрируемся на сайте Virgil Security. После этого приступаем к реализации e2ee.

——BEGIN PUBLIC KEY——
MFswFQYHKoZIzj0CAQYKKwYBBAGXVQEFAQNCAAQO8ohmBRyclmcfQ38Lwmvv4Cau
jyX6vWn8kJrR0RRfFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
——END PUBLIC KEY——

——BEGIN EC PRIVATE KEY——
MHkCAQEEIFB+lOUvbb4WX+e3zLkAcYpvZR3qpQI8Ru/tcnciCMkIoAwGCisGAQQB
l1UBBQGhRANCAAQO8ohmBRyclmcfQ38Lwmvv4CaujyX6vWn8kJrR0RRfFQAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
——END EC PRIVATE KEY——

Источник

Шифруйся грамотно! Почему мессенджеры не защитят тайну твоей переписки

Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование

Содержание статьи

Шифрование в мессенджерах

Написать эту статью меня подтолкнуло исследование Obstacles to the Adoption of Secure Communication Tools (PDF). Как выяснили его авторы, «подавляющее большинство участников опроса не понимают основную концепцию сквозного шифрования». Проще говоря, люди обычно выбирают мессенджер сердцем, а не мозгом.

Начнем с того, что E2EE имеет свои особенности в каждом мессенджере. В Signal оно почти образцовое. В WhatsApp формально такое же, как в Signal, за исключением одного очень важного момента: смена основного ключа абонента WhatsApp не блокирует отправку ему сообщений. Максимум можно включить бесполезное уведомление (которое отключено в дефолтных настройках). В Viber сквозное шифрование неактивно по умолчанию, да и появилось только в шестой версии. В Telegram E2EE также используется только в секретных чатах, причем реализованы они довольно странно.

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

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

Исходно в мессенджерах применялся протокол OTR (Off-the-Record). Он использует симметричное шифрование AES в режиме CTR, протокол обмена ключами DH и хеш-функцию SHA-1. Схема AES-CTR обеспечивает так называемое «спорное» (в хорошем смысле) шифрование и возможность отрицания авторства текста, если его перехватят. Всегда можно сослаться на то, что перехвативший трафик сам изменил шифротекст так, чтобы он соответствовал другому варианту расшифровки той же длины. Например, вместо «сходи за хлебом» получилось «отрави королеву» — технически это возможно, и такое свойство специально заложено в алгоритм.

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

Главный недостаток OTR заключается в том, что после отправки нового ключа требуется дождаться подтверждения от собеседника. Если он офлайн, то связь будет временно невозможна. Одним из выходов стал алгоритм Double Ratchet (DR), разработанный пять лет назад Тревором Перрином и Мокси Марлинспайком в Open Whisper Systems. Сегодня DR используется в Signal, WhatsApp, Viber и многих других мессенджерах, поддерживающих сквозное шифрование по умолчанию или как отдельную опцию (секретные чаты).

Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование
Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование Упрощенная схема алгоритма Double Ratchet (источник: signal.org). Алиса и Боб начинают сессию, обмениваясь публичными ключами

Сквозное шифрование

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

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

Тут же все как в привычном PGP: есть два собеседника (Алиса и Боб), каждый из которых генерирует свою пару ключей. Затем они обмениваются публичными ключами, сохраняя в тайне парные им секретные. Публичные ключи передаются по открытому каналу (на то они и публичные, пусть перехватывают на здоровье) и служат для двух целей: они позволяют зашифровать сообщение и проверить его подпись. Соответственно, секретные ключи используются для расшифровки и формирования подписи.

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

Такая криптосистема кое-как работает в электронной почте, поскольку это сервис для доставки отдельных зашифрованных сообщений произвольной длины. Пользуясь им, собеседники не обязаны одновременно быть онлайн. Все сообщения накапливаются на сервере и скачиваются с него по требованию после того, как пользователь успешно пройдет авторизацию. Расшифровка происходит локально при помощи секретных ключей, которые никуда не передаются. Почта с PGP популярна, но работает далеко не идеально. Почему? См. статью «Алиса и Боб в стране PGP».

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

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

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

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

Диффи, Хеллман! Дайте три!

Из открытой документации известно, что в Telegram аутентифицированное распределение ключей обеспечивает классический протокол Диффи — Хеллмана (DH). Он создает мост между асимметричным (RSA) и симметричным (AES) шифрованием, давая возможность энному количеству собеседников вести зашифрованную переписку, передав только публичные ключи по открытому каналу. Для этого в нем генерируются сессионные ключи, представляющие собой общий секрет или общий эфемерный ключ. Он вычисляется на основе секретного ключа одного собеседника и публичного ключа другого. Эфемерные ключи аутентифицируются долговременными открытыми ключами.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Источник

Как работает end-to-end шифрование [Метод взламывается, ошибка]

Мне всегда было непонятно каким образом можно обменяться ключами шифрования в незащищенном чате так, чтобы, находясь посередине и читая чужую переписку, невозможно было расшифровать текст. На первый взгляд, это невозможно. Но ведь всякие Телеграмы и Вотсаппы считают защищенными! Значит, настало время разобраться. На самом деле, все элементарно.

Предположим, есть два человека, Петя и Вася, которые хотят в ВК обсудить отмывание доходов, полученных преступным путем и финансирование терроризма. Но еще есть товарищ Майор, который в это же время сидит у себя в кабинете, и в реальном времени читает их переписку. А значит, общение надо зашифровать! К счастью Пети и Васи, они оба знакомы с протоколом Диффи-Хеллмана. И вот, Петя решает сделать пароль, который будет знать только он и Вася, и делает примерно следующее:

Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование

Майор видит, что передан ключ 73861 для создания 8-битного секретного ключа. Он радуется, потому что следит за перепиской, а значит сможет узнать что за ключ у них получится.

Вася получает числа.

2) Вася и Петя придумывают еще по одному случайному числу, но не сообщают его никому. Им нужно сложить свои придуманные числа с уже известным обоим 73861.

Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование

3) Теперь им нужна какая-нибудь невозвратная математическая операция. Сложение/вычитание не подходит, поэтому они используют операцию «модуль». Это что-то в роде вычисления остатка при делении. Например 16mod10 это 6. И 26mod10 это 6. И 6mod10 тоже 6. А 16mod12 это 4. Ну вы поняли. Суть в том, что зная результат после операции mod10, невозможно сказать какое число было изначально, 6, 16 или 26.

Ну так вот, и Петя, и Вася, делают с предыдущим результатом операцию mod256 (8-битное шифрование, помните?)

Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование

4) Настало время обменяться результатами.

Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование

Оба собеседника передают свои результаты (33 у Пети, 61 у Васи) друг другу. Товарищ Майор всё это, конечно же, видит, но он уже не такой радостный, потому что не может вычислить их секретные ключи, зная только 73861, 61, 33, и стойкость шифрования.

5) Петя и Вася получили результаты друг друга, и теперь они должны прибавить к ним свои секретные числа, которые никому не передавали.

Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование

6) На предыдущем этапе у Пети получилось 25561, а у Васи 13017. С этими результатами им надо снова сделать операцию mod256, чтобы получилось.

Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование

Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование

Это число одинаковое и у Пети, и у Васи, но не у товарища Майора. Он не может вычислить их секретный пароль, потому что не знает что нужно прибавлять к числам 61 и 33. Вычислить общий ключ обоих собеседников можно только перебрав все возможные варианты. В случае с компьютером это произойдет быстрее, чем вы отожмете кнопку запуска перебора, но если ключ достаточно длинный (128 бит), то какой-нибудь суперкомпьютер потратит года 2, пока не взломает шифр. А если 256 бит и более, то взлом в наши дни невозможен вообще.

Немного не понимаю, по крайней мере по этому примеру что-то не сходится.

Вроде (а+b) mod x = (a mod x + b mod x) mod x

Товарищ майор получает общее открытое число 73861 и разрядность 8.

Тогда он может вычислить (73861 mod 256) = 133

Собеседники задумывают свои секретные числа a и b.

Затем он получает результат от первого собеседника (73861 + a) mod 256 = 33

Вполне можно найти, что (a mod 256) = 156

Аналогично для второго собеседника он вычисляет (b mod 256) = 184

И далее ((73861 mod 256) + (a mod 256) + (b mod 256)) mod 256 = (133 + 156 + 184) mod 256 = 473 mod 256 = 217

Итого все вернулось на исходные: собеседники знают общий ключ 217, но не знают секретные числа друг друга. Но и товарищ майор знает общий ключ собеседников 217, но не знает их личные секретные числа.

Кто лопухнулся, я или автор в объяснении алгоритма?

любой код легко вычисляется терморектальным криптоанализом

Можно объяснить гораздо проще. Пусть Алисе надо отправить посылку Бобу. Она берет замок и вешает его на посылку, ключ от этого замка есть только у нее, и отправляет посылку Бобу. Боб вешает второй замок, аналогично, ключ только у него и отправляет Алисе посылку с двумя замками. Алиса снимает свой замок и отправляет обратно Бобу, и Боб получил посылку с одним своим замком. Если найти функцию, с которой можно будет так обращаться, то все становится замечательно. Почти так работает RSA, на основе которого сейчас генерятся все ключи.

вот поэтому аппаратное шифрование и аппаратная анонимность гораздо легче реализуется.

Источник

Сквозное шифрование: что это и зачем оно нужно вам

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

Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование

Что такое end to end шифрование. Смотреть фото Что такое end to end шифрование. Смотреть картинку Что такое end to end шифрование. Картинка про Что такое end to end шифрование. Фото Что такое end to end шифрование

В последнее время всякие сервисы для связи — от WhatsApp до Zoom — часто говорят: вот, мы внедрили сквозное шифрование. Вот только далеко не все пользователи понимают, что это значит. Что такое шифрование, допустим, понятно, — значит, данные превращаются во что-то нечитаемое. А сквозное — это как? В чем его плюсы и минусы? Попробуем объяснить максимально просто, не углубляясь в термины и математику.

Что такое сквозное шифрование и какие еще бывают варианты

Сквозное шифрование — это когда сообщения шифруются на вашем устройстве и расшифровываются только на устройстве вашего собеседника (по-английски это называется end-to-end, что можно перевести на русский как «из конца в конец»). То есть весь путь от отправителя до получателя сообщение преодолевает в зашифрованном виде, поэтому его никто не может прочитать, кроме вашего собеседника.

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

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

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

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

От чего защищает сквозное шифрование

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

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

От чего сквозное шифрование не защищает

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

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

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

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

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

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

Источник

Что такое сквозное шифрование (E2EE)?

Вступление

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

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

Прежде чем рассказать, зачем вам может понадобиться E2EE и как оно работает, давайте посмотрим, как передаются незашифрованные сообщения.

Как передаются незашифрованные сообщения?

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

Взаимодействие пользователей А и В. Чтобы обмениваться сообщениями друг с другом, они должны передавать данные через сервер (S).

Скорее всего, вы знакомы с моделью “клиент-сервер”. Клиент (ваш телефон) обладает ограниченной функциональностью – основные вычисления производятся на сервере. Это также значит, что сервер является посредником между вами и получателем.

Как работает сквозное шифрование?

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

Как работает обмен ключами в протоколе Диффи-Хеллмана?

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

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

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

К сожалению, этаж находится под наблюдением шпионов. Предположим, что Алиса и Боб не могут входить в комнаты друг друга, поэтому могут взаимодействовать только в коридоре. В коридоре они могут выбрать общую краску, например, желтую. Затем они берут банку с желтой краской, отливают себе часть и возвращаются в комнаты.

В своих комнатах им нужно подмешать в желтую краску секретный цвет – такой, о котором никто не знает. Алиса использует синий, а Боб – красный. Важно, что шпионам эти секретные цвета неизвестны. Теперь Алиса и Боб выходят из комнат со своими сине-желтыми и красно-желтыми смесями – результат смешивания известен шпионам.

Алиса и Боб меняются смесями в открытую. Неважно, что шпионы это видят – они не могут определить точный оттенок добавленных цветов. Помните, что это всего лишь аналогия – настоящая математика, лежащая в основе этой системы, делает еще труднее подбор секретного “цвета”.

Алиса берет смесь Боба, Боб берет смесь Алисы, и они снова возвращаются в комнаты. Теперь они еще раз подмешивают свои секретные цвета.

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

Обмен сообщениями

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

Достоинства и недостатки сквозного шифрования

Недостатки сквозного шифрования

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

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

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

Сообщение находится в открытом виде до и после расшифровки.

E2EE гарантирует, что никто не может прочесть ваши данные в процессе передачи. Но все еще актуальны другие угрозы:

Другой риск заключается в том, что кто-то может получить доступ к каналу между вами и вашим собеседником, реализовав атаку “человек посередине”. Это может произойти в начале общения – когда вы выполняете обмен ключами, то не можете быть уверены в подлинности второй стороны. Таким образом, сами того не подозревая, вы можете разделить секрет со злоумышленником. Злоумышленник получает ваши сообщения и имеет ключ для их расшифровки. Он может аналогично обмануть и вашего собеседника, что означает, он сможет передавать сообщения, читать и изменять их по своему усмотрению.

Чтобы избежать такой атаки, многие приложения реализуют различные коды безопасности. Это строка чисел или QR-код, которыми вы можете поделиться со своими контактами через безопасный канал (в идеале оффлайн). Если числа совпадают, то вы можете быть уверены, что третья сторона не отслеживает ваше взаимодействие.

Достоинства сквозного шифрования

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

Заключение

В дополнение к замечаниям выше стоит сказать, что растет количество свободно распространяемых инструментов для сквозного ширования. В комплекте с операционными системами iOS и Android идут соответственно Apple iMessage и Google Duo, при этом появляется все больше программного обеспечения, ориентированного на конфиденциальность и безопасность.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *