Примечание переводчика: На хабре и в нашем блоге о корпоративном IaaS мы много рассказываем о технологиях и их применении в реальных проектах. Сегодня речь пойдет о безопасности и том, какие инструменты помогают организовать защищенное общение в сети.

Когда вы берете в руки телефон и совершаете звонок, отправляете SMS, электронное письмо, сообщение в Facebook или Google Hangouts, другие люди могут отследить, что именно вы говорите, с кем ведете беседу и где находитесь. Эта личная информация может быть доступна не только поставщику услуг, который выступает в роли посредника в вашем разговоре, но и телекоммуникационным компаниям, предоставляющим услуги доступа в Интернет, разведывательным службам и правоохранительным органам и даже нескольким подросткам, которые могут отследить ваши действия в сети Wi-Fi с помощью приложения Wireshark.

Однако если вы примите нужные меры для защиты своей информации, то сможете передавать секретные и анонимные онлайн-сообщения. В этой статье я подробно расскажу о том, как это сделать. Мы детально рассмотрим методы, которыми два с половиной года назад воспользовался информатор и экс-сотрудник АНБ Эдвард Сноуден, для того чтобы связаться со мной. Другими словами, я покажу, как создать анонимную учетную запись для онлайн-переписки и обмениваться сообщениями с помощью протокола шифрования под названием Off-the-Record Messaging, или OTR.

Если вы не хотите читать всю статью, можете сразу перейти к разделу, где поэтапно описано, как создать учетную запись на платформах Mac OS X, Windows, Linux и Android. Когда же у вас появится достаточно времени, вернитесь к началу и ознакомьтесь с важными замечаниями, которые идут до этих разделов.

Во-первых, нужно убедиться, что вы используете именно шифрование между конечными пользователями [англ. end-to-end encryption]. В этом случае сообщение будет шифроваться на одном конце – скажем, на смартфоне – и расшифровываться на другом – например, на ноутбуке. Никто, включая вашего интернет-провайдера, не сможет расшифровать ваше сообщение. Сравните этот тип шифрования с другим типом, когда вы устанавливаете связь через своего провайдера, к примеру, по HTTPS-соединению. HTTPS защитит ваше сообщение от потенциальных шпионов в сети Wi-Fi вроде подростков с установленным Wireshark или от вашего поставщика услуг связи, но не сможет защитить сообщение от компании на другом конце вашего соединения – например, Google или Facebook – а также от правоохранительных органов и разведывательных служб, запрашивающих информацию у этих компаний.

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

Сокрытие личности


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

Джульетта и Ромео решили завести новые учетные записи для общения. Джульетта взяла себе псевдоним «Церера», а Ромео взял себе имя «Эрида». Теперь, когда Церера и Эрида могут обмениваться зашифрованными сообщениями, узнать, что под этими именами скрываются Джульетта и Ромео, будет гораздо сложнее. Если учетную запись Джульетты будут проверять на наличие связи с Ромео – а ее вспыльчивый двоюродный брат, мягко говоря, немного самонадеян – то никаких улик найдено не будет.

Конечно, недостаточно просто взять себе новое имя. На данном этапе все еще можно, а иногда даже довольно просто, выяснить, что под Церерой скрывается Джульетта, а под Эридой – Ромео.

Джульетта заходит в свою учетную запись под именем «Церера» с того же IP-адреса, который она использует и для других целей на своем компьютере (например, когда связывается с братом Лоренцо по e-mail). Если ее активность в Интернете отслеживается (а это, наверняка, так, потому что вся наша активность в Интернете отслеживается), сопоставить ряд фактов будет несложно. Если сервис вынужден передавать IP-адрес, с которого пользователь «Церера» выходит в Сеть, то его легко можно будет сопоставить с IP-адресом Джульетты. Та же проблема возникает и у Ромео.

У независимых сервисов вроде телекоммуникационных компаний и почтовых доменов есть доступ к частной информации о своих пользователях, и, согласно «доктрине третьего лица», эти пользователи «не могут ожидать сокрытия» такой информации. Этот принцип действует не только на тайных влюбленных: журналисты, которые могут получить ряд привилегий в соответствии с Первой поправкой Конституции США, должны внимательно следить за тем, кто отвечает за услуги их связи. В 2013 году Министерство Юстиции США получило данные о ряде телефонных звонков, сделанных журналистами Associated Press, в ходе расследования по делу об утечке информации. Многие новостные издания не имеют собственного почтового сервиса: New York Times и Wall Street Journal пользуются почтой Google, USA Today пользуется услугами Microsoft – поэтому Правительство США может запросить их данные. (Издание The Intercept пользуется собственным почтовым сервисом).

Анонимность


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

Tor предназначен для анонимного использования сети Интернет. Он представляет собой децентрализованную сеть произвольных «узлов» – компьютеров, которые передают и исполняют запросы в Интернете от имени других компьютеров. Tor позволяет вам оставаться анонимным, подключая вас к Интернету через серию таких узлов. Если хотя бы один из узлов был помещен в серию намеренно, то никто не сможет узнать, кто вы и чем занимаетесь: можно будет либо узнать ваш IP-адрес, не зная, чем вы занимаетесь в Сети, либо узнать, чем вы занимаетесь в Сети, и при этом не знать ваш IP-адрес.

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

