Инфраструктура открытых ключей ресурсов ( RPKI ), также известная как сертификация ресурсов , представляет собой специализированную структуру инфраструктуры открытых ключей (PKI), предназначенную для поддержки повышенной безопасности инфраструктуры маршрутизации BGP в Интернете .
RPKI предоставляет способ подключения информации о ресурсах номеров Интернета (например, номеров автономной системы и IP-адресов ) к якорю доверия . Структура сертификата отражает способ распределения ресурсов номеров Интернета . То есть ресурсы изначально распределяются IANA по региональным интернет-реестрам (RIR), которые, в свою очередь, распределяют их по локальным интернет-реестрам (LIR), которые затем распределяют ресурсы среди своих клиентов. RPKI может использоваться законными владельцами ресурсов для управления работой протоколов маршрутизации Интернета с целью предотвращения перехвата маршрутов и других атак. В частности, RPKI используется для защиты протокола пограничного шлюза (BGP) через проверку источника маршрута BGP (ROV), а также протокола обнаружения соседей (ND) для IPv6 через протокол обнаружения защищенных соседей (SEND).
Архитектура RPKI описана в RFC 6480. Спецификация RPKI описана в серии RFC: RFC 6481, RFC 6482, RFC 6483, RFC 6484, RFC 6485, RFC 6486, RFC 6487, RFC 6488, RFC 6489, RFC 6490, RFC 6491, RFC 6492 и RFC 6493. SEND описан в RFC 6494 и RFC 6495. Эти RFC являются продуктом рабочей группы IETF SIDR («Безопасная междоменная маршрутизация») [1] и основаны на анализе угроз, который описан в RFC 4593. Эти стандарты охватывают проверку источника BGP, в то время как проверка пути осуществляется BGPsec , который был стандартизирован отдельно в RFC 8205. Уже существует несколько реализаций для проверки происхождения префикса. [2]
RPKI использует сертификаты X.509 PKI (RFC 5280) с расширениями для IP-адресов и идентификаторов AS (RFC 3779). Он позволяет членам региональных интернет-реестров , известных как локальные интернет-реестры (LIR), получать сертификат ресурса, в котором перечислены ресурсы интернет-номеров, которыми они владеют. Это предоставляет им проверяемое доказательство владения, хотя сертификат не содержит идентификационной информации. Используя сертификат ресурса, LIR могут создавать криптографические подтверждения объявлений маршрутов, которые они разрешают делать с префиксами и ASN, которыми они владеют. Эти подтверждения описаны ниже.
Разрешение на начало маршрута (ROA) [3] определяет, какая автономная система (AS) имеет право создавать определенные префиксы IP . Кроме того, оно может определять максимальную длину префикса, который AS имеет право рекламировать.
Максимальная длина префикса — необязательное поле. Если не определено, AS имеет право только рекламировать точно указанный префикс. Любое более конкретное объявление префикса будет считаться недействительным. Это способ принудительного агрегирования и предотвращения перехвата посредством объявления более конкретного префикса.
При наличии указывает длину наиболее специфичного префикса IP, который AS имеет право рекламировать. Например, если префикс IP-адреса равен 10.0.0.0 / 16 , а максимальная длина равна 22, AS имеет право рекламировать любой префикс ниже 10.0.0.0 / 16 , если он не более специфичен, чем / 22. Таким образом, в этом примере AS будет иметь право рекламировать 10.0.0.0 / 16 , 10.0.128.0 / 20 или 10.0.252.0 / 22 , но не 10.0.255.0 / 24 .
Разрешение поставщика автономной системы (ASPA) определяет, каким сетям разрешено появляться в качестве прямых смежных сетей автономной системы в BGP AS_PATH. [4]
Когда ROA создается для определенной комбинации исходного AS и префикса, это повлияет на действительность RPKI [5] одного или нескольких объявлений маршрута. Они могут быть:
Обратите внимание, что недействительные обновления BGP также могут быть вызваны неправильно настроенными ROA. [6]
Существуют инструменты с открытым исходным кодом [7], доступные для запуска центра сертификации и управления сертификатом ресурса и дочерними объектами, такими как ROA. Кроме того, RIR имеют размещенную платформу RPKI, доступную на их порталах участников. Это позволяет LIR выбирать, полагаться ли на размещенную систему или запускать собственное программное обеспечение.
Система не использует единую точку публикации репозитория для публикации объектов RPKI. Вместо этого система репозитория RPKI состоит из нескольких распределенных и делегированных точек публикации репозитория. Каждая точка публикации репозитория связана с одной или несколькими точками публикации сертификатов RPKI. На практике это означает, что при запуске центра сертификации LIR может либо публиковать все криптографические материалы самостоятельно, либо может полагаться на третью сторону для публикации. Когда LIR выбирает использование размещенной системы, предоставляемой RIR, в принципе публикация выполняется в репозитории RIR.
Программное обеспечение проверяющей стороны будет извлекать, кэшировать и проверять данные репозитория с помощью rsync или протокола RPKI Repository Delta Protocol (RFC 8182). [8] Для проверяющей стороны важно регулярно синхронизироваться со всеми точками публикации, чтобы поддерживать полный и своевременный вид данных репозитория. Неполные или устаревшие данные могут привести к ошибочным решениям о маршрутизации. [9] [10]
После проверки ROA аттестации можно сравнить с маршрутизацией BGP и помочь операторам сети в процессе принятия решений. Это можно сделать вручную, но проверенные данные о происхождении префикса также можно отправить на поддерживаемый маршрутизатор с помощью протокола RPKI to Router Protocol (RFC 6810), [11] Cisco Systems предлагает встроенную поддержку на многих платформах [12] для извлечения набора данных RPKI и использования его в конфигурации маршрутизатора. [13] Juniper предлагает поддержку на всех платформах [14] , которые работают под управлением версии 12.2 или более поздней. Quagga получает эту функциональность через расширения BGP Secure Routing Extensions (BGP-SRx) [15] или реализацию RPKI [16], полностью соответствующую RFC на основе RTRlib. RTRlib [17] предоставляет реализацию протокола RTR с открытым исходным кодом на языке C и проверку происхождения префикса. Библиотека полезна для разработчиков программного обеспечения маршрутизации, а также для операторов сетей. [18] Разработчики могут интегрировать RTRlib в демон BGP, чтобы расширить свою реализацию в сторону RPKI. Операторы сетей могут использовать RTRlib для разработки инструментов мониторинга (например, для проверки правильности работы кэшей или оценки их производительности).
RFC 6494 обновляет метод проверки сертификата механизмов безопасности протокола Secure Neighbor Discovery Protocol (SEND) для протокола Neighbor Discovery Protocol (ND) для использования RPKI в IPv6. Он определяет профиль сертификата SEND, использующий измененный профиль сертификата RFC 6487 RPKI, который должен включать одно расширение делегирования IP-адреса RFC 3779.