Обмен ключами шифрования в телеграмме что это
Перейти к содержимому

Обмен ключами шифрования в телеграмме что это

  • автор:

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

@D-side Вопрос по устройству протокола телеграм, вопрос по устройству ключей — не относится к программированию. Я в шоке.

6 апр 2018 в 14:09

Точно так. О ключах — пожалуйста. Но об их связи с конституционным правом и о законности действий ФСБ это уже к юристу.

– user181100
6 апр 2018 в 14:11

@D-side Для чего мне нужен ответ на данный вопрос выходит за рамки, но если вам так будет угодно — могу вычеркнуть «пытаюсь понять» и вставить «хочу написать свой клиент», будет лучше? Вы отзовёте свой голос за закрытие?

6 апр 2018 в 14:20

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

– user181100
6 апр 2018 в 14:23

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

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

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

Согласно часто задаваемым вопросам для технарей (technically inclined) можно сделать некоторые выводы о возможностях расшифровки передаваемого трафика:

  • Из-за того, что при передаче повсюду используются ключи, согласованные по протоколу Диффи-Хеллмана (ДХ), если сервер Telegram не сохраняет сессионных ключей (что он теоретически может, но вряд ли делает), то расшифровка ранее записанных данных скорее всего невозможна, т. к. и сервер и клиент могли уже давно забыть к ним ключ.
  • У Телеграма есть приватный RSA-ключ для проверки подлинности сервера, публичный «брат» которого зашит в клиенты. При наличии этого приватного ключа возможно устроить MITM-атаку, заставив клиентов в подконтрольной сети считать собственный сервер подлинным сервером Telegram, из-за чего клиенты будут считать канал доверенным и приступят к согласованию сессионных ключей с самозванцем, который в свою очередь сможет от лица клиента связаться с настоящим сервером.
  • У Телеграма есть сессионные ДХ-ключи для общения с конкретными клиентами (а от одного аккаунта может подключиться несколько клиентов) об облачных чатах (где нет оконечного шифрования). Их нет смысла сохранять, когда можно в любой момент договориться о новом, поэтому, вероятнее всего, хоть этот ключ и существует, его нет смысла раскрывать, т. к. действителен он будет недолго.
  • Для секретных чатов ДХ-ключи генерируются для защиты взаимодействия не с сервером, а непосредственно с адресатом. Так что серверы ни на каком этапе не получают готового ключа и не могут их выработать даже имея записанный трафик процедуры согласования ключа. Потому что это Диффи-Хеллман.

Поскольку Telegram трубит о максимальной приватности, есть основания полагать, что сессионных ключей они не сохраняют. Исходя из всего этого, ФСБ могут интерсовать два вида ключей, т. к. это единственные ключи с достаточным временем жизни, чтобы их имело смысл получать заранее:

  • Приватный RSA-ключ сервера — да, им нельзя ничего расшифровать, но с его помощью можно получить сессионный ключ у настоящего сервера Telegram и расшифровать данные, которые можно с его помощью запросить: якобы клиентом у настоящего сервера. Т. е. выполнить MITM-атаку.
  • Ключи шифрования (неизвестного типа) данных на жёстких дисках серверов для облачных чатов (секретные существуют в расшифрованном виде лишь на клиентских устройствах), если вдруг удастся заполучить данные с дисков из серверов Telegram. Сколько их и какова область каждого ключа, из-за закрытости серверного кода Telegram достоверно не известно, клиенты с этими ключами никак не работают; теоретически там может и не быть шифрования. Эти ключи имеют хоть какой-то смысл при наличии, скажем, дисков из серверов. И даже в этом случае может подложить свинью полнодисковое шифрование.

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

Техническое FAQ

Этот раздел FAQ рассчитан на продвинутых пользователей. Можете также почитать обычное FAQ.

Общие вопросы

Почему вы используете собственный протокол?

MTProto использует оригинальный метод для того, чтобы достичь надёжности в ныне уязвимой мобильной связи и скорости в доставке больших файлов (например, фотографий, видеороликов и документов размером до 1 ГБ). Этот документ предназначен для разъяснения деталей нашей системы и рассмотрения элементов, которые на первый взгляд трудно понять.