Если Ромео и Джульетта воспользуются сетью Tor, чтобы получить доступ к своим учетным записям Эриды и Цереры, и если они будут обмениваться сообщениями с шифрованием по протоколу OTR, то они, наконец, смогут организовать личную онлайн-переписку независимо от того, будут за ними следить или нет.



Ромео и Джульетта втайне обмениваются зашифрованными сообщениями с анонимных учетных записей

Хакеры окружают нас со всех сторон


Теперь, когда Ромео и Джульетта создали новые анонимные учетные записи в сети Tor, давайте протестируем все части нашей системы на наличие недостатков.

Со стороны Джульетты: злоумышленник, отслеживающий интернет-трафик Джульетты, сможет увидеть, что ее трафик частично проходит через Tor, но не сможет понять, для чего Джульетта его использует. Если хакеры начнут проверять, кому Джульетта пишет электронные письма, с кем она связывается по Skype, кому звонит и кому отправляет сообщения, то признаков ее связи с Ромео обнаружено не будет. (Конечно, использование сети Tor само по себе может вызвать подозрения. Именно поэтому The Intercept для сохранения анонимности рекомендует осуществлять со своего персонального компьютера сетевое подключение, никак не связанное с организацией-поставщиком услуг. Другими словами, чтобы обезопасить себя, Джульетта могла бы выйти в Интернет из кафе Starbucks или публичной библиотеки).

Со стороны Ромео: злоумышленник, отслеживающий интернет-трафик Ромео, сможет увидеть, что его трафик частично проходит через Tor. Если этот человек просмотрит всю почту, звонки, сообщения, а также активность Ромео в Skype, то Джульетту он найти не сможет.

Со стороны чат-сервера: служба обмена сообщениями сама может отследить, что некто с IP-адресом в сети Tor создал пользователя «Церера», некто с IP-адресом в сети Tor создал пользователя «Эрида», и оба этих пользователя обмениваются друг с другом зашифрованными сообщениями. Нельзя узнать, что Церера – это на самом деле Джульетта или что Эрида – это на самом деле Ромео, так как их IP-адреса скрывает Tor. Также невозможно узнать, о чем Церера и Эрида говорят между собой, потому что их сообщения зашифрованы при помощи OTR. Эти учетные записи могли бы с такой же легкостью принадлежать информатору и журналисту или правозащитнику и его адвокату, а не двум влюбленным, обменивающимся стихами.

Даже после принятия этих мер остается небольшая доля метаданных, которая может просочиться, если вы будете действовать неосторожно. Вот, о чем нужно помнить:

  • Обязательно используйте Tor, когда создаете учетную запись для обмена сообщениями, а не только когда вы ведете переписку.
  • Никогда не заходите в свою учетную запись, если вы не находитесь в сети Tor.
  • Убедитесь, что ваш логин не раскроет вашу настоящую личность: например, не используйте логин, которым вы уже когда-то пользовались. Вместо этого можно взять случайное имя, которое не имеет к вам никакого отношения. Зачастую многие полагают, что анонимная учетная запись должна стать вашим «вторым я». Эти люди придумывают крутой логин, а затем привязываются к нему. Однако лучше относиться к своему новому имени, как к чему-то одноразовому или временному: ваша задача – скрыть скрытую личность, а не выставлять ее на всеобщее обозрение. Набор случайных символов вроде «bk7c7erd19» подойдет в качестве имени куда лучше, чем «gameofthronesfan».
  • Не используйте пароль, который вы уже используете в другом месте. Повторное использование паролей не только снизит уровень вашей безопасности, но также может вас разоблачить, если в учетной записи, которая каким-то образом связана с вашей настоящей личностью, вводится тот же пароль, что и в вашей анонимной учетной записи.
  • Следите за тем, с кем именно вы контактируете и через какую из анонимных учетных записей. Если один из ваших контактов не защищен, то это может увеличить шансы на то, что другие контакты также окажутся незащищенными. Логично будет создать отдельную учетную запись для каждого отдельного проекта или контакта, чтобы снизить риск разоблачения целой сети анонимных контактов.
  • Не указывайте никаких персональных данных в службе обмена сообщениями.
  • Следите за своими привычками. Если вы заходите в свою учетную запись утром, когда начинаете пользоваться компьютером, и выходите из нее вечером по окончании работы, то в сервисе будет храниться информация о том, в каком часовом поясе вы находитесь и в какое время вы работаете. Для вас это, может быть, не так важно, но если все-таки важно, лучше договориться с собеседником о времени, когда вы будете в сети.
  • Следите за тем, как вы используете свой IP-адрес в Tor. Если вы используете Tor как для анонимной учетной записи, так и для обычного аккаунта, который имеет к вам какое-то отношение, то записи в журнале сервера могут указать на связь между вашей анонимной учетной записью и вашей настоящей личностью. При помощи уникального логина и пароля для протокола SOCKS вы можете настроить Tor так, что в каждая из ваших учетных записей будет работать в разных каналах связи. В дальнейшем об этом будет сказано подробнее.

Tor не безупречен


