Кратко

  • RFC 9640 задаёт общие YANG-типы и группировки для паролей, ключей, сертификатов, зашифрованных значений и запросов сертификатов.
  • Совпадение пары и сертификата — точная структурная проверка, а не свидетельство разрешённого выпуска или применения закрытого ключа.
  • Полная квитанция связывает сеанс, NACM, одобрение, datastore, происхождение, границу хранения, реальную операцию и завершение жизненного цикла.

Сервер подтвердил, что сертификат содержит открытый ключ, соответствующий загруженному закрытому ключу. В отчёте это превратилось в утверждение: «сертификат и ключ одобрены для производственной подписи».

Проверка доказала совместимость объектов, но не полномочия. RFC 9640 намеренно не ограничивает общие ключевые группировки конкретными операциями. Прикладная модель и локальная политика должны определить, разрешены ли подпись, расшифрование, проверка или шифрование.

Общая форма без присвоения всей власти

Документ опубликован IETF NETCONF в октябре 2024 года как Standards Track. Модуль ietf-crypto-types объединяет identities, typedefs и groupings. DER-кодированные ASN.1-объекты включают PKCS #10, X.509, CRL, OCSP и CMS; группировки описывают пароль, симметричный, открытый и закрытый ключ, асимметричную пару, сертификат, зашифрованное значение и действие CSR.

Это минимальная совместимая основа, а не полный truststore или keystore: соседние модели определены в RFC 9641 и RFC 9642. Общие RPC генерации ключей исключили из ранней разработки из-за отсутствия согласия об идентификации алгоритмов. Состояние дерева не восстанавливает церемонию создания или импорта.

Скрытый означает невидимый на заданной поверхности

Хранение открытого значения включается отдельной feature и не рекомендуется. Читаемые секреты получают nacm:default-deny-all, запись — default-deny-write. Скрытый ключ нельзя получить через интерфейсы управления, но сервер может применять его.

Это не обещание HSM и не универсальная неэкспортируемость. Локальный API, привилегированный процесс, дамп памяти или backup могут видеть другое. Для сильного утверждения нужны граница хранения, реализация и версия, атрибуты объекта, активные интерфейсы, роли, аттестация и отрицательные тесты.

Зашифрованная форма создаёт зависимость. RFC требует AEAD либо CBC со случайным IV для симметричного шифрования и запрещает ECB. CMS может быть корректен, но общий encrypted-by ещё должен получить ссылку на wrapping key от использующего модуля. Защита, доступность, ротация и право использования этого ключа остаются отдельными фактами.

NACM задаёт исходную политику

Строгие значения по умолчанию полезны даже для сертификатов: идентификаторы и метаданные раскрывают связи, а замена открытого ключа меняет политику доверия. Однако аннотация не сообщает, кто вошёл, какая версия правил действовала и какое исключение сработало.

Квитанция доступа хранит идентичность сеанса NETCONF или RESTCONF, защищённый транспорт и channel binding, версию NACM, совпавшее правило, путь и операцию, состояние до и после, commit и деловое одобрение. Аутентификация канала, доступ к модели и организационный мандат — три решения.

CSR и сертификат не завершают цепочку

Действие generate-csr защищено default-deny-all; рекомендуется channel binding между заявителем приложения и устройством транспортного сеанса. Полученный CSR доказывает создание объекта запроса. Он не доказывает принятие центром сертификации, установку сертификата и первое успешное применение.

Следует сохранить параметры запроса, ссылку на ключ, digest CSR, заявителя и разрешение; затем решение CA, выданный сертификат, проверку соответствия, установку и первый результат. Для каждой существенной операции нужны инициатор, разрешение, версия ключа, вход, выход, время и реализация.

Удаление ещё не уничтожение

RFC говорит, что открытые значения ключей следует обнулять при удалении. Исчезновение узла показывает прежде всего переход datastore. Память, журнал, реплика, swap, crash dump и backup живут по другим срокам.

Свидетельство уничтожения перечисляет версию сервера, области хранения и репликации, транзакцию, механизм обнуления или аппаратного удаления, офлайн-реплики, срок backup и метод проверки. Если слой не проверен, вывод нужно сузить.

Полная цепочка объединяет ревизию модуля и features, сеанс, NACM, одобрение, commit, происхождение, границу доверия, разрешённые операции, wrapping key, реальное использование, ротацию, отзыв и удаление. YANG описывает; работающий код исполняет; аудит связывает эти уровни, не подменяя один другим.

Источники