Вторая группапеременных состояния предназначена для сохранения информации о цепочке имен и длине пути сертификации. Переменная состояния отличительного имени ожидаемого издателя используется для подтверждения корректной связи между отличительным именем издателя и отличительным именем субъекта в последовательности сертификатов. Переменная состояния длины пути отражает максимальное число сертификатов в последовательности. Значение этой переменной зависит от ограничения длины пути в дополнении сертификата Basic Constraints (основные ограничения).
Третья группапеременных состояния применяется для сохранения информации о политиках применения сертификатов, образующих путь сертификации. Эти переменные позволяют оценить, является ли критичным дополнение Certificate Policy ( политика применения сертификатов ), необходим ли явный идентификатор политики, разрешено ли отображать дополнительную политику и указывать в сертификатах идентификатор "любая политика".
Рис. 11.1.
Пример проверки ограничений на имена
Четвертая группапеременных состояния отслеживает правильность именования. Для каждого типа имени должны анализироваться разрешенные и запрещенные поддеревья в иерархической структуре имен. Валидные имена должны содержаться в одном из разрешенных поддеревьев и не содержаться ни в одном из запрещенных поддеревьев.
На рис. 11.1 показан пример использования доменных имен Интернета [70]. Имя host.spyrus.com не является валидным, так как не принадлежит ни одному из разрешенных поддеревьев. Имена mail.department2.beta.com и file-server.department2.gamma.com не являются валидными, потому что принадлежат запрещенным поддеревьям.
Как только все переменные состояния инициализированы, осуществляется базовый контроль первого сертификата в последовательности.
Базовый контроль сертификата
Базовый контроль сертификата выполняется для всех сертификатов последовательности и состоит из ряда проверок [167]. Проверки, использующие каждую из четырех групп переменных состояния, выполняются, чтобы определить, не является ли сертификат просроченным или аннулированным, удовлетворяет ли сертификат ограничениям сертификатов последовательности, предшествующих ему или следующих за ним. Если любая из проверок дает отрицательный результат, то путь сертификации не считается валидным.
Проверка срока действия сертификата
Эта проверка завершается успешно, если текущие дата и время на момент валидации находятся в пределах срока действия сертификата.
Проверка статуса сертификата
Эта проверка завершается успешно, если издатель не аннулировал данный сертификат. Основным средством проверки статуса сертификата являются списки САС, но могут использоваться и другие альтернативные средства проверки.
Проверка подписи сертификата
Подпись сертификата может быть проверена на базе первой группы переменных состояния при помощи открытого ключа издателя сертификата, использования корректных параметров и алгоритма цифровой подписи.
Проверка цепочки имен
На базе второй группы переменных состояния сравниваются отличительное имя издателя данного сертификата и отличительное имя субъекта сертификата, следующего в последовательности за данным сертификатом.
Проверка политик применения сертификатов
Для этой проверки используется третья группа переменных состояния. Если дополнение Certificate Policy присутствует в сертификате, то проверяется, является ли указанная политика одним из ожидаемых значений. Если дополнение Certificate Policy содержит специальный идентификатор "любая политика", то проверяется, показывает ли соответствующий индикатор, что разрешена любая политика. Если дополнение Certificate Policy отсутствует, то проверяется, показывает ли соответствующий индикатор, что требуется явное задание политики.
Проверка ограничений на имена