Tor предоставляет высокоуровневую сетевую анонимность, но обеспечение настоящей анонимности – проблема, решение которой найти почти невозможно. Идет настоящая гонка вооружений между разработчиками сети Tor и учеными с одной стороны, и влиятельными хакерами, желающими получить возможность втайне разоблачать или подвергать цензуре пользователей сети, с другой.

Tor никогда не был надежной защитой против «глобального наблюдателя» – сил, которые могут следить за всеми узлами сети в режиме реального времени по всему миру. Эти силы могли бы следить за трафиком пользователей Tor, входящих в сеть, наблюдать за движением трафика по всему миру и затем смотреть, как этот трафик покидает сеть, тем самым поясняя, какой трафик принадлежит тому или иному пользователю.

Но несмотря на все это, документы Сноудена, опубликованные The Guardian, указывают на то, что объединенные шпионские силы «Пяти глаз» [англ. Five Eyes] (США, Великобритания, Канада, Австралия и Новая Зеландия) пока не считаются «глобальным наблюдателем»: по крайней мере, они не считались таковым в июле 2012 года, когда состоялась презентация этих совершенно секретных материалов. Как оказалось, западные разведывательные агентства могут лишь разоблачить случайного неудачливого пользователя ради своей выгоды и никогда не могли разоблачить конкретного пользователя по первому требованию.



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

ФБР подозревало, что Хаммонд может быть участником хакерской группировки LulzSec, продолжавшей совершать киберпреступления в 2011 году. В частности, ФБР считало, что он может работать в онлайн-чате под псевдонимом sup_g. Его сотрудники установили наблюдение за квартирой Хаммонда в Чикаго, следя за тем, к каким серверам он подключался по своей Wi-Fi сети. В юридически заверенном документе ФБР утверждается, что «значительная часть трафика исходила из чикагской квартиры [Хаммонда] в Интернет через сеть Tor». ФБР провело низкотехнологичную корреляционную атаку трафика, чтобы подтвердить, что Хаммонд в самом деле действовал под именем sup_g. Когда Хаммонд покидал свою квартиру, трафик по сети Tor прекращался, и sup_g выходил из чата. Когда же он возвращался домой, трафик возобновлялся, и sup_g снова появлялся в сети. Поскольку он был главным подозреваемым, Tor уже не мог скрыть его личность.

Тор не является чем-то сверхъестественным; это – лишь инструмент. Человеку, который его использует, следует учитывать деятельность ФБР, если он желает оставаться анонимным.

Безопасность рабочей станции


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

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

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

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

Первый контакт


Когда вы собираетесь начать онлайн-переписку, не всегда ясно, как именно это нужно делать. Если вы можете встретиться с человеком лично, то установить защищенный канал связи достаточно просто: при встрече нужно лишь узнать друг у друга логины, данные чат-сервера обмена сообщениями и отпечатки OTR (подробнее об этом смотрите ниже).

Однако не всегда есть возможность встретится лично: вы можете находится на большом расстоянии друг от друга или одна сторона может захотеть остаться неизвестной для другой. Даже если вы оба хотите встретиться лично, как вы об этом договоритесь, если вам нужно скрыть факт того, что вы поддерживаете связь друг с другом?

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

По возможности ей следует зашифровать первые сообщения, которые она отправляет Ромео. Процедура упрощается, если Ромео опубликует ключ PGP. Все журналисты The Intercept публикуют свои ключи PGP на странице профилей сотрудников. Если вы собираетесь установить первый контакт с журналистом, работающим в организации, которая использует платформу SecureDrop, то можете воспользоваться ею, чтобы не создавать новых анонимных аккаунтов и не разбираться с ключами PGP. SecureDrop используется и в The Intercept.

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

Если и Джульетта, и Ромео зашли в свои анонимные аккаунты и начали обмениваться зашифрованными сообщениями с отпечатками OTR, то дело почти сделано. В зависимости от того, как Джульетта установила первый контакт с Ромео, внимательное изучение писем Ромео и его аккаунта в социальной сети может раскрыть пользовательские данные анонимной учетной записи Джульетты: так или иначе, она должна сообщить ему эти данные. Так следователи могут выяснить и скрытый профиль Ромео.

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

От теории к практике


Теперь, когда вы знакомы с теорией сокрытия своей личности, настало время для ее практического применения.
Не пугайтесь, я уверен, у вас все получится. Вам нужно будет лишь следовать инструкциям, предложенным для пользователей Mac OS X, Windows, Linux и Android. (К сожалению, анонимно связаться через чат-серверы на iPhone не получится). Для начала попрактикуйтесь со своим другом.

Jabber и Off-the-Record


Когда я говорил о «чат-серверах», на самом деле я имел в виду серверы Jabber, также известные как XMPP. Jabber – это открытый протокол для обмена мгновенными сообщениями; это не специальный сервис наподобие Signal, WhatsApp или Facebook. Jabber представляет собой децентрализованное интегрированное приложение, похожее на электронную почту. Я могу отправить письмо со своего ящика @theintercept.com на ваш gmail.com, потому что серверы The Intercept‘s и Gmail работают на одном стандартном протоколе.

