Объявленные семейства ретрансляторов: почему Tor не кладёт узлы одного оператора в одну цепочку
Большую часть своей истории содержание более одного ретранслятора в Tor означало небольшую административную заботу: строку MyFamily в каждом torrc с отпечатками всех остальных ретрансляторов того же оператора. Этот механизм ушёл из сети, и операторы нескольких ретрансляторов теперь объявляют семейства через сменивший его механизм на основе ключей. Причина, по которой опция существовала, не изменилась - и о ней стоит напомнить всякому, кто сегодня добавляет второй ретранслятор.
Зачем нужно объявление семейства
Семейство ретрансляторов - это набор узлов под единым административным контролем: один человек, одна организация или один хост с несколькими экземплярами tor. Объявление существует для построения пути. Клиенты Tor стараются не помещать двух членов одного семейства в одну цепочку, ведь цепочка, у которой вход и выход подчиняются одной стороне, - это в точности сценарий атаки корреляции «из конца в конец»: вход видит клиента, выход видит назначение, а оператор, владеющий обеими точками, может сопоставить их.Если два ретранслятора объявляют, что состоят в одном «семействе», клиенты Tor не будут использовать их в одной цепочке.Нынешняя документация сообщества описывает опцию-наследницу так же: FamilyID, как сказано, просто сообщает клиентам Tor, какие ретрансляторы контролируются одной сущностью, оператором или организацией, чтобы ретрансляторы одного оператора не занимали несколько позиций в одной цепочке. Без этого сигнала выбор пути считает родственные узлы чужими.
Когда операторы забывают объявить
Старая схема полностью зависела от того, ведёт ли оператор учёт на каждом ретрансляторе и поддерживает ли его в актуальном состоянии. Группа с общим оператором, но без объявления, невидима для выбора пути: сеть считает её узлы независимыми участниками. Это искажает статистику разнообразия, которой описывают сеть, и сужает защиту, которую клиенты получают на самом деле: правило на стороне клиента останавливается ровно на границе объявленного. Проект OrNetStats давнего исследователя ретрансляторов nusenu отслеживает это годами. Он объединяет узлы в фактические семейства - ретрансляторы со взаимно настроенной опцией MyFamily, - а среди его постоянных вопросов: какие группы имеют возможные ошибки настройки MyFamily и какие представляют для пользователей Tor риск корреляции «из конца в конец». Специальный отчёт перечисляет операторов лишь там, где сочетание реалистично: вероятность guard и exit выше нуля, семейство не настроено как следует, узлы разбросаны более чем по одному блоку сети /16 - иначе говоря, группы, которые действительно могли бы держать оба конца цепочки. По данным отчёта, после правильной настройки семейства узлы исчезают со страницы за день-два. К той же истории относится контактная информация. ContactInfo - неаутентифицированная строка, и OrNetStats отмечает, что это позволяло злоумышленникам выдавать себя за других операторов ретрансляторов - по словам автора проекта, этим уже пользовались на практике. Поэтому OrNetStats показывает, где возможно, аутентифицированные идентификаторы операторов (AROI), привязывающие контактные данные к контролю над DNS или веб-сервером, который оператор должен действительно иметь.От MyFamily к Happy Families
Старый механизм к тому же плохо масштабировался. Каждый ретранслятор должен был перечислять всех остальных членов, а любое изменение требовало правки конфигурации на всех. Предложение 321, написанное Ником Мэтьюсоном в мае 2020 года, подсчитало цену: по его измерению за февраль 2025 года объявления семейств составляли свыше 55 процентов содержимого микродескрипторов, а добавление или удаление сервера требовало изменения torrc на всех остальных. Призыв к обсуждению в ноябре 2021 года о более простом способе объявлять семейства собрал отклики операторов, в том числе nusenu, а сложившийся замысел сохраняет свойство безопасности, меняя механику: оператор один раз создаёт ключ подписи семейства, передаёт его каждому ретранслятору семейства и задаёт опцию FamilyId. Членство подтверждается сертификатами в дескрипторах, а каталоговые публикуют компактные строки family-ids вместо квадратичных списков отпечатков. Руководство сообщества называет этот замысел Happy Families; он реализован в серии Tor 0.4.9 и в Arti 1.4.1. Переход завершился в 2026 году. Серия 0.4.8 - последняя, требовавшая MyFamily наряду с новым механизмом, - достигла конца жизни 1 июня, а 1 сентября назначено датой, после которой клиенты 0.4.8 и старше больше не должны были работать в сети; старые строки семейств признаны устаревшими ради экономии каталожного трафика. Портал сообщества теперь прямо пишет, что MyFamily удалён, и направляет операторов нескольких ретрансляторов к FamilyID и действующей ContactInfo. Инструменты последовали примеру: роль ansible-relayor убрала поддержку MyFamily в июньском выпуске 2026 года, отметив, что все поддерживаемые версии tor говорят на новом механизме.Практические советы операторам нескольких ретрансляторов
- Держите на каждом ретрансляторе поддерживаемую версию tor; сеть больше не принимает старые строки семейств.
- Создайте ключ семейства командой tor --keygen-family, скопируйте файл ключа в KeyDir каждого ретранслятора, добавьте строку FamilyId в torrc и перечитайте конфигурацию.
- Ротируйте ключи поэтапно: разверните новую FamilyId рядом со старой, подождите несколько дней на распространение, затем уберите старую строку.
- Задайте рабочую ContactInfo - её всегда требовали от операторов нескольких ретрансляторов - и подумайте о публикации AROI, чтобы вашу личность оператора нельзя было подделать.
- Проверьте, как вас видит сеть: страницы семейств OrNetStats и отчёт о корреляции «из конца в конец» показывают, правильно ли сгруппированы ваши узлы.










