Протокол статуса онлайн-сертификата
Протокол статуса онлайн-сертификата | |
Статус | Предлагаемый стандарт |
---|---|
Год начался | 4 февраля 2002 г. [ 1 ] |
Впервые опубликовано | 11 февраля 2013 г. [ 1 ] |
Авторы |
|
Базовые стандарты | |
Домен | Цифровой сертификат |
Веб-сайт |
Протокол статуса онлайн-сертификата ( OCSP ) — это интернет- протокол, используемый для получения статуса отзыва сертификата X.509 цифрового . [ 2 ] Он описан в RFC 6960 и соответствует стандартам Интернета . Он был создан как альтернатива спискам отзыва сертификатов (CRL), в частности, для решения определенных проблем, связанных с использованием CRL в инфраструктуре открытых ключей (PKI). [ 3 ] Сообщения, передаваемые через OCSP, кодируются в ASN.1 и обычно передаются через HTTP . Характер этих сообщений «запрос/ответ» приводит к тому, что серверы OCSP называются ответчиками OCSP .
Некоторые веб-браузеры (например, Firefox [ 4 ] ) используют OCSP для проверки сертификатов HTTPS , в то время как другие отключили его. [ 5 ] [ 6 ] Большинство статусов отзыва OCSP в Интернете исчезают вскоре после истечения срока действия сертификата. [ 7 ]
Центры сертификации (ЦС) ранее требовали от CA/Browser Forum предоставлять услуги OCSP, но это требование было отменено в августе 2023 года, вместо этого снова потребовались CRL. [ 8 ] Let's Encrypt объявили о своем намерении как можно скорее прекратить работу службы OCSP, сославшись на проблемы конфиденциальности и простоту эксплуатации. [ 9 ]
Сравнение с CRL
[ редактировать ]- Поскольку ответ OCSP содержит меньше данных, чем типичный список отзыва сертификатов (CRL), он снижает нагрузку на сетевые и клиентские ресурсы. [ 10 ]
- Поскольку в ответе OCSP содержится меньше данных для анализа , клиентские библиотеки , которые его обрабатывают, могут быть менее сложными, чем те, которые обрабатывают CRL. [ 11 ]
- OCSP сообщает ответчику, что конкретный сетевой узел использовал определенный сертификат в определенное время. OCSP не требует шифрования, поэтому другие стороны могут перехватить эту информацию. [ 2 ]
Базовая реализация PKI
[ редактировать ]- У Алисы и Боба есть сертификаты открытых ключей, выданные Кэрол, центром сертификации (CA).
- Алиса желает выполнить транзакцию с Бобом и отправляет ему сертификат открытого ключа.
- Боб, обеспокоенный тем, что закрытый ключ Алисы мог быть скомпрометирован, создает «запрос OCSP», содержащий серийный номер сертификата Алисы, и отправляет его Кэрол.
- Ответчик OCSP Кэрол считывает серийный номер сертификата из запроса Боба. Ответчик OCSP использует серийный номер сертификата для проверки статуса отзыва сертификата Алисы. Ответчик OCSP просматривает базу данных CA, которую ведет Кэрол. В этом сценарии база данных CA Кэрол является единственным надежным местом, где будет зафиксирована компрометация сертификата Алисы.
- Ответчик OCSP Кэрол подтверждает, что сертификат Алисы все еще в порядке, и возвращает подписанный успешный «ответ OCSP». Бобу
- Боб криптографически проверяет подписанный ответ Кэрол. Боб сохранил открытый ключ Кэрол за некоторое время до этой транзакции. Боб использует открытый ключ Кэрол, чтобы проверить ответ Кэрол.
- Боб завершает транзакцию с Алисой.
Детали протокола
[ редактировать ]Ответчик OCSP (сервер, обычно управляемый эмитентом сертификата) может вернуть подписанный ответ, означающий, что сертификат, указанный в запросе, является «действительным», «отозванным» или «неизвестным». Если он не может обработать запрос, он может вернуть код ошибки.
Формат запроса OCSP поддерживает дополнительные расширения. Это обеспечивает обширную настройку конкретной схемы PKI.
OCSP может быть уязвим для атак повторного воспроизведения . [ 12 ] когда подписанный «хороший» ответ перехватывается злонамеренным посредником и воспроизводится клиенту позднее после того, как сертификат субъекта может быть отозван. OCSP позволяет одноразовый номер включать в запрос , который может быть включен в соответствующий ответ. Из-за высокой нагрузки большинство ответчиков OCSP не используют расширение nonce для создания разных ответов для каждого запроса, вместо этого используют заранее заданные ответы со сроком действия в несколько дней. Таким образом, атака повторного воспроизведения представляет собой серьезную угрозу для систем проверки.
OCSP может поддерживать более одного уровня CA. Запросы OCSP могут быть связаны между одноранговыми ответчиками для запроса выдавшего ЦС, соответствующего сертификату субъекта, при этом ответчики проверяют ответы друг друга на соответствие корневому ЦС, используя свои собственные запросы OCSP.
(DPV) могут запросить у ответчика OCSP информацию об отзыве Серверы проверки делегированного пути . OCSP сам по себе не выполняет DPV предоставленных сертификатов.
Ключ, подписывающий ответ, не обязательно должен совпадать с ключом, которым подписан сертификат. Эмитент сертификата может делегировать другим полномочиям быть ответчиком OCSP. В этом случае сертификат ответчика (тот, который используется для подписи ответа) должен быть выдан эмитентом рассматриваемого сертификата и должен включать определенное расширение, которое помечает его как центр подписи OCSP (точнее, расширенное расширение). расширение использования ключа с OID {iso(1) идентифицированная организация(3) dod(6) интернет(1) безопасность(5) механизмы(5) pkix(7) keyPurpose(3) ocspSigning(9)})
Проблемы конфиденциальности
[ редактировать ]Проверка OCSP создает проблему конфиденциальности для некоторых пользователей, поскольку требует от клиента связаться с третьей стороной (хотя и стороной, которой доверяет поставщик клиентского программного обеспечения) для подтверждения действительности сертификата. Сшивание OCSP — это способ проверить достоверность без раскрытия информации о поведении при просмотре центру сертификации. [ 2 ]
Критика
[ редактировать ]Отзыв на основе OCSP не является эффективным методом предотвращения компрометации закрытого ключа HTTPS-сервера. Злоумышленнику, скомпрометировавшему закрытый ключ сервера, обычно приходится занимать в сети позицию посредника, чтобы злоупотребить этим закрытым ключом и выдать себя за сервер. Злоумышленник в таком положении также обычно имеет возможность вмешиваться в запросы OCSP клиента. Поскольку большинство клиентов будут молча игнорировать OCSP, если время запроса истечет, OCSP не является надежным средством предотвращения компрометации ключей HTTPS-сервера. [ 13 ]
Расширение MustStaple TLS в сертификате может потребовать, чтобы сертификат был проверен прикрепленным ответом OCSP , что устраняет эту проблему. [ 10 ] OCSP также остается надежной защитой от ситуаций, когда злоумышленник не является «посредником» (подпись кода или сертификаты, выданные по ошибке).
Протокол OCSP предполагает, что запрашивающая сторона имеет доступ к сети для подключения к соответствующему ответчику OCSP. Некоторые запрашивающие могут не иметь возможности подключиться, поскольку их локальная сеть запрещает прямой доступ в Интернет (обычная практика для внутренних узлов в центре обработки данных). Принуждение внутренних серверов к подключению к Интернету для использования OCSP способствует тенденции депериметризации . Протокол сшивания OCSP является альтернативой, которая позволяет серверам кэшировать ответы OCSP, что устраняет необходимость для запрашивающей стороны напрямую связываться с ответчиком OCSP.
Поддержка браузера
[ редактировать ]Большинство основных браузеров широко поддерживают OCSP:
- Internet Explorer построен на CryptoAPI Windows . и, следовательно, начиная с версии 7 в Windows Vista (не XP) [ 14 ] ) поддерживает проверку OCSP. [ 15 ]
- Все версии Mozilla Firefox поддерживают проверку OCSP. Firefox 3 по умолчанию включает проверку OCSP. [ 16 ]
- Safari в macOS поддерживает проверку OCSP. Начиная с Mac OS X 10.7 (Lion), он включен по умолчанию. До этого его необходимо активировать вручную в настройках «Связки ключей». [ 17 ]
- Версии Оперы от 8.0 [ 18 ] [ 19 ] текущая версия поддерживает проверку OCSP.
Однако Google Chrome является исключением. Google отключил проверки OCSP по умолчанию в 2012 году, ссылаясь на задержки и проблемы конфиденциальности. [ 20 ] и вместо этого использует собственный механизм обновления для отправки отозванных сертификатов в браузер. [ 21 ]
Реализации
[ редактировать ]Существует несколько реализаций OCSP с открытым исходным кодом и собственных реализаций , включая полнофункциональные серверы и библиотеки для создания пользовательских приложений. OCSP Поддержка клиентов встроена во многие операционные системы , веб-браузеры и другое сетевое программное обеспечение из-за популярности HTTPS и Всемирной паутины .
Сервер
[ редактировать ]Открытый исходный код
[ редактировать ]- Боулдер, [ 22 ] Ответчик CA и OCSP, разработанный и используемый Let's Encrypt ( Go )
- ДогТэг, [ 23 ] Центр сертификации с открытым исходным кодом CA, CRL и ответчик OCSP.
- ЭЖБКА , [ 24 ] Ответчик CA и OCSP ( Java )
- КсиПКИ, [ 25 ] Ответчик CA и OCSP. С поддержкой RFC 6960 и SHA3 ( Java )
- Ответ OCSP OpenCA [ 26 ] Автономный ответчик OCSP из проекта OpenCA ( C )
Собственный
[ редактировать ]- Сертификационные услуги [ 27 ] Ответчик CA и OCSP включен в состав Windows Server
Библиотека
[ редактировать ]Открытый исходный код
[ редактировать ]Клиент
[ редактировать ]См. также
[ редактировать ]- Список отзыва сертификатов
- Центр сертификации
- Серверный протокол проверки сертификатов
- Сшивание OCSP
- Прозрачность сертификата
Ссылки
[ редактировать ]- ^ Jump up to: а б Сантессон, Стефан; Майерс, Майкл; Анкни, Рич; Мальпани, Амбариш; Гальперин, Слава; Адамс, Карлайл (июнь 2013 г.). «История Draft-ietf-pkix-rfc2560bis-20» . Проверено 23 декабря 2021 г.
- ^ Jump up to: а б с А., Джесин (12 июня 2014 г.). «Как настроить сшивание OCSP на Apache и Nginx» . Учебники сообщества . Цифровой Океан, Инк . Проверено 2 марта 2015 г.
- ^ «Сшивание OCSP» . Поддержка GlobalSign . ГМО GlobalSign Inc., 1 августа 2014 г. Проверено 2 марта 2015 г.
- ^ «Проверка CA/отзыва в Firefox» . Wiki.mozilla.org . Проверено 29 июня 2022 г.
- ^ «Обнаружены ли отозванные сертификаты в Safari и Chrome?» . 20 сентября 2017 года . Проверено 29 июня 2022 г.
- ^ «CRLSets» . Проверено 29 июня 2022 г.
- ^ Коржицкий, Никита; Карлссон, Никлас (2021). «Статусы отзыва в Интернете». В Холфельде, Оливер; Луту, Андра; Левин, Дэйв (ред.). Пассивное и активное измерение . ПАМ 2021. ЛНКС . Том. 12671. стр. 175–191. arXiv : 2102.04288 . дои : 10.1007/978-3-030-72582-2_11 . ISBN 978-3-030-72582-2 . ISSN 0302-9743 .
- ^ Баррейра, Иниго (28 сентября 2023 г.). «[Servercert-wg] Период проверки прав на интеллектуальную собственность для SC63: сделать OCSP необязательным, потребовать CRL и стимулировать автоматизацию» . lists.cabforum.org . Проверено 4 августа 2024 г.
- ^ Аас, Джош (23 июля 2024 г.). «Намерение прекратить службу OCSP» . Давайте зашифруем . Проверено 4 августа 2024 г.
- ^ Jump up to: а б Гибсон, Стив. «Информация об отзыве сертификатов безопасности: аргументы в пользу «обязательного сшивания OCSP» » . Исследовательская корпорация Гибсон . Проверено 2 марта 2015 г.
- ^ Киллер, Дэвид (29 июля 2013 г.). «Сшивание OCSP в Firefox» . Блог о безопасности Mozilla . Фонд Мозилла . Проверено 2 марта 2015 г.
- ^ RFC 6960, раздел 5, Вопросы безопасности.
- ^ «Нет, не включать проверку отзыва» . 19 апреля 2014 года . Проверено 24 апреля 2014 г.
- ^ «Состояние сертификата Windows XP и проверка отзыва» . Майкрософт . Проверено 9 мая 2016 г.
- ^ «Новые возможности отзыва сертификатов в Windows Vista и Windows Server 2008» . Майкрософт . 3 июля 2013 года . Проверено 9 мая 2016 г.
- ^ «Ошибка Mozilla 110161 — включить OCSP по умолчанию» . Мозилла . 1 октября 2007 года . Проверено 18 июля 2010 г.
- ^ Вишневский, Честер (26 марта 2011 г.). «Пользователи Apple ушли защищаться от атак на сертификаты» . Софос . Проверено 26 марта 2011 г.
- ^ Петтерсен, Ингве Нюсетер (9 ноября 2006 г.). «Внедрение сертификатов расширенной проверки» . Программное обеспечение Опера . Архивировано из оригинала 10 февраля 2010 года . Проверено 8 января 2010 г.
- ^ Петтерсен, Ингве Нюсетер (3 июля 2008 г.). «Информационный бюллетень Rootstore» . Программное обеспечение Опера . Проверено 8 января 2010 г.
- ^ Лэнгли, Адам (5 февраля 2012 г.). «Проверка отзыва и список отзыва сертификатов Chrome» . Архивировано из оригинала 12 февраля 2012 г. Проверено 30 января 2015 г.
- ^ «Chrome лучше отзывает сертификаты» , 21 апреля 2014 г., Ларри Зельцер, ZDNet
- ^ «Боулдер – ACME CA» . Гитхаб . 16 марта 2018 года . Проверено 17 марта 2018 г.
- ^ «Система сертификатов Dogtag» . Проверено 12 августа 2019 г.
- ^ «EJBCA — Центр сертификации PKI с открытым исходным кодом» . ПраймКей. 2 февраля 2018 года . Проверено 17 марта 2018 г.
- ^ «XiPKI» . Гитхаб . 13 марта 2018 года . Проверено 17 марта 2018 г.
- ^ «ОпенКА OCSP» . Проверено 3 января 2024 г.
- ^ «Службы сертификации (Windows)» . Центр разработки Windows . Майкрософт . 2018 . Проверено 17 марта 2018 г.
- ^ «Пакет ocsp» . cfssl GoDoc . 25 февраля 2018 года . Проверено 17 марта 2018 г.
- ^ «OCSP_response_status» . мастер-страницы руководства . OpenSSL . 2017 . Проверено 17 марта 2018 г.
- ^ «OCSP во встроенном SSL wolfSSL – wolfSSL» . 27 января 2014 г. Проверено 25 января 2019 г.
Внешние ссылки
[ редактировать ]- Инфраструктура открытых ключей: операционные протоколы в Curlie
- RFC 2560, X.509 Протокол статуса онлайн-сертификата инфраструктуры открытых ключей Интернета — OCSP
- RFC 4806, Расширения протокола статуса онлайн-сертификатов (OCSP) для IKEv2
- RFC 5019, Профиль облегченного протокола статуса онлайн-сертификатов (OCSP) для сред с большим объемом работы
- RFC 6960, X.509 Протокол статуса онлайн-сертификата инфраструктуры открытых ключей Интернета — OCSP
- Статья на Processor.com, апрель 2009 г., о протоколе статуса онлайн-сертификата.