Опубликован: 15.11.2006 | Уровень: специалист | Доступ: платный | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»
Лекция 10:

Основные понятия и типы архитектуры PKI

Аннотация: Рассматриваются такие понятия архитектуры PKI, как путь сертификации, пункты доверия PKI, доверенный ключ. Описываются простая, иерархическая, сетевая и гибридная архитектура PKI, обсуждаются способы построения пути сертификации для каждого типа архитектуры.

Основные понятия архитектуры PKI

Архитектура PKI описывает структуру отношений доверия между удостоверяющими центрами и другими субъектами инфраструктуры. По архитектуре PKI делятся на разные типы в зависимости от следующих характеристик:

  • количества удостоверяющих центров, которые непосредственно доверяют друг другу;
  • структуры отношений доверия между удостоверяющими центрами;
  • способа добавления в инфраструктуру нового УЦ;
  • сложности построения и проверки пути сертификации ;
  • серьезности последствий компрометации удостоверяющих центров.

Каждый тип архитектуры обладает своими достоинствами и недостатками. Простые типы, например, одиночный УЦ и простой список доверия УЦ, пригодны для развертывания небольшой PKI и являются основой других типов архитектуры. Для решения проблем безопасности крупной организации (большой компании или правительственного агентства) требуется более сложная архитектура, например, иерархическая или сетевая, связывающая отношениями доверия многие удостоверяющие центры. Часто списки доверия, иерархическая и сетевая инфраструктуры открытых ключей комбинируются для создания гибридной PKI. Можно выделить следующие типы гибридной архитектуры: расширенные списки доверия ; кросс-сертифицированные корпоративные инфраструктуры и мостовые PKI. Для каждого типа архитектуры характерны свои отношения доверия. В зависимости от своих особенностей, каждый тип архитектуры используется в определенной среде.

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

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

Обработка пути сертификации состоит из двух этапов:

  1. построение пути, которое заключается в агрегировании всех сертификатов, необходимых для формирования полного пути;
  2. валидация пути, которая включает последовательную проверку каждого сертификата пути и определение надежности соответствующего открытого ключа.

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

Построение пути сертификации

Построение пути может быть очень сложной и трудоемкой задачей, особенно если требуется обработка большого количества сертификатов. Это связано с трудностями поиска сертификата субъекта, который подписал данный сертификат, если субъект находится вне данной локальной среды. Базовое допущение при построении пути заключается в том, что пользователь может найти или каким-то образом получить все сертификаты, необходимые ему для проверки, и сконструировать путь.

Пример построения пути

Рис. 10.1. Пример построения пути

Пример 10.1. Пусть пользователь А пытается проверить надежность сертификата пользователя В, с которым он желает взаимодействовать [44]. Предположим, что пользователь В сертифицирован УЦ3, УЦ3 кросс-сертифицирован с УЦ2 (наряду с другими удостоверяющими центрами), УЦ2 кросс-сертифицирован с УЦ1 (наряду с другими), а пользователь А владеет доверенной копией открытого ключа УЦ1 (см. рис. 10.1).

Так как пользователь А владеет сертификатом пользователя В, то знает, что последний сертифицирован УЦ3. В силу того, что УЦ3 кросс-сертифицирован с несколькими удостоверяющими центрами (в нашем примере - тремя), пользователю А необходимо определить, какой кросс-сертификат добавит связь в путь, который он строит. УЦ1 не подписывал никакой из сертификатов УЦ3 (ни УЦ2, ни УЦ6, ни УЦ7 ), поэтому пользователь А должен действовать путем проб и ошибок. Он проверяет каждый из кросс-сертификатов, связанных с УЦ2, УЦ6 и УЦ2, - не подписан ли какой-либо из них УЦ1. В данном примере УЦ2 владеет кросс-сертификатом, заверенным УЦ1, поэтому работа пользователя А по построению пути на этом завершается, поскольку УЦ1 является его пунктом доверия.

Очевидно, что это задание существенно усложняется, если УЦ3 и УЦ2 кросс-сертифицированы со многими другими удостоверяющими центрами и/или если путь между УЦ1 и УЦ3 содержит больше промежуточных удостоверяющих центров. В таких случаях для построения пути используются алгоритмы нахождения пути, базирующиеся на теории графов, включая такие алгоритмы поиска, как поиск преимущественно в глубину (не рекомендуемый из-за большого числа лишних вычислений в общем случае), поиск преимущественно в ширину и эвристический алгоритм.

Жанар Каппасова
Жанар Каппасова

было бы удобнее если после вопроса было написано сколько вариантов ответа требуется указать. к примеру один вариант или несколько. прошла тест оказалось что нужно несколько а я ответила по одному на каждый вопрос. как то не удобно. 

Владислав Лагвинович
Владислав Лагвинович

Прошел 5 или 6 тестов по курсу Инфраструктура открытых ключей, а сейчас курс в состоянии не готов. Что случилось?

Алексей Хохлов
Алексей Хохлов
Россия, Балашиха
Константин Нестеренко
Константин Нестеренко
Россия, Волгоград