Основы HOPR. Эпизод 3: Анонимная маршрутизация

Это третий эпизод из нашей серии, посвященной основам HOPR. Предыдущие эпизоды можно найти здесь (Эпизод 1 - Что такое HOPR?) и здесь (Эпизод 2 - Что такое метаданные?).

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

Это огромная проблема для конфиденциальности, но как ее можно решить? Метаданные являются неотъемлемой частью работы Интернета. Отключить их не так просто.

В этом выпуске мы узнаем об основах анонимной маршрутизации данных через такие сети, как HOPR.

Парадокс анонимного обмена сообщениями

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

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

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

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

Это простая аналогия того, как работает луковая маршрутизация, используемая в таких платформах, как проект Tor, о котором вы наверняка слышали (Tor расшифровывается как The Onion Router - луковый маршрутизатор). В луковой маршрутизации конверты на самом деле являются слоями шифрования, поэтому никто не может вскрыть более одного слоя или заглянуть вперед и подсмотреть маршрут, по которому пойдет (или уже пошел) сообщение. Когда вы получаете данные, вы знаете только, с какого узла они только что поступили и на какой узел они поступают дальше.

Этот процесс передачи сообщения от одного получателя к другому называется ретрансляцией. Это также дает название проекту HOPR, поскольку данные “hops” - “перепрыгивают” от одного человека к другому, прежде чем достигнуть пункта назначения. Вся совокупность ретрансляторов называется сетью, а каждая точка в сети - узлом.

Это довольно хорошая система, и для человека уже было бы слишком сложно отслеживать, кто кому отправляет сообщения. Но обладая достаточными аналитическими мощностями, все еще возможно взломать такие сети.

Если вы можете отслеживать активность сети, вы можете начать находить закономерности между узлами. Если Chāo получает пакет данных от Betty, а затем отправляет другой пакет Dmytro, можно сделать вывод, что все они являются частью одной цепи. Сделайте достаточно таких вычислений, и вы сможете разрушить приватность сети. Это еще проще, если атакующими (взломщиками) будут Betty, Chāo или Dmytro (или даже все трое)!

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

Разделение пакетов

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

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

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

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

Jose Aguinaga
Руководитель отдела разработки HOPR

Основы HOPR:
Эпизод 1: Что такое HOPR? - ENG, RUS
Эпизод 2: Что такое метаданные? - ENG, RUS
Эпизод 3: Анонимная маршрутизация - ENG, RUS
Эпизод 4: Микснеты - ENG, RUS
Эпизод 5: Стимулы - ENG, RUS
Эпизод 6: Proof of Relay - ENG, RUS
Эпизод 7: Билеты и каналы оплаты - ENG, RUS

1 Like