Что такое signal protocol

Обновлено: 01.06.2024

В Telegram-канале «Лайфхакер» только лучшие тексты о технологиях, отношениях, спорте, кино и многом другом. Подписывайтесь!

В нашем Pinterest только лучшие тексты об отношениях, спорте, кино, здоровье и многом другом. Подписывайтесь!

Signal не принадлежит какой-либо корпорации — его разрабатывает одноимённый некоммерческий фонд только за счёт пожертвований Donate to Signal . Мессенджер не пытается собирать данные о вас или показать рекламу.

Особенность Signal — принудительное E2E-шифрование («из конца в конец»).

Signal обладает полностью открытым исходным кодом. Код приложений-клиентов и серверного ПО проекта доступен Signal на GitHub.

Уязвимости старых версий Android

Любое криптографическое приложение может безопасно использоваться только в том случае, если запущено в доверенной среде. Смартфоны с ОС Android этому условию не удовлетворяют совершенно. WhatsApp, Telegram и другие мессенджеры готовы запускаться даже на старой Android 4.0 Ice Cream Sandwich, эксплоитов для которой просто тьма. Если же мессенджеры ограничат возможность запуска только последними версиями Android, то лишатся 99% пользователей.

В чём Signal уступает Telegram

Signal проигрывает в плане удобства и практичности. Например, в групповом чате Telegram у вас может быть до 200 000 человек, а в Signal — не более 1 000. В Telegram можно передавать файлы размером до 2 ГБ, в Signal — только до 100 МБ.

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

Telegram известен своей коллекцией ботов, которые могут делать буквально всё что угодно. В Signal их нет и, скорее всего, не будет, поскольку для их создания нужно дать разработчикам доступ к перепискам пользователей, а это огромная дыра в безопасности. Аналогов Telegram-каналов в Signal тоже нет.

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

Signal и его аналоги

Предоставляемое Signal сквозное шифрование сегодня применяется как в одноименном мессенджере от Open Whisper Systems, так и во многих сторонних: WhatsApp, Facebook Messenger, Viber, Google Allo, G Data Secure Chat — все они используют оригинальную или слегка модифицированную версию Signal Protocol, иногда давая им собственные названия. Например, у Viber это протокол Proteus — по сути, тот же Signal с другими криптографическими примитивами.

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

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

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

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

Включение уведомления о смене ключа в WhatsApp

Включение уведомления о смене ключа в WhatsApp

Чем Signal лучше Telegram

Signal часто сравнивают с Telegram — мессенджером, создатели которого тоже заявляют о невероятной приватности и безопасности. Но на этом поле последний всё-таки проигрывает своему конкуренту.

Например, в Telegram E2E-шифрование можно включать только в секретных чатах, где присутствуют только два человека. В обычных диалогах и групповых переписках эта возможность просто отсутствует, шифрование выполняет сервер. Если владельцу Telegram понадобится узнать, о чём вы там пишете, он это сделает. В Signal же E2EE принудительное, в том числе и в групповых чатах.

Этот мессенджер имеет полностью открытый исходный код. Как уже говорилось выше, код для клиентов Signal и для серверов можно найти на GitHub. Код приложений Telegram тоже открыт, но вот серверное программное обеспечение — нет, и что там делают с вашими данными, предугадать нельзя.

Кроме того, некоторые исследователи информационной безопасности утверждают Signal vs Telegram in terms of protocols? , что протокол шифрования Signal надёжнее, чем MTProto в Telegram, хотя это пока спорный вопрос.

Стоит учесть, что в прошлом Telegram взламывали Уязвимость в Telegram позволяет скомпрометировать секретные чаты . Хакер под псевдонимом ne555 сумел получить доступ к секретному чату в Telegram, обойдя шифрование E2E.

Принципы шифрования переписки

Прямая и обратная секретность реализованы в современных механизмах управления ключами. В протоколе Signal для этого используется алгоритм «Двойной храповик» (Double ratchet, DR). Он был разработан в 2013 году консультантом по криптографии Тревором Перрином (Trevor Perrin) и основателем Open Whisper Systems Мокси Марлинспайком (Moxie Marlinspike).

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

В протоколе Signal реализовано и множество других интересных механизмов, описание которых выходит за рамки статьи. С результатами его аудита можно ознакомиться здесь.

Как Signal поддерживает конфиденциальность и безопасность

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

И, наконец, Signal может верифицировать ваши контакты, чтобы убедиться, что вы переписываетесь с нужным человеком. Для этого применяются What is a safety number and why do I see that it changed? так называемые коды безопасности, которые следует сверить, например, по телефону или при личной встрече через QR-код. Если сим-карту переместить в новый телефон, код изменится.

