Протокол статуса онлайн-сертификата

редактировать
Протокол связи

Протокол статуса онлайн-сертификата (OCSP ) - это Интернет протокол, используемый для получения статуса аннулирования цифрового сертификата X.509 . Он описан в RFC 6960 и находится на треке Интернет-стандартов. Он был создан как альтернатива спискам отзыва сертификатов (CRL), в частности, для решения определенных проблем, связанных с использованием CRL в инфраструктуре открытых ключей (PKI). Сообщения, передаваемые через OCSP, кодируются в ASN.1 и обычно передаются по HTTP. Характер этих сообщений "запрос / ответ" приводит к тому, что серверы OCSP называются ответчиками OCSP.

Некоторые веб-браузеры используют OCSP для проверки сертификатов HTTPS.

Содержание
  • 1 Сравнение с CRL
  • 2 Базовая реализация PKI
  • 3 Сведения о протоколе
  • 4 Проблемы конфиденциальности
  • 5 Критические замечания
  • 6 Поддержка браузера
  • 7 Реализации
    • 7.1 Сервер
      • 7.1.1 Открытый исходный код
      • 7.1.2 Собственная
    • 7.2 Библиотека
      • 7.2.1 Открытый исходный код
    • 7.3 Клиент
  • 8 См. Также
  • 9 Ссылки
  • 10 Внешние ссылки
Сравнение с CRL
  • Поскольку ответ OCSP содержит меньше данных, чем стандартный список отзыва сертификатов (CRL), это снижает нагрузку на сеть и ресурсы клиента.
  • Поскольку ответ OCSP содержит меньше данных для синтаксического анализа, клиентские библиотеки, которые его обрабатывают, могут быть менее сложными, чем те, которые обрабатывают CRL.
  • OCSP сообщает ответчику что конкретный сетевой хост использовал определенный сертификат в определенное время. OCSP не требует шифрования, поэтому другие стороны могут перехватить эту информацию.
Базовая реализация PKI
  1. Алиса и Боб имеют сертификаты открытого ключа, выданные Кэрол, центром сертификации (CA).
  2. Алиса хочет выполнить транзакцию с Бобом и отправляет ему свой сертификат открытого ключа.
  3. Боб, обеспокоенный тем, что закрытый ключ Алисы мог быть скомпрометирован, создает 'OCSP request ', который содержит серийный номер сертификата Алисы и отправляет его Кэрол.
  4. Ответчик OCSP Кэрол считывает серийный номер сертификата из запроса Боба. Ответчик OCSP использует серийный номер сертификата для поиска статуса отзыва сертификата Алисы. Ответчик OCSP просматривает базу данных CA, которую поддерживает Кэрол. В этом сценарии база данных CA Кэрол - единственное надежное место, где будет записана компрометация сертификата Алисы.
  5. Ответчик OCSP Кэрол подтверждает, что сертификат Алисы все еще в порядке, и возвращает подписанный, успешный «ответ OCSP» Бобу.
  6. Боб криптографически проверяет подписанный ответ Кэрол. Боб сохранил открытый ключ Кэрол незадолго до этой транзакции. Боб использует открытый ключ Кэрол для проверки ответа Кэрол.
  7. Боб завершает транзакцию с Алисой.
Детали протокола

Ответчик OCSP (сервер, обычно запускаемый издателем сертификата) может вернуть подписанный ответ, означающий, что сертификат, указанный в запросе, является «хорошим», «отозванным» или «неизвестным». Если он не может обработать запрос, он может вернуть код ошибки.

Формат запроса OCSP поддерживает дополнительные расширения. Это дает возможность обширной настройки конкретной схемы PKI.

OCSP может быть уязвим для атак повторного воспроизведения, когда подписанный, «хороший» ответ захватывается злонамеренным посредником и воспроизводится клиенту позже, после того, как субъектный сертификат мог быть отозван. OCSP позволяет включать одноразовый номер в запрос, который может быть включен в соответствующий ответ. Из-за высокой нагрузки большинство респондентов OCSP не используют расширение nonce для создания разных ответов на каждый запрос, вместо этого используют заранее подписанные ответы с периодом действия в несколько дней. Таким образом, повторная атака представляет собой серьезную угрозу для систем проверки.

OCSP может поддерживать более одного уровня CA. Запросы OCSP могут быть связаны между одноранговыми ответчиками для запроса выдающего CA, соответствующего сертификату субъекта, при этом респонденты проверяют ответы друг друга в отношении корневого CA, используя свои собственные запросы OCSP.

От ответчика OCSP может быть запрошена информация об отзыве с помощью серверов проверки делегированного пути (DPV). Сама по себе OCSP не выполняет DPV предоставленных сертификатов.

Ключ, которым подписан ответ, не обязательно должен быть тем же ключом, которым подписан сертификат. Издатель сертификата может делегировать другой орган в качестве ответчика OCSP. В этом случае сертификат ответчика (тот, который используется для подписи ответа) должен быть выпущен эмитентом соответствующего сертификата и должен включать определенное расширение, которое отмечает его как подписывающий орган OCSP (точнее, расширенный расширение использования ключа с OID {iso (1) идентифицированная организация (3) dod (6) Интернет (1) безопасность (5) механизмы (5) pkix (7) keyPurpose (3) ocspSigning (9))})

Проблемы конфиденциальности

Проверка OCSP создает проблему конфиденциальности для некоторых пользователей, поскольку требует, чтобы клиент связался с третьей стороной (хотя и стороной, которой доверяет поставщик клиентского программного обеспечения), чтобы подтвердить срок действия сертификата. Сшивание OCSP - это способ проверки действительности без раскрытия информации о поведении при просмотре в CA.

Критика

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

Расширение MustStaple TLS в сертификате может требовать, чтобы сертификат был подтвержден с помощью сшитый ответ OCSP, устраняющий эту проблему. OCSP также остается действенной защитой от ситуаций, когда злоумышленник не является «посредником» (подписание кода или сертификаты, выпущенные по ошибке).

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

Поддержка браузером

Большинство основных браузеров широко поддерживает OCSP:

  • Internet Explorer построен на CryptoAPI из Windows и, таким образом, начиная с версии 7 в Windows Vista (не XP ), поддерживает проверку OCSP.
  • Все версии Mozilla Firefox поддерживает проверку OCSP. Firefox 3 по умолчанию включает проверку OCSP.
  • Safari в macOS поддерживает проверку OCSP. Он включен по умолчанию в Mac OS X 10.7 (Lion). Перед этим его необходимо активировать вручную в настройках Связки ключей.
  • Версии Opera от 8.0 до текущей версии поддерживают проверку OCSP.

Однако Google Chrome является исключением. Google отключил проверки OCSP по умолчанию в 2012 году, ссылаясь на проблемы с задержкой и конфиденциальностью, и вместо этого использует собственный механизм обновления для отправки отозванных сертификатов в браузер.

Реализации

Несколько с открытым исходным кодом и проприетарные реализации OCSP, включая полнофункциональные серверы и библиотеки для создания собственных приложений. Поддержка OCSP клиента встроена во многие операционные системы, веб-браузеры и другое сетевое программное обеспечение из-за популярность HTTPS и World Wide Web.

Server

Open source

  • Boulder, CA и ответчик OCSP, разработанный и используемый Let's Encrypt (Go )
  • DogTag, центр сертификации с открытым исходным кодом CA, CRL и ответчик OCSP.
  • EJBCA, ответчик CA и OCSP (Java )
  • OpenXPKI, CA и OCSP как расширение в конфигурации OpenXPKI.
  • Ответчик XiPKI, CA и OCSP. С поддержкой RFC 6960 и SHA3 (Java )

Собственный

  • CA служб сертификации и ответчик OCSP, включенный в Windows Сервер

Библиотека

Открытый исходный код

Клиент

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-01 12:08:58
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте