Сквозное шифрование

Что делать обычному пользователю Telegram?

Не вести приватных бесед в мессенджерах. Не передавать через них информацию, которая может быть использована против вас. 

Альтернатива Telegram – например, Signal. Его рекомендовали основатель WikiLeaks Джулиан Ассандж и экс-сотрудник АНБ и ЦР Эдвард Сноуден. 

Но и Signal не раз успешно атаковали. Хотя это сложнее, чем взломать Telegram. 

Другой вариант – мессенджеры с поддержкой OTR: Adium, Conversations Legacy, Xabber, Pidgin (с плагином), Conversations и др. И личные встречи в чистом поле без свидетелей. 

Сквозное шифрование
iPhones.ru

Разбираемся, что там на самом деле с безопасностью в Telegram.

Шифрования транспортного уровня или сквозное шифрование? Anchor link

Сквозное шифрованиеДля того чтобы решить, какой тип шифрования подойдёт вам (шифрование транспортного уровня или сквозное шифрование), необходимо задать себе некоторые вопросы. Доверяете ли вы используемому приложению или сервису? Доверяете ли вы его технической инфраструктуре? Надёжна ли его политика в отношении защиты от запросов правоохранительных органов?

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

Мы создали анимацию, демонстрирующую работу сквозного шифрования и шифрования транспортного уровня при передаче данных. Слева представлен чат, использующий сквозное шифрование (протокол шифрования мгновенный сообщений OTR, или Off-the-Record). Справа – чат, использующий шифрование транспортного уровня (с помощью использования HTTPS сайтом Google Hangouts).

Сквозное шифрование

На GIF-анимации первый пользователь печатает сообщение в окне чата Google Hangouts:

«Hi! This is not end-to-end encrypted. Google can see our conversation.» (Привет! Это сообщение не использует сквозное шифрование. Google может читать наши сообщения.)

У этого пользователя также открыто и окно чата Off-the-Record (OTR), и он включает режим «private conversation» (защищённая переписка). В окне чата OTR сопроводительный текст гласит:

«Attempting to start a private conversation with . Private conversation with has started. However, their identity has not been verified.» (Попытка начала защищённого диалога с . Защищённый диалог с начат. Однако идентичность собеседника не подтверждена.)

Одновременно с этим в окне чата Google Hangouts текст шифруется и заменяется на тарабарщину, что означает использование пользователями протокола OTR со сквозным шифрованием. Каждое сообщение, переданное с помощью окна чата OTR, также отображается и в окне чата Google Hangouts, однако в виде, не позволяющем понять содержимое сообщения. Первый пользователь пишет:

«Now conversation is end-to-end encrypted. Google can see that we`re chatting, but is unable to read what we`re actually saying.» (Теперь наша беседа защищена сквозным шифрованием. Google может видеть, что мы общаемся, но не сможет узнать, о чем именно.)

Другой пользователь печатает сообщение в OTR клиенте:

«It looks like gibberish to anyone else.» (Для любого другого пользователя это сообщение выглядит как полный бред.)

Первый пользователь пишет:

«Yup, it looks like nonsense.» (Ага, выглядит бессмысленно.)

Другой пользователь отправляет смайлик.

Что такое сквозное шифрование и какие еще бывают варианты

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

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

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

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

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

Telegram

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

Во-вторых, само приложение Telegram не хранит локальные копии переписки. Вся она загружается с сервера. Поэтому скопировать лог чатов, как в Viber и многих других мессенджерах, не получится.

В-третьих, в Telegram есть секретные чаты, для которых реализованы дополнительные механизмы защиты. Например, во всплывающих уведомлениях не показывается текст секретных чатов. При удалении у одного собеседника секретные сообщения удаляются и у другого. Можно даже запрограммировать автоматическое уничтожение сообщения через заданное время. В любом случае после доставки все секретные сообщения удаляются с серверов Telegram.

Проверить это можно только косвенно, сменив устройство. На новом смартфоне после авторизации в Telegram удастся восстановить всю переписку, кроме секретных чатов. Происходит так потому, что ключ шифрования переписки в секретных чатах привязан к конкретному устройству. Во всяком случае, так утверждается в официальном FAQ.

Что же делать, если Вася будет использовать секретные чаты Telegram с автоматически удаляющимися сообщениями? Как вариант, воспользоваться одной особенностью Android под названием Screen after Previous Screens.

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

Утилита RetroScope с открытым исходным кодом умеет вытаскивать из памяти смартфона десяток последних снапов экрана (или больше, если повезет), среди которых попадается что угодно — включая секретные чаты Telegram (в том числе уже удаленные) и чаты Signal, которые вообще нельзя заскринить штатным образом.

Зачем это нужно

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

Сквозное шифрование