Где я могу почитать про протокол?

Детальная документация протокола доступна на этой странице. Если у вас есть вопросы — пишите в Твиттер.

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

  • соль сервера (64-битная) — server salt (64-Bit);
  • идентификатор сессии — session id;
  • порядковый номер сообщения — message sequence number;
  • длина сообщения — message length;
  • время отправки сообщения — time.

Note 2: Смотрите дополнительные комментарии по поводу использования IGE, SHA-1 и модифицированной схемы encrypt-and-mac.

Почему вы не используете X [ваш вариант]

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

Почему вы опираетесь на классические криптоалгоритмы?

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

Я — эксперт в области безопасности, и я считаю, что ваш протокол небезопасен.

Вы можете принять участие в нашем конкурсе: Павел Дуров предлагает $200 000 в биткойнах тому, кто первый взломает MTProto. Можете ознакомиться с объявлением и Конкурсным FAQ. Если у вас есть другие замечания, будем рады услышать их на [email protected] .

Защита от известных атак

Атаки на основе открытых текстов (Known-Plaintext Attacks)

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

Атака на основе адаптивно подобранного открытого текста

Согласно определению, атака на основе адаптивно подобранного открытого текста — вид атаки в криптоанализе, предполагающий, что криптоаналитик может выбирать открытый текст и получать соответствующий ему шифротекст. MTProto использует AES в режиме IGE, который безопасен против таких атак. Известно, что IGE неустойчив к blockwise-adaptive атакам, но MTProto исправляет это нижеописанным способом. Каждое сообщение с открытым текстом, которое предстоит зашифровать, содержит следующие данные, которые проверяются при расшифровке:

  • соль сервера (64-битная) — server salt (64-Bit);
  • порядковый номер сообщения — message sequence number;
  • время отправки сообщения — time.

Вдобавок к этому, чтобы заменить открытый текст, также придётся использовать верные AES-ключ и вектор инициализации, зависящие от auth_key . Это делает MTProto устойчивым против атак на основе адаптивно подобранного открытого текста.

Атаки на основе подобранного шифротекста

Согласно определению, атака на основе подобранного шифротекста — это криптографическая атака, при которой криптоаналитик собирает информацию о шифре путём подбора зашифрованного текста и получения его расшифровки при неизвестном ключе. При такой атаке злоумышленник может ввести в систему один или несколько известных шифротекстов и получить открытые тексты. При помощи этих данных атакующий может попытаться восстановить ключ, используемый для расшифровки. В MTProto при каждой дешифровке сообщения производится проверка на соответствие msg_key к SHA-1 расшифрованных данных. Открытый текст (дешифрованные данные) также всегда содержит информацию о длине сообщения, его порядкового номера и соли сервера. Это сводит на нет атаки на основе подобранного шифротекста.

Атаки повторного воспроизведения

Атаки повторного воспроизведения невозможны, поскольку каждое сообщение с открытым текстом содержит соль сервера, уникальный идентификатор сообщения и порядковый номер.

Атака «Человек посередине» (MitM)

Telegram имеет два режима общения: обычные чаты, использующие шифрование клиент-сервер, и секретные чаты, использующие оконечное шифрование и защищённые от атак посредника. Передача данных между клиентом и сервером защищена от подобных атак во время генерации ключей по протоколу Диффи —Хеллмана благодаря алгоритму с открытым ключом RSA, который встроен в клиенты Telegram. После этого, если клиенты собеседников доверяют программному обеспечению сервера, секретные чаты между ними защищаются сервером от атак посредника. Специально для тех, кто не доверяет серверу, в приложении доступно сравнение секретных кодов. Ключи визуализируются в виде изображений. Сравнивая визуализированные ключи, пользователи могут удостовериться, что атака «человек посередине» не была осуществлена.

Шифрование

Вы используете IGE? Он же взломан!

