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

Что­бы обзор не раз­дулся до кос­мичес­ких раз­меров, мы сра­зу отбро­сим вся­кую поп­су вро­де WhatsApp, Telegram и Facebook Messenger. Для регис­тра­ции в них тре­бует­ся телефон, а защищен­ность — пол­ностью на совес­ти раз­работ­чиков. Будем ори­енти­ровать­ся в пер­вую оче­редь на пол­ную ано­ним­ность, гра­мот­но выс­тро­енное шиф­рование, а так­же отсутс­твие зак­ладок — то есть откры­тый и про­шед­ший сто­рон­ний аудит исходный код.

Почему не Signal?

У мес­сен­дже­ра Signal хорошая репута­ция сре­ди пок­лонни­ков безопас­ного обще­ния, и это абсо­лют­но зас­лужен­но! Сре­ди его дос­тоинств:

Но есть и серь­езные минусы:

Как видишь, минусы весомые, и неп­лохо было бы на вся­кий слу­чай озна­комить­ся с аль­тер­натива­ми Signal. Вдруг получит­ся най­ти прог­рамму со срав­нимым спис­ком дос­тоинств и без перечис­ленных недос­татков? Что ж, давай искать!

Session

По­мимо серь­езной защиты переда­ваемых дан­ных, этот мес­сен­джер отли­чает­ся повышен­ной ано­ним­ностью. Он работа­ет поверх сети Oxen, прин­цип которой схож с Tor: выс­тра­ивает­ся цепоч­ка слу­жеб­ных узлов от отпра­вите­ля сооб­щения к получа­телю. Кли­ент есть для всех акту­аль­ных плат­форм: Android, iOS, macOS, Windows, Linux.

Session путает следы
Session пута­ет сле­ды

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

Режимы доставки
Ре­жимы дос­тавки

Без сер­веров Google сооб­щения будут про­дол­жать при­ходить, но с некото­рой задер­жкой. Впро­чем, при тес­тирова­нии даже «быс­трая дос­тавка» работа­ла далеко не момен­таль­но.

Ос­новной минус это­го мес­сен­дже­ра в том, что раз­работ­чики выб­рали спор­ные решения в пла­не безопас­ности: отка­зались от исполь­зования Perfect Forward Secrecy и режима прав­доподоб­ного отри­цания.

Справка

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

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

И еще из стран­ных решений: что­бы под­нять свой сер­висный узел, нуж­но заморо­зить на сво­ем сче­ту валюту OXEN при­мер­но на 15 тысяч дол­ларов США. Объ­ясня­ется это как защита от зас­памли­вания неб­лагона­деж­ными нодами.

Плю­сы:
Ми­нусы:

SimpleX

На­вер­ное, самый инте­рес­ный мес­сен­джер в этой под­борке, он же и самый загадоч­ный. SimpleX удов­летво­ряет всем сов­ремен­ным тре­бова­ниям: есть аудио- и виде­озвонки, переда­ча фай­лов, исче­зающие сооб­щения, груп­пы поль­зовате­лей и про­чее. Регис­тра­ция ано­ним­на и не тре­бует вво­дить номер телефо­на или какие‑либо дру­гие дан­ные. Струк­тура сети федера­тив­ная, с воз­можностью под­клю­чения собс­твен­ных сер­веров‑рет­ран­сля­торов. При­ятно удив­ляет оби­лие нас­тро­ек: мож­но под­клю­чать свои ноды, сер­веры WebRTC ICE и XFTP для переда­чи фай­лов.

Настройки SimpleX
Нас­трой­ки SimpleX

Для защиты дан­ных исполь­зует­ся про­токол SMP (SimpleX Messaging Protocol), который завора­чива­ется в TLS для свя­зи с рет­ран­сли­рующи­ми сер­ваками. Раз­работ­чики регуляр­но выпус­кают обновле­ния и чинят баги, поэто­му при­ложе­ние работа­ет ста­биль­но. Разуме­ется, весь исходный код открыт.

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

Тем не менее лич­но я пока отно­шусь к SimpleX нас­торожен­но. Про­ект никак не зараба­тыва­ет день­ги, но уро­вень под­дер­жки у него не хуже, чем у ком­мерчес­ких. Подоз­ритель­но! К тому же SimpleX зарегис­три­рован в Великоб­ритании, а пра­витель­ство этой стра­ны то и дело по­куша­ется на пра­во граж­дан надеж­но шиф­ровать перепис­ку. Аудит исходни­ков был про­веден, но по заказу DARPA, то есть Минобо­роны США. Впро­чем, исходный код открыт, и шиф­рование бла­город­ные лор­ды пока не зап­ретили, так что, воз­можно, бес­поко­ить­ся рано.

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

Плю­сы:

Ми­нусы:

Jami

Это пол­ностью децен­тра­лизо­ван­ный мес­сен­джер, не тре­бующий для регис­тра­ции каких‑либо дан­ных от поль­зовате­ля. Сооб­щения шиф­руют­ся при помощи RSA и завора­чива­ются в TLS — имен­но в таком виде про­исхо­дит цир­куляция сооб­щений меж­ду нодами. Еще из плю­сов мес­сен­дже­ра — мож­но кас­томизи­ровать bootstrap-сер­веры, добав­лять и исполь­зовать ноды в DHT-сети Jami, менять сер­веры STUN и TURN.

