Online Certificate Status Protocol (OCSP) — це Інтернет- протокол, який використовується для отримання статусу відкликання цифрового сертифіката X.509. Він описаний у RFC 6960 і відповідає . Він був створений як альтернатива спискам відкликаних сертифікатів (СВС), зокрема для вирішення певних проблем, пов'язаних із використанням СВС в інфраструктурі відкритих ключів (ІВК). Повідомлення, що передаються через OCSP, кодуються в ASN.1 і зазвичай передаються через HTTP. Характер «запит/відповідь» цих повідомлень призводить до того, що сервери OCSP називають відповідачами OCSP.

Деякі веб-браузери (Firefox) використовують OCSP для перевірки сертифікатів HTTPS, тоді як інші його вимкнули. Більшість статусів відкликання OCSP в Інтернеті зникають незабаром після закінчення терміну дії сертифіката.

Порівняння з СВС

* Оскільки відповідь OCSP містить менше даних, ніж типовий Список відкликаних сертифікатів (СВС), що менше навантажує ресурси мережі та клієнта.
* Оскільки відповідь OCSP містить менше даних для аналізу, бібліотеки на стороні клієнта, які її обробляють, можуть бути менш складними, ніж ті, які обробляють СВС.
* OCSP повідомляє респонденту, що певний хост мережі використовував певний сертифікат у певний час. OCSP не вимагає шифрування, тому інші сторони можуть перехопити цю інформацію.

Базова реалізація ІВК

# Аліса та Боб мають сертифікати відкритих ключів, видані Керол, центром сертифікації ключів (ЦСК).
# Аліса бажає виконати транзакцію з Бобом і надсилає йому свій сертифікат відкритого ключа.
# Боб, стурбований тим, що особистий ключ Аліси міг бути зламаний, створює «запит OCSP», який містить серійний номер сертифіката Аліси, і надсилає його Керол.
# Відповідач OCSP Керол зчитує серійний номер сертифіката із запиту Боба. Відповідач OCSP використовує серійний номер сертифіката для пошуку статусу відкликання сертифіката Аліси. Відповідач OCSP шукає базу даних ЦСК, яку підтримує Керол. У цьому сценарії база даних ЦСК Керол є єдиним надійним місцем, де буде записано відомості компрометацію сертифіката Аліси.
# Відповідач OCSP Керол підтверджує, що сертифікат Аліси все ще в порядку, і повертає підписану успішну «відповідь OCSP» Бобу.
# Боб криптографічно перевіряє підписану відповідь Керол. Боб зберіг відкритий ключ Керол за деякий час до цієї транзакції. Боб використовує відкритий ключ Керол, щоб перевірити відповідь Керол.
# Боб завершує операцію з Алісою.

Деталі протоколу
Відповідач OCSP (сервер, як правило, керований емітентом сертифіката) може повернути підписану відповідь, яка вказує, що сертифікат, указаний у запиті, є «хорошим», «відкликаним» або «невідомим». Якщо він не може обробити запит, він може повернути код помилки.

Формат запиту OCSP підтримує додаткові розширення. Це дає змогу широко налаштувати конкретну схему ІВК.

OCSP може бути вразливим до атак повторного відтворення, коли підписана «хороша» відповідь захоплюється зловмисним посередником і відтворюється клієнту пізніше після того, як відповідний сертифікат може бути відкликано. OCSP дозволяє включати nonce у запит, який може бути включений у відповідну відповідь. Через високе навантаження більшість відповідачів OCSP не використовують розширення nonce для створення окремої відповіді для кожного запиту, замість цього використовують попередньо підписані відповіді з періодом дії в кілька днів. Таким чином, атака відтворення є основною загрозою для систем перевірки.

OCSP може підтримувати більше одного рівня ЦСК. Запити OCSP можуть бути з'єднані між одноранговими відповідачами для запиту до ЦСК, що видає відповідний сертифікат суб'єкта, з відповідачами, які перевіряють відповіді інших відповідачів за допомогою кореневого ЦСК.

Відповідач OCSP може отримати інформацію про відкликання серверами  (DPV). OCSP сам по собі не виконує DPV наданих сертифікатів.