Так что у каждого есть возможность запустить сервер Jabber: ею пользуется множество организаций, включая Calyx Institute, Riseup, Chaos Computer Club и DuckDuckGo и другие. Существуют сотни других публичных серверов Jabber. Сотрудники многих организаций работают на частных серверах Jabber, включая дочернюю компанию The Intercept под названием First Look Media. Сервис обмена сообщениями HipChat работает на базе Jabber, а его конкурент, Slack, использует шлюзы Jabber.

Так как Jabber децентрализован, пользователь с аккаунтом в Jabber вроде akiko@jabber.calyxinstitute.org может вести переписку с boris@dukgo.co. Но если обе стороны – Ромео и Джульетта в нашем примере – используют один сервер для своих аккаунтов в Jabber, то метаданные их переписки будут лучше защищены. Сообщения будут храниться на одном сервере и не будут передаваться по Интернету.

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

Off-the-Record (OTR) – это протокол шифрования, который может добавить шифрование между конечными пользователями в любой сервис обмена сообщениями, включая Jabber. Чтобы обмениваться зашифрованными сообщениями, обе стороны должны использовать программное обеспечение, которое поддерживает шифрование по протоколу OTR. Есть несколько вариантов, но в данной статье описано применение Adium для пользователей Mac, Pidgin для пользователей Windows и Linux и ChatSecure для пользователей Android. ChatSecure также доступен и на iOS, но приложение не до конца совместимо с Tor на iOS-устройствах.

Выбираем сервер Jabber


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

Всем остальным необходимо скачать и установить браузер Tor. Откройте его и загрузите нашу статью в этом браузере, а не в том, который вы использовали ранее. Итак, сейчас вы пользуетесь браузером Tor. Это очень важный момент, потому что я не хочу, чтобы ваш IP-адрес затерялся в лог-файлах каждого из серверов Jabber, которым вы намерены воспользоваться. Как будет показано в дальнейшем, в этом будет заключаться основная идея раскрытия вашей личности.

У вас есть выбор из сотен серверов Jabber. Мы можете найти списки некоторых публичных серверов Jabber, как, например, здесь и здесь. Какой из них следует выбрать?

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

Чаще всего люди создают аккаунты в Jabber напрямую через программы для обмена сообщениями. Настроить такую программу на передачу сообщений через Tor, находясь в своей учетной записи, несложно. Сложнее убедиться в том, что программа позволяет создавать через Tor новые аккаунты (если вы работаете в операционной системе Tails, тогда вам не о чем беспокоиться, так как весь ваш трафик будет проходить по сети Tor). В связи с этим я рекомендую выбрать сервер Jabber, который позволит вам создать новый аккаунт с сайта программы, и вы можете сделать это в браузере Tor вместо программы для обмена сообщениями.

Далее перечислены несколько серверов Jabber, на которых можно создавать новые аккаунты с помощью браузера Tor. Они выбраны случайным образом из списка публичных серверов: ChatMe (расположен в Италии), CodeRollers (расположен в Румынии), Darkness XMPP (расположен в России), KodeRoot (расположен в США), Jabber.at (расположен в Австрии), Hot-Chilli (расположен в Германии), XMPP.jp (расположен в Японии) и т. д. Список довольно большой.

Готовы начать работу? Выберите сервер Jabber. Придумайте логин, никак не связанный с вашей настоящей личностью. Придумайте пароль, который вы больше нигде не используете.

Создайте аккаунт в Jabber при помощи браузера Tor. Теперь запишите данные сервера, на котором вы создали аккаунт, свои логин и пароль и переходите к следующему разделу в зависимости от платформы, которую вы используете: Android, Mac OS X, Windows или Linux.

Выберите свою операционную систему:

  • Анонимный обмен зашифрованными сообщениями на платформе Android;
  • Анонимный обмен зашифрованными сообщениями на платформах Windows и Linux;
  • Анонимный обмен зашифрованными сообщениями на платформе Mac OS X.


[Прим. переводчика: в данном материале приводятся только инструкции для Mac OS X – инструкции для Android, Windows и Linux читайте в Части 2]

(Пока не существует руководства для iOS, так как, несмотря на то, что у ChatSecure для iOS есть экспериментальная поддержка Tor, разработчики не рекомендуют рассчитывать на полную анонимность, пока эксперты в области безопасности не проведут тщательную проверку приложения).

Анонимная передача зашифрованных сообщений в Mac OS X


Если вы еще не создали новую учетную запись в Jabber с помощью браузера Tor, создайте ее в соответствии с инструкциями в разделе «Выбираем сервер Jabber», расположенном выше. Убедитесь, что вы знаете, на каком сервере вы создали свой аккаунт, а также свои логин и пароль.

Для данного примера я создал учетную запись в Jabber на сервере xmpp.jp и взял логин pluto1.

Установка Adium и настройка анонимной учетной записи через Tor


Скачайте и установите Adium – клиент для обмена сообщениями для Mac, который поддерживает шифрование по протоколу OTR.

Убедитесь, что браузер Tor открыт. Пока он открыт, сервис Tor работает на вашем компьютере в фоновом режиме. Когда вы закроете браузер Tor, сервис Top также прекратит свою работу. Это значит, что каждый раз, когда вы хотите воспользоваться своим скрытым аккаунтом в Jabber, ваш браузер Tor должен быть запущен в фоновом режиме, иначе Adium просто не сможет выполнить подключение. Итак, откройте браузер Tor и не закрывайте его, пока не выполните все инструкции.

