На фоне событий в США резко выросла популярность защищённого мессенджера Signal — c 6000 до 26 000 скачиваний в день. В этой программе реализована стойкая криптография и сквозное шифрование, она распространяется с открытым исходным кодом и работает на известных криптографических протоколах (в отличие от проприетарного MProto).

Но теперь разработчики Signal столкнулись с новой угрозой. Правительство США пытается скомпрометировать защиту мессенджера и опять получить доступ к переписке пользователей. В 2016 году им удалось получить судебную повестку на изъятие переписки одного пользователя, но из-за сквозного шифрования там нечего было изымать.

Единственные данные, которые Signal может предоставить по запросу правительственных служб или по судебной повестке — только те данные, которые она хранит о пользователе. Это:

  • дата создания аккаунта в Unix-времени;
  • дата последнего использования в Unix-времени.

И это всё. Никаких контактов, информации о группах и данных из профиля.


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

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

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


Кадр из лекции Мокси Марлинспайка на конференции по информационной безопасности Chaos Computer Club в декабре 2019 года с демонстрацией учётных данных его личного аккаунта Signal

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

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

С другой стороны, остальные данные аккаунта злоумышленник не получит даже по судебному запросу.

«Если вы попросите генерального директора любой другой крупной коммуникационной платформы публично опубликовать свои учётные данные со своей платформы, он этого не сделает, — пишет Мокси. — Я их не виню — это много данных, которыми неудобно делиться с вами, — но это поднимает вопрос о том, насколько комфортно делиться теми же данными с ними [властями]».

Любая американская компания обязана выполнять правила американского законодательства и предъявлять данные по судебному запросу, будь то WhatsApp или Signal. Но в случае Signal ей просто нечего будет предъявить.

В некоторых странах после утечек из WhatsApp даже военных и политиков переводят на обязательное использование криптомессенджеров Signal и Wickr. Например, такие правила установлены для бойцов 82-й воздушно-десантной дивизии армии США и для коммуникации членов консервативной партии Великобритании. Так что наличие на телефоне Signal — не признак подозрительной активности, а скорее признак наличия здравого смысла.

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

Signal — это некоммерческая организация 501(с)(3), поэтому программное обеспечение было и останется свободным и бесплатным. «Наша миссия заключается в повышении конфиденциальности в интернете, поэтому мы публикуем нашу технологию и делимся знаниями, чтобы побудить другие компании использовать её в своих собственных продуктах и услугах», — пишет Мокси Марлинспайк. Сегодня на протоколе Signal работают некоторые другие мессенджеры, хотя и они и не реализовали строгий отказ от сбора персональной информации о пользователях и продолжают хранить на своих серверах контакты, разговоры, фотографии и прочие данные для каждого аккаунта. Например, WhatsApp тоже использует защищённый протокол Signal, однако передаёт в материнскую компанию Facebook социальный граф пользователя. То же самое относится к коммерческим компаниям Telegram FZ LLC и Telegram Messenger Inc. В случае Signal на сервер передаётся только усечённый хеш каждого телефонного номера из списка контактов. Такой хеш нельзя сбрутить напрямую, хотя и о полной секретности речи не идёт.

Конечно, существуют более защищённые и надёжные мессенджеры со сквозным шифрованием, без указания телефонного номера и других идентификаторов. Например, P2P-система прямого обмена шифрованными сообщениями Matrix с клиентским программным обеспечением типа Riot и другими клиентами.


Интерфейс клиента Riot для пиринговой криптосети Matrix

Но пока эти программы не очень дружественны к пользователям. Например, чтобы в десктопном клиенте Riot отменить отправку подтверждений о прочтении, нужно отредактировать файл конфигурации /etc/riot/config.json.