По факту, как и в других подобных случаях, сквозное шифрование добавлялось с целью противостояния киберпреступникам, а также лицам, могущим получить доступ к диалогам пользователей. Теперь даже разработчики не могут прочесть передаваемую собеседниками информацию. Это шифрование также называется «end-to-end encryption».

Однако недавно Facebook на правах владельца компании WhatsApp заявил, что из мессенджера будет удалено сквозное шифрование в 2019 году. По словам Цукерберга, это связано с борьбой с терроризмом и экстремизмом по требованию властей США. Звучит убедительно, но также известно, что в программе появится реклама. Совпадение? Нет, потому что теперь WhatsApp будет знать о привычках и предпочтениях пользователей для предоставления релевантной рекламы, что позволит Facebook покрыть затраты на приобретение компании.

Сквозное шифрование работает по такому принципу:

Сквозное шифрование

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

От чего защищает сквозное шифрование

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

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

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

Это обеспечивает целостность переписки: если вы получили сообщение и его удается расшифровать, то вы можете быть точно уверены, что именно это сообщение вам и отправили и в пути оно никак не изменилось.

WhatsApp. Самый популярный мобильный мессенджер

Сквозное шифрование

Так продолжалось до 2009-го года, пока не появился WhatsApp. Первое и весьма продолжительное время (до начала текущего года), приложение было платным. Кроме того, шифрование отсутствовало. Для передачи данных используется открытый и свободный протокол XMPP, основанный на XML, он предполагает передачу не только текстовых сообщений, на так же аудио, видео, двоичных/текстовых файлов.

Работа над безопасностью мессенджера началась в 2012-м году шифрованием текстовых сообщений. Но только весной текущего года было внедрено end-to-end шифрование не только текста, но и голосовых и видео сообщений. Соответственно, после этого серверная сторона потеряла возможность читать пользовательскую информацию.

Благодаря своей бешеной популярности, в 2014-м году сервис WhatsApp был приобретен Facebook’ом. Отчего произошли изменения в плане оплаты.

Зачем шифровать подключение к Интернету?

Есть ли смысл вообще беспокоиться об этом?

Определённо. На самом деле, есть много причин, почему необходимо сделать интернет-трафик нечитаемым:

  • Прежде всего, незашифрованные соединения могут прослушивать и перехватывать хакеры. Так они могут украсть конфиденциальную информацию (данные кредитной карты, пароли и т. д.), или же перенаправить вас на фишинговые веб-сайты (поскольку видят, какими сайтами вы чаще всего пользуетесь).
  • Киберпреступники могут обмануть ваше устройство, и подключиться к поддельной сети WiFi, которую сами же запустят. Если это случится, то они смогут мониторить всю вашу деятельность онлайн.
  • Незашифрованный трафик означает, что ваш интернет-провайдер может просматривать пакеты данных, и видеть, какие сайты вы просматриваете и какие веб-приложения используете. Благодаря этой информации они могут целенаправленно ограничивать пропускную способность вашего соединения.
  • Если вы используете незашифрованные соединения, это в значительной степени говорит о том, что вы согласны, что ваш провайдер будет продавать ваши данные рекламодателям.
  • Отсутствие шифрование трафика означает, что сетевые администраторы также могут отслеживать его. Это может стать проблемой, если вы посещаете «отвлекающие» веб-сайты на работе или в школе, будь то YouTube, Facebook или Twitter.
  • Кроме того, шифрование поможет вам избежать правительственной слежки за тем, что вы делаете в интернете.

«Но я уже использую зашифрованный WiFi, так что все в порядке, верно?»

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

Но вот в чем проблема – большинство сетей для шифрования используют WPA2. К сожалению, этот стандарт безопасности не так уж хорош и имеет серьезные уязвимости. Вы можете найти много информации, согласно которой есть как минимум несколько способов взломать пароли WPA2 (здесь, здесь и здесь).

Новый стандарт шифрования WPA3 должен исправить эти проблемы, но даже он не без изъяна.

Кроме того, есть еще одна проблема: некоторым сетям может и требуется пароль для использования, но они могут быть защищены устаревшим шифрованием, вроде WEP и WPA.

В общем, тот факт, что вы используете зашифрованный WiFi, вовсе не означает, что ваши данные в безопасности.

Шифрование транспортного уровня Anchor link

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

Шифрование (или безопасность) транспортного уровня (Transport Layer Security — TLS), осуществляет защиту сообщений при их передвижении с вашего устройства на сервера мессенджера, а затем с этих серверов на устройство вашего собеседника. Посередине (между вашим устройством и устройством вашего собеседника) находится поставщик услуг обмена сообщениями, вебсайт, который вы просматриваете, или приложение, которым вы пользуетесь. И каждый из них может просматривать ваши незашифрованные сообщения. В связи с тем, что ваши сообщения могут просматриваться серверами поставщика услуг (а зачастую и храниться на них), конфиденциальность сообщений будет под угрозой из-за возможных запросов правоохранительных органов или утечки данных при взломе этих серверов.