Откройте Adium. После того, как вы его откроете, всплывет окно Adium Assistant Wizard. Закройте его: мы создадим аккаунт вручную, чтобы получить дополнительные возможности.



Выбрав окно «Контакты» (Contacts), кликните по строке меню в верхней части Adium и выберите пункт «Параметры» (Preferences). Убедитесь, что выбрана вкладка «Учетные записи» (Accounts) в верхней части окна. Кликните на кнопку «+» в левой нижней части окна, чтобы добавить новую учетную запись. Затем в раскрывающемся списке выберите «XMPP (Jabber)».



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



Прежде чем переходить к следующему шагу, переключитесь на вкладку «Прокси-сервер» (Connect using proxy) и выберите из списка тип «SOCKS5». В поле «Сервер» введите «127.0.0.1», а в поле «Порт» введите «9150». Придумайте для этой учетной записи имя пользователя и пароль и введите их в соответствующие поля. Данные настройки гарантируют, что Adium будет подключаться к этой учетной записи через Tor. Вводить имя пользователя и пароль не обязательно, но если вы будете ими пользоваться, то Tor будет подбирать для этой учетной записи отличные от других каналы связи, что увеличит вашу анонимность.



Перейдите на вкладку «Безопасность» (Privacy). В поле «Шифрование» (Encryption) измените значение с «Шифровать сообщения по запросу» (Encrypt chats as requested) на «Проводить обязательное шифрование и запретить открытый текст» (Force encryption and refuse plaintext).



Перейдите на вкладку «Настройки» (Options). Измените поле «Ресурс» (Resource) (по умолчанию установлено имя вашего компьютера) на «anonymous». Кроме того, в пункте «Безопасность» (Security) поставьте галочку напротив надписи «Требовать SSL/TLS» (Require SSL/TLS).



Теперь перейдите на вкладку «Учетные записи» (Account). Введите Jabber ID. Имя пользователя – pluto1, имя сервера Jabber – xmpp.jp, поэтому Jabber ID будет записан как pluto1@xmpp.jp. Введите свой пароль и нажмите «OK», чтобы зайти в свою учетную запись.



Теперь Adium попытается подключиться к вашей анонимной учетной записи через Tor. Если все пройдет успешно, в списке учетных записей должна появиться ваша учетная запись с подписью «Онлайн».



Ключи шифрования и отпечатки


Итак, вы анонимно вошли в свою скрытую учетную запись через Tor. Следующим шагом будет создание ключа шифрования по протоколу OTR. Каждый, кто желает воспользоваться протоколом OTR, должен сгенерировать собственный ключ. Этот ключ представляет собой файл, хранящийся на устройстве, которое вы используете для обмена сообщениями. Каждый ключ содержит уникальную последовательность символов, которая называется отпечатком этого ключа: никакие два ключа не могут иметь одинаковый отпечаток.

Попробуем создать свой ключ с шифрованием по OTR. В окне «Контакты» (Contacts) кликните по строке меню Adium и выберите пункт «Параметры» (Preferences). Перейдите на вкладку «Расширенные» (Advanced) и нажмите на боковую панель «Шифрование» (Encryption). Выберите свою анонимную учетную запись и нажмите на кнопку «Сгенерировать» (Generate), чтобы сгенерировать новый ключ. После завершения процедуры у вас появится новый отпечаток с шифрованием по OTR.



В нашем примере я создал новый ключ, использующий шифрование по OTR, для своей учетной записи pluto1@xmpp.jp с отпечатком C4CA056C 922C8579 C6856FBB 27F397B3 2817B938. Если вы хотите начать с кем-нибудь личную переписку, сообщите этому человеку ваш логин и имя сервера, а также отпечаток ключа с OTR. После того, как он создаст анонимную учетную запись в Jabber и сгенерирует ключ с шифрованием по OTR, попросите его также сообщить вам свои логин, имя сервера и отпечаток ключа.

После начала обмена зашифрованными сообщениями, вы сможете видеть отпечаток ключа своего собеседника, а он сможет увидеть ваш. Если отпечаток, который вам передали, совпадает с отпечатком, который отображается в Adium, то этот контакт можно отметить как надежный. Если отпечаток, который передали вы, совпадает с отпечатком, который отображается в Adium, то ваш контакт также могут отметить как надежный.

Этот этап несколько запутан, но очень важен. Если отпечатки ключа не совпадают, это значит, что на вас направлена атака посредника. В этом случае не отмечайте контакт как надежный, а попытайтесь повторить процедуру чуть позже.

Добавление контактов и личная переписка


Я пытаюсь начать обмен личными сообщениями со своим другом. Он сообщил мне, что его учетная запись в Jabber – pluto2@wtfismyip.com, а OTR-отпечаток – A65B59E4 0D1FD90D D4B1BE9F F9163914 46A35AEE.
После того, как я создал свою учетную запись pluto1, я хочу добавить пользователя pluto2 к себе в контакты. Сначала я выбираю окно «Контакты» (Contacts) и затем нажимаю на кнопку меню «Контакт» и выбираю пункт «Добавить контакт» (Add Contact). В поле «Тип контакта» (Contact Type) я выбираю XMPP, а в поле Jabber ID ввожу «pluto2@wtfismyip.com». Затем нажимаю на кнопку «Добавить» (Add), чтобы добавить пользователя в список контактов.



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