Устройства Encrochat использовали протокол Signal

Введение в Assembler

В 2020 году европейские правоохранители ликвидировали платформу для зашифрованных коммуникаций Encrochat, которой пользовались более 60 000 преступников по всему миру.

Напомню, что телефоны Encrochat гарантировали своим пользователям абсолютную анонимность, так как не имели привязки устройства или SIM-карты к учетной записи клиента и приобретались в условиях, гарантирующих невозможность отследить их происхождение. Также гарантировалась полная конфиденциальность: зашифрованный интерфейс был надежно скрыт, а само устройство модифицировано — физически отсутствовали камера, микрофон, GPS-модуль и USB-порт.

Такие девайсы поставлялись сразу с двумя ОС: если пользователь хотел, чтобы устройство выглядело безобидным, он загружал обычный Android. Если же нужно было использовать секретные чаты, пользователь переключался на систему Encrochat­. По данным СМИ, телефоны Encrochat были построены на базе модифицированных BQ Aquaris X2 — Android-смартфонах, выпущенных в 2018 году испанской компанией по производству электроники.

Компания продавала эти телефоны по подписке: шестимесячный контракт стоил около 1500 фунтов стерлингов.

В итоге эта операция привела к аресту 746 человек, изъятию 54 000 000 фунтов стерлингов наличными (67,4 миллиона долларов), 77 единиц огнестрельного оружия (автоматы, пистолеты, четыре гранаты и более 1800 патронов), 55 дорогостоящих автомобилей и более двух тонн наркотиков.

Только в Нидерландах закрытие Encrochat позволило провести множество арестов, ликвидировать 19 лабораторий по производству метамфетамина, изъять 1200 килограммов метамфетамина и более 10 тонн кокаина. Также правоохранители обнаружили в деревне, недалеко от границы с Бельгией, жуткие грузовые контейнеры, переделанные под тюрьмы и камеры пыток (со звукоизоляцией, стоматологическим креслом, наручниками, скальпелями и другими инструментами).


Интересно, что представители Signal и Национального агентства по борьбе с преступностью отказались хоть как-то прокомментировать находку журналистов.

Выводы

Разговоры о том, насколько надежен сам протокол Signal, чем он лучше Proteus или MTProto, интересны лишь самим криптографам. Для пользователей они лишены практического смысла до тех пор, пока в мессенджерах можно делать незашифрованные копии переписки и клонировать текущие сессии. Даже если все приложения для переписки станут настолько же бронированными (и неудобными), как оригинальный мессенджер Signal, все равно останется множество уязвимостей на уровне ОС Android и человеческий фактор.

Проблема сотовых операторов

Двухфакторная аутентификация была призвана усложнить взлом аккаунта, но на деле она лишь переложила проблемы безопасности на хрупкие плечи сотовых операторов и создала новые бреши. К примеру, в апреле прошлого года два сотрудника «Фонда борьбы с коррупцией» (ФБК) сообщили о взломах своих аккаунтов Telegram. Оба пострадавших использовали двухфакторную аутентификацию. Они считают, что взлом их аккаунтов произошел при непосредственном участии МТС. Предполагается, что недобропорядочные сотрудники сотового оператора клонировали SIM-карты и передали их злоумышленникам. Это позволило получить им СМС-коды подтверждения для авторизации в Telegram.

Клонирование SIM-карты — тривиальная процедура, выполняемая в любом салоне оператора связи. Я много раз пользовался ей для замены испорченной симки. и не всегда у меня спрашивали паспорт. Более того, между активацией новой симки и отключением старой есть небольшое временное окно. Об этом я узнал случайно, когда забыл отдать испорченную симку и она вдруг ожила у меня уже после выдачи новой.

Криптостойкие андроиды. Почему шифрование в Signal, WhatsApp, Telegram и Viber не защитит твою переписку от взлома


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

Telegram

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

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

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

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

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

Криптофоны

Android — сложная операционная система, а степень защиты любой системы соответствует таковой для самого слабозащищенного компонента. Поэтому на рынке появляются криптофоны — максимально защищенные смартфоны. Silent Circle выпустила две версии Blackphone. BlackBerry создала Priv, а Macate Group представила в прошлом году GATCA Elite.