Пример шифрования транспортного уровня: HTTPS

Сквозное шифрование

Если кто-либо шпионит в сети и попытается узнать, какие страницы сайта вы посещаете, протокол соединения HTTP не обеспечит защиты. А вот HTTPS сохранит в тайне, на какие конкретные страницы сайта вы заходили – все, что в адресе будет указываться после знака «/». Например, при использовании HTTPS, открывая страницу https://ssd.eff.org/en/module/what-encryption, злоумышленник сможет увидеть только https://ssd.eff.org.

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

Мы рекомендуем использовать расширение браузера от EFF под названием HTTPS Everywhere. Расширение позволит автоматически переключаться на HTTPS-версии сайтов (использующих этот протокол) и обеспечит наибольшую степень защиты.

Использование сервисом протокола HTTPS ещё не означает защиту конфиденциальности его пользователей, заходящих на сайт сервиса. Например, сайт, защищённый протоколом HTTPS, всё равно может использовать шпионящие куки-файлы или содержать вредоносные приложения.

Пример шифрования транспортного уровня: виртуальная частная сеть (VPN)

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

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

Дальнейшие рекомендации по выбору подходящего VPN вы найдёте в соответствующем руководстве SSD.

Шифрование данных, хранящихся на различных носителях Anchor link

«Хранящиеся» данные находятся, например, в памяти мобильного телефона, на жёстком диске ноутбука, сервера или на внешнем жёстком диске. Говоря, что данные «хранятся», мы имеем в виду, что они не передаются из одного места в другое.

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

      Сквозное шифрование
И смартфон, и ноутбук имеют свои защищённые паролем экраны блокировки.

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

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

Существуют и другие способы шифрования данных, хранящихся на носителе. Одним из них является «шифрование файлов», с помощью которого можно зашифровать отдельные файлы на компьютере или другом устройстве хранения данных. Ещё один способ – «шифрование диска». С его помощью можно зашифровать данные, записанные на логическом разделе жёсткого диска.

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

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

Как работает сквозное шифрование? Anchor link

Сквозное шифрование обеспечивает превращение информации в тайное послание, которое может быть расшифровано лишь конечным получателем. Это значит, что никто не сможет узнать содержимое этого послания – ни злоумышленники в общедоступных сетях Wi-Fi, ни интернет-провайдеры, ни сайты или приложения, используемые вами. Может показаться несколько странным, что читаемые нами сообщения в приложении на телефоне или информация с сайта на компьютере не видны компании-разработчику данного приложения или платформе сайта. Но это свойство является ключевой характеристикой хорошего шифрования – даже люди, разработавшие и внедрившие шифрование, не смогут его взломать.

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

(Не спутайте сквозное шифрование с шифрованием транспортного уровня. Сквозное шифрование обеспечит защиту, например, вашей переписки на всем пути от отправителя до получателя. Шифрование же транспортного уровня лишь защитит её на пути от вашего устройства до серверов приложения и от серверов приложения до устройства получателя. В середине пути ваша переписка будет доступна в незашифрованном виде поставщику услуг обмена сообщениями, просматриваемому сайту или используемому приложению.)

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

Некоторые сервисы, например Google, рекламируют своё «шифрование», в котором они используют свои ключи, контролировать которые не смогут ни отправители, ни получатели сообщений. Это шифрование не является сквозным. Для обеспечения истинной конфиденциальности общения оба собеседника должны обладать ключами, позволяющими шифровать и расшифровывать сообщения. Если же используемый сервис контролирует ключи, то это шифрование называется шифрованием транспортного уровня.

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

Больше информации о шифровании вы сможете почерпнуть из руководств «Что мне нужно знать о шифровании?», «Ключевые концепции шифрования» и «Различные типы шифрования». Мы также более подробно объясняем про один из видов сквозного шифрования – шифрование с открытым ключом в статье «Глубокое погружение в сквозное шифрование: как работают системы шифрования с открытым ключом?».

Диффи, Хеллман! Дайте три!

Из открытой документации известно, что в Telegram аутентифицированное распределение ключей обеспечивает классический протокол Диффи — Хеллмана (DH). Он создает мост между асимметричным (RSA) и симметричным (AES) шифрованием, давая возможность энному количеству собеседников вести зашифрованную переписку, передав только публичные ключи по открытому каналу. Для этого в нем генерируются сессионные ключи, представляющие собой общий секрет или общий эфемерный ключ. Он вычисляется на основе секретного ключа одного собеседника и публичного ключа другого. Эфемерные ключи аутентифицируются долговременными открытыми ключами.

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»