Резюме
- Глобальная система RPKI не построена буквально на одном универсальном якоре доверия. Программное обеспечение проверяющей стороны обычно использует TAL для AFRINIC, APNIC, ARIN, LACNIC и RIPE NCC. Однако действительный путь сертификации для конкретного ресурса в каждый момент обычно завершается в одном принятом органе, поэтому запуск нескольких валидаторов не создаёт для этого ресурса несколько независимых выпускающих центров.
- Разнообразие валидаторов ценно. Независимые кодовые базы могут содержать разные ошибки синтаксического анализа, разные проблемы безопасности памяти, разное поведение при передаче данных, разные стратегии кэширования и разные циклы выпуска. Отдельные экземпляры также снижают вероятность того, что один сбой процесса или одно техническое обслуживание лишит сеть всех проверенных потоков данных.
- Каждый соответствующий стандартам валидатор всё равно оценивает подписанные объекты в рамках полномочий, предоставленных его настроенными якорями доверия. Если принятый вышестоящий УЦ отзывает сертификат нижестоящего узла, удаляет из него ресурсы или выпускает конкурирующую цепочку, валидаторы должны распознавать полученное криптографическое состояние, а не голосовать о том, разумно ли поступил вышестоящий орган.
- Разнообразие репозиториев и каналов доставки может повысить доступность, но зеркала не создают полномочия. Точно реплицированный неблагоприятный сертификат или отзыв остаётся неблагоприятным, а неподписанное исправление от независимого зеркала не является допустимой заменой.
- Голосование большинством между результатами валидаторов не является институциональной апелляцией. Два устаревших кэша могут перевесить один актуальный; две реализации могут использовать общую библиотеку или общую интерпретацию; а реальная смена полномочий может сначала выглядеть как расхождение. Операторам нужны доказательства, объясняющие каждое различие, а не простой подсчёт.
- Устойчивость якоря доверия относится к уровню полномочий: защищённое хранение ключей, раздельное утверждение решений, публичные планы смены ключей, резервирование ключей-преемников, независимое наблюдение, узкие изменения сертификатов, обоснованные решения, апелляция и процедуры непрерывности. RFC 9691 делает плановую смену ключей якоря доверия безопаснее, но прямо не защищает от компрометации действующего закрытого ключа якоря доверия.
- Локальные исключения, такие как SLURM, могут сохранять автономию оператора при неблагоприятном действии, но они локальны и способны фрагментировать картину валидации. Это аварийный механизм контроля, а не замена глобальному органу и не автоматическое лекарство от спорных решений регистратуры.
- Сообщество номерных ресурсов может добиваться расписок о якорях доверия, доказательств проведения ключевых церемоний, уведомлений об изменениях, процедур оспаривания и отчётов о сравнении валидаторов. Удостоверяющие центры RIR и уполномоченные технические операторы остаются ответственными за ключи, сертификаты и репозитории; Сообщество номерных ресурсов не должно выдавать разнообразие программного обеспечения или собственную адвокацию за доказательство децентрализации полномочий.
Разнообразие начинается после того, как первое решение уже принято
Валидатор RPKI не обнаруживает полномочия, инспектируя BGP и выбирая учреждение, которое показалось ему убедительным. Он начинает с материала якоря доверия, настроенного оператором. Локатор якоря доверия (Trust Anchor Locator) задаёт адреса и открытый ключ, используемые для получения и проверки самоподписанного сертификата удостоверяющего центра. От этой принятой отправной точки валидатор следует по путям сертификации, проверяет расширения ресурсов, манифесты, списки отзыва и подписанные объекты и выводит проверенные данные.
Два валидатора, написанные на разных языках, могут выполнять эту работу независимо. Один может отвергнуть некорректную кодировку, которую другой обработает неправильно. Один может восстановиться после перерыва в работе репозитория, а другой — завершиться сбоем. Один может ясно показать устаревший манифест, а другой — выдать менее полезную ошибку. Эти различия важны, потому что содержимое репозитория является недоверенным входом, а поверхность валидации сложна.
Но валидаторы не решают независимо, кто является конечным выпускающим органом. Если оба настроены с одним и тем же открытым ключом TAL, оба принимают один и тот же якорь доверия в качестве исходного органа для ресурсов, описанных его сертификатом. Они могут расходиться во мнении о том, является ли нижестоящий объект синтаксически или криптографически действительным. Если они согласны относительно входных данных и стандартов, они не должны расходиться лишь потому, что один предпочитает держателя ресурсов, а другой — вышестоящий УЦ.
Институциональная концентрация, таким образом, находится выше уровня реализации. Валидатор может доказать, что объект следует из принятого корня по установленным правилам. Он не может доказать, что управление этим корнем справедливо, что принудительный отзыв соразмерен или что запись держателя в регистратуре отражает все частные правовые интересы. Криптографическая валидация отвечает на более узкий вопрос.
Именно поэтому план закупки трёх продуктов-валидаторов может преувеличивать децентрализацию. Он создаёт трёх вычислительных свидетелей одного настроенного органа. Это полезная устойчивость, но не три независимых источника полномочий по сертификации.
Пять региональных якорей не дают каждому префиксу пять независимых голосов
Программное обеспечение проверяющей стороны в промышленной эксплуатации обычно включает локаторы якорей доверия для пяти региональных интернет-регистраторов: AFRINIC, APNIC, ARIN, LACNIC и RIPE NCC. RFC 8897 говорит, что каждая проверяющая сторона выбирает свои якоря доверия, и называет IANA и пять RIR очевидными кандидатами по умолчанию, согласующимися с иерархией распределения номерных ресурсов. Документация Routinator и FORT показывает пять TAL региональных интернет-регистраторов в обычной конфигурации.
Такая структура более распределена, чем один глобальный корень, управляемый одной организацией. Сбой, ограниченный одним региональным деревом, не обязан делать недействительными ресурсы, сертифицированные исключительно в другом. Региональные сообщества, договоры и управление также различаются. Любой анализ, утверждающий, что вся RPKI имеет буквально один якорь доверия, был бы неверным.
Концентрация появляется вновь, когда единицей анализа становится ресурс. Префикс обычно находится внутри пути сертификации, исходящего от якоря доверия, который покрывает его распределение. Его держатель не может попросить три не связанных между собой корня RIR выпустить три одинаково авторитетных сертификата лишь потому, что оператор запускает три валидатора. Во время законного межрегионального перехода пути могут ненадолго меняться или пересекаться, но это контролируемое исключение, а не обычное голосование нескольких корней.
Таким образом, множественность программного обеспечения действует горизонтально на уровне проверяющей стороны, тогда как полномочия по сертификации организованы вертикально. Несколько валидаторов могут, например, проходить по дереву APNIC, но они не превращают корневое решение APNIC в пять региональных решений. Если ресурс переходит в другой регион, путь полномочий меняется через процедуры передачи; количество валидаторов не является причиной перехода.
Это различие позволяет точнее сформулировать риск. Глобальная система имеет региональное разделение. Однако внутри активного пути для ресурса вышестоящий орган может повлиять на каждый нижестоящий объект, который от него зависит. Отзыв сертификата УЦ может заставить проверяющие стороны признать недействительными нижестоящие подписанные объекты. Независимые валидаторы могут подтвердить этот результат с похвальной согласованностью. Тогда их согласие демонстрирует сконцентрированные полномочия, работающие как задумано, а не рассредоточенные полномочия.
Разнообразие программного обеспечения — это реальный механизм контроля, и его нельзя преуменьшать
Аргумент против преувеличения не является аргументом в пользу монокультуры. Проверяющие стороны RPKI обрабатывают сертификаты, списки отзыва, манифесты, ROA и другие подписанные объекты, получаемые из многих точек публикации. Они работают с ASN.1, криптографическими подписями, обнаружением URI, RRDP, rsync, состоянием кэша, сроками действия объектов и исключительными условиями публикации. Дефект может исказить результат, израсходовать ресурсы или сделать проверенные данные недоступными для маршрутизаторов.
Независимые реализации снижают общий риск отказа программного обеспечения, когда их независимость реальна. rpki-client разрабатывается в экосистеме OpenBSD и делает упор на компактную кодовую базу, разделение привилегий и ограниченный доступ процессов. Routinator — реализация на Rust с собственной архитектурой получения, хранения и валидации. FORT — ещё одна открытая реализация проверяющей стороны с отдельными эксплуатационными механизмами контроля. Их код, каналы выпуска и допущения о безопасности не идентичны.
Экосистема уже показала, что сопровождение программного обеспечения меняется. В 2021 году RIPE NCC прекратила поддержку своего валидатора и рекомендовала операторам перейти на альтернативы, а не продолжать использовать неподдерживаемый код. Это решение не ослабило полномочия RPKI; оно признало, что программное обеспечение проверяющей стороны может и должно поставляться независимой экосистемой.
Использование нескольких поддерживаемых реализаций даёт сетям несколько видов защиты. Критическая ошибка синтаксического анализа не обязана лишать всех потоков данных. Краевой случай репозитория можно сравнить. Новую функцию стандарта можно тестировать до того, как она станет единственным источником в промышленной эксплуатации. Обслуживание можно проводить, не работая вслепую. Различная телеметрия может выявить ошибку, которую один интерфейс скрывает.
Эти преимущества оправдывают инженерные усилия. Ошибка состоит в том, чтобы использовать их как доказательство другого утверждения: что полномочия по сертификации и ведению реестра были децентрализованы. Противопожарная дверь не увеличивает число владельцев здания. Она делает здание безопаснее при определённом классе отказов. Разнообразие валидаторов нужно защищать в столь же точных формулировках.
Общий входной материал доверия определяет границу независимого суждения
RFC 8630 делает решение о доверии необычно наглядным. TAL содержит один или несколько адресов и информацию об открытом ключе. Проверяющая сторона получает самоподписанный сертификат УЦ, проверяет, что его открытый ключ совпадает, и решает, готова ли она принять этот субъект как якорь доверия для ресурсов, описанных в сертификате. После принятия якорь — не просто ещё один источник данных. Это основа, на которой нижестоящие заявления становятся действительными.
RFC также описывает серьёзность компрометации. Злоумышленник с закрытым ключом якоря доверия может выдать себя за орган власти. Полагание на неподходящий или неверный якорь доверия может иметь столь же серьёзные последствия. Выпускающий орган может изменить набор ресурсов в своём сертификате без повторного распространения ключа TAL — гибкость, необходимая потому, что региональные наборы ресурсов меняются. Та же конструкция означает, что проверяющая сторона оказывает существенное доверие сдержанности выпускающего органа.
Несколько валидаторов, использующих один и тот же TAL, не делают отдельных решений о доверии, если их операторы сознательно не настроили их по-разному. Встроенные TAL могут сделать выбор почти незаметным: установка даёт полезное значение по умолчанию, и каждая реализация начинает с одних и тех же региональных ключей. Удобство желательно для внедрения, но его не следует путать с независимо согласованным отношением доверия.
Получение сертификата якоря доверия с нескольких URL также не создаёт несколько органов. RFC 8630 допускает несколько адресов для повышения надёжности получения. Каждый адрес проверяется по одному и тому же открытому ключу. Зеркало может поддерживать доступность сертификата; оно не может подписать иное авторитетное состояние без доверенного закрытого ключа.
Эта граница даёт операторам практический вопрос для инвентаризации. Для каждого экземпляра валидатора: какие ключи TAL настроены, как они были получены, кто может их обновлять и какой программный пакет может изменить их при обновлении? Если три экземпляра получают изменения TAL через один необслуживаемый канал пакетов, их видимая независимость включает общую зависимость от начальной загрузки. Кодовые базы могут различаться, но корневая конфигурация остаётся операционно сконцентрированной.
Валидатор не может отменить действительное неблагоприятное действие лишь потому, что оно неблагоприятно
RFC 8211 анализирует действия удостоверяющих центров и администраторов репозиториев, которые могут нанести вред держателю ресурсов. Причиной может быть атака, ошибка, политическое решение или правовое принуждение. Вышестоящий орган может отозвать сертификат УЦ, в результате чего проверяющие стороны считают нижестоящие подписанные объекты недействительными. Конкурирующая ROA или изменённый набор ресурсов также может изменить результаты маршрутизации.
С точки зрения держателя последствия могут быть серьёзными. С точки зрения валидатора задача всё равно состоит в том, чтобы правильно обработать принятое состояние сертификации. Если правильно подписанный актуальный отзыв появляется в настроенной цепочке и удовлетворяет правилам валидации, валидатор не вправе игнорировать его из-за публичного заявления о несправедливости. Такое поведение превратило бы каждого разработчика программного обеспечения в апелляционную регистратуру.
Запуск другой реализации не меняет этого разделения. Корректные реализации должны сходиться в оценке последствий действительного действия вышестоящего органа. Разнообразие может показать, что один валидатор не получил новый отзыв или неправильно обработал манифест. Оно не может установить, что вышестоящий орган не имел договорных или правовых полномочий. Такое суждение требует доказательств и форума за пределами логики синтаксического анализа.
Это самая резкая форма утверждения из заголовка. Единый якорь доверия — не обязательно одна организация для всего интернета; это единственный принятый орган на вершине соответствующего пути. Если этот орган или влиятельный вышестоящий узел действует неблагоприятно, множественность валидаторов может сделать последствия надёжнее видимыми. Она не может устранить отношение полномочий, которое их породило.
Исправление должно действовать на уровне полномочий: раздельное утверждение исключительных изменений сертификатов, уведомление, где это возможно, точные причины, независимая проверка, апелляция, меры непрерывности и способ исправлять ошибки без стирания истории. Техническое обнаружение поддерживает эти механизмы контроля. Оно их не заменяет.
Согласие валидаторов — свидетельство вычисления, а не институционального согласия
Операторы часто сравнивают результаты нескольких валидаторов. Такая практика может выявить дефект реализации или устаревший кэш, но сравнение требует понимания того, что означает согласие. Три одинаковых списка проверенных данных показывают, что экземпляры получили одинаковый результат на основе своих текущих представлений. Они не показывают, что три регистратуры одобрили соответствующие сертификаты или что затронутые держатели дали согласие.
Это различие похоже на повторное выполнение арифметических вычислений. Независимые калькуляторы повышают уверенность в том, что сумма посчитана правильно. Они не дают независимых доказательств того, что счёт выставлен законно. Валидаторы RPKI могут подтверждать действительность пути и объекта. Удостоверяющий центр и процесс регистрации определяют, какие утверждения попадают в этот путь.
Даже вычислительное согласие имеет пределы. Экземпляры могут использовать общую криптографическую библиотеку, компонент операционной системы, кэш репозитория, пакет TAL, сетевой маршрут или расписание обновлений. Два брендированных продукта могут унаследовать одну и ту же зависимость синтаксического анализа. Три сервера могут обращаться к одному локальному зеркалу. Разнообразие следует оценивать по доменам отказа, а не по числу продуктов.
Расхождение тоже неоднозначно. Один экземпляр может быть устаревшим, другой — реализовывать более новый RFC, третий — отвергать повреждённое содержимое, четвёртый — первым получить актуальный отзыв. Меньшинство может быть правым. Только что ставшее действительным изменение полномочий часто сначала даёт временное расхождение по мере обновления кэшей. Правило большинства, выбирающее самый распространённый результат, может сохранить старые полномочия именно тогда, когда требуется быстрое распознавание отзыва.
По этим причинам сравнение должно сохранять объяснение. Отчёт должен показывать программное обеспечение и версию, идентификатор ключа TAL, серийные номера или время получения из репозитория, состояние манифеста, ошибки валидации и различия в результатах. Тогда операторы смогут определить, в чём причина: код, получение данных, конфигурация или вышестоящие полномочия. Консенсус без сведений о происхождении — слабый сигнал безопасности.
Голосование большинством особенно опасно в момент законного изменения
Представьте три валидатора, обслуживающие одну сеть. Два из них не выполняли успешное получение данных с момента до отзыва сертификата. Один имеет актуальное состояние репозитория и удаляет затронутые данные. Простая политика «двое из трёх» сохранила бы отозванный орган, потому что устаревшее представление имеет больше голосов. Избыточность, призванная повысить безопасность, задержала бы законное защитное действие.
Поменяем факты местами. Два валидатора принимают повреждённое или повторно воспроизведённое состояние, потому что у них общий дефект, а более строгая реализация его отвергает. Голосование большинством снова выбирает неверный результат. Подсчёт не может заменить причинную диагностику, когда экземпляры статистически не независимы, а система не спроектирована как протокол византийского консенсуса.
Более удачная производственная схема использует разнообразие для оповещения, аварийного переключения и ограниченного сравнения. Маршрутизаторы могут получать потоки данных от независимо управляемых кэшей в соответствии с возможностями производителя и локальной архитектурой. Сеть может определить, какой экземпляр является авторитетным для обычного обслуживания, когда другой принимает управление после сбоя процесса и когда расхождение замораживает автоматическое изменение или запускает проверку. Политика безопасности должна отличать отсутствие свежих данных от подтверждённого удаления.
Реакция может также зависеть от масштаба. Расхождение, затрагивающее один префикс, не должно требовать отказа от всех проверенных данных. Полный выход валидатора из строя отличается от спорного объекта. Сбой получения якоря доверия отличается от аутентифицированного изменения под этим якорем. Детальная телеметрия не даёт уровню избыточности превращать любое исключение в голосование.
Не существует универсального кворума, который сделал бы эти решения правильными для каждой сети. Интеграции с маршрутизаторами, допустимые уровни риска и интервалы обновления различаются. Операторам следует публиковать логику, которую они используют внутри, и тестировать её на изменение текущего состояния, большинство устаревших кэшей, расхождение из-за повреждённого объекта и полную потерю потока данных. Разнообразие валидаторов становится механизмом контроля только тогда, когда поведение выбора спроектировано столь же тщательно, как и сами экземпляры.
Разнообразие репозиториев защищает доступность, а не полномочия сертифицировать
Система репозиториев RPKI распределена. Нижестоящие УЦ могут публиковать данные в разных точках, а RRDP или rsync могут делать подписанные продукты доступными проверяющим сторонам. Несколько адресов, сети доставки контента и кэшированное действительное состояние снижают вероятность того, что один сбой сервера немедленно удалит все данные. Это важные механизмы обеспечения доступности.
Подписанные объекты также позволяют валидаторам считать транспорт до репозитория недоверенным. Зеркало не может незаметно изменить ROA и сохранить действительную подпись. Манифесты и информация об отзывах помогают проверяющим сторонам обнаружить отсутствующее, устаревшее или подменённое содержимое. Это сильная сторона архитектуры: распределение не требует, чтобы каждый сервер доставки был органом.
То же свойство задаёт предел. Зеркало не может выпустить отсутствующую ROA держателя, восстановить сертификат, который вышестоящий орган правомерно отозвал, или исправить ошибочный набор ресурсов без авторизованных подписей. Десять репозиториев могут реплицировать одно и то же неблагоприятное актуальное состояние. Их независимость делает это состояние труднее подавить, а не менее авторитетным.
Администраторы репозиториев сами могут действовать неблагоприятно или выходить из строя. RFC 8211 рассматривает такие случаи, поскольку подавление или подмена могут повлиять на то, что проверяют проверяющие стороны. Разнообразие валидаторов может помочь выявить разные результаты получения, а разнообразие репозиториев — предоставить альтернативный доступ. Однако если соответствующий УЦ контролирует авторитетный манифест и состояние отзыва, распределение не создаёт отдельную институциональную проверку его подписанных решений.
Ответ на уровне управления состоит в том, чтобы сочетать доступность с подотчётностью. Службы публикации следует операционно разделять там, где это полезно, изменения должны давать проверяемые расписки, а независимые наблюдатели должны архивировать хэши и время. Отсутствие объекта, устаревшее состояние и аутентифицированный отзыв следует фиксировать как разные события. Архив может показать, что и когда изменилось; он не может в одностороннем порядке создать заменяющий орган.
Поэтому заявления об устойчивости должны указывать уровень. Публикация на нескольких площадках повышает устойчивость доставки. Независимые валидаторы повышают устойчивость обработки. Защищённая и разделённая работа УЦ повышает устойчивость выпуска. Проверка и апелляция повышают устойчивость управления. Называть все четыре «децентрализацией» значит скрывать, какой именно отказ контролирует каждый уровень.
Смена ключа якоря доверия решает вопрос непрерывности, только если орган остаётся заслуживающим доверия
Долгоживущие ключи якоря доверия рано или поздно должны меняться. Оборудование стареет, алгоритмы эволюционируют, операционные практики улучшаются, а подозрение на компрометацию может потребовать замены. Смена ключей опасна, потому что проверяющие стороны загружаются из ключевого материала, уже настроенного вне основного канала. Смените ключ слишком резко — и части экосистемы валидации могут потерять дерево.
RFC 9691 вводит объект ключа якоря доверия (Trust Anchor Key), который может сообщать действующий и следующий открытые ключи и адреса их сертификатов. Он использует период принятия и повторяющееся наблюдение, чтобы проверяющие стороны могли подготовить ключ-преемник до переключения. Процедура делает плановую смену более упорядоченной и даёт операторам доказательства того, что материал преемника оставался стабильным.
Это существенное улучшение на уровне полномочий. Оно признаёт, что переход корневого ключа нельзя делегировать обычному получению объектов без защитных мер. Оно также поддерживает независимое программное обеспечение, поскольку разные проверяющие стороны могут реализовывать или отслеживать один и тот же поэтапный переход.
Граница безопасности остаётся явной. RFC 9691 говорит, что механизм не защищает от компрометации действующего или будущего закрытого ключа якоря доверия. Злоумышленник, контролирующий действующий ключ, уже обладает полномочиями, необходимыми для направления вредоносного перехода. Несколько валидаторов, добросовестно обрабатывающих подписанный переход, не нейтрализуют этот контроль.
Поэтому смена ключей требует институциональных механизмов контроля вокруг технической процедуры. Генерация ключа-преемника должна использовать защищённые средства и раздельное утверждение. Общественность должна заранее получать уведомление, отпечатки действующего и будущего ключей по независимым каналам, ожидаемые даты и контакты для восстановления. Разработчики проверяющих сторон должны тестировать поддержку. Наблюдатели должны сравнивать результаты валидации под обоими ключами, пока ожидается их эквивалентность. Уничтожение или вывод из эксплуатации старого закрытого ключа следует подтверждать доказательствами после перехода.
Урок шире, чем смена ключей. Криптографическая процедура может сделать смену полномочий безопасной от случайного разрыва непрерывности, но оставить концентрацию полномочий неизменной. Хорошее управление задаёт оба вопроса: проходит ли переход валидацию и достаточно ли ограничены люди, правила и доказательства, которые им управляют.
Хранение ключей должно разделять владение, утверждение и наблюдение
Закрытый ключ якоря доверия настолько силён, что ни один рядовой администратор не должен иметь возможность использовать его в одиночку и незаметно. Техническое хранение может помещать ключи в защищённое оборудование, ограничивать экспорт и требовать нескольких уполномоченных участников для чувствительных операций. Организационное хранение может разделять людей, предлагающих изменение, утверждающих его, проводящих церемонию и проверяющих результат.
Эти механизмы не создают ещё один корень, но снижают риск того, что одна скомпрометированная учётная запись или один инсайдер сможет воспользоваться корневыми полномочиями. Они также создают доказательства для последующей проверки. Выпуск сертификата, изменение набора ресурсов или смена ключей должны быть связаны с утверждённым событием, точными исходными данными, участниками, полученными результатами и независимыми наблюдениями за публикацией.
Пороговое утверждение должно быть содержательным. Три одобрения из одной линии подчинения, использующие один скомпрометированный сервис идентификации, могут выглядеть распределёнными, но иметь общий домен отказа. Участники должны представлять разные обязанности, а аварийный доступ должен быть уже и заметнее обычного. Материалы восстановления не должны незаметно обходить те же механизмы контроля, что действуют для активного ключа.
Общественность не может и не должна проверять секретный ключевой материал. Она может проверять доказательства управления: действующие положения о практике сертификации, идентификаторы ключей, расписания церемоний, объём аудита, число исключительных действий, существенные замечания и меры по исправлению. Держатели ресурсов могут получать более подробные доказательства при изменении их сертификатов. Суды и компетентные органы могут получать доступ к защищённым записям в рамках применимых процедур.
Разнообразие валидаторов дополняет эту структуру. Независимые реализации и наблюдатели могут подтвердить, что опубликованные результаты соответствуют результатам церемонии и что не появилось неожиданное нижестоящее состояние. Они остаются наблюдателями полномочий, а не заменой разделённому хранению. Самая сильная конструкция соединяет и то и другое: ограниченный выпуск создаёт проверяемые изменения, а разнообразные проверяющие стороны проверяют, что эти изменения распространяются, как задумано.
Полномочия регистратуры должны быть обжалуемыми, потому что сертификация следует за регистрацией
Сертификаты ресурсов RPKI отражают иерархию распределения номерных ресурсов и признание полномочий выпускающим учреждением. Если базовая регистрация меняется, путь сертификации может измениться. Идеально защищённый ключ всё равно может выполнить неверное, слишком широкое или оспариваемое решение регистратуры. Защита ключей касается несанкционированного использования; она не гарантирует обоснованную политику или справедливое разрешение споров.
Институциональные механизмы контроля поэтому должны начинаться до подписания. Основание для удаления ресурсов из сертификата должно быть явным. Обычный возврат, утверждённая передача, прекращение договора, исправление мошенничества, судебный приказ и экстренное реагирование на угрозу безопасности — разные основания. Для каждого должны быть доказательства, права принятия решения, правила уведомления, где это законно, масштаб, момент вступления в силу и возможность пересмотра.
Держатель, оспаривающий решение, нуждается в форуме, способном рассматривать регистрационную основу, а не просто подтверждать действительность подписи УЦ. Пересмотр должен быть независим от сотрудника или органа, принявшего первоначальное решение. Срочные меры непрерывности могут сохранять маршрутизацию, пока спор рассматривается, но они не должны незаметно переписывать окончательный статус держателя.
Публикация должна содержать коды причин или связанные публичные уведомления на уровне, который помогает подотчётности, не раскрывая защищённые доказательства. Валидатору не нужны частные материалы дела для обработки отзыва. Оператору и затронутому держателю нужно знать, было ли изменение плановым, корректирующим, связанным с безопасностью или ограниченным правовым актом, чтобы выбрать правильный способ защиты.
Здесь институциональная легитимность входит в безопасность маршрутизации. Чем больше сетей полагается на валидацию происхождения маршрутов, тем значительнее становятся вышестоящие регистрационные и сертификационные решения. Усиление технического правоприменения должно сопровождаться более сильной надлежащей процедурой, а не утверждением, что независимый код валидаторов уже рассредоточил власть.
Локальные исключения сохраняют автономию, но могут фрагментировать общий сигнал
RFC 8416 определяет упрощённое локальное управление номерными ресурсами интернета с использованием RPKI. Оно позволяет оператору фильтровать или добавлять утверждения в своём локальном представлении, в том числе для защиты от неблагоприятных действий, пока они рассматриваются. Это явное признание того, что проверяющим сторонам может требоваться ограниченная автономия от глобального опубликованного состояния.
SLURM может быть полезен при очевидной ошибке. Сеть с надёжными прямыми доказательствами может сохранить достижимость для себя и своих клиентов, пока УЦ исправляет случайный отзыв. Локальное утверждение можно проверить, ограничить сроком действия и удалить, не делая вид, что глобальная RPKI уже содержит исправление.
Этот механизм не является глобальным лекарством. Локальное исключение не меняет того, что проверяют другие операторы. Если многие сети создают разные переопределения, общий смысл результатов RPKI фрагментируется. Недобросовестный или небрежный оператор также может использовать локальные добавления, чтобы разрешить маршруты, которых нет в глобальной иерархии. Механизм исключений переносит ответственность на локальную сеть.
Разнообразие валидаторов не решает этот политический вопрос. Разные реализации могут одинаково правильно применять один и тот же локальный файл, выдавая результат, отличающийся от глобального репозитория. Отчёты о сравнении должны явно указывать локальные утверждения; иначе оператор может принять намеренное переопределение за дефект реализации или независимый орган.
Разумная политика исключений требует доказательств, узкого охвата префиксов и ASN, названного утверждающего лица, дат начала и окончания, затрагиваемых клиентов, критериев пересмотра и удаления. Аварийное использование должно запускать поиск авторитетного исправления, а не становиться постоянной теневой сертификацией. Оператор должен уметь объяснить различие коллегам и аудиторам, не раскрывая без необходимости чувствительные детали.
Таким образом, локальная автономия — это предохранительный клапан. Она снижает зависимость одной сети от немедленного исправления вышестоящим органом, но не может обеспечить согласованное глобальное разрешение, которое способна восстановить только исправленная авторитетная цепочка.
Ограниченные решения о доверии возможны, но сопряжены с издержками координации
RFC 8630 отмечает, что проверяющая сторона, не желающая оказывать широкое доверие выпускающему органу якоря доверия, может выпустить собственный самоподписанный сертификат в качестве якоря доверия и наложить ограничения на нижестоящие сертификаты. В принципе локальная конфигурация доверия может сузить, что внешнему якорю разрешено покрывать.
Этот вариант демонстрирует, что проверяющие стороны не метафизически привязаны к значениям по умолчанию от производителя. Они выбирают якоря, от которых выполняют валидацию. Крупный оператор или консорциум может поддерживать дополнительные ограничения, независимое распространение и проверку. Такие меры могут ограничить последствия, если якорь заявит ресурсы за пределами ожидаемого набора.
Ценой является координация. Локально ограниченные якоря должны отслеживать законные изменения региональных наборов ресурсов и передачи. Устаревшее ограничение может отвергнуть действительную сертификацию после перемещения ресурсов. Разные наборы ограничений могут привести к тому, что сети получат разные проверенные данные. Организация, поддерживающая их, приобретает собственные полномочия и эксплуатационную нагрузку.
Создание нескольких конкурирующих корней доверия для одних и тех же ресурсов поставило бы ещё более сложные вопросы. Какой корень преобладает при расхождении? Достаточно ли одного действительного пути, что позволит устаревшему или захваченному корню сохранить полномочия? Должен ли согласиться кворум, что создаёт риск отказа из-за устаревшего большинства? Кто принимает и удаляет корни? Криптография сама по себе не может ответить на эти конституционные вопросы.
Ближайшей целью не должно быть умножение ради умножения. Ею должно быть сведение к минимуму неконтролируемой власти внутри существующей иерархии при сохранении согласованного сигнала валидации. Надёжная эксплуатация якорей доверия, узко определённые заявления о ресурсах, прозрачные изменения, независимые наблюдатели, локальные аварийные механизмы и заслуживающий доверия механизм апелляции могут снизить риск концентрации, не изобретая нерешённый спор нескольких корней.
Исследование альтернативных моделей полномочий остаётся ценным. Любое предложение должно определять разрешение конфликтов, передачу ресурсов, чрезвычайные действия, компрометацию ключей, правовое принуждение и выход. Называть конструкцию децентрализованной до ответа на эти случаи значило бы повторить ту же ошибку, что и отождествление числа валидаторов с числом органов.
Операторам нужна карта уровней до покупки избыточности
Устойчивое развёртывание можно оценивать по шести уровням. Первый — начальная загрузка: ключи TAL, их получение, источник пакета и полномочия на обновление. Второй — выпуск: ключи якоря доверия и нижестоящих УЦ, утверждение и регистрационные решения. Третий — публикация: манифесты, списки отзыва, подписанные объекты, RRDP, rsync и доступность репозиториев. Четвёртый — валидация: кодовые базы, библиотеки, кэши, версии и поведение в исключительных условиях. Пятый — доставка маршрутизаторам: сеансы RPKI-to-Router, аварийное переключение и правила устаревания.
Шестой — политика маршрутизации: как состояния Valid, Invalid и NotFound влияют на выбор маршрута.
Покупка двух валидаторов меняет главным образом четвёртый уровень и, возможно, пятый. Их запуск в разных местах добавляет разделение по доступности. Использование независимых репозиториев, где позволяет иерархия, улучшает третий уровень. Ничто из этого автоматически не меняет начальную загрузку или выпуск. Общий канал обновления TAL, один УЦ RIR и одно регистрационное решение могут остаться общими.
Инвентаризация должна явно выявлять общие зависимости. Находятся ли оба валидатора как виртуальные машины на одном хосте? Используют ли они общие DNS, электропитание и магистральные каналы? Читают ли один кэш? Переключаются ли сеансы маршрутизаторов автоматически? Получают ли оба пакета одно и то же встроенное обновление TAL? Используют ли они одну криптографическую библиотеку? Какая команда может менять локальные исключения?
Тестирование должно следовать карте. Завершите одну реализацию сбоем. Подайте повреждённый объект в лабораторных условиях. Задержите одно представление репозитория. Смените TAL в контролируемой среде. Правомерно удалите данные и убедитесь, что логика большинства устаревших кэшей их не возвращает. Отработайте полную потерю потока данных и восстановление. Зафиксируйте, какой уровень обнаружил и локализовал каждый отказ.
Результатом становится защитимое утверждение об устойчивости. Оператор может сказать, что ни один отдельный процесс валидатора, хост или событие обслуживания не лишает сеть проверенного потока данных, признавая при этом, что региональный центр сертификации остаётся общим. Точные утверждения побуждают к точному улучшению; широкие заявления о децентрализации, как правило, слишком рано заканчивают анализ.
Независимое сравнение должно объяснять расхождения, а не выставлять оценки брендам
Публичный сервис сравнения может укрепить экосистему, если не превращает результаты валидаторов в турнирную таблицу. Его задача — запускать поддерживаемые реализации на зафиксированных снимках репозиториев и при живом получении данных, сохранять конфигурацию и сообщать о различиях с достаточными доказательствами, чтобы разработчики и операторы могли их воспроизвести.
Полезной единицей является событие валидации. Какие якоря доверия были активны? Какой объект или точка публикации вызвали расхождение? Получили ли реализации одни и те же байты? Использовала ли одна из них предыдущее кэшированное состояние? Какое правило RFC или локальная политика применялось? Какое различие в данных дошло до маршрутизаторов? Была ли проблема исправлена и в какой версии?
Агрегированные показатели могут помогать сопровождению, но им нужны знаменатели и серьёзность. Отказ синтаксического анализа на одном повреждённом тестовом объекте отличается от потери регионального дерева. Тайм-аут передачи отличается от принятия отозванного сертификата. Сервис не должен делать вывод о глобальной доле развёртываний на основе своих участников или описывать выбранные тесты одного месяца как все производственные условия.
Разработчики должны иметь право ответить с доказательствами. Операторов следует предупреждать, когда реализация больше не поддерживается, как это сделала RIPE NCC для своего выведенного из эксплуатации валидатора. Сведения, чувствительные для безопасности, могут требовать скоординированного раскрытия до полной публикации. Независимость означает, что сервис сравнения не может финансироваться или управляться исключительно одним производителем валидаторов или одним выпускающим органом.
Такой сервис делает разнообразие программного обеспечения полезнее. Он может выявлять общие библиотеки, коррелированные сбои и неоднозначности стандартов. Он также делает границу полномочий видимой: когда каждая реализация выдаёт один и тот же неблагоприятный результат после одного аутентифицированного действия вышестоящего органа, отчёт должен направлять внимание на выпускающий орган и процедуру пересмотра, а не воспевать единодушие.
Сообщество номерных ресурсов может проверять границу между кодом и полномочиями
Сообщество номерных ресурсов может внести вклад, опубликовав предлагаемый стандарт гарантий, который называет каждый уровень и не позволяет подменять один уровень другим. Поставщик, заявляющий о разнообразии валидаторов, должен раскрывать кодовые базы, версии, разделение хостинга, способ получения TAL, общие зависимости, метод сравнения, логику подачи данных маршрутизаторам и политику исключений. Ему не должно быть позволено намекать, что эти механизмы создают независимые корни сертификации.
Для якорей доверия и УЦ RIR Сообщество может предложить иной набор доказательств: текущие идентификаторы ключей, охват заявлений о ресурсах, модель хранения, разделение утверждения, план смены ключей, процедуру исключительных изменений, непрерывность репозиториев, публичные уведомления, независимые наблюдения, маршрут апелляции и историю исправлений. Цель не в том, чтобы передать Сообществу все закрытые ключи. Цель — сделать осуществление вышестоящих полномочий проверяемым.
Сообщество также может предложить стандартные расписки об изменениях для выпускающих органов и независимых наблюдателей. Расписка связывала бы класс причины, затронутый набор ресурсов, прежний и новый идентификаторы сертификата, утверждающий орган, момент вступления в силу, доказательства публикации и статус пересмотра. Валидаторы или наблюдатели могут добавлять наблюдения, показывающие, когда изменение стало видимым. Затронутые держатели могут оспаривать регистрационную основу через установленный форум, пока все согласны относительно того, что именно было подписано.
Эта роль позитивна, потому что расширяет подотчётность, не создавая непроверенный суперкорень. Сообщество может добиваться независимо квалифицированных сервисов сравнения и публиковать сравнения с указанием источников. Аккредитация и предписания об исправлении требуют компетентного органа; Сообщество не может выдавать ни то ни другое. Представительство членов может вовлекать держателей и операторов в пересмотр стандартов. Финансирование и конфликты интересов должны раскрываться, чтобы крупная регистратура, производитель или сеть не могли превратить гарантии в рекламу.
Модель остаётся перспективной. Публичные материалы Сообщества поддерживают распределённое участие и ограниченную институциональную власть как цели; они не устанавливают, что эта система гарантий якорей доверия развёрнута или признана во всех регионах. Доверие к ней будет зависеть от пилотных проектов, внешнего аудита, опубликованных исключений и готовности критиковать как поставщиков программного обеспечения, так и выпускающие органы.
Измерения должны отделять распространённость программного обеспечения от подверженности полномочиям
Не существует полного публичного знаменателя для числа производственных развёртываний валидаторов. Операторы могут запускать частные экземпляры, использовать встроенные сервисы производителей, передавать валидацию на аутсорсинг или получать проверенные маршруты от вышестоящих сетей. Число загрузок не равно числу активных сетей. Публичные наблюдения за маршрутизаторами не показывают надёжно, какая реализация проверяющей стороны приняла то или иное политическое решение.
Поэтому отчёты должны сопротивляться заявлениям вроде того, что одна реализация обслуживает фиксированную долю интернета, если измерение не подтверждает такой знаменатель. Опрос может сообщить, сколько ответивших сетей используют Routinator, rpki-client, FORT или другой сервис. Он не может незаметно обобщать на все автономные системы. Тестовая платформа может сообщить, какие версии она сравнивала. Она не может утверждать, что каждая развёрнутая версия ведёт себя одинаково.
Подверженность полномочиям требует иного измерения. Валидатор может перечислить, какой якорь доверия породил каждый проверенный элемент, а оператор — сообщить долю своего локального проверенного набора по настроенным якорям. Это всё ещё не измеряет качество управления или вероятность неблагоприятного действия. Число ресурсов, число маршрутов и зависимость трафика — разные знаменатели.
Операционные метрики должны быть привязаны к отказам: успешность циклов валидации по экземплярам, свежесть репозитория, расхождение результатов, изменения TAL, доступность потока данных для маршрутизаторов, длительность устаревания, локальные исключения и время до исправления. Метрики полномочий должны включать исключительные изменения сертификатов, качество смены ключей, выводы аудита, апелляции и меры по исправлению. Объединение тех и других в единый балл разнообразия стёрло бы причинность.
Самый полезный отчёт может прийти к выводу, что устойчивость программного обеспечения высока, а пересмотр полномочий остаётся слабым. Другой может обнаружить надёжное управление УЦ, но опасную монокультуру валидаторов. Раздельные измерения позволяют институциям исправлять реальный дефицит. Единый значок децентрализации вознаграждает презентацию, а не инженерную работу.
Следующая архитектура должна разнообразить проверки до умножения суверенных корней
Существует подлинный конституционный вопрос о том, должна ли эволюционировать иерархия полномочий RPKI. Региональные якоря доверия отражают структуру распределения ресурсов и дают согласованную основу для валидации, но их власть становится всё более значимой по мере того, как маршруты Invalid отклоняются шире. Само по себе разнообразие программного обеспечения не является ответом. Не является им и небрежное добавление корней без правила разрешения расхождений.
Ближайшие реформы могут разнообразить проверки вокруг нынешних полномочий. Независимые наблюдатели могут архивировать изменения. Держатели могут получать подписанные уведомления. Исключительные действия могут требовать раздельного утверждения. Апелляции могут быть институционально отделены. Доказательства ключевых церемоний и смены ключей могут публиковаться. Локальные аварийные исключения могут быть регламентированы и ограничены по времени. Межрегиональные передачи могут использовать общие расписки. Реализации валидаторов могут оставаться независимыми и постоянно сравниваться.
Более долгосрочные предложения могут использовать ограниченные корни, перекрёстное подписание, пороговые полномочия или другие модели. Каждое должно объяснять, как законная передача ресурсов меняет полномочия, как удаляется скомпрометированный участник, как разрешаются конфликтующие сертификации, как ограничиваются правовые предписания и как проверяющие стороны приходят к согласию. Избыточность, которая не может прекратить действие устаревших полномочий, может быть опаснее иерархии.
Цель проектирования — не максимальное число корней. Это минимизация безотчётного контроля при достаточной согласованности, чтобы валидация происхождения маршрутов оставалась полезной. Система может иметь несколько корней и всё равно концентрировать власть над каждым ресурсом. Она может иметь один путь для ресурса и всё равно окружать этот путь сильными процедурными проверками. Ярлыки должны следовать из фактического анализа отказов.
Сообщество может конструктивно организовать эту дискуссию, если будет публиковать допущения, конкурирующие проекты и результаты тестов, а не объявлять институциональную победу. RIR, операторы, держатели ресурсов, разработчики валидаторов и производители маршрутизаторов владеют частью необходимых доказательств. Программное обеспечение или сертификат ни одной группы не должны в одиночку определять конституционный ответ.
Правильное утверждение уже и сильнее
Оператор, запускающий несколько поддерживаемых валидаторов, защищён от определённого класса отказов лучше, чем оператор, зависящий от одного заброшенного экземпляра. Независимый код и независимая эксплуатация могут выявлять дефекты, сохранять обслуживание во время технических работ и делать явными неоднозначные состояния репозитория. Это существенные выгоды, и их следует измерять.
Оператор остаётся зависимым от настроенных якорей доверия и их иерархий сертификации. Для конкретного ресурса несколько валидаторов обычно проверяют полномочия, выведенные из одного и того же активного корневого пути. Если вышестоящая цепочка изменяется правомерно, корректные валидаторы следуют за изменением. Если корневой ключ скомпрометирован, разнообразие программного обеспечения не восстанавливает надёжный выпуск. Если решение регистратуры оспаривается, согласие синтаксических анализаторов не заменяет надлежащую процедуру.
Ответом не является цинизм в отношении RPKI. Валидация происхождения маршрутов даёт полезное криптографическое утверждение, которого нет у одного BGP. Именно растущий операционный вес RPKI делает уровень полномочий заслуживающим явного управления. Технический успех должен усиливать внимание к вышестоящей власти, а не скрывать её.
Самое сильное развёртывание сочетает оба вида контроля. Разнообразное программное обеспечение проверяющей стороны независимо проверяет недоверенное содержимое. Операции с якорями доверия и УЦ используют защищённые ключи, разделённые полномочия и безопасную смену ключей. Регистрационные изменения обоснованы и доступны для пересмотра. Публикация устойчива и наблюдаема. Политика передачи данных маршрутизаторам осознанно обрабатывает устаревшие и расходящиеся состояния. Локальные исключения остаются ограниченными. Внешняя оценка сообщает о каждом уровне, не подменяя один уровень другим.
Разнообразие валидаторов может подтвердить, что одна иерархия доверия интерпретируется правильно. Оно не может сделать эту иерархию множественной. Институциональная легитимность начинается, когда система говорит об этом прямо и затем строит недостающие проверки там, где полномочия действительно находятся.
Источники
- RFC 6480: инфраструктура для поддержки безопасной маршрутизации в интернете
- RFC 8630: локатор якоря доверия RPKI
- RFC 8897: требования к проверяющим сторонам RPKI
- RFC 8211: неблагоприятные действия удостоверяющего центра RPKI или администратора репозитория
- RFC 9691: профиль ключей якоря доверия RPKI
- RFC 6489: смена ключей удостоверяющего центра RPKI
- RFC 8416: упрощённое локальное управление номерными ресурсами интернета с использованием RPKI
- Документация Routinator: конфигурация и локаторы якорей доверия
- OpenBSD rpki-client
- Возможности OpenBSD rpki-client
- Валидатор FORT
- Документация FORT Validator: аргументы программы и TAL
- RIPE NCC: прекращение поддержки валидатора RPKI от RIPE NCC
- Документация RPKI: использование данных RPKI
- Устав Сообщества номерных ресурсов

