Как происходит шифрование данных в 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
Эффект бабочки – разгромный доклад Сноудена обязал всех защищаться и шифроваться. Подтолкнул информационную индустрию к шагам в сторону безопасности. И только в этом году маятник качнулся и достиг реальных действий.
АВТОР: Юрий Язев.
27 комментариев
Форум →А как же наличие мастер ключа у компании?)
@andyfinch, при сквозном шифровании никакого мастер ключа нет
статья наверняка интересная, но я прочёл только “Итоги” )
а то всякие телеграмы да воцапы.. берём топ месенджер и вперёд..
ахаха. статью о шифровании пишет человек, который считает что компании хранят пароли в открытом виде. давно так в голос не смеялся. о банальном md5 что-нибудь вообще слышали?:)))
@goodhoopoe,
разберитесь какие именно ключи упомянуты в статье.
про md5 уже смешно.
Ну и автора можно попуглить и его статьи.
@Entze, я читаю
и знаю русский язык, и в данном случае слово “последний” явно соотносится с фразой “пароль, который есть у эппл”, увы я читатель и не должен додумывать что автор в данном куске статьи имел ввиду не пароль, а что-то другое, например хэшсумму пароля, или что-то еще другое. очевидно, не?
если у такого известного автора нет адекватных корректоров, и он сам не умеет изъясняться по-русски, то грош ему цена.
@goodhoopoe, автор считает, что пароль хранится в открытом виде, потому что его можно восстановить. Очевидно, что база с такими паролями это не мускуль торчащий наружу.
Или как вы собираетесь восстанавливать из хэша? К тому же из не рекомендованого для использования md5.
Автор же вполне умеет изъясняться, я читал его статьи в “Хакере”.
А вот вы похожи на упоротого пэхапешника, едва осилившего азы безопасности. Есть системы посложнее “скрипт + базка”.
@Entze, вот щас совсем за пхп обидно было, для человека, не работающего с пхп.
спасибо за разъяснение, что такое мд5, а то я не знал.
никто никогда в мире из компании с нормальной службой безопасности не будет хранить пароль в открытом виде, и предположить это может только самый упоротый наркоман, при этом вы сами пишете о том, что есть системы сложнее чем “скрипт+базка”, но при этом нормально относитесь к тому, что автор предполагает такой бред.
@goodhoopoe, наличие у компании пароля бесспорно предполагает его взлом, иначе не было бы нужды в оконечном шифровании (end-to-end)
Аж стало интересно, как айфон открывают при забытом пароле. Было такое и при наличии всех доков мне отказали
@AlexSoCute, лично с этим не сталкивался, но общественность говорит, что так можно сделать; ровно, как некоторые индивидуумы заменяют устройства, ссылаясь на его заводской брак
В обзоре нет ни одного полностью децентрализованного мессенджера вроде Tox или Bleep
@13xforever, в обзоре рассматриваются только популярные мессенджеры
http – протокол application layer, транспорт – tcp&udp, см. модель OSI.
У меня Signal и всё отлично. Появились настольные версии. Правда, можно устанавливать только на одно мобильное устройство и насколько угодно настольных ПК. Товарищ из Open Whisper Systems перешёл работать в Apple над FaceTime, так что яблочная безопасность в надёжных руках.
@Rainbow, только у собеседника не должен быть андроид или дырявый ПК, иначе вся безопасность к чертям. Ведь в такой системе можно перехватывать ввод и делать скриншоты. А наделать дырок стоит на порядки дешевле, чем миллион баксов за уязвимость в iOS.
@Entze, Там в программе есть защита от скриншотов. А клавиатура у меня сторонняя.
“Легендарное шифрование MTProto” – ага, очень много легендарный )
@Назар Паллаев, ппротокол пока не поддававшийся взламыванию, так что отчасти уже легендарное шифрование.
Речь идет о “невзамываемых” протоколах. Но в практически любой стране (России точно) стоит СОРМ и собирает все данные, скайп и остальные сообщения хранятся пусть и в закодированном виде, при необходимости делается запрос спец службами и сообщение/видео раскодируется. Сейчас с законом Яровой эти сообщения будут хранить от всех пользователей, раньше сохранялись точечно.
@holydaddy, что толку от запроса спецслужб, если владелец серверов не имеет ключей при end-to-end шифровании…
Если только запрос самому пользователю: – мол “Не поможете ли раскодировать Ваше сообщение? А то у нас ключей нет – не получается…”
Так я не понял, в телеграме получается в режиме “обычных” чатов (не Secret) не происходит end-to-end шифрования?
@qpqpqpqp, ты правильно понял ситуацию
@qpqpqpqp, Да так и есть просто установи десктопную версию на комп и сразу увидишь все свои чаты с историей, а вот секретных там не будет. Так же не получится создать секретный чат мобильник-комп, только моб-моб. Проверял все эти варианты когда Телеграм взломали….
WhatsApp изначально был бесплатным. Только потом не на долго была введена абонентка на год.
@gretrick, а сейчас как с оплатой? Я давно не скачивал просто
@Varian, сейчас WhatsApp бесплатный, ибо его купил Facebook
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как в watchOS 9 работает режим энергосбережения Apple Watch
Какую версию macOS поддерживает ваш Mac. Проверяем возможность отката
Куда делась Загруженная музыка в Apple Watch на прошивке watchOS 3.0?
Как сразу отключить все будильники на iPhone
Как в iOS отключить передачу вашего телефона касанием двух iPhone
Что делать, если залипает трекпад MacBook?
Как исправить ошибку NAS после обновления до macOS Sierra?
Что делать, если AirPods стали звучать тише