Итак, pluto2 разрешил мне видеть, когда он находится в сети, и он отправляет запрос на то, чтобы я разрешил ему видеть, когда я нахожусь в сети. Я выбираю его контакт и нажимаю на кнопку «Разрешить добавить меня в список ваших контактов» (Authorize).



Теперь я впервые добавил пользователя pluto2 как свой контакт, и он будет отображаться в моем списке контактов, когда будет находиться в сети. Затем все, что мне нужно сделать для начала общения с ним, это щелкнуть два раза на его имени.



Я кликнул два раза на контакт pluto2 и написал «привет».



Перед тем, как отправить мое сообщение, Adium начал сеанс работы с OTR-шифрованием. Обратите внимание на надпись «личность pluto2@wtfismyip.com не подтверждена» (pluto2@wtfismyip.com’s identity not verified). Это значит, что во время обмена зашифрованными сообщениями я не могу быть полностью уверен в том, что не произойдет атаки посредника.

Кроме того, всплывает диалоговое окно «Подтверждение отпечатка OTR» (OTR Fingerprint Verification box). Совпадает ли отпечаток, который мне передал пользователь pluto2, с тем, что написано в этом окне?



Я сравниваю каждый из символов отпечатка, который pluto2 передал мне ранее, с символами отпечатка, на который ссылается Adium. Видно, что они и в самом деле одинаковые. Значит, никто не проводит атаку на шифрование, и я могу смело нажимать кнопку «Принять» (Accept). Если бы у меня не было OTR-отпечатка pluto2, я запросил бы его у pluto2 по внешнему [англ. out-of-band] каналу (не в этом чате, так как я не знаю, насколько он надежен), и затем подтвердил бы, что они совпадают. Если бы у меня не было на это времени, я бы кликнул по кнопке «Подтвердить позже» (Verify Later).

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

Вот, собственно, и все. Итог: мы создали анонимную учетную запись в Jabber через сеть Tor. Мы настроили программу для обмена сообщениями Adium и можем зайти в эту учетную запись через Tor. Мы создали новый ключ OTR-шифрования для этой учетной записи. Мы добавили в свою учетную запись один контакт и проверили его отпечаток OTR-шифрования. Теперь мы можем обмениваться с этим контактом сообщениями на достаточно высоком уровне защиты информации.



В Части 2 речь пойдет о настройке защищенного обмена сообщениями для платформ Windows, Linux и Android.

Продолжение следует...

