Online Certificate Status ProtocolOnline Certificate Status Protocol (OCSP) — це Інтернет- протокол, який використовується для отримання статусу відкликання цифрового сертифіката X.509.[1] Він описаний у RFC 6960 і відповідає стандартам Інтернету[en]. Він був створений як альтернатива спискам відкликаних сертифікатів (СВС), зокрема для вирішення певних проблем, пов'язаних із використанням СВС в інфраструктурі відкритих ключів (ІВК).[2] Повідомлення, що передаються через OCSP, кодуються в ASN.1 і зазвичай передаються через HTTP. Характер «запит/відповідь» цих повідомлень призводить до того, що сервери OCSP називають відповідачами OCSP. Деякі веб-браузери (Firefox[3]) використовують OCSP для перевірки сертифікатів HTTPS, тоді як інші його вимкнули.[4][5] Більшість статусів відкликання OCSP в Інтернеті зникають незабаром після закінчення терміну дії сертифіката.[6] Порівняння з СВС
Базова реалізація ІВК
Деталі протоколуВідповідач OCSP (сервер, як правило, керований емітентом сертифіката) може повернути підписану відповідь, яка вказує, що сертифікат, указаний у запиті, є «хорошим», «відкликаним» або «невідомим». Якщо він не може обробити запит, він може повернути код помилки. Формат запиту OCSP підтримує додаткові розширення. Це дає змогу широко налаштувати конкретну схему ІВК. OCSP може бути вразливим до атак повторного відтворення[9], коли підписана «хороша» відповідь захоплюється зловмисним посередником і відтворюється клієнту пізніше після того, як відповідний сертифікат може бути відкликано. OCSP дозволяє включати nonce у запит, який може бути включений у відповідну відповідь. Через високе навантаження більшість відповідачів OCSP не використовують розширення nonce для створення окремої відповіді для кожного запиту, замість цього використовують попередньо підписані відповіді з періодом дії в кілька днів. Таким чином, атака відтворення є основною загрозою для систем перевірки. OCSP може підтримувати більше одного рівня ЦСК. Запити OCSP можуть бути з'єднані між одноранговими відповідачами для запиту до ЦСК, що видає відповідний сертифікат суб'єкта, з відповідачами, які перевіряють відповіді інших відповідачів за допомогою кореневого ЦСК. Відповідач OCSP може отримати інформацію про відкликання серверами делегованої перевірки шляху[en] (DPV). OCSP сам по собі не виконує DPV наданих сертифікатів. Ключ, який підписує відповідь, не обов'язково повинен бути тим самим ключем, яким підписано сертифікат. Емітент сертифіката може делегувати повноваження іншому відповідачу OCSP. У цьому випадку сертифікат відповідача (той, який використовується для підпису відповіді) має бути виданий видавцем відповідного сертифіката та має містити певне розширення, яке позначає його як повноваження підпису OCSP (точніше, містить розширення використання ключа з OID {iso(1) selected-organization(3) dod(6) internet(1) security(5) mehanizmi(5) PKIx(7) keyPurpose(3) ocspSigning(9)}) Застереження щодо приватностіПеревірка OCSP створює занепокоєння щодо приватності для деяких користувачів, оскільки вона вимагає від клієнта зв'язатися з третьою стороною (хоча б зі стороною, якій довіряє постачальник клієнтського програмного забезпечення), щоб підтвердити дійсність сертифіката. Зшивання OCSP — це спосіб перевірити дійсність, не повідомляючи ЦСК про поведінку перегляду.[1] КритикаВідкликання на основі протоколу OCSP не є ефективним методом запобігання злому закритого ключа сервера HTTPS. Зловмиснику, який зламав приватний ключ сервера, зазвичай потрібно перебувати в положенні «людина посередині» в мережі, щоб зловживати цим приватним ключем і видати себе за сервер. Зловмисник у такому положенні також зазвичай може втручатися в запити OCSP клієнта. Оскільки більшість клієнтів мовчки ігноруватимуть OCSP, якщо запит закінчиться, OCSP не є надійним засобом запобігання компрометації ключа сервера HTTPS.[10] Розширення MustStaple TLS у сертифікаті може вимагати перевірки сертифіката зшитою відповіддю OCSP[en], що пом'якшує цю проблему.[7] OCSP також залишається надійним захистом від ситуацій, коли зловмисник не є «людиною посередині» (підписання коду або сертифікати, видані помилково). Протокол OCSP передбачає, що запитувач має доступ до мережі для підключення до відповідного відповідача OCSP. Деякі запитувачі можуть не мати змоги підключитися, оскільки їхня локальна мережа забороняє прямий доступ до Інтернету (звичайна практика для внутрішніх вузлів у центрі обробки даних). Примусове підключення внутрішніх серверів до Інтернету для використання OCSP сприяє тенденції депериметризації[en]. Протокол зшивання OCSP[en] — це альтернатива, яка дозволяє серверам кешувати відповіді OCSP, що позбавляє запитувача від необхідності безпосереднього зв'язку з відповідачем OCSP. Підтримка браузерамиІснує широка підтримка OCSP серед більшості основних браузерів:
Однак Google Chrome є винятком. У 2012 році Google вимкнув перевірки OCSP за замовчуванням, посилаючись на проблеми із затримкою та приватністю[17], і натомість використовує власний механізм оновлення для надсилання відкликаних сертифікатів у веб-переглядач.[18] РеалізаціїІснує декілька реалізацій OCSP з відкритим вихідним кодом і пропрієтарних версій, включаючи повнофункціональні сервери та бібліотеки для створення спеціальних програм. Підтримка клієнта OCSP вбудована в багато операційних систем, веб-браузерів та інше мережеве програмне забезпечення завдяки популярності HTTPS і Всесвітньої павутини. СерверЗ відкритим вихідним кодом
Пропрієтарні
БібліотекиЗ відкритим вихідним кодомДив. також
Примітки
Посилання
|