End to end шифрование telegram
Николай Дуров ранее разработал протокол шифрования переписки MTProto. Она легла в основу Telegram. Фактически мессенджер стал попыткой тестирования MTProto на больших нагрузках.
Как работает сквозное шифрование в Telegram
В Telegram используется два вида шифрования: “клиент-сервер” для обычных облачных, в том числе групповых чатов, и “клиент-клиент” (сквозное, или оконечное шифрование, E2EE, end-to-end encryption).
В общих чертах сквозное шифрование работает так.
У отправителя и получателя есть по паре ключей: один приватный, второй публичный. Приватные ключи создаются и хранятся на устройствах пользователей. На сервер эти ключи не попадают.
Шифрование и расшифровка выполняется на устройствах пользователей, а не на сервере. Данные остаются зашифрованными до получения.
Метод действительно мощный. Но… всё не так однозначно.
Увы, Telegram уже взламывали, причём демонстративно
Пользователь Habr под ником ne555 год назад подробно описал, как взломать Telegram. Он обошел сквозное шифрование мессенджера в Android и отправил разработчикам баг-репорт.
Не получив ответа, ne555 связался с волонтерами, которые пообещали донести информацию до руководства Telegram. Но реакции не последовало.
ne555 использовал смартфоны с Android 7.0, Android 6.0 (root-доступ), Android 4.4.2 (root-доступ), а также ПК с GNU/Linux/Windows (с root-доступом) и программу для восстановления паролей по их хешам John The Ripper (JTR, доступна в публичном репозитории на GitHub). JTR позволил распарсить Telegram local code (pin приложения) за секунды, получить нужные файлы и данные для взлома.
При этом реальный владелец аккаунта даже не видел, что его взломали.
А когда хакер попытался с реального аккаунта выйти из всех сеансов, поддельную учетную запись даже не выбросило из сети. Сессионные и графические ключи тоже не менялись.
В общем, хакер успел провести ещё несколько экспериментов, пока аккаунт в Telegram не заблокировали и не удалили секретные чаты. Небыстро, прямо скажем.
Пароль любой длины в Telegram тоже можно обойти
Хакер взломал пароль длиной более 30 символов, настроил на своем устройстве разблокировку отпечатком пальца. А также смог повторно войти в чужой аккаунт и получить доступ ко всем секретным чатам.
Эксперт отметил: в Telegram принудительно интегрирована функция «разблокировка отпечатком пальца». Если на вашем смартфоне нет сканера отпечатка, вы не сможете настроить или отключить её в Telegram.
Кроме того, хакеру удалось обойти шифрование самого устройства. И получить данные Telegram для доступа к секретным чатам.
Серверы Telegram уже взламывали, причём публично
Передаваемые через Telegram файлы уже перехватывали
В июне Symantec рассказал об уязвимости Media File Jacking для Android-версиях Telegram и WhatsApp. Оказалось, что мессенджеры сохраняют изображения в своем внутреннем хранилище, либо во внешнем разделе памяти. Второе опасно.
Если отправлять файлы во внешнее хранилище, то их можно украсть с помощью внешних вредоносных программ. А также заменить или отредактировать.
Так что скриншоты с номерами карт и кошельков таким способом точно передавать не стоит. Как и приватные фото из душа.
Связи пользователей Telegram друг с другом тоже раскрывали
Ещё один скандал вокруг Telegram разразился 30 октября 2018 года. Эксперт по кибербезопасности Натаниэль Сачи выяснил, что десктопный Telegram хранит переписку на жестком диске в незашифрованном виде.
Конечно, это проблема не столько Telegram Desktop, сколько уровня защиты устройства пользователя в целом. Но… Раздолбайство со стороны разработчиков, мягко говоря. Хотя Павел Дуров не считает проблемой такое хранение данных.
У Telegram закрытый код, поэтому объективно проверить его безопасность не получается
Разработчики Telegram заявляют:
Всё хранится в зашифрованном виде, чаты хорошо зашифрованы, а ключи шифрования хранятся по частям в датацентрах в юрисдикции разных стран.
Исходный код клиентов для Telegram является открытым. А вот код сервера открывать не рискнули, и это рождает массу вопросов.
Telegram для iOS издает компания Telegram LLC, а для Android — Telegram FZ-LLC. Компании основали в США и Великобритании, где действует так называемый Gag order. Он предполагает, в том числе, что правоохранительные органы могут запретить разработчикам разглашать сведения о том, что те предоставляли им информацию. В том числе о серверах, ключах шифрования, пользователях и др.
Telegram объявлял конкурс взлома на $200 тыс., которые нереально выиграть
Спустя несколько дней пользователь с ником x7mz, который даже не был экспертом в криптографии, обнаружил уязвимость в протоколе. Она позволяла провести MITM-атаку на секретные чаты. Правда, переписку пользователь не расшифровал, так что ему дали лишь 100 тыс. долларов.
Впрочем, дыры в MTProto находят регулярно (один, два, три). И без финансовой мотивации.
Многие эксперты считают защиту в Telegram просто маркетингом
В Telegram не намерены рассказывать о протоколе MTProto 2.0, да и внешний аудит не проводили ни разу.
Учетные записи в Telegram привязаны к номерам телефона. Это сказывается и на анонимности, и на безопасности.
Коды подтверждения приходят в SMS. Давно всем известная дыра в протоколе сотовой связи SS7 позволяет перехватывать и подменять их.
Что делать обычному пользователю Telegram?
Не вести приватных бесед в мессенджерах. Не передавать через них информацию, которая может быть использована против вас.
Но и Signal не раз успешно атаковали. Хотя это сложнее, чем взломать Telegram.
(54 голосов, общий рейтинг: 4.74 из 5)Ксения Шестакова
Живу в будущем. Разбираю сложные технологии на простые составляющие.
Павел Дуров по требованию Apple отключил эмодзи баклажана с намёком и запустил опрос
В Telegram для iOS и macOS появится распознавание текста на картинках
Госдума: блокировать и признавать Telegram СМИ никто не планирует
Telegram добавил вызывающую анимацию к эмодзи баклажана. Пользователи возмущены
В процессорах MediaTek нашли уязвимость, которая позволяет прослушивать все телефонные разговоры
Apple показала, как сообщит пользователям о том, что их взломали государственные спецслужбы
Специалисты смогли обмануть Touch ID в MacBook и iPad. Нужна только плёнка, клей и немного фотошопа
🙈 Комментарии 27
Я кстати, последнее время заметил проблему в нем. Хочу зайти через рабочий компьютер в telegram web(пусть даже это будет зеркало) и когда пароль должен придти в его в итоге нет. Причём аналогичную схему делал и через телефон (заходил в web версию через браузер) и все нормально приходило.
«Другой вариант – мессенджеры с поддержкой OTR: Adium, Conversations Legacy, Xabber, Pidgin (с плагином), Conversations и др.»
Зачем ссылки на Google Play на сайте iphones? Для iOS только Signal?
Что про wire скажете?
думал в конце будет ссылка на тамтам
Привет от Threema ;)
Это скорей для политиков, оппозиционеров, бизнесменов встреча в чистом поле (хотя и там могут прослушать, перехватить и тд). Для большинства людей прятать то особо и нечего, максимум политические репосты. Хотя, статья очень интересная))))
Всегда говорил и говорю. Все там сливается и на кого он работает давно известно. А так да сделали хороший пиар и люди побежали устанавливать телегу. Другое дело да он удобен, многофункционален и т.п..
@Trooper , бот всегда говорил и будет говорить, а другие боты его лайкать. только толку от твоей жизни, бот, ноль
Неплохая попытка, маил ру, но нет.
гдето читал правприменительную практику по таким делам (не тут ли?)- там нет переписок, если только чел сам не дал свой телефон прочитать.
так что норм безопасность, не сцыте
@joker2k2 , наркотой и по смс торгуют, там тоже никто не прочитает?)))
@triller , чет не слышал про такое ) это менты наверное )) сами читают, сами торгуют )
@joker2k2 , да тут же статья была, что многие совсем о безопасности не заботятся))
Телега ваша у Билайна не работает уже несколько дней. Усе
@iphoneriddick , в смысле? У меня на билайне пашет
@ram_ler , задайте вопрос, как могут существовать свободно распространяемые протоколы шифрования? :) Поищите историю PGP, например, и не путайте свои домыслы с реальностью. А, еще про Кузнечик почитайте, тоже в тему.
Сложно отделить истину, так перемешанную с мифами.
Собственно, статья несёт в себе верную мысль, но экспертного мнения катастрофически не хватает (за Диффи-Хеллмана особенно больно было), очень много поверхностных утверждений.
Давайте посмотрим, как он шифрует ваши персональные данные и поговорим о настоящем End-To-End.
В двух словах, как работает Passport.
- Вы локально с помощью пароля шифруете свои персональные данные (имя, email, скан паспорта, другие документы).
- Зашифрованные данные + метаинформация загружаются в облако Telegram.
- Когда нужно авторизоваться на сервисе, клиент скачивает данные из облака, расшифровывает их паролем, перешифровывает на публичный ключ того сервиса, который запросил информацию, и отправляет.
End to End по мнению разработчиков заключается в том, что облако Telegram якобы не может расшифровать ваши персональные данные, а видит только «случайный шум».
Давайте подробнее глянем на код алгоритма шифрования персональных данных из десктоп клиента, который находится тут и посмотрим, удовлетворяет ли результат его работы критериям End-To-End.
Всё начинается с пароля. Вот место, где он превращается в промежуточный ключ шифрования.
Тут берётся случайная соль, дважды конкатенируется с паролем и прогоняется через хэш SHA-512. На первый взгляд ничего необычного. Но!
Давным давно существуют способы усложнить жизнь тем, кто перебирает пароли на GPU, но разработчики Telegram решили не утруждать себя их внедрением.
Дальше. Хэшем из пароля шифруется еще один почти случайный ключ, который генерируется так:
и используется для шифрования данных вместе с еще одной штукой, о которой ниже.
Случайный он «почти», потому что разработчики телеграма никогда не слышали о HMAC и AEAD и вместо того, чтобы использовать нормальные средства для проверки корректности расшифровки, они делают так, чтобы остаток от деления суммы байт ключа был равен 239, что при расшифровке и проверяют:
Во-первых, этот массив байт получается не такой уж и случайный. Во вторых, при переборе хоть и будет много ложноположительных срабатываний, но посчитать сумму байтов после расшифровки гораздо проще чем HMAC, так что эта гениальная со всех сторон конструкция служит скорее ускорению брутфорса чем приносит пользу.
Идём дальше. Непосредственно метод, шифрующий данные. Тут много букв, поэтому по кускам:
Тут к данным дописываются от 32 до 255 случайных байт. Делается это чтобы разнообразить
переменную dataHash. Это хэш от незашифрованных данных, смешанных со случайными байтами.
Тут формируется ключ шифрования персональных данных. Он получается с помощью еще одного вызова SHA-512 от сгенерированного выше почти случайного ключа, сконкатеннированного с dataHash.
В облако передаются:
- Хэш от персональных данных, смешанных со случайными байтами
- Зашифрованный паролем почти случайный ключ
- Соль
- Зашифрованные данные
Так же большому сомнению подвергаются такие изобретённые авторами Telegram механизмы как проверка ключа на валидность с помощью суммы байт, участие самих данных в формировании ключа их же шифрования и хэш от данных вместо HMAC.
Примерный алгоритм брутфорса:
- Берем пароль по порядку, генерируем хэш от него и соли (GPU)
- Пробуем расшифровать ключ (AES-NI)
- Смотрим на сумму байт и сразу отсеиваем почти все неверные пароли.
- Формируем ключ-кандидат на расшифровывание данных с помощью еще одного вызова SHA-512 (GPU)
- Пробуем расшифровать первый блок данных (AES-NI)
- Чтобы не тратить время на полное расшифровывание и еще один SHA-256, мы можем ускорить брутфорс, проверяя первый байт выравнивания так же как они сами это делают:
Итак, мы видим, что шифрование персональных данных критически зависит от сложности пароля. Все этапы перебора отлично ускоряются аппаратно. Либо с помощью GPU, либо с помощью инструкций AES-NI. Конечно, можно установить длинный, безопасный пароль и надеяться что прокатит. Но как вы сами думаете, какой процент из двухсот миллионов пользователей телеграма будет делать пароли длиннее восьми символов?
Добавьте к этому сомнительные техники генерации ключей и проверки валидности расшифровываемой информации, которые не используют стандартные проверенные механизмы, а прямо нарушают принцип Don't roll your own crypto и станет ясно, что это не End-to-End, а сколоченная на коленке поделка от которой неприятно пахнет.
Кстати, отсутствие цифровой подписи позволяет телеграму не только забрутфорсить личные данные пользователей, но и подменять их на любые другие, например террористов.
Настоящий End-to-End
E2E называется так, потому что позволяет показывать третьим лицам зашифрованные данные не опасаясь за их сохранность. Как мы увидели, это условие новым продуктом телеграма не выполняется.
Но, к примеру, если правильно зашифровать данные не на хэш от пароля, а на публичный ключ, то никакой даже миллиардный кластер не сможет к ним и близко подобраться. Взгляните на Signal, другие мессенджеры на его основе (WhatsApp, etc). Весь мир уже давно и успешно использует современную асимметричную криптографию, алгоритмы, мешающие перебору паролей, стойкие стандартные криптографические конструкции.
Не первый год существуют и гораздо более серьезные системы защиты данных с помощью паролей, которые даже начать брутфорс не позволяют. Потому что у атакующего не будет для этого достаточного набора данных.
Но Telegram пошел своим, особым путём переизобретения криптопримитивов и ослабления защиты. Ну а что, денег им отвалили, за последствия можно не беспокоиться.
Несмотря на то что мессенджер Павла Дурова вышел на рынок позднее своих главных конкурентов WhatsApp и Viber, он довольно быстро приобрел репутацию одного из самых безопасных сервисов. Шифрование Телеграмм с помощью собственной разработки – протокола MTProto – позволило создать хорошо защищенный от взлома продукт, благодаря чему он стал популярен во всем мире.
Рейтинг безопасности
Безопасность виртуального общения определяется рейтингом Фонда электронных рубежей (EFF). В постоянно обновляемой таблице каждому сервису выставляется оценка от 1 до 7 в зависимости от уровня защиты информации от потенциального взлома.
Шифрование Телеграмм является самым защищенным среди других месседжеров
Секретные чаты Телеграмм, шифрование которых осуществляется по принципу end-to-end (E2E), имеют в данном рейтинге максимальный бал – 7, а стандартная переписка, используемая по умолчанию, – 4. Поскольку при обычном общении ключи сохраняются на серверах компании, считается, что потенциально они могут стать доступны третьи лицам.
Возникает вопрос: если сервис Павла Дурова позиционирует себя как самый безопасный мессенджер, почему не использовать секретные чаты по умолчанию, что позволит безоговорочно возглавить рейтинг? Дело в том что E2E-шифрование имеет определенный недостаток – секретная переписка привязывается к конкретному устройству, поэтому и ее история хранится только на одном устройстве. Политика компании заключается в предоставлении пользователям права выбора, ведь стандартный режим позволяет заходить в аккаунт с любого устройства.
Шифрование Телеграмм на основе MTProto
Протокол MTProto использует два слоя шифрования – сервер-сервер и клиент-сервер. Он работает на основе следующих алгоритмов:
Алгоритм показывает как используется шифрование Телеграмм на основе MTProto
Реален ли взлом
Даже если принять в качестве аксиомы, что MTProto действительно имеет лучшие параметры защиты среди современных мессенджеров, злоумышленники все же имеют возможность взломать аккаунт пользователя. При этом сам протокол здесь абсолютно не причем.
MTProto имеет лучшие параметры защиты среди современных мессенджеров
Злоумышленники взламывают аккаунт используя перехват смс
Основатель Telegram Павел Дуров в статье на Telegraph развеял миф о том, что созданный им мессенджер не имеет end-to-end-шифрования по умолчанию в отличие от конкурентов из WhatsApp и Facebook Messenger.
Российский предприниматель объяснил, что еще в пору запуска Telegram в 2013 году команда мессенджера пыталась решить проблему надежного хранения данных пользователей. Для этого предполагалось отказаться от хранения информации в облачных сервисах у третьих лиц, как поступают в «старых приложениях» WhatsApp и Viber. Решением проблемы стало создание двух видов чатов: секретных и облачных.
«Секретные чаты поддерживают E2E-шифрование (end-to-end-шифрование. — Прим. ред.) и никогда не включаются в резервные копии. Облачные чаты точно так же зашифрованы, но копируются в облако. Облачные чаты рассчитаны на большинство пользователей — на тех, кто в другом приложении, например WhatsApp, будет полагаться на менее безопасные резервные копии, хранящиеся у третьих лиц», — пояснил Дуров.
Telegram, отказавшись от хранения резервных зашифрованных копий данных пользователей у третьих лиц (Apple iCloud и Google Drive), создал собственное облачное хранилище, распределенное по разным юрисдикциям. Для наглядности Дуров напомнил, что с момента основания мессенджер не удовлетворил ни один запрос на выдачу личных данных пользователей. В то же время Apple одобрил 80% таких заявок только от китайского правительства.
Дуров предположил, что миф о незащищенности Telegram из-за отсутствующего по умолчанию end-to-end-шифрования был навязан маркетологами Facebook и WhatsApp. По данным российского бизнесмена, компании тратят миллионы долларов на рекламу и оказание влияния на журналистов и блогеров.
Совсем недавно завершился спор между командой Telegram и российскими властями, который разгорелся в июне из-за нежелания мессенджера предоставлять данные для его включения в реестр распространителей информации Роскомнадзора. Конфликт был исчерпан 28 июня, когда Telegram благополучно пополнил список ведомства. Полностью историю взаимоотношений Дурова с российскими чиновниками можно изучить в этом материале «Афиши Daily».
Читайте также: