Московский государственный университет имени М.В.Ломоносова
Опубликован: 26.01.2005 | Доступ: свободный | Студентов: 4876 / 1243 | Оценка: 4.17 / 3.92 | Длительность: 21:54:00
ISBN: 978-5-9556-0020-8
Лекция 7:

Инфраструктура Открытого Ключа (часть 7)

Аннотация: Рассмотрен on-line протокол определения статуса сертификата, определены требования к протоколу и описаны детали протокола. Рассмотрены понятия политики сертификата и регламента сертификационной практики. Описаны расширения сертификата CertificatePolicies, PolicyMappings и PolicyConstraints. Описано содержание множества постановлений, касающихся регламента сертификационной практики.

On-line протокол статуса сертификата

Обзор протокола

Рассмотрим протокол, используемый для определения текущего статуса сертификата без использования CRLs.

В противоположность периодической проверке CRL иногда бывает необходимо получать текущую информацию о статусе сертификата. В качестве примера таких случаев можно привести пересылку ценных бумаг большого достоинства или масштабных фондовых продаж.

OCSP необходим приложениям для определения состояния отмены указанного сертификата в текущий момент времени. OCSP может использоваться для обеспечения требований, касающихся получения более своевременной информации об отмене, чем это возможно с использованием CRLs. Данный протокол также может применяться для получения дополнительной информации о статусе. Клиент OCSP выполняет запрос статуса и приостанавливает решение о признании сертификата действительным до тех пор, пока не получит ответ.

Данный протокол определяет данные, которые необходимы для осуществления операций обмена между приложением, проверяющим статус сертификата, и сервером, предоставляющим этот статус.

Запрос

Запрос OCSP содержит следующие данные:

  • Версия протокола.
  • Запрос сервиса.
  • Идентификация целевого сертификата.
  • Необязательные расширения, которые могут быть обработаны OCSP Responder.

При получении запроса OCSP Responder определяет, что:

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

Если хотя бы одно из этих условий не выполнено, OCSP Responder создает сообщение об ошибке; в противном случае он возвращает окончательный ответ.

Ответ

Ответы OCSP могут быть нескольких типов. Ответ OCSP состоит из типа ответа и байтов самого ответа. Существует один базовый тип ответа OCSP, который должен поддерживаться всеми клиентами и серверами OCSP. Далее мы будем рассматривать только данный базовый тип ответа.

Все сообщения окончательного ответа должны быть подписаны. Ключ, используемый для подписи ответов, должен принадлежать одному из следующих участников:

  • СА, который выпустил сертификат, указанный в запросе.
  • Responder, чьему открытому ключу доверяет запрашивающая сторона.
  • Responder, назначенный СА (Уполномоченный орган для OCSP -ответов), который имеет специально маркированный сертификат, выпущенный непосредственно СА. Сертификат указывает, что Responder может выпускать OCSP -ответы для данного СА.

Сообщение окончательного ответа состоит из:

  • Версии синтаксиса ответа.
  • Имени Responder.
  • Ответов для каждого из сертификатов в запросе.
  • Необязательных расширений.
  • OID алгоритма подписи.
  • Подписи, вычисленной для хэша ответа.

Ответ для каждого сертификата в запросе состоит из:

  • Идентификатора целевого сертификата.
  • Значения статуса сертификата.
  • Интервала действительности ответа.
  • Необязательных расширений.

Определены следующие варианты статуса сертификата в окончательных ответах:

  • Good
  • Revoked
  • Unknown

Состояние good определяет положительный ответ на запрошенный статус. Как минимум, данный положительный ответ указывает, что сертификат не отменен, но это не обязательно означает, что он был хотя бы выпущен или что время, в которое был сделан запрос, находится в интервале действительности сертификата. Расширения ответа могут использоваться для передачи дополнительной информации или предположений, сделанных Responder относительно статуса сертификата, таких как положительное утверждение о выпуске, действительности и т.д.

Состояние revoked указывает, что сертификат отменен (либо постоянно, либо временно).

Состояние unknown указывает, что отвечающий не знает о сертификате, который был запрошен.

Исключительные случаи

В случае ошибок OCSP Responder может вернуть соответствующее сообщение. Оно не подписывается. Ошибки могут быть следующих типов:

  • MalformedRequest
  • InternalError
  • TryLater
  • SigRequired
  • Unauthorized

Сервер создает malformedRequest ответ, если полученный запрос не соответствует OCSP -синтаксису.

Ответ internalError указывает, что OCSP Responder перешел в несогласованное внутреннее состояние. Запрос должен быть повторен с другим Responder.

Если OCSP Responder функционирует, но не может вернуть статус запрошенного сертификата, ответ tryLater может указывать на то, что сервис существует, но временно не может выдать ответ.

Ответ sigRequired возвращается в том случае, когда сервер для создания ответа требует, чтобы клиент подписал запрос.

Ответ unauthorized возвращается в том случае, когда клиент не авторизован выполнять данный запрос для данного сервера.

Семантики thisUpdate, nextUpdate и producedAt

Ответы могут содержать три значения времени - thisUpdate, nextUpdate и producedAt. Смысл этих полей следующий:

  • ThisUpdate: время, когда стало известно, что статус корректный.
  • NextUpdate: время, не позднее которого будет доступна более новая информация о статусе сертификата.
  • ProducedAt: время, когда OCSP Responder подписал данный ответ.

Если nextUpdate не установлено, это означает, что более новая информация об отмене доступна постоянно.

Ответ Pre-production

OCSP Responder может заранее создать подписанные ответы, указывающие статус сертификата в заданное время. Время, когда было известно, что статус корректный, должно быть отражено в поле thisUpdate ответа. Время, когда или до которого доступна более новая информация, отражается в поле nextUpdate, тогда как время, когда был создан ответ, указано в поле produceAt ответа.

Делегирование полномочий OCSP Responder'у

Ключ, которым подписывается информация о статусе сертификата, не должен быть тем же самым ключом, которым подписан сертификат. Выпускающий сертификаты явно делегирует OCSP Responder выпуск сертификатов. Сертификат OCSP Responder содержит уникальное значение для extendedKeyUsage. Данный сертификат должен быть выпущен непосредственно для Responder ответственным за это СА.

Компрометация ключа СА

Если OCSP Responder знает, что закрытый ключ конкретного СА компрометирован, он может возвращать статус отмены для всех сертификатов, выпущенных данным СА.

Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Мария Архипова
Мария Архипова