Парадокс в том, что, пытаясь сделать Android надежнее, все эти компании создают его более консервативную, усложненную. и менее надежную версию. Например, в Blackphone приходится использовать старые версии приложений из проекта AOSP, в которых накапливается много известных уязвимостей. Обновлять их вручную оперативно не получится, а ставить магазин приложений — это самому создавать брешь в охранном периметре.

Шифрование де-юре и де-факто

Использование сквозного шифрования во всех популярных мессенджерах стало стандартом де-факто. Его юридический статус в настоящее время не вполне определен. С одной стороны, свобода переписки и запрет на цензуру гарантируются конституцией во многих странах. С другой — такое шифрование противоречит новым российским законам из «пакета Яровой» и законодательным актам «антитеррористической направленности» в США. Google, Facebook и другие компании обязаны соблюдать законы тех стран, в которых работают. Если их принудят дать доступ к переписке, они будут вынуждены «сотрудничать» с правительством.

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

На мой взгляд, это лишь игра на публику. Как говорил Братец Кролик: «Только не бросай меня в терновый куст!» Хотя используемый мессенджерами протокол защищенной передачи данных Signal и его аналоги считаются надежными (а порой и прошедшими серьезный аудит), реальная степень криптографической защиты переписки в них оказывается невысокой из-за человеческого фактора и дополнительных функций в самих приложениях. Формально архивация чатов, их дублирование в облако, перенос на другое устройство и автоматическая смена ключей создавались ради удобства. вот только чьего именно?

А как же PGP?

Первое, что обычно приходит на ум при упоминании зашифрованной переписки, — это PGP. Однако далеко не все реализации этой популярной криптосистемы с открытым ключом в равной степени безопасны. Различные методы ослабления криптостойкости официально использовались США для экспортных продуктов, а неофициально — и для всех массовых. Компания Symantec, купившая у Филиппа Циммермана права на PGP и закрывшая исходный код своих продуктов, просто обязана соблюдать действующие ограничения американского законодательства и следовать негласным «рекомендациям» своего правительства.

Поэтому сторонники приватности долгое время считали заслуживающими доверия лишь авторские версии PGP 2.x, которые использовали для шифрования сессионных ключей алгоритм RSA или IDEA. Однако после того как в 2010 году методом решета числового поля удалось за приемлемое время вычислить ключ RSA длиной 768 бит, их надежность тоже перестала считаться достаточно высокой.

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

Битовую последовательность ключа всегда формирует какой-то известный генератор псевдослучайных чисел. Обычно это предустановленный в ОС или взятый из готовых библиотек ГПСЧ. Его случайное или преднамеренное ослабление — самая часто встречающаяся проблема. Некогда популярный Dual_EC_DRBG (использовавшийся и в большинстве продуктов компании RSA) непосредственно был разработан в АНБ и содержал закладку. Выяснили это спустя семь лет, уже когда Dual_EC_DRBG использовался повсеместно.

Все реализации PGP, соответствующие стандарту OpenPGP (RFC 2440 и RFC 4880), сохраняют базовую совместимость друг с другом. На смартфонах с ОС Android добавить шифрование PGP к почте можно, например, с помощью приложения OpenKeychain.

OpenKeychain имеет открытый исходный код, проверенный компанией Cure53 на безопасность, прозрачно интегрируется с почтовым клиентом K-9 Mail, Jabber-клиентом Conversations и даже может передавать зашифрованные файлы в приложение EDS (Encrypted Data Store), о котором мы писали в прошлой статье цикла.

Способы вскрытия

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

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

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

Естественно, мы по десять раз на день подходим к этому столу, берем свои (а иногда и чужие — по ошибке) смартфоны и кладем их заряжаться дальше. Однажды мне потребовалось узнать, что пишет в мессенджерах Вася. Было подозрение, что он сливает информацию по проектам, а наша служба безопасности лишь разводила руками. Сквозное шифрование — неприступная стена. Концепция BYOD у нас не прижилась. Запретить же пользоваться мессенджерами и смартфонами вообще тоже пытались, но ничего хорошего из этого не вышло. Слишком много коммуникаций на них завязано сегодня. Поэтому с одобрения службы безопасности (п. 100500: «. в исключительных случаях имеет право. ») я просто выбрал удобный момент и сделал вот что:

  1. Дождался, когда Вася пойдет за едой. Это минимум три минуты, а мне хватит и двух.
  2. Спокойно беру его смартфон и сажусь обратно на свое место.
  3. Смартфон заблокирован, но я знаю графический ключ. Вася его сотни раз использовал при мне. Поневоле запомнишь эту «букву зю».
  4. Запускаю на своем компьютере браузер и перехожу на страницу веб-интерфейса WhatsApp. На ней генерируется QR-код синхронизации.
  5. Открываю на смартфоне Васи WhatsApp. Иду в «Чаты → Настройки → WhatsApp Web».
  6. Сканирую смартфоном QR-код.
  7. Всё. Полная история чатов Васи загружена в моем браузере.
  8. Удаляем следы и возвращаем чужой смартфон на место.