Да, мы используем IGE, но в нашей реализации с ним всё в порядке. Тот факт, что мы не используем IGE вместе с другими элементами нашей системы так же, как и MAC, делает попытки взлома IGE бессмысленными. IGE, ровно как и распространённый режим сцепления блоков шифротекста (CBC), подвержен blockwise-adaptive атакам. Но адаптивные атаки являются угрозой лишь тогда, когда один и тот же ключ используется в нескольких сообщениях (в MTProto это не так).

Адаптивные атаки даже теоретически невозможны в MTProto, потому что для расшифровки сообщений последние должны быть сперва полностью набраны, так как ключ сообщения зависит от его содержания. Что же касается неадаптивных CPA-атак, IGE защищён от них, как и CBC.

Вы используете схему Encrypt-then-MAC, MAC-then-Encrypt или Mac-and-Encrypt?

Наша схема близка к MAC-and-Encrypt, но имеет значительную модификацию: ключ шифрования и вектор инициализации зависят от хэша.

  • Мы используем SHA-1 для проверки целостности.
  • SHA-1 нужен для необработанной незашифрованной информации.
  • Ключ сообщения зависит от SHA-1.
  • Обращаем внимание, что AES-ключ зависит от SHA-1.

В результате зависящая от данных ключевая переменная защищена от всех известных типов атак.

Почему вы используете SHA-1 вместо MAC?

С технической точки зрения в нашей реализации SHA-1 можно назвать особой разновидностью MAC (но не HMAC), так как он используется и в качестве ключа шифрования. Мы используем SHA-1, потому что он быстрее, особенно в случаях, когда нужно отправить большие фотографии или видеозаписи (Telegram поддерживает отправку файлов размером до 1 ГБ). Компромисс кажется оправданным, так как это означает, что по-прежнему требуется минимум 2^128 операций (вместо, скажем, 2^256 с SHA-2) только для того, чтобы начать попытки взлома схемы.

Аутентификация

Является ли проверка ключа между клиентами обязательной?

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

Поддерживается ли прямая секретность?

Прямая секретность доступна в секретных чатах, но в данный момент требует дополнительных действий от пользователя: придётся удалить секретный чат и создать новый или выйти из своей учётной записи (это удалит все секретные чаты). Прямая секретность поддерживается протоколом: примитивный p_q_inner_data_temp может использоваться для генерирования временных ключей с ограниченным TTL для достижения PFS. Мы работаем над нашими приложениями, чтобы добавить прямую секретность и в обычные чаты Telegram. В данный момент есть возможность создать клиент, поддерживающий прямую секретность, через наш API.

Сайт про Telegram на русском (неофициальный).

Здесь собраны приложения на базе MTProto, переведена некоторая документация с официального сайта, а также работает Webogram.

Обмен ключами шифрования в телеграмме что это

Telegram Desktop / TDesktop
версия: 4.6.5

Последнее обновление программы в шапке: 25.03.2023

Прикрепленное изображение

Прикрепленное изображение

Telegram Desktop — это официальное приложение Telegram для настольных операционных систем.
Бесплатный (никаких платных подписок) мессенджер от компании Павла Дурова. Быстрое и безопасное настольное приложение, отлично синхронизированное с вашим мобильным телефоном.

Особенности:

  • Обои чата
  • Чаты до 100 000 участников
  • Прикрепление фото и видео размером до 1,5 Гб
  • В переписке гарантируется безопасность благодаря сложной системе шифрования
  • Регистрация по Вашему номеру телефона
  • Приложение поддерживает всплывающие Metro-уведомления, Windows 8.x

Информация о разработчике:

Русский интерфейс: Нет
Разработчик: Telegram Messenger LLP
Официальный сайт: https://desktop.telegram.org/
Сообщество: http://vk.com/tdesktop
Твиттер: https://twitter.com/telegramdesktop
Веб-версия: https://web.telegram.org/#/login
Веб-версия на русском (Webogram): https://web.tlgrm.ru/
Новости Telegram: https://t.me/tglive
Поиск по хэштегу #Desktop отфильтрует регулярные свежие новости по десктопной версии.