Комментарии (23)


  1. whiplash
    18.11.2015 17:57
    -3

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

    А что сложного-то? При выполнении 90% профессиональных рекомендаций — взломать объект крайне непросто, учитывая что наши герои тоже немного соображают в защите) Мы же сейчас не про идиотские способы с фишингом, письмами, сайтами и т.д., да?


    1. gaelpa
      18.11.2015 18:33
      +3

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


      1. whiplash
        18.11.2015 18:46
        +16

        Фу, я уж думал про паяльник…


        1. kumbr_87
          18.11.2015 21:12
          +8

          Паяльник тоже не надо исключать…


        1. aspcartman
          24.11.2015 04:14
          -1

          Терморектальный криптоанализ никто не отменял.


  1. Rastler
    18.11.2015 18:43

    Помню в начале 2000-х по электричкам ходили с книжкой типа «Как скачать программы из Интернета бесплатно…» или типа того. Вот эта статья из этой оперы. :)


    1. andrewzhuk
      18.11.2015 21:15
      +8

      Что предлагаете? А то открыл глянуть ваши посты и не понял юмор


  1. mibori
    18.11.2015 18:47

    а адиум DNS-запросы тоже через 127.0.0.1:9150 будет делать или напрямую? Если напрямую, то ой.


  1. namespace
    18.11.2015 18:51
    +2

    Почему этот посредственный материал, не имеющий отношения к разработке программного обеспечения, тут, а не на гиктаймс?


    1. navion
      18.11.2015 23:06
      +2

      А давно Хабр стал только для разработчиков ПО?


      1. achekalin
        19.11.2015 01:06
        +8

        Хабр, увы, больше пляшет под дудку корпоративных блогов. «Купи себе аккаунт — и пиши что хочешь».

        Я все жду, что кто-то из владельцев таких аккаунтов (читай — неприкасаемых дойных коров) для привлечения скандального внимания по кусочку Донцову начнет публиковать (с соблюдением всех прав автора), может хоть тогда тема _интереса_ постов кого-то заинтересует, кроме бедных читателей?


        1. navion
          19.11.2015 16:25

          Мне кажется такими статьями компании пытаются привлечь внимание к корпоративному блогу, так как основная тема тут не очень популярна (инфраструктура, администрирование), если статья не про сервер на Хецнере из говна и палок.
          Иногда получается, иногда не очень.


          1. achekalin
            19.11.2015 16:42

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

            Касаясь же корпоративных блогов, упомяну как крайности: блок компании, которой есть что сказать, но которая решила брендировать свое присутствие на Хабре, и статьи авторой которой и без этого брендирования стали бы читать. Далеко не будем ходить — Яндекс, Селектел, Mail.ru, Крок — статьи у них читаются с громадным удовольствием, сами знаете.

            В противовес им мы видим здесь посты в блогах (десятки, сотни им!), написанные прямо с SEO-ными, будто бы, целями. Когда сказать, в общем, нечего, а сказать не «хочется», а «надо». И вот тут в ход идут переводные статьи, статьи — компиляции, водянистые посты, высосанные из пальца статьи — опять таки, сами знаете, о чем я говорю.

            Да, есть фактор «дрянь сама утонет» (я про плюсы-минусы статье), но нет же, нельзя задать настройку «не показывать мне посты от новопоявившихся компаний», и ушаты ерунды с утра до вечера заливают страницы Хабра. «Тонут», но на смену им приходят другие. Жесткие диски сервера все стерпят, а все хотят получить свой кусочек пиара за свои деньги, что там говорить. Тем более, можно так провоцировано написать полную ерунду, что ее закомментят, и она не утонет, как должна бы — к счастью, так не все умеют делать.

            Если говорить шире, даже штатные авторы («редакторы») Хабра и его ресурсов не брезгуют желтизной в постах, посему вывожу, что контент от «дойных коров» особо никого не станет напрягать. Это, конечно, путь в никуда, и однажды навести бы порядок, но тут, простите, уже вопросы бизнеса всплывают.

            Вы скажете, есть такие темы, где писать нечего? Упомянутый выше Крок отлично именно в такой нише мало того что пишет, так пишет так, что хочется пойти к ним работать! Вы думаете, ИТ-Град не смог бы, при желании, найти интересную тему? Не знаю компанию, может, и не смог бы, но все же шансы есть, что это было бы возможно.

            А вообще, чего уж, давайте фото полуодетых девушек публиковать. Скажем, на тему информационной безопасности пишем пост так: «Мы с вами отлично знаем, как легко отвлечь человека и сбить его бдительность. Скажите, разве не отвлеклибы бы вы от вашей работы, если к вас в офис бы зашла одна из таких девушек?» Далее — фото девушек, а в конце опрос «Да, отвлекусь», «Нет, я крутой профи, я не поведусь», «Другое (напишу в комментах)». На выходе имеем килотонну комментов, ничего по сути в посте, и отличный отклик.

            Только вот делать постоянно так не прокатит — иначе Хабр станет филиалом «сиськи.ру». Хотя, цель — привлечь внимание к блогу компании — будет выполнена, или нет? :)

            P.S. Написал, чтобы поднять вопрос: Хабр для ИТ-профи, или Хабр, чтобы привлекать трафик на сайты компаний с платными аккаунтами?


            1. andrewzhuk
              20.11.2015 16:51
              +3

              Уже у одного советчика выше посмотрели профиль – постов нет. У вас – 4 штуки.

              Покажите уже, как нужно. Не томите :)


              1. achekalin
                20.11.2015 17:21
                +1

                Сурово вы мне отповедь дали, сурово!

                Но — я пишу, когда хочу писать и когда есть что сказать, а вы пишете — потому что надо писать. Разницу видите?

                Сужу как читатель. Если уж вы взялись писать, то я как читатель хочу читать с удовольствием. А вы — томите, увы (


  1. lockywolf
    18.11.2015 18:52

    Всё это хорошо помогает от «коврового» наблюдения. Если вы уже под подозрением — всё это не спасёт.

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


    1. sarbash
      24.11.2015 12:52

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


  1. ANtlord
    18.11.2015 19:17
    +1

    Спасибо за перевод. А Вы можете поставить ссылки-якоря на свою статью, а не на оригинал?


  1. rixaman
    18.11.2015 20:51
    +11

    Краткое изложение статьи:
    «Используйте Jabber+OTR, сидите через tor».

    P.S. Мне кажется tor переоценён, и на уровне гос ухода от слежки не поможет. (Сноуден как бренд)


  1. Meklon
    19.11.2015 12:43
    +1

    I2p забыли. И варианты типа twister.


  1. KirillEltsov
    24.11.2015 13:54

    А можно вопрос от не то что не-программера, а даже не-компьютерщика вообще? Я к тому, что если он будет дурацкий, сильно не бейте ))
    Вот, допустим, чайник захотел стать невидимым. Он ставит себе Адиум, или идет в инет через Дзенмейт, или антивирус вот мне постоянно предлагает закрыть свое WiFi соединение от всего мира. Условный Адиум ему пишет: иди сюда, вот тебе кнопка «скройте меня», здесь тебе будет безопасно, мы скроем твой айпи, никто не увидит, куда ты ходишь, кому и что пишешь.
    Когда я вижу это и задаю себе вопрос: «Никто-никто? Или никто, кроме тебя?» — это паранойя или нет? Просто если провести аналогию с реальным миром:
    1. лучшее противоугонное устройство (или домашняя сигнализация) — это не самое дорогое и навороченное, а такое, про которое знает только хозяин, то есть такое, которое ставил он сам; любое другое ворами изучено раньше, чем ты увидел его в магазине;
    2. любой кодовый замок на чемодане авиабезопасность вскрывает специальным ключом, под это замки и сделаны.
    Вопрос задаю не от нечего делать. В последнее время появилось много интернет-платформ для удаленного устного перевода, которые владельцы предлагают сдавать переводчикам как SaaS, чтобы те уже продавали услугу конечному клиенту (тому, кому нужен перевод, но они не могут/не хотят вызвать переводчика на место). Только вот владельцы зачастую — тоже переводческие компании. Потенциальные партнеры им говорят: а докажите, что соединение будет безопасным. Им отвечают: стопицотбитное шифрование же! Нет-нет, мы имеем в виду «безопасным от вас», чтобы вы тоже не могли посмотреть, кто наши клиенты, какая у нас с ними длительность соединений и т.д. — это же поможет клиента украсть, если вы захотите. И единственный пока ответ на это: кто, мы? никогда! мамой клянемся! мы хорошие!
    Пока им никто не верит…


    1. achekalin
      24.11.2015 16:01

      Пока обе стороны, которые не хотят, чтобы их слушали, не установят шифрованное соединение между собой, никакой веры не будет. Точно как вы и сказали: даже если «труба», предлагаемая фирмой, и якобы безопасна (и даже по факту сегодня безопасна), не факт, что завтра фирма-владелец не захочет залезть внутрь.
      Ну а тут уж кто кому верит. Репутация — штука со странной ценностью, в интернете она обычно не сильно беспокоит компании. Даже если (что маловероятно) будет скандал с тем, что такие SaaS сервисы «слушают» разговоры юзеров, никак это им серьезно не повредит, посему, думаю, ваши подозрения скорее правдоподобны.
      Единственный вариант — на двух сторонах использовать шифрование, параметры/коды/ключи которого известны только этим сторонам. А уж как это организовать — как в вашем примере про противоугонку, чем меньше людей будет знать, тем лучше :)

      P.S. А что, тема такая важная? Переводчик по определению узнает все подроности переговоров через него, а если переводчик на длине линии связи, то тем более есть опасения, что утечка возможна через «его» сторону. Т.е. в сверхсекретном деле такую схему особо не задействуешь. А если дело неважное, то какая разница, кто кого слышит?


      1. KirillEltsov
        24.11.2015 16:38

        Спасибо.
        Ответ на PS: Нет, здесь дело, как сейчас модно говорить, не в контенте, а в контексте. Ситуация такова: есть некое бюро переводов А, владеющее платформой, позволяющей организовать устный перевод, скажем, переговоров проще и надежнее, чем скайп (иначе и вопроса бы не было :)). Оно предлагает партнерам — а это либо другие бюро, либо переводчики-фрилансеры — предлагать своим клиентам (это их клиенты, а не клиенты А) услугу перевода, например, эпизодических контактов на выставочном стенде. Выглядеть это может следующим образом.
        Компания Б — участник выставки, выставка длится неделю, вероятность интенсивных двуязычных контактов невысокая, но и ненулевая. Приходят к Б контрагенты-буржуины, те их сажают за специальный стол, посреди которого стоит планшет, нажали кнопку на экране — планшет ожил рожей переводчика, и можно общаться. Я, естественно, упрощаю, там еще много всяких тонкостей, но идея выглядит примерно так. Если бы буржуин шел косяком, Б имело бы смысл нанять живого переводчика, но хороший переводчик на неделю — это дорого (причем непонятно, насколько он понадобится), а плохой нафиг не нужен.
        У Б есть такой хороший переводчик, его зовут В. Они ему говорят: мужик, придумай что-нибудь, чтобы и ты балду не пинал на стенде (это мучительно даже за большие деньги), и мы сэкономили. Платформа УУП могла бы помочь покупать работу Б «по запросу»: в расчете «за минуту разговора» выйдет дороже, чем «за день оптом», но если он нужен всего на 15 минут в день, 105 минут получится дешевле, чем 7 дней. В идет к А и берет у них в аренду платформу, скажем, за 10 рублей / минута, а потом перепродает свою услугу Б за 50 рублей / минута. Вроде всем хорошо.
        Но В нужны гарантии, что А не будет анализировать трафик (считаем, что он убойно зашифрован, и содержание переговоров известно только контрагентам и переводчику) на предмет: с кем связывался В? В какое время суток? Какова была длительность разговоров? Где в это время находились В и Б? Вся эта информация, если А в дальнейшем захочет оттеснить В от работы с Б (we made them an offer they could not refuse :)), может помочь А. И пока А в ответ на вопросы В (а без этих ответов В не подпишется под то, чтобы предлагать такое Б) не дает никаких технических гарантий, только бизнес-этические: мы не будем, потому что бизнес-этика, потому что репутация и т.п. А если завтра голодные годы настанут, думает В, тогда что они скажут? «Ничего личного, только бизнес»? «На войне как на войне»?
        Так вот, в чем наш гамлетовский вопрос: есть ли в принципе технические схемы, могущие обеспечить принципиальную верифицируемую невозможность для оператора влезть внутрь своей трубы? Например (я фантазирую), оператор декларирует: мы написали программу-клиент ХХХ с открытым кодом, каждый ее экземпляр отдает нам только данные по количеству использованных за сутки минут, но не рассказывает нашему серверу больше ничего. Код открытый, В может провести его независимую проверку и успокоиться. Или нет? :)
        Заранее спасибо за ответ, это для нас интересная тема.