Профессиональное расследование. Как работает шифрование в WhatsApp, iMessage и других

Как происходит шифрование данных в 6 популярных приложениях для обмена сообщениями. И стоит ли этому верить.

АВТОР: Юрий Язев.

О появлении мессенджеров и вопросе конфиденциальности

В былые времена главным средством связи в интернете была электронная почта (достаточно вспомнить эпическую переписку Линуса Торвальдса и Эндрю Таненбаума, и не факт, что кто-то взломал почту одного из них, Линус сам опубликовал переписку в своей книге «Just for Fun»), ни о каком шифровании никто особо не задумывался.

Но это не мешало отдельным индивидуумам производить шифрование/расшифрование писем на локальном компе, зная при этом общий ключ. Но это не было широко распространено, мало кто был в этом заинтересован. Были же времена.

В первой половине 90-х в качестве средств общения большую популярность получили чаты (chat-room). Следует заметить, что их популярность была высокой даже до середины первого десятилетия 21-го века. Уверен, все читатели ресурса знают, а кто-то может помнит чаты, поэтому я не буду на них останавливаться.

ICQ

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

Для передачи данных использовался проприетарный протокол OSCAR. Два года спустя, Mirabilis была куплена американской компанией AOL и до 2010-го года вместе с мессенджером принадлежала ей. А, в указанном году, права на ICQ были проданы Mail.Ru Group.

После появления ICQ, как грибы после дождя стали появляться конкурирующие системы мгновенного обмена сообщениями. За время жизни ICQ, появилось многочисленное количество, как официальных модификаций, так и неофициальных клиентов, примерами тому служат QIP, Miranda и многие другие. Среди конкурирующих программ, стремящихся потеснить ICQ в 1999-м году вышел MSN Messenger от Microsoft.

Последний стремился стать заменой ICQ-клиенту, используя его протокол, но не получилось, AOL пресекали попытки путем изменения протокола.

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

Это был ХХ век.

О необходимости шифрования данных

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

И юзерам не хотелось бы, чтобы их данные кто-то мог беспрепятственно перехватить и прочитать (особенно жалко исходные коды).

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

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

О шифровании

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

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

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

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

Сгенерировав по паре ключей, собеседники обмениваются открытыми ключами, после чего начинается защищенное общение.

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

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

Сама идея end-to-end не нова. В 1991-м году Филом Зиммерманом было разработано программное обеспечение для шифрования сообщений и других данных PGP (Pretty Good Privacy). В последующие годы алгоритм и соответствующее ПО усовершенствовались и приобрели дополнительные механизмы.
В 1997-м году компания PGP Inc. предложила инициативу OpenPGP, а в 1999-м участниками движения свободного программного обеспечения на основе открытого стандарта была создана свободная реализация PGP — GnuPG.

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

Шифрование в средствах IM

В 21-м веке появилось еще больше мессенджеров, мы обратим внимание только на самые популярные — выдержавшие конкурентную борьбу.

Но сначала, об ICQ. Как было сказано выше, в этом приложении данные передаются по протоку OSCAR (текстовые сообщения). В 2008-м году он стал открытым, но по прежнему не свободным. Открытие протокола сделало возможным проведение аудита независимыми исследователями, что является важным пунктом в общем доверии к безопасности сетевых приложений. Многие альтернативные клиенты, в том числе: Miranda, QiP уже довольно давно поддерживают шифрование на основе PGP.

Однако, только весной этого года аська вдобавок к тексту получила end-to-end шифрование по двум фронтам: аудио и видео. Как мы знаем, данный тип шифрования позволяет избежать чтения данных третьим лицом (Mail.ru), но в то же время мы помним: в условиях использования оговаривалась возможность использования любых передаваемых данных.

Skype. Самый используемый

Был создан в 2003-м году люксембургской компанией Skype Limited (преимущественно, эстонскими программистами). До сих пор очень популярный мессенджер, очевидно, по инерции. В 2011 компания Skype Limited была куплена Microsoft«ом. Ранее, последняя хотела купить ICQ, но не получилось, второй шанс с другим мессенджером она не упустила. Skype имеет порты под все распространенные девайсы и операционные системы.

Сначала в Skype использовался оригинальный проприетарный протокол, на который жаловались все спец. службы из-за невозможности взломать его. Но, после покупки Microsoft«ом, прежний протокол был признан устаревшим и заменен MSNP 24-й версии. Для внешних атак протокол является стойким, поскольку используется алгоритм шифрования AES-256. В то же время, если в разговоре участвует собеседник с обычного стационарного или мобильного телефона, тогда его данные не шифруются.

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

После 2003-го года никто, по большому счету, несколько лет мессенджерами не занимался, это было не выгодно, Skype почти каждый год приносил убытки.

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

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

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

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

Viber. Самый популярный мессенджер в России

Затем, в 2010-м году, появился Viber — средство IM и VoIP-телефонии. Но только весной этого года передача любых данных стала зашифрованной. Безусловно, разработчики реализовали сквозное шифрование.

iMessage. Полная безопасность под вопросом

Разработан в 2011-м году. Первый этап шифрования выглядит стойким: сообщение шифруется комбинацией 1280-битного открытого RSA ключа и 128-битным алгоритмом AES. А, подпись осуществляется на основе алгоритма ECDSA (Elliptic Curve Digital Signature Algorithm). Собеседники меняются ключами для создания шифровок. На первый взгляд, все круто.

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

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

Telegram. Легендарное шифрование MTProto

Появился в 2013-м году, благодаря тандему братьев Дуровых. Один из последних неустанно распространяет сведения о сверх безопасность своего детища. Поэтому по поводу безопасности Telegram поднято много дебатов. Абсолютная безопасность весьма спорный вопрос.

Перед отправкой данных с помощью транспортного протокола (http, tcp, udp), их шифрованием занимается протокол MTProto — совместная разработка братьев. Он состоит из трех независимых компонентов: компонент высокого уровня, криптографический слой, компонент доставки. Первый — определяет метод, с помощью которого запросы и ответы API конвертируются в двоичный код.

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

Вместе они представляют 256-битный ключ и столько же разрядный вектор инициализации. Последний используется для шифрования сообщения посредством алгоритма AES-256. В шифруемое сообщение включаются: сессия, ID сообщения, порядковый номер сообщения, соль сервера. Эти данные, в свою очередь, оказывают влияние на ключ сообщения.

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

Первый — защищенный режим именуется секретным чатом (Secret room) и работает по всем законам end-to-end шифрования. Пользователь сам по желанию может включить этот режим.

Тем не менее, в обоих случаях, определенное время сообщения хранятся на сервере. В первом случае, их невозможно прочесть, а во втором — можно. Продолжительностью этого времени управляет пользователь.

Итоги

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

Cледует заметить, самые популярные мессенждеры не являются самыми защищенными. Юзерам, беспокоящимся за безопасность своей переписки, интимных фото и видео, а так же исходных кодов (ну, это самое главное), рекомендуется обратить внимание на следующий список не особенно популярных мессенджеров:

— Tor Messenger
— ChatSecure
— CryptoCat
— Signal

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

©  iphones.ru