Ключ, який підписує відповідь, не обов'язково повинен бути тим самим ключем, яким підписано сертифікат. Емітент сертифіката може делегувати повноваження іншому відповідачу OCSP. У цьому випадку сертифікат відповідача (той, який використовується для підпису відповіді) має бути виданий видавцем відповідного сертифіката та має містити певне розширення, яке позначає його як повноваження підпису OCSP (точніше, містить розширення використання ключа з OID {iso(1) selected-organization(3) dod(6) internet(1) security(5) mehanizmi(5) ІВКx(7) keyPurpose(3) ocspSigning(9)})

Застереження щодо приватності
Перевірка OCSP створює занепокоєння щодо приватності для деяких користувачів, оскільки вона вимагає від клієнта зв'язатися з третьою стороною (хоча б зі стороною, якій довіряє постачальник клієнтського програмного забезпечення), щоб підтвердити дійсність сертифіката. Зшивання OCSP — це спосіб перевірити дійсність, не повідомляючи ЦСК про поведінку перегляду.

Критика
Відкликання на основі протоколу OCSP не є ефективним методом запобігання злому закритого ключа сервера HTTPS. Зловмиснику, який зламав приватний ключ сервера, зазвичай потрібно перебувати в положенні «людина посередині» в мережі, щоб зловживати цим приватним ключем і видати себе за сервер. Зловмисник у такому положенні також зазвичай може втручатися в запити OCSP клієнта. Оскільки більшість клієнтів мовчки ігноруватимуть OCSP, якщо запит закінчиться, OCSP не є надійним засобом запобігання компрометації ключа сервера HTTPS.

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

Протокол OCSP передбачає, що запитувач має доступ до мережі для підключення до відповідного відповідача OCSP. Деякі запитувачі можуть не мати змоги підключитися, оскільки їхня локальна мережа забороняє прямий доступ до Інтернету (звичайна практика для внутрішніх вузлів у центрі обробки даних). Примусове підключення внутрішніх серверів до Інтернету для використання OCSP сприяє тенденції . Протокол  — це альтернатива, яка дозволяє серверам кешувати відповіді OCSP, що позбавляє запитувача від необхідності безпосереднього зв'язку з відповідачем OCSP.

Підтримка браузерами
 Інформація про OCSP у Firefox 89
Існує широка підтримка OCSP серед більшості основних браузерів:

* Internet Explorer побудовано на  Windows, тому, починаючи з версії 7 у Windows Vista (не XP), підтримується перевірка OCSP.
* Усі версії Mozilla Firefox підтримують перевірку OCSP.  дозволяє за замовчуванням перевірку OCSP.
* Safari на macOS підтримує перевірку OCSP. Її увімкнено за замовчуванням у Mac OS X 10.7 (Lion). До цього її потрібно було активувати вручну в налаштуваннях Keychain.
* Версії Opera від 8.0 до поточної версії підтримують перевірку OCSP.

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

Реалізації
Існує декілька реалізацій OCSP з відкритим вихідним кодом і пропрієтарних версій, включаючи повнофункціональні сервери та бібліотеки для створення спеціальних програм. Підтримка клієнта OCSP вбудована в багато операційних систем, веб-браузерів та інше мережеве програмне забезпечення завдяки популярності HTTPS і Всесвітньої павутини.

Сервер

З відкритим вихідним кодом

* Boulder, ЦСК та відповідач OCSP, розроблений і використаний Let's Encrypt (Go).
* DogTag, Центр сертифікації з відкритим кодом, відповідач СВС і OCSP.
* , ЦСК та відповідач OCSP (Java)
* XiІВК, ЦСК та відповідач OCSP. З підтримкою RFC 6960 і SHA3 (Java)

Пропрієтарні

* Служби сертифікації та відповідач OCSP, включені до Windows Server

Бібліотеки

З відкритим вихідним кодом

* cfssl (Go)
* OpenSSL (C)
* wolfSSL (C)

Див. також

* Список відкликаних сертифікатів
* Центр сертифікації
* 
* 
* 

Примітки


Посилання

* 
* rfc:2560 RFC 2560, X.509 Internet Public Key Infrastructure Online CertifiЦСКte Status Protocol — OCSP
* rfc:4806 RFC 4806, Online CertifiЦСКte Status Protocol (OCSP) Extensions to IKEv2
* rfc:5019 RFC 5019, The Lightweight Online CertifiЦСКte Status Protocol (OCSP) Profile for High-Volume Environments
* rfc:6960 RFC 6960, X.509 Internet Public Key Infrastructure Online CertifiЦСКte Status Protocol — OCSP
*  Processor.com April, 2009 article about Online CertifiЦСКte Status Protocol






