«Они сражались за Родину». О ключах Telegram

Публикуем первый текст в рамках цикла «Они сражались за Родину», посвященного блокировке IP-адресов сервиса Telegram и последствиям. Роман Елизаров по совету советника Президента РФ по вопросам развития Интернета Германа Сергеевича Клименко дает больше конструктива и рассказывает о ключах шифрования, из-за которых и начались гонения на Telegram.

Роман Елизаров

Как происходит работа современного «Организатора распространения информации в сети Интернет» (здесь и далее в кавычки заключены цитаты из 149-ФЗ)?

Когда вы заходите на веб-страницу, страницу вашей почты в Яндексе, на страницу в VK, Facebook, «Одноклассники», на сайт Telegram или какого-нибудь другого сервиса для «приема, передачи, доставки и (или) обработки электронных сообщений» для того, чтобы что-нибудь написать вашим друзьям или почитать новости, то, в отличие от старой доброй бумажной почты, ваше сообщение не доставляется напрямую друзьям, а непременно сначала сохраняется на серверах используемого вами сервиса.

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

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

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

Как же спецслужбы ведущих держав допустили такое безобразие? История была очень непростой. Разработчики этих алгоритмов с 70-х годов прошлого века подвергались различным гонениям и преследованиям и еще 20 лет назад на тему широкого использования таких алгоритмов велась бурная дискуссия. Более подробно почитать историю можно в этой статье (она платная, но этот тот случай, когда написано популярно и хорошо). Для данного изложения подробности, однако, не важны. Важно знать, что эта дискуссия уже давно закончилась. Более 10 лет мы живем в эпоху, когда все данные, передаваемые между нашими устройствами и используемыми нами сервисами для общения, надежно зашифрованы без какой-либо возможности их расшифровать. И никакой разницы между используемыми сервисами, будь то Telegram или «Одноклассники», тут нет.

Именно поэтому требования 126-ФЗ к операторам связи, которые являются только передающим звеном и оперируют только зашифрованной информацией, о хранении всех передаваемых данных в течение шести месяцев и требования 149-ФЗ к сервисам обмена сообщений «представлять в федеральный орган исполнительной власти в области обеспечения безопасности информацию, необходимую для декодирования принимаемых, передаваемых, доставляемых и (или) обрабатываемых электронных сообщений», которой не существует в принципе, в силу используемых алгоритмов, это полнейшая чушь, никак не состыковывающаяся с технологической реальностью 2018 года. Нельзя вот так просто законодательными актами переделать всю инфраструктуру современного интернета и всех работающих в нем сервисов.

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

В этом случае никто, даже используемый вами для передачи шифровок сервис («Яндекс», Telegram, голубиная почта и т. п.), никогда не сможет расшифровать вашу переписку. Это почти полный эквивалент личного общения в плане возможности подслушивания с теми же рисками того, что у вас или у вашего собеседника стоит какой-нибудь «жучок», записывающий и/или сливающий ваше общение третьей стороне.

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

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

Когда Вы слышите об оконечном шифровании, то это чаще всего простой PR, не имеющий отношения к массовому общению. Тем не менее, все существующие сервисы общения без исключений (Телеграм, Viber, WhatsApp, VK, Facebook, «Однокласники» и т. п.) шифруют все передаваемые сообщения так, что запись этих данных операторами связи по 126-ФЗ является абсолютно бессмысленной, поскольку они в принципе не подлежат расшифровке третьими лицами. Расшифровывать их может только получатель (будь то сервис или конечный получатель в случае использования оконечного шифрования), используя одноразовые ключи, которые заново создаются для каждой сессии.

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

Как это коррелирует с тем, что происходит сейчас в Рунете? Интересно, что по этому поводу думают те, кто участвовал в Совещании у Германа Клименко, что думает он сам. Или слова Президента — не Закон, а они должны выполнять Закон? Как-то очень сложно получается -моих мозгов не хватает. Может, кто подскажет, как это все понимать? Может, например, Михаил Леонтьев, оскорбивший на радио «Комсомольская правда» 20 миллионов (число названо им) россиян, которые пользуются Telegram?

Выпускник Университета ИТМО, доцент кафедры компьютерных технологий, член международного организационного комитета ACM ICPC,  один их создателей языка программирования Kotlin