В криптографии список отозванных сертификатов ( CRL ) представляет собой «список цифровых сертификатов , которые были отозваны выдавшим их центром сертификации (CA) до истечения запланированного срока действия и которым больше не следует доверять». [1]
Публично доверенные центры сертификации в Web PKI обязаны (в том числе и по требованию форума CA/Browser [2] ) выпускать списки отзыва сертификатов для своих сертификатов, и они широко это делают. [3]
Браузеры и другие полагающиеся стороны могут использовать CRL или альтернативные технологии отзыва сертификатов (например, OCSP ) [4] [5] или CRLSets (набор данных, полученный из CRL [6] ) для проверки статуса отзыва сертификата. Обратите внимание, что OCSP теряет популярность из-за проблем с конфиденциальностью [7] и производительностью [8] .
Абоненты и другие стороны также могут использовать ARI. [9]
В RFC 5280 определены два различных состояния отзыва:
Причины отзыва, удержания или исключения сертификата из списка в соответствии с RFC 5280 [10] :
unspecified
(0)keyCompromise
(1)cACompromise
(2)affiliationChanged
(3)superseded
(4)cessationOfOperation
(5)certificateHold
(6)removeFromCRL
(8)privilegeWithdrawn
(9)aACompromise
(10)Обратите внимание, что значение 7 не используется.
CRL генерируется и публикуется периодически, часто с определенным интервалом. CRL также может быть опубликован сразу после отзыва сертификата. CRL выдается эмитентом CRL, которым обычно является CA, который также выдал соответствующие сертификаты, но в качестве альтернативы может быть и другой доверенный орган. Все CRL имеют срок действия, в течение которого они действительны; этот период времени часто составляет 24 часа или меньше. В течение срока действия CRL к нему может обращаться приложение с поддержкой PKI для проверки сертификата перед использованием.
Для предотвращения спуфинга или атак типа «отказ в обслуживании» списки отозванных сертификатов обычно имеют цифровую подпись , связанную с CA, которым они опубликованы. Для проверки конкретного CRL перед использованием его необходим сертификат соответствующего CA.
Сертификаты, для которых следует поддерживать CRL, часто представляют собой сертификаты X.509 / открытого ключа , поскольку этот формат обычно используется схемами PKI.
Даты истечения срока не заменяют CRL. Хотя все просроченные сертификаты считаются недействительными, не все неистекшие сертификаты должны быть действительными. CRL или другие методы проверки сертификатов являются необходимой частью любой правильно работающей PKI, поскольку ошибки в проверке сертификатов и управлении ключами, как ожидается, будут иметь место в реальных операциях.
В примечательном примере сертификат для Microsoft был ошибочно выдан неизвестному лицу, которое успешно выдавало себя за Microsoft перед CA, заключившим контракт на обслуживание системы «сертификатов издателя» ActiveX ( VeriSign ). [11] Microsoft увидела необходимость исправить свою подсистему криптографии, чтобы она проверяла статус сертификатов, прежде чем доверять им. В качестве краткосрочного исправления был выпущен патч для соответствующего программного обеспечения Microsoft (прежде всего Windows), в котором два рассматриваемых сертификата были конкретно указаны как «отозванные». [12]
Лучшие практики требуют, чтобы где бы и как бы ни поддерживался статус сертификата, он должен проверяться всякий раз, когда кто-то хочет положиться на сертификат. В противном случае отозванный сертификат может быть ошибочно принят как действительный. Это означает, что для эффективного использования PKI необходимо иметь доступ к текущим CRL. Это требование онлайн-проверки сводит на нет одно из изначальных основных преимуществ PKI над симметричными протоколами криптографии , а именно то, что сертификат является «самоаутентифицирующимся». Симметричные системы, такие как Kerberos, также зависят от существования онлайн-сервисов ( центра распределения ключей в случае Kerberos).
Существование CRL подразумевает необходимость для кого-то (или какой-то организации) обеспечивать соблюдение политики и отзывать сертификаты, которые считаются противоречащими операционной политике. Если сертификат отозван по ошибке, могут возникнуть серьезные проблемы. Поскольку центр сертификации призван обеспечивать соблюдение операционной политики для выдачи сертификатов, он, как правило, несет ответственность за определение того, является ли отзыв уместным и когда он будет проводиться, путем интерпретации операционной политики.
Необходимость обращения к CRL (или другой службе статуса сертификата) перед принятием сертификата повышает потенциальную атаку типа «отказ в обслуживании» против PKI. Если принятие сертификата не удается из-за отсутствия доступного действительного CRL, то никакие операции, зависящие от принятия сертификата, не могут быть выполнены. Эта проблема существует и для систем Kerberos, где невозможность получить текущий токен аутентификации не позволит получить доступ к системе.
Альтернативой использованию CRL является протокол проверки сертификатов, известный как Online Certificate Status Protocol (OCSP). OCSP имеет основное преимущество, требуя меньшей пропускной способности сети, что позволяет проводить проверки статуса в режиме реального времени и близком к реальному времени для операций с большим объемом или высокой стоимостью.
Начиная с Firefox 28, Mozilla объявила об отказе от CRL в пользу OCSP. [4]
Файлы CRL могут со временем стать довольно большими, например, в правительстве США, для некоторых учреждений несколько мегабайт. Поэтому были разработаны инкрементные CRL [13], иногда называемые «дельта CRL». Однако только несколько клиентов реализуют их. [14]
Список отозванных сертификатов (ARL) — это форма CRL, содержащая отозванные сертификаты, выданные центрам сертификации , в отличие от CRL, которые содержат отозванные сертификаты конечных субъектов. [15] [16]
Вместо или в качестве дополнения к проверке по периодическому CRL может потребоваться получение своевременной информации о статусе отзыва сертификатов. ... OCSP может использоваться для удовлетворения некоторых эксплуатационных требований по предоставлению более своевременной информации об отзыве, чем это возможно с CRL, а также может использоваться для получения дополнительной информации о статусе.