Настройки Jami
Нас­трой­ки Jami

Есть даже воз­можность под­клю­чать пла­гины, и дос­тупен SDK для их написа­ния. Нап­ример, через пла­гин мож­но менять фон при виде­озвонке.

Настройки Jami
Нас­трой­ки Jami

Ин­терес­ная осо­бен­ность — при регис­тра­ции тебе пред­лага­ется соз­дать псев­доним, который потом хра­нит­ся на NameServer (NS) сети Jami. Если ты потеря­ешь свой про­филь (нап­ример, забудешь пароль), то вос­ста­новить его не получит­ся и вос­поль­зовать­ся сво­им ста­рым име­нем тоже, потому что ней­мсер­вер уже зна­ет тебя. Зато таким обра­зом обес­печива­ется защита от под­делки лич­ности. Понят­но, что ней­мсер­вер не хра­нит ничего, кро­ме име­ни, но даже это — хоть и неболь­шая, но утеч­ка метадан­ных.

Еще одно инте­рес­ное наб­людение: ког­да про­исхо­дит миг­рация акка­унта на дру­гое устрой­ство, он ненадол­го целиком заг­ружа­ется в сеть Jami, прав­да, под паролем, который сге­нери­рует прог­рамма. Воп­рос: нас­коль­ко качес­твен­ный это пароль и дей­стви­тель­но ли его невоз­можно пред­ска­зать? Однознач­ного отве­та у меня нет, так что это тема для отдель­ного иссле­дова­ния.

Плю­сы:

Ми­нусы:

Status

Еще один инте­рес­ный мес­сен­джер, в котором заод­но есть крип­токоше­лек и Web3-бра­узер. Как и все мес­сен­дже­ры в этом обзо­ре, не тре­бует номера телефо­на для регис­тра­ции, а для переда­чи сооб­щений исполь­зует стой­кую крип­тогра­фию и име­ет откры­тый исходный код. Как и Session, исполь­зует блок­чейн для работы. У Status есть свой крип­товалют­ный токен — ERC20 SNT. Токены мож­но покупать, а мож­но получить, нап­ример за под­нятие сво­ей ноды сети.

Настройки Status
Нас­трой­ки Status

Рань­ше во вре­мя заг­рузки мес­сен­дже­ра исполь­зовались bootstrap-сер­веры, которые поз­воляли получить слу­жеб­ную информа­цию, но пос­ле того, как сеть раз­рослась, такие сер­веры не исполь­зуют­ся по умол­чанию. Одна­ко, если что‑то пой­дет не так, ты можешь вклю­чить их в нас­трой­ках.

При­ложе­ние в авто­мати­чес­ком режиме под­клю­чает­ся к бли­жай­шим нодам, но ты можешь выб­рать ноду и вруч­ную. А при желании — соз­дать свою и под­клю­чать­ся толь­ко к ней (что, на мой взгляд, неп­лохая воз­можность). Да и в целом количес­тво нас­тро­ек впе­чат­ляет.

Юри­дичес­кое лицо зарегис­три­рова­но в Швей­царии, где дей­ству­ют стро­гие законы о кон­фиден­циаль­нос­ти.

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

Политика конфиденциальности и условия использования Status
По­лити­ка кон­фиден­циаль­нос­ти и усло­вия исполь­зования Status

Кста­ти, нуж­ные докумен­ты я нашел, прос­крол­лив стра­ницу до самого кон­ца, но отно­сились они к самому сай­ту, а не к мес­сен­дже­ру.

Плю­сы:

Ми­нусы:

Briar

Мес­сен­джер Briar работа­ет внут­ри сети Tor, к тому же может работать без интерне­та — по прин­ципу ad hoc поверх Bluetooth или Wi-Fi (во вто­ром слу­чае для обще­ния нуж­но быть в одной сети). Для регис­тра­ции не тре­бует­ся номер телефо­на.

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

Ма­ло того, на Android этот мес­сен­джер уме­ет и рас­простра­нять­ся без интерне­та. Для это­го нуж­но выб­рать в нас­трой­ках «Поделить­ся этим при­ложе­нием офлайн», пос­ле это­го будет соз­дана точ­ка дос­тупа Wi-Fi, к которой мож­но под­клю­чить­ся. Адрес и порт Briar сооб­щит сам. Под­клю­чаешь­ся, и можешь пос­тавить при­ложе­ние на новое устрой­ство.

Briar устанавливается офлайн
Briar уста­нав­лива­ется офлайн

Что до при­ват­ности, то тут все тол­ково: мес­сен­джер по миниму­му исполь­зует метадан­ные поль­зовате­ля, так что мож­но осо­бен­но не пережи­вать, что они куда‑то уте­кут.

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

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

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

Плю­сы:

Ми­нусы:

Выводы

Под­ведем некото­рые ито­ги:

Как видишь, нет мес­сен­дже­ра, в котором иде­аль­но всё. У каж­дого из них свои силь­ные и сла­бые сто­роны. Наде­юсь, статья поможет тебе взве­сить их при выборе.