Процедура проверки валидности пути
Процедура проверки валидности пути
После построения пути сертификации необходимо проверить его валидность. Проверка валидности пути заключается в верификации всех цифровых подписей на сертификатах, составляющих путь сертификации, определении периода действия каждого сертификата (чтобы гарантировать, что его срок действия не истек) и статуса каждого сертификата (чтобы гарантировать, что сертификат не был аннулирован), а также в отслеживании ограничений на политики применения сертификатов, на имена и т.д. Валидация пути обычно менее трудоемка, чем построение пути, но проверка всех ограничений может оказаться сложной, если путь сертификации достаточно длинный. В реализациях PKI используются различные алгоритмы валидации пути, некоторые из них объединяют построение и валидацию, но в большинстве алгоритмов эти операции реализованы как отдельные этапы. Рассмотрим, как проверяется валидность пути сертификации после того, как он построен.
Путь сертификации должен начинаться в пункте доверия того субъекта, который строил путь, в противном случае путь был построен неправильно. Входными данными для валидации пути сертификации являются открытый ключ пункта доверия, период действия этого открытого ключа, имя пункта доверия и любые ограничения, которые налагаются на пути сертификации, связанные с данным пунктом доверия. Во многих реализациях PKI эта информация содержится в самоподписанном или самоизданном сертификате УЦ, являющегося пунктом доверия.
Путь сертификации считается валидным, если образующая его последовательность сертификатов удовлетворяет следующим условиям [89].
* I. Первый сертификат издан пунктом доверия.
* II. Последний сертификат издан для данного конечного субъекта и содержит данный открытый ключ.
* III. Имена издателей и субъектов сертификатов образуют последовательность. Во всех сертификатах этой последовательности, за исключением первого и последнего, имя издателя текущего сертификата совпадает с именем субъекта предыдущего сертификата, а имя субъекта текущего сертификата совпадает с именем издателя следующего сертификата.
* IV. Период действия всех сертификатов не истек, то есть все сертификаты последовательности на момент валидации являются действующими.
Этот набор условий необходим, но не достаточен для того, чтобы путь сертификации был валидным. Помимо перечисленных условий, должны анализироваться и обрабатываться содержащиеся в сертификатах пути основные ограничения, а также ограничения на имена и политики [60]. Эта обработка выполняется за четыре основных шага:
1 Инициализация.
2 Базовая проверка сертификата.
3 Подготовка следующего сертификата в последовательности.
4 Завершение.
Шаги 1 и 4 выполняются однократно. Шаг 2 выполняется для каждого сертификата в последовательности, а шаг 3 - для всех сертификатов, за исключением последнего - сертификата конечного субъекта.
Валидация пути сертификации обычно выполняется для подтверждения валидности пути в текущий момент времени. В лекции рассматривается именно такая валидация, хотя тот же алгоритм может использоваться и для управления валидацией в моменты времени, предшествовавшие текущему моменту. Для валидации пути сертификации требуется несколько входных параметров, иногда их значения устанавливаются по умолчанию. Устанавливаемые по умолчанию значения подходят не для всех приложений.
Входными параметрами для валидации пути сертификации являются:
* предполагаемый путь сертификации;
* набор идентификаторов допустимых политик применения сертификатов ;
* информация о пункте доверия ;
* индикатор, показывающий, разрешено ли устанавливать соответствие политик применения сертификатов в пути сертификации ;
* индикатор, показывающий, требуются ли в сертификатах явные идентификаторы политики ;
* индикатор, показывающий, разрешено ли указывать в сертификатах специальный идентификатор "любая политика".