Открытые сессии WhatsApp на других устройствах

Открытые сессии WhatsApp на других устройствах

Веб-сессия удобна для текущего наблюдения. Дополнительно можно сделать резервную копию чатов — уже для протокола.

Еще через несколько дней Вася перешел на Telegram. Метод контроля его переписки в общих чертах был тот же.

Вскоре Вася поставил Viber, и мне пришлось проделать новый трюк.

Дело в том, что у Viber нет веб-версии. Можно было бы установить десктопную и так же связать ее с мобильным аккаунтом Viber Васи, но я выбрал тот метод, который проще было реализовать.

Вася «сел на измену» и поставил Signal. Черт, это же образцовый мессенджер, рекомендованный Шнайером, Сноуденом и Фондом электронных рубежей! Он даже скриншоты чата не дает сделать самому пользователю. Как же быть?

Снова дожидаемся удобного момента и запускаем Signal на Васином смартфоне. Мессенджер требует ввести парольную фразу, которую я не знаю. но я знаю Васю! Пробую его день рождения — не подходит. Пробую код от нашего лабораторного дипломата — подошел. Даже скучно. Идем в настройки мессенджера и останавливаемся, словно витязь на распутье. Оказывается, вариантов добраться до чатов много. Например, Signal позволяет одной командой экспортировать всю переписку, причем только в открытом виде.

Экспортные ограничения? Не слышали!

Экспортные ограничения? Не слышали!

Клонируем все чаты Signal в Chrome

Клонируем все чаты Signal в Chrome

Бонусом из веб-сессии Signal можно утащить все контакты. Пригодятся.

Импортируем контакты через веб-сессию Signal

Импортируем контакты через веб-сессию Signal

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

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

Что следует иметь в виду, регистрируясь в Signal

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

Если вас не устраивает, что нужно давать собеседнику свой номер телефона, чтобы списаться с ним, то вы можете попробовать зарегистрироваться в мессенджере с помощью временного номера. Инструкцию HOW TO USE SIGNAL WITHOUT GIVING OUT YOUR PHONE NUMBER , как это сделать, написал специалист по информационной безопасности Мика Ли. Однако это не самая простая задача.

Можно Can You Use Signal Without Giving It Your Contacts? также пользоваться Signal, просто не предоставляя ему доступа к списку контактов на телефоне. В таком случае собеседников в мессенджер придётся добавлять, вводя их номера вручную.

Учтите, что если вы потеряете номер телефона, то ваша переписка будет утрачена.

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

Signal — мессенджер для тех, кто беспокоится о безопасности переписки и звонков

Signal — мессенджер для тех, кто беспокоится о безопасности переписки и звонков

Многого о Signal не расскажешь. Это простой мессенджер, напоминающий Telegram. Не исключено, что разработчики ориентировались на проект Павла Дурова при создании. Однако все фишки приложения нацелены на безопасность.

Приложение спонсируется сообществом и за счёт грантов. Разработчики обещают отсутствие рекламы и каких-либо способов монетизации в будущем.

Почему Signal внезапно стал таким популярным

В этом месяце WhatsApp всех «обрадовал» обновлением условий политики конфиденциальности. Теперь мессенджер должен будет передавать данные пользователей своей родительской компании — Facebook. Вполне вероятно, что он так поступал и раньше, просто сейчас корпорация решила это узаконить.

Все эти сведения Facebook будет использовать самостоятельно, а также делиться ими как со своими компаниями, так и со сторонними организациями.

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

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

Для сравнения, Telegram за этот же срок загрузили 11 миллионов раз, а количество загрузок WhatsApp снизилось с 11,3 до 9,2 миллиона.

В связи с этими событиями о Signal одобрительно отзывались такие небезызвестные люди, как Илон Маск и Джек Дорси, а Эдвард Сноуден ещё с 2015 года заявлял, что пользуется им, чтобы избежать слежки ФБР.

Если вас не радует перспектива, что WhatsApp будет в открытую передавать ваши личные данные непонятно кому, Signal — то, что вам нужно.

Что может Signal

Практически всё то же самое, что и любой другой мессенджер. Он позволяет:

Читайте также: