Страницы

Поиск по вопросам

среда, 3 октября 2018 г.

Как устроены ключи шифрования Telegram?

Вопрос по устройству протокола telegram и ключей шифрования.
Спецслужбы просят у телеграмма ключи и настаивают, что это требование не идёт вразрез Конституции РФ: мы не спрашиваем сообщения пользователей, мы просим только ключи.
Тогда пардон что это за такие бесполезные ключи вообще? Ими ничего нельзя расшифровать? И вообще, как устроены эти ключи: на каждого пользователя телеграм хранится ключ и ФСБ требует шесть ключей по уголовным делам о терроризме? Или они хотят некий золотой ключ, которым можно будет расшифровать любое сообщение всех ста миллионов пользователей телеграмма?
Ссылки по теме:
Тинькоф журнал. Телеграм не смог оспорить приказ ФСБ в суде. Что это значит


Ответ

Cогласно общим часто задаваемым вопросам можно кое-что узнать о ключах для хранящейся на серверах информации
Секретные чаты там не хранятся вовсе. О ключах и речи не идёт. Для несекретных чатов они утверждают, что распределяют ключи по нескольким юрисдикциям, чтобы для раскрытия какой-либо информации потребовались распоряжения судов из нескольких сразу. Чтобы такое произошло, должно произойти нечто экстраординарное.
Согласно часто задаваемым вопросам для технарей (technically inclined) можно сделать некоторые выводы о возможностях расшифровки передаваемого трафика
Из-за того, что при передаче повсюду используются ключи, согласованные по протоколу Диффи-Хеллмана (ДХ), если сервер Telegram не сохраняет сессионных ключей (что он теоретически может, но вряд ли делает), то расшифровка ранее записанных данных скорее всего невозможна, т. к. и сервер и клиент могли уже давно забыть к ним ключ. У Телеграма есть приватный RSA-ключ для проверки подлинности сервера, публичный "брат" которого зашит в клиенты. При наличии этого приватного ключа возможно устроить MITM-атаку, заставив клиентов в подконтрольной сети считать собственный сервер подлинным сервером Telegram, из-за чего клиенты будут считать канал доверенным и приступят к согласованию сессионных ключей с самозванцем, который в свою очередь сможет от лица клиента связаться с настоящим сервером. У Телеграма есть сессионные ДХ-ключи для общения с конкретными клиентами (а от одного аккаунта может подключиться несколько клиентов) об облачных чатах (где нет оконечного шифрования). Их нет смысла сохранять, когда можно в любой момент договориться о новом, поэтому, вероятнее всего, хоть этот ключ и существует, его нет смысла раскрывать, т. к. действителен он будет недолго. Для секретных чатов ДХ-ключи генерируются для защиты взаимодействия не с сервером, а непосредственно с адресатом. Так что серверы ни на каком этапе не получают готового ключа и не могут их выработать даже имея записанный трафик процедуры согласования ключа. Потому что это Диффи-Хеллман
Поскольку Telegram трубит о максимальной приватности, есть основания полагать, что сессионных ключей они не сохраняют. Исходя из всего этого, ФСБ могут интерсовать два вида ключей, т. к. это единственные ключи с достаточным временем жизни, чтобы их имело смысл получать заранее:
Приватный RSA-ключ сервера — да, им нельзя ничего расшифровать, но с его помощью можно получить сессионный ключ у настоящего сервера Telegram и расшифровать данные, которые можно с его помощью запросить: якобы клиентом у настоящего сервера. Т. е. выполнить MITM-атаку Ключи шифрования (неизвестного типа) данных на жёстких дисках серверов для облачных чатов (секретные существуют в расшифрованном виде лишь на клиентских устройствах), если вдруг удастся заполучить данные с дисков из серверов Telegram. Сколько их и какова область каждого ключа, из-за закрытости серверного кода Telegram достоверно не известно, клиенты с этими ключами никак не работают; теоретически там может и не быть шифрования. Эти ключи имеют хоть какой-то смысл при наличии, скажем, дисков из серверов. И даже в этом случае может подложить свинью полнодисковое шифрование.

Разумеется, я предполагаю, что протокол Диффи-Хеллманна и RSA достаточно криптостойки в тех местах, на которые в них рассчитывают. Если их всё же проломят, устойчивость Telegram будет меньшей из проблем, которые в результате этого всплывут. На этих протоколах основывается львиная доля взаимодействий в интернете — HTTPS, например.

Комментариев нет:

Отправить комментарий