Темы для Telegram Desktop: https://t.me/themes.
В профиле канала есть ссылка на соответствующую группу, где возможно задавать вопросы по темам и их созданию.
Подборка визуальных редакторов тем для Telegram Desktop

Локализация на русский и другие языки:
Cпособ для Windows/Linux:

1. С помощью бота @telerobot_bot или темы, скачайте файл локализации для своего языка:
Русский | Українська | Белорусская
Проблемы с ботом? Пожалуйста, скачайте необходимые файлы отсюда.
2. Бот отправит вам файл локализации:
Прикрепленное изображение
3. Скачайте файл на компьютер, нажав на синюю кнопку со стрелкой.
4. Перейдите в настройки («Settings» на верхней панели) и напечатайте на клавиатуре loadlang. Сразу после ввода откроется окно выбора файла.
Прикрепленное изображение
ИЛИ:
Прикрепленное изображение
Нажмите на пункт «Settings» (Настройки) в верхней панели, далее найдите раздел «General». После этого зажмите на клавиатуре клавиши Shift и Alt и нажмите на кнопку «Change language»:
5. В окне выбора файла выберите скачанный файл локализации и нажмите «OK».

Прикрепленное изображение

6. Перезапустите Telegram для сохранения настроек.

Прикрепленное изображение

Готово! Вы только что локализовали Telegram Desktop для Windows, OS X или Linux.
Cпособ для OS X:
1. Скачайте файл локализации для вашего языка:
Русский | Другие языки

Примечание: для удобства вы можете попросить администратора отправить вам файл локализации. Для этого отправьте нашему роботу (имя пользователя @telerobot_bot) команду locale osx. Получив сообщение, робот сразу же отправит вам в ответ файл локализации.

2. Полученный файл переименуйте на Localizable.strings
3. Замените переименованный файлом файл с таким же названием в папке /Applications/Telegram.app/Contents/Resources/ru.lproj (потребуется ввести пароль)
4. Перезапустите программу

Как обновить обычную группу до супер группы: Telegram (Пост [Devil] #46515626)

Скачать:
Официальные версии
Прошлые версии:
Alpha версии:

Альфа-версия

Если вы хотите получать все обновления быстрее и быть первым, чтобы проверить новые функции, вы можете использовать Альфа-версии Telegram для настольных ПК вместо стабильной.

Стабильная версия обновляется реже, но тестируется лучше, чем Альфа-версия.

Вот Альфа версии ссылки для разных платформ:

Просто установите его на верхней части Вашего текущего рабочего стола Telegram и там вы запустите.
Ваша Обратная связь приветствуется в Twitter.

Alpha version

If you would like to get all updates faster and be the first to test new features, you are welcome to use Telegram Desktop’s alpha version instead of the stable one.

The stable version is updated less frequently, but is tested better than the alpha version.

Here are the alpha version links for different platforms:

Just install it on top of your current Telegram Desktop and there you go.
Your feedback is welcome on Twitter.

v 0.9.47 alpha 02.05.16
v 0.9.46 alpha 27.04.16

Alpha versions instead of dev
Bug fixes and other minor improvements
Скачать:
Для Windows:
Online: tsetup.0.9.47.alpha.exe ( 15.58 МБ )

Для Linux:
32bit: tsetup32.0.9.47.alpha.zip ( 24.21 МБ )

Для Mac OS X:
10.8+ Setup: tsetup.0.9.47.alpha.rar ( 40.8 МБ )

Прошлые Stable версии:

версия: 0.9.44 для Windows
Online: tsetup.0.9.44.exe ( 15.59 МБ )
Portable: tportable.0.9.44.zip ( 17.21 МБ )

версия: 0.9.42 для Linux
32bit: tsetup32.0.9.42.rar ( 20.25 МБ )
64bit: tsetup.0.9.42.rar ( 20.45 МБ )

Звоню другу в телеграмм по компу -пишет «обмен ключами шифрования..» и не соединят и сбрасывается,как решить ?

Миша Искусственный Интеллект (249851) TiGriK), прокси оба выключите и перезапустить. настройки, продвинутые, тип соединения.

Похожие вопросы

Ваш браузер устарел

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

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

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