Мы попробовали Tinfoil Chat, чтобы вам не пришлось

Маркус Оттела из Университета Хельсинки запилил чуть ли не самый безопасный мессенджер, который требует три компьютера, паяльник и готовность пройти девять кругов ада. Знакомьтесь — Tinfoil Chat (TFC).

github.com/maqp/tfc

Проект давно гуляет по сети в различных подборках и каналах, однако информации, как правило, совсем немного — Tinfoil просто невозможно взять и протестировать самому. TFC использует три физически разделённых компьютера: один для ввода сообщений (source), второй для связи через Tor (networked), третий для отображения входящих (destination). Между ними — аппаратные однонаправленные шлюзы на оптопарах HCPL-7723, которые физически не могут передавать данные в обратном направлении. Правда, упоминается возможность заменить три компьютера на один с QubesOS (с тремя виртуальными “кубами”). Но от аппаратного шлюза не отказаться никак.

Используется XChaCha20-Poly1305 для шифрования, X448 для обмена ключами, BLAKE2b для хеш-трещотки. Код на Python с покрытием тестами в 99.71% — респект за качество. Но вот установка… На сборку электроники скорее всего уйдут часы даже у подготовленного человека. Нужно купить макетную плату, резисторы, оптопары, три ноутбука и… это будет только началом.

TFC занимает нишу, в которой буквально нет конкурентов — защита от компрометации конечных точек на аппаратном уровне. Signal, Briar, Session и все остальные защищают канал связи, но если злоумышленник контролирует ваше устройство — игра окончена. TFC делает невозможным удалённое извлечение ключей даже при полном контроле над сетевым компьютером. Почему никто больше так не делает? Да потому что это просто безумие: вы не можете использовать мессенджер с телефона, не можете синхронизировать сообщения между устройствами, пропускная способность очень сильно ограничена, а для отправки сообщения нужно физически сидеть у своей трёхкомпьютерной установки.

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

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

Также смущает отсутствие хоть каких-либо академических публикаций, независимых аудитов (хотя python был выбран как раз для “читаемости” кода исследователями), нет CVE-записей и обзоров от известных криптографов. При этом внимание у проекта для своей ниши достаточно большое, 1300 звёзд на GitHub — это действительно немало. Ну и нет имплементации пост-квантовой криптографии, что в текущих реалиях можно рассматривать как существенный минус, а особенно у такого проекта.

ИМХО: Проект заслуживает уважения как академическое исследование и proof-of-concept. Но рекомендовать его для реального использования — это как советовать покупать БТР для поездок на дачу. Было увлекательно читать и копаться в деталях реализации, но я так и не решился собирать физическую плату — стало жалко выбрасывать столько времени. Но если вдруг наберётся аномальное количество актива… хотя нет, надеюсь, никто не хочет издеваться над админом.

Свежее