8

End-to-End шифрование в месседжере WhatsApp. Шифрование медиа и звонков.

Доброго дня, пикабушники!

В продолжении темы со сквозным шифрованием WhatsApp: http://pikabu.ru/story/endtoend_shifrovanie_v_messedzhere_wh...


В прошлый раз я остановился на шифровании прикрепляемых файлов.


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

End-to-End шифрование в месседжере WhatsApp. Шифрование медиа и звонков. Whatsapp, Мессенджер, Шифрование, Длиннопост

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


Групповые сообщения


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


В WhatsApp решили применять схему с отправкой одного сообщения всем участникам группы. Сначала участники договариваются об одном общем ключе. Точнее его им выдает создатель группы. Secret получается методом, схожим с тем, который описан в секции “создание защищенной сессии” в предыдущем посте. Только с тем нюансом, что secret получается только из данных создателя группы. Затем создатель шифрует secret для каждого участника его открытыми ключами, полученными с сервера. После этих шагов все участники имеют идентичные ключи и могут общаться в группе.


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


Голосовые звонки


Для передачи голосовых звонков используется стандарт sRTP, который применяется для потоковой передачи медиаданных. Сам стандарт внутри себя содержит шифрование SIP/TLS. Метод шифрования очень схож с тем, что применяется в HTTPS.


Проверка ключей


Последней интересной особенностью WhatsApp является возможность проверки открытых ключей, которые были получены с сервера. Это можно сделать либо с помощью сканирования QR-кода с экрана проверяемого устройства, либо вводом 60-значного ключа.

End-to-End шифрование в месседжере WhatsApp. Шифрование медиа и звонков. Whatsapp, Мессенджер, Шифрование, Длиннопост

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


На этом тему с WhatsApp можно закрыть. Спасибо за Ваши отзывы!


sRTP: https://www.rfc-editor.org/rfc/rfc3711.txt

WhatsApp Encryption Overview: https://www.whatsapp.com/security/WhatsApp-Security-Whitepap...

Найдены дубликаты

+1
А вот я думаю немой вопрос остался висеть. В чем все-таки разница между вайбером, ватсаппом, телеграмом? Почему нынче все говорят что ватсапп продалсо, и ломается на раз, а телега стоит костью в горле у ркн. Ведь по сути и там end to end и там end to end. И чем лучше пользоваться для тайны переписки и анонимности?
раскрыть ветку 7
0
Исходный код вотсаппа закрыт, end-to-end там есть, но теоретически может взламываться в любой момент. У Телеграма код открыт, шифрование надежно
0

Одни люди делают видимость работы, другие рекламу. Для тайны переписки лучше пользоваться блокнотом с невидимыми чернилами и не выходить в Интернет :)

раскрыть ветку 1
0
А лучше вообще не общаться, но частенько вынуждает расстояние и необходимость обмена информацией
0
Для тайны переписки xmpp, там то точно понятно что происходит, плюс все оборачивается в то же e2e шифрование, otr/omemo/rsa. Это не отменяет факта что в общем случае - звучит круто, может много крутых штук, но работает - крайне отстойно. Я думаю ты и предложить не можешь что в меседжере можно не получить отправленное тебе сообщение? Так вот, jabber это умеет-практикует, но вообще если бы в своё время он взлетел - скорее всего его бы привели в пристойный вид, но увы.
раскрыть ветку 3
+1
И кому я там буду писать) ща про асю ток вкурсе каждый 20, а про джабер вообще днем с огнем не сыскать
раскрыть ветку 1
+1

Так им и пользовались в свое время. Другое дело, что вся эта анонимность не нужна людям. А то кто ж лайки будет ставить на фоточки.

0
Маленькое уточнение, sip - не шифрование
раскрыть ветку 5
0

SIP/TLS -- это уровень, который осуществляет шифрование в протоколе SIP. В данном случае имеется ввиду, что это TLS для SIP, а не другого транспортного протокола.


http://www.sipring.ru/overview/asterisk-pbx-ready/99-asteris...

раскрыть ветку 4
+1
Фраза про то что используется шифрование tls для sip более корректна
раскрыть ветку 3
0

А можно то же самое, но про Телеграмм?

раскрыть ветку 1
+2
То что он действительно шикарен как меседжер - не отменяет того факта что идёт привязка к номеру телефона, а значит клал он на секурность большой болт даже без просмотра того что внутри.
Похожие посты