BitMessage как прототип нового стандарта защищенных коммуникаций?

Криптография
BitMessageТема личной безопасности и защиты информации уже неоднократно поднималась мной на страницах этого блога. Я рассказывал о разного рода решениях, призванных обезопасить переписку от посторонних глаз, будь то государства, конкурента или кого-то еще. У каждого есть свои индивидуальные плюсы и минусы, но один минус является общим для всех средств стойкой криптографии на основе PGP (т.е. де-факто стандарта для защищенной электронной почты) – даже если вы умеете пользоваться средствами шифрования PGP и храните ключи в защищенном месте, и пользуетесь «чистым» железом…

То может оказаться, что вам просто некому писать. Просто потому, что почти никто из ваших знакомых не знает о том что такое PGP, не говоря уже о том, как им пользоваться. В 1991 году, когда PGP был разработан, многие считали что в ближайшие годы он станет стандартным инструментом в шифровании, но прошло больше 20 лет, а «воз и ныне там». Кое-кто считает, что дело в коммерческом интересе – когда вся почта хранится на серверах нешифрованной и провайдер может ее беспрепятственно читать, то это открывает массу возможностей для коммерциализации – в первую очередь это касается рекламы. Но все же эта причина не основная.

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

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

На все готовое


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

… ведь, в сущности сеть Bitcoin все равно передает данные. Почему бы не приспособить ее для передачи сообщений?

Идея в целом не нова. Еще в 2011 году некоторые пользователи сети использовали части блоков Bitcoin-транзакций чтобы передавать сообщения. Встроенное в общую цепь блоков, сообщение сохраняется в ней навсегда, кроме того сам механизм передачи сообщения служит для его аутентификации. Однако этот метод передачи малоэффективен. С тех пор неоднократно предпринимались попытки превратить Bitcoin в эффективную сеть передачи защищенных сообщений.

Первой попыткой были «блочные заметки», концепт которых зародился на сайте Blockchain.info. Производится транзакция, которая дает нестандартный результат – два выходящих сообщения. Первое – передача очень малого количества денег, второе – сообщение, которое отправляется на тот же адрес. Главным недостатком такого подхода было то что он «замусоривал» цепь блоков лишней информацией. Рост размеров цепи уже сейчас приобретает пугающие масштабы, настолько что некоторые утверждают, что в будущем это не даст пользователям, не располагающим достаточно мощными компьютерами пользоваться сетью вообще из-за того что обработка происходящих транзакций будет занимать все мощности. Поэтому логично, что разработчики протокола Bitcoin воспротивились широкому распространению такой системы (цитата «Давайте найдем способ сделать это правильно.»)

Вторая – так называемые «подписи сообщений». В отличие от первого способа, который технически был «грязным хаком» протокола, подписи были введены в код Bitcoin официально и появились в официальных клиентах. Используя подпись, члены сети Bitcoin могут использовать механизмы сети для идентификации и авторизации сообщений (любой участник сети может проверить, по подписи что сообщение, в котором она присутствует действительно отправлено держателем указанного адреса) при этом не загрязняя цепь блоков лишней информацией. Но при этом подписи являются только способом авторизации, без встроенного средства передачи сообщений. Как PGP. Впрочем, есть важное отличие – Bitcoin базируется на криптографии эллиптических кривых, и потому более устойчив к атаке с применением квантовых компьютеров, в отличие от RSA, применяемого в PGP.

BitMessage должна была решить все эти проблемы – но обходным путем. Чтобы обеспечить передачу сообщений максимально эффективным способом, BitMessage создавала собственную параллельную распределенную сеть (аналогичную Bitcoin), параметры которой специально предназначены для доставки сообщений. Сеть в целом схожа с BitTorrent – сообщения маршрутизируются свободным образом – запрашивая список данных для передачи у пиров. Сообщения хранятся в сети на протяжении двух дней, так что для того чтобы принимать их достаточно подключаться к сети раз в два дня. Еще один элемент, напоминающий о Bitcoin – система защиты от спама, которая выполнена в виде вычислительной задачи, которая занимает у среднего компьютера приблизительно 4 минуты. Процесс передачи сообщения состоит из 4-х этапов (хотя обязательными являются только три).

  1. Отправитель направляет адресату запрос на получение его публичного ключа.
  2. Адресат получает запрос и высылает ключ.
  3. Отправитель шифрует сообщение и отсылает его адресату.
  4. Адресат получает сообщение и отсылает отправителю подтверждение того, что сообщение принято (этот шаг опционален)

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

Однако, хотя идея BitMessage хороша, у конкретного практического ее исполнения пока что полно проблем. Криптография, используемая BitMessage основывается не на эллиптических кривых, как Bitcoin, а на широко распространенном RSA, который применен не очень эффективно. Впрочем, ошибки исправимы – автор постоянно работает над своим детищем. Вторая более фундаметальна – Bitmessage несовместим с Bitcoin и не может использовать его инфраструктуру.

Встроив BitMessage в Bitcoin, первый получил бы огромное преимущество. Bitcoin располагает огромным количеством публичных ключей, которые уже встроены в цепь блоков, нужно только вычленить их оттуда. Таким образом для многих пользователей этап обмена ключами можно было бы пропустить. Более того, слияние функций передачи денег и сообщений позволяют воплотить уникальную концепцию распределенной социальной сети (привет, Diaspora) и сервиса платежей в одном сервисе, точнее на одной платформе. Так, если два пользователя переписываются то они по умолчанию уже могут отправлять друг другу денежные средства. Еще одна интересная особенность такого сервиса заключена в особенности криптографии эллиптических кривых, которая позволяет зная один публичный ключ генерировать новые. Допустим, один из абонентов создает отдельный адрес – для переписки или передачи денег. Для того чтобы подключиться к нему, другому абоненту нужен новый публичный ключ, но пользуясь этой особенностью он может сгенерировать его самостоятельно, зная только некоторую константу, с помощью которой первый абонент вычислил новый ключ. Передавать за сам новый ключ не обязательно. Таким образом можно создавать одноразовые ключи – для переписки или передачи средств.

К счастью, протокол BitMessage может быть модифицирован, так что возможность сделать его совместимым с Bitcoin есть. Более того, теоретически на этом протоколе можно создать целую криптоплатформу, которая будет включать в себя криптографически подписанные и защищенные веб-ресурсы, сервисы и другие объекты, доступ к которым будет передаваться от одного пользователя к другому, по принципу «web of trust». Это можно быть началом нового интернета, существующего параллельно с обычным, но непрозрачного для тех, через кого проходят потоки информации. Сейчас самое время для появления такой платформы.

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


Добавление комментариев доступно только зарегистрированным пользователям. Используйте свою существующую учетную запись для авторизации. Если у Вас еще нет учетной записи на сайте ее можно создать пройдя несложную процедуру регистрации. Кстати, для входа на сайт, наравне с учетной записью на cloudzone.ru, можно использовать аккаунт из следующих популярных сервисов: Яндекс, Facebook, Google и LinkedIn