Linux -- это интересно

Tor: Скрытый Сервисный Протокол (Hidden Service Protocol)


Рубрика: Изучаем Linux -> Интернет ПО -> Hужное/полезное
Метки: | | | |
Просмотров: 1491

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

Технические детали работы протокола точек синхронизации.

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

Шаг второй: -Скрытый сервис собирает описание скрытого сервиса, содержащее его публичный код и сводку по каждой точке интродукции, и подписывает это описание своим личным ключом. Он загружает это описание в распространяемую хэш-таблицу. Описание будет получено клиентами, запрашивающими XYZ.onion, где XYZ - это шестнадцатизначное имя, которое является уникальным и генерируется с использованием публичного ключа сервиса. После прохождения этого шага скрытый сервис установлен.

Хотя использование автоматически генерируемого сервисного имени может показаться непрактичным, оно служит важной цели: Все, включая точки интродукции, директорию распространяемой хэш-таблицы и, конечно, клиентов, могут убедиться в том, что они подключаются к верному скрытому сервису. Смотрите также гипотезу Zooko, согласно которой из Децентрализованного, Безопасного и Значительного вы можете достичь не больше двух. Возможно, в один прекрасный день кто-то применит имя любимой собаки в качестве названия для скрытого сервиса?

Шаг третий: -Клиент, который желает подключиться к скрытому сервису, должен сначала узнать его адрес. После этого, клиент может инициировать установку соединения, загрузив описание из распространяемой хэш-таблицы. Если есть описание для XYZ.onion (скрытый сервис может находиться оффлайн или, возможно, он давно покинул сеть, возможно также вы сделали опечатку в onion адресе), то клиент получает набор точек интродукции и правильный публичный код. Примерно в это же время, клиент создает цепь подключения к другому случайно выбранному ретранслятору и просит его выступить в качестве точки синхронизации, открывая ему "одноразовый" секрет.

Шаг четвертый: -Когда есть описание и точка синхронизации готова, клиент предоставляет вводное сообщение (зашифрованное в публичном ключе скрытого сервиса), включающее адрес точки синхронизации и "одноразовый" секрет. Клиент посылает это сообщение одному из пунктов вступления, запрашивая его о доставке скрытому сервису. И снова общение происходит по цепи Tor: никто не может послать приветственное послание на IP-адрес клиента, и, таким образом, клиент остается анонимным.

Шаг пятый: -Скрытый сервис расшифровывает послание клиента и находит в нем адрес точки синхронизации и единовременный ключ. Сервис создает цепь подключения к точке синхронизации и в сообщении посылает туда одноразовый ключ. В этот момент очень важно, что скрытый сервис придерживается набора входной защиты, необходимого при создании новых цепей. В противном случае, нарушитель смог бы запустить свой собственный ретранслятор и заставить скрытый сервис создать случайное количество цепей в надежде на то, что ложный ретранслятор будет воспринят как входной узел и таким образом, через временной анализ он узнает IP-адрес скрытого сервера. Такая атака была описана Ослашом и Сиверсоном в их работе "Расположение Скрытых Серверов".

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

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

Подробнее: Использование Tor (Документация)

Оставьте комментарий!
Используйте нормальные имена.Войти через loginza
Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



 
(обязательно)