Протокол состояния сетевого сертификата (Online Certificate Status Protocol - OCSP) - это интернет-протокол, используемый для получения статуса отзыва цифрового сертификата X.509. Механизм протокола описан в RFC 6960 и является одним из стандартов de-facto Интернета. Он был создан в качестве альтернативы спискам отзыва сертификатов (CRL), в частности для решения некоторых проблем, связанных с использованием CRL в инфраструктуре открытых ключей (PKI). Cообщения OCSP кодируются в ASN.1 и обычно передаются по HTTP. Диалоги «запрос/ответ» этих сообщений позволяют называть сервера OCSP ответчиками OCSP.
Не все веб-браузеры используют OCSP для проверки сертификатов SSL/TLS протокола HTTPS.
Сравнение с CRL
- Ответ OCSP содержит меньше данных, чем типичный список отзыва сертификатов (CRL), это снижает нагрузку на сетевые и клиентские ресурсы.
- Так как ответ OCSP содержит меньше данных для анализа и обработки, клиентские библиотеки для обработки менее сложны, чем те, которые обрабатывают CRL.
- OCSP отвечает на запрос, что определенный сетевой узел использует определенный сертификат в определенный период времени.
- Эта информация является открытой, следовательно, OCSP не требует шифрования, поэтому если другие стороны перехватят эту информацию, то это безопасно. Однако возможная подмена ответа является уязвимостью.
Базовая реализация PKI
- Алёна и Борис - респонденты, каждый имеет сертификат открытого ключа, выданный некоторым центром сертификации (Certificate Authority, CA).
- Алёна хочет выполнить транзакцию с Борисом и отправляет ему свой сертификат открытого ключа.
- Борис, обеспокоенный тем, что закрытый ключ Алёны мог быть скомпрометирован, создает «запрос OCSP», который содержит серийный номер сертификата Алёны и отправляет его в CA.
- Сервис OCSP Центра сертификации считывает серийный номер сертификата из запроса Бориса и производит поиск состояния сертификата Алёны. Возможное состояние, которое он обнаружит в базе данных Центра сертификации CA — сертификат отозван. В этом случае база данных CA является единственным достоверным источником, способным подтвердить факт компрометации сертификата Алёны.
- Сервис OCSP Центра сертификации подтверждает, что сертификат Алёны все еще в порядке, и возвращает подписанный, положительный «ответ OCSP» Борису.
- Борис криптографически проверяет подписанный ответ Центра сертификации CA. Открытый ключ CA был сохранён у Бориса заранее, и с его помощью он проверяет достоверность ответа Центра сертификации CA.
- Борис завершает транзакцию с Алёной.
Детали протокола
Ответчик OCSP (обычно сервер Центра сертификации) возвращает подписанный ответ со статусом сертификата, указанного в запросе: годный, отозван или статус неизвестен. Если он не может обработать запрос, он может вернуть код ошибки.
Формат запроса OCSP поддерживает дополнительные расширения. Это позволяет выполнить дополнительную настройку для конкретной схемы PKI.
OCSP может быть уязвим для атак повторного воспроизведения - replay-атак, где подписанный, валидный ответ захвачен злонамеренным посредником и воспроизведен клиенту позже после того, как предметный сертификат, возможно, был отозван. OCSP позволяет включить одноразовый код в запрос - nonce, который может быть включен в соответствующий ответ. Из-за высокой нагрузки большинство респондентов OCSP не используют расширение nonce для создания различных ответов для каждого запроса, вместо этого используя предварительно подписанные ответы с периодом действия в несколько дней. Таким образом, повторная атака представляет собой серьезную угрозу для систем валидации.
OCSP может поддерживать более одного уровня CA. Запросы OCSP могут быть связаны между одноранговыми ответчиками для запроса выдающего ЦС, подходящего для сертификата субъекта, с ответчиками, проверяющими ответы друг друга на корневой ЦС, используя свои собственные запросы OCSP.
Ответчик OCSP может запрашивать информацию об отзыве с помощью серверов проверки делегированного пути (DPV). OCSP сама по себе не выполняет DPV поставляемых сертификатов.
Ключ, подписывающий ответ, не обязательно должен быть тем же ключом, который подписал сертификат. Эмитент сертификата может делегировать другой орган, чтобы быть ответчиком OCSP. В данном случае, ответчик сертификата (тот, который используется для подписи ответ) должен выдать эмитенту сертификата в ответ на запрос, определенное расширение, в котором содержится указание на него в качестве подписи сервиса OCSP (точнее, расширенное использование ключа продления с идентификаторами:
OID {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) keyPurpose(3) ocspSigning(9)})
Реализации
Существует несколько открытых и проприетарных реализаций OCSP, включая полнофункциональные серверы и библиотеки для создания пользовательских приложений. Поддержка клиентов OCSP встроена во многие операционные системы, веб-браузеры и другое сетевое программное обеспечение ввиду растущей популярности HTTPS и WWW.
Сервер
- 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 Server.
Библиотеки
Поддержка в браузерах
Существует широкая поддержка OCSP среди большинства основных браузеров:
- Internet Explorer построен на CryptoAPI Windows, и, таким образом, начиная с версии 7 на Windows Vista (но не Windows 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 году, ссылаясь на проблемы с задержкой и конфиденциальностью и вместо этого использует свой собственный механизм обновления для отправки отозванных сертификатов в браузер.
Примечания
- GitHub - letsencrypt/boulder: An ACME-based certificate authority, written in Go . Дата обращения: 13 августа 2019. Архивировано 8 августа 2019 года.
- Dogtag . Дата обращения: 13 августа 2019. Архивировано 12 августа 2019 года.
- EJBCA - The Open Source CA . Дата обращения: 13 августа 2019. Архивировано 3 октября 2017 года.
- Realm — OpenXPKI 3.1.1 documentation . Дата обращения: 13 августа 2019. Архивировано 5 августа 2020 года.
- GitHub - xipki/xipki: Highly scalable and high-performance open source PKI (CA and OCSP responder). Minimal dependencies, No-JPA, No-Spring . Дата обращения: 13 августа 2019. Архивировано 31 августа 2017 года.
- Certificate Services - Win32 apps | Microsoft Docs . Дата обращения: 13 августа 2019. Архивировано 13 августа 2019 года.
Внешние ссылки
- Public Key Infrastructure: Operational Protocols в каталоге ссылок Curlie (dmoz)
- RFC 2560, X.509 Internet Public Key Infrastructure Online Certificate Status Protocol – OCSP
- RFC 4806, Online Certificate Status Protocol (OCSP) Extensions to IKEv2
- RFC 5019, The Lightweight Online Certificate Status Protocol (OCSP) Profile for High-Volume Environments
- RFC 6960, X.509 Internet Public Key Infrastructure Online Certificate Status Protocol – OCSP
- Processor.com April, 2009 article about Online Certificate Status Protocol
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер
Protokol sostoyaniya setevogo sertifikata Online Certificate Status Protocol OCSP eto internet protokol ispolzuemyj dlya polucheniya statusa otzyva cifrovogo sertifikata X 509 Mehanizm protokola opisan v RFC 6960 i yavlyaetsya odnim iz standartov de facto Interneta On byl sozdan v kachestve alternativy spiskam otzyva sertifikatov CRL v chastnosti dlya resheniya nekotoryh problem svyazannyh s ispolzovaniem CRL v infrastrukture otkrytyh klyuchej PKI Coobsheniya OCSP kodiruyutsya v ASN 1 i obychno peredayutsya po HTTP Dialogi zapros otvet etih soobshenij pozvolyayut nazyvat servera OCSP otvetchikami OCSP Ne vse veb brauzery ispolzuyut OCSP dlya proverki sertifikatov SSL TLS protokola HTTPS Sravnenie s CRLOtvet OCSP soderzhit menshe dannyh chem tipichnyj spisok otzyva sertifikatov CRL eto snizhaet nagruzku na setevye i klientskie resursy Tak kak otvet OCSP soderzhit menshe dannyh dlya analiza i obrabotki klientskie biblioteki dlya obrabotki menee slozhny chem te kotorye obrabatyvayut CRL OCSP otvechaet na zapros chto opredelennyj setevoj uzel ispolzuet opredelennyj sertifikat v opredelennyj period vremeni Eta informaciya yavlyaetsya otkrytoj sledovatelno OCSP ne trebuet shifrovaniya poetomu esli drugie storony perehvatyat etu informaciyu to eto bezopasno Odnako vozmozhnaya podmena otveta yavlyaetsya uyazvimostyu Bazovaya realizaciya PKIAlyona i Boris respondenty kazhdyj imeet sertifikat otkrytogo klyucha vydannyj nekotorym centrom sertifikacii Certificate Authority CA Alyona hochet vypolnit tranzakciyu s Borisom i otpravlyaet emu svoj sertifikat otkrytogo klyucha Boris obespokoennyj tem chto zakrytyj klyuch Alyony mog byt skomprometirovan sozdaet zapros OCSP kotoryj soderzhit serijnyj nomer sertifikata Alyony i otpravlyaet ego v CA Servis OCSP Centra sertifikacii schityvaet serijnyj nomer sertifikata iz zaprosa Borisa i proizvodit poisk sostoyaniya sertifikata Alyony Vozmozhnoe sostoyanie kotoroe on obnaruzhit v baze dannyh Centra sertifikacii CA sertifikat otozvan V etom sluchae baza dannyh CA yavlyaetsya edinstvennym dostovernym istochnikom sposobnym podtverdit fakt komprometacii sertifikata Alyony Servis OCSP Centra sertifikacii podtverzhdaet chto sertifikat Alyony vse eshe v poryadke i vozvrashaet podpisannyj polozhitelnyj otvet OCSP Borisu Boris kriptograficheski proveryaet podpisannyj otvet Centra sertifikacii CA Otkrytyj klyuch CA byl sohranyon u Borisa zaranee i s ego pomoshyu on proveryaet dostovernost otveta Centra sertifikacii CA Boris zavershaet tranzakciyu s Alyonoj Detali protokolaOtvetchik OCSP obychno server Centra sertifikacii vozvrashaet podpisannyj otvet so statusom sertifikata ukazannogo v zaprose godnyj otozvan ili status neizvesten Esli on ne mozhet obrabotat zapros on mozhet vernut kod oshibki Format zaprosa OCSP podderzhivaet dopolnitelnye rasshireniya Eto pozvolyaet vypolnit dopolnitelnuyu nastrojku dlya konkretnoj shemy PKI OCSP mozhet byt uyazvim dlya atak povtornogo vosproizvedeniya replay atak gde podpisannyj validnyj otvet zahvachen zlonamerennym posrednikom i vosproizveden klientu pozzhe posle togo kak predmetnyj sertifikat vozmozhno byl otozvan OCSP pozvolyaet vklyuchit odnorazovyj kod v zapros nonce kotoryj mozhet byt vklyuchen v sootvetstvuyushij otvet Iz za vysokoj nagruzki bolshinstvo respondentov OCSP ne ispolzuyut rasshirenie nonce dlya sozdaniya razlichnyh otvetov dlya kazhdogo zaprosa vmesto etogo ispolzuya predvaritelno podpisannye otvety s periodom dejstviya v neskolko dnej Takim obrazom povtornaya ataka predstavlyaet soboj sereznuyu ugrozu dlya sistem validacii OCSP mozhet podderzhivat bolee odnogo urovnya CA Zaprosy OCSP mogut byt svyazany mezhdu odnorangovymi otvetchikami dlya zaprosa vydayushego CS podhodyashego dlya sertifikata subekta s otvetchikami proveryayushimi otvety drug druga na kornevoj CS ispolzuya svoi sobstvennye zaprosy OCSP Otvetchik OCSP mozhet zaprashivat informaciyu ob otzyve s pomoshyu serverov proverki delegirovannogo puti DPV OCSP sama po sebe ne vypolnyaet DPV postavlyaemyh sertifikatov Klyuch podpisyvayushij otvet ne obyazatelno dolzhen byt tem zhe klyuchom kotoryj podpisal sertifikat Emitent sertifikata mozhet delegirovat drugoj organ chtoby byt otvetchikom OCSP V dannom sluchae otvetchik sertifikata tot kotoryj ispolzuetsya dlya podpisi otvet dolzhen vydat emitentu sertifikata v otvet na zapros opredelennoe rasshirenie v kotorom soderzhitsya ukazanie na nego v kachestve podpisi servisa OCSP tochnee rasshirennoe ispolzovanie klyucha prodleniya s identifikatorami OID iso 1 identified organization 3 dod 6 internet 1 security 5 mechanisms 5 pkix 7 keyPurpose 3 ocspSigning 9 RealizaciiSushestvuet neskolko otkrytyh i proprietarnyh realizacij OCSP vklyuchaya polnofunkcionalnye servery i biblioteki dlya sozdaniya polzovatelskih prilozhenij Podderzhka klientov OCSP vstroena vo mnogie operacionnye sistemy veb brauzery i drugoe setevoe programmnoe obespechenie vvidu rastushej populyarnosti HTTPS i WWW Server Boulder CA i OCSP otvetchik razrabotan i ispolzuetsya Let s Encrypt Go DogTag Centr sertifikacii s otkrytym ishodnym kodom CA CRL i OCSP otvetchik Ejbca CA i OCSP otvetchik Java OpenXPKI CA i OCSP kak rasshirenie v konfiguracii OpenXPKI XiPKI CA i OCSP otvetchik S podderzhkoj RFC 6960 i SHA3 Java Proprietarnoe programmnoe obespechenie Sluzhby sertifikacii CA i OCSP otvetchik vhodyashie v sostav Windows Server Biblioteki Go OpenSSL C wolfSSL C Podderzhka v brauzerahSushestvuet shirokaya podderzhka OCSP sredi bolshinstva osnovnyh brauzerov Internet Explorer postroen na CryptoAPI Windows i takim obrazom nachinaya s versii 7 na Windows Vista no ne Windows XP podderzhivaet proverku OCSP Vse versii Mozilla Firefox podderzhivayut proverku OCSP Firefox 3 vklyuchaet proverku OCSP po umolchaniyu Safari na macOS podderzhivaet proverku OCSP On vklyuchen po umolchaniyu s Mac OS X 10 7 Lion Do etogo on dolzhen byt aktivirovan vruchnuyu v nastrojkah brelka Versii Opera ot 8 0 do tekushej versii podderzhivayut proverku OCSP Odnako Google Chrome yavlyaetsya isklyucheniem Google otklyuchil proverki OCSP po umolchaniyu v 2012 godu ssylayas na problemy s zaderzhkoj i konfidencialnostyu i vmesto etogo ispolzuet svoj sobstvennyj mehanizm obnovleniya dlya otpravki otozvannyh sertifikatov v brauzer PrimechaniyaGitHub letsencrypt boulder An ACME based certificate authority written in Go neopr Data obrasheniya 13 avgusta 2019 Arhivirovano 8 avgusta 2019 goda Dogtag neopr Data obrasheniya 13 avgusta 2019 Arhivirovano 12 avgusta 2019 goda EJBCA The Open Source CA neopr Data obrasheniya 13 avgusta 2019 Arhivirovano 3 oktyabrya 2017 goda Realm OpenXPKI 3 1 1 documentation neopr Data obrasheniya 13 avgusta 2019 Arhivirovano 5 avgusta 2020 goda GitHub xipki xipki Highly scalable and high performance open source PKI CA and OCSP responder Minimal dependencies No JPA No Spring neopr Data obrasheniya 13 avgusta 2019 Arhivirovano 31 avgusta 2017 goda Certificate Services Win32 apps Microsoft Docs neopr Data obrasheniya 13 avgusta 2019 Arhivirovano 13 avgusta 2019 goda Vneshnie ssylkiPublic Key Infrastructure Operational Protocols v kataloge ssylok Curlie dmoz RFC 2560 X 509 Internet Public Key Infrastructure Online Certificate Status Protocol OCSP RFC 4806 Online Certificate Status Protocol OCSP Extensions to IKEv2 RFC 5019 The Lightweight Online Certificate Status Protocol OCSP Profile for High Volume Environments RFC 6960 X 509 Internet Public Key Infrastructure Online Certificate Status Protocol OCSP Processor com April 2009 article about Online Certificate Status Protocol