КриптоПро Revocation Provider

В процессе управления ключами УЦ имеет возможность отзыва выпущенных им сертификатов, что необходимо для досрочного прекращения их действия, например, в случае компрометации ключа. Процедура проверки ЭЦП предусматривает помимо подтверждения ее математической корректности еще и построение, и проверку цепочки сертификатов до доверенного УЦ, а также проверку статусов сертификатов в цепочке.

Таким образом, проверка статусов сертификатов важна для приложений, использующих ИОК, поскольку, например, принятие к обработке подписанного ЭЦП документа, соответствующий сертификат ключа подписи которого аннулирован, может быть впоследствии оспорено и привести к финансовым потерям.

В ОС Microsoft Windows встроена поддержка технологии ИОК. Многие приложения, работающие под управлением этих ОС, используют интерфейс CryptoAPI для осуществления функций криптографической защиты информации. Функции CryptoAPI используют, например, следующие приложения: Internet Explorer, Outlook Express, Outlook, Internet Information Server и др.

По умолчанию CryptoAPI осуществляет проверку статусов сертификатов с использованием СОС (CRL). СОС представляет собой список аннулированных или приостановленных сертификатов, издаваемый периодически – например, раз в неделю. СОС не отражает информацию о статусах в реальном времени, а также имеет ряд других недостатков, которых лишён протокол OCSP – протокол получения статуса сертификата в реальном времени.

Архитектура CryptoAPI предоставляет возможность подключения внешнего модуля проверки статуса сертификата – Revocation Provider.

 

КриптоПро Revocation Provider предназначен для встраивания проверки статусов сертификатов открытых ключей в режиме реального времени по протоколу OCSP в ОС Windows.

Назначение: 

КриптоПро Revocation Provider предназначен для встраивания проверки статусов сертификатов открытых ключей в режиме реального времени по протоколу OCSP в ОС Windows.

КриптоПро Revocation Provider, будучи установлен в системе, встраивается в CryptoAPI и тем самым обеспечивает проверку статусов сертификатов во всех приложениях по протоколу OCSP, причём менять что-либо в самих приложениях не требуется. Revocation Provider вызывается автоматически каждый раз, когда приложение осуществляет действия с сертификатом. Проверка сертификата в реальном времени по протоколу OCSP обеспечивает большую безопасность по сравнению с СОС.

Схема встраивания Revocation Provider в ОС представлена на рисунке.

Реализуемые алгоритмы: 

Чтобы обеспечить использование протокола OCSP для проверки статусов сертификатов, используемых в конкретной информационной системе, необходимо, чтобы в данной системе работал сервер OCSP.

В качестве сервера OCSP для КриптоПро Revocation Provider можно использовать КриптоПро OCSP Server.

Поддерживаемые платформы: 

КриптоПро Revocation Provider функционирует в следующих операционных системах:

  • Microsoft Windows 98 SE, как англоязычных, так и локализованных;
  • Microsoft Windows ME, как англоязычных, так и локализованных;
  • Microsoft Windows 2000 версий Professional, Server и Advanced Server, как англоязычных, так и локализованных, с установленным пакетом обновления Service Pack 4 и выше;
  • Microsoft Windows XP всех вариантов исполнения (в том числе для архитектур x64 и Itanium), как англоязычных, так и локализованных, с установленным пакетом обновления Service Pack 2 и выше;
  • Microsoft Windows Server 2003 всех вариантов исполнения (в том числе для архитектур x64 и Itanium), как англоязычных, так и локализованных, с установленным пакетом обновления Service Pack 2 и выше;
  • Microsoft Windows Vista (в том числе для архитектуры x64), как англоязычных, так и локализованных.
Основные характеристики: 

КриптоПро Revocation Provider:

  • Встраивает проверку статуса сертификатов по протоколу OCSP во все приложения операционной системы.
  • Не требует модификации приложений для использования своих возможностей.
  • Уменьшает риск стать жертвой мошенничества или понести ответственность.
  • Совместим с серверными приложениями.
  • Автоматически проверяет статусы сертификатов OCSP-серверов.
  • Поддерживает расширение id-pkix-ocsp-nocheck. Если такое расширение присутствует в сертификате OCSP-сервера, то статус этого сертификата не проверяется.
  • Автоматически проверяет, уполномочен ли OCSP-сервер Удостоверяющим Центром, издавшим проверяемый сертификат, выдавать информацию о статусе данного сертификата.
  • Настраивается через групповые политики.
  • Даёт возможность настройки доверия к конкретным OCSP-серверам.
  • При невозможности проверки сертификата по протоколу OCSP передаёт его в Microsoft Revocation Provider, который проводит проверку по СОС.
  • Может осуществлять соединения по защищённому протоколу TLS (SSL).
  • Устанавливается с помощью Windows Installer.
Использование: 

Как вызывается Revocation Provider

Будучи установленным в системе, Revocation Provider вызывается для проверки сертификата(ов) при каждом вызове функции CryptoAPI CertVerifyRevocation. Фактически, все параметры этой функции передаются без изменений в Revocation Provider. Помимо непосредственного вызова, эта функция, а значит и Revocation Provider, вызывается неявно внутри функций CertGetCertificateChain и WinVerifyTrust.

Как работает Revocation Provider

Когда приложение, работающее с CryptoAPI, вызывает функцию проверки статуса сертификата, в Revocation Provider передаётся этот сертификат вместе с рядом дополнительных параметров.

Revocation Provider, получив на проверку сертификат, создаёт OCSP-запрос на данный сертификат и обращается к одной или нескольким службам OCSP с этим запросом. При получении OCSP-ответа, осуществляет его проверку. Если ответ проходит проверку и содержит статус сертификата good или revoked, в отличие от unknown (см. RFC2560), то на этом проверка заканчивается и полученный статус возвращается приложению. Если же ответ содержит статус unknown или не проходит проверку, то происходит обращение по следующему адресу.

Очерёдность обращения к службам OCSP определяется следующим образом:

  1. По расширению AIA (AuthorityInformationAccess) в сертификате. Среди различных точек AIA выбирает те, к которым указан метод доступа по протоколу OCSP, обращения к ним происходят по очереди их расположения в сертификате.
  2. Если ни по одному из адресов OCSP-серверов, указанных в расширении AIA сертификата, не удаётся получить удовлетворяющий этим условиям ответ, или если таких адресов в сертификате не указано, то Revocation Provider пробует обратиться за статусом к OCSP-серверу, адрес которого задан групповой политикой, если она определена.

Если на предыдущих шагах не удаётся получить удовлетворяющем описанным условиям ответ, то сертификат передаётся на проверку в Microsoft Revocation Provider, входящий в состав ОС Windows. Microsoft Revocation Provider осуществляет проверку данного сертификата с использованием СОС. Полученный статус сертификата возвращается приложению.

Сертификаты: 

КриптоПро Revocation Provider использует сертифицированное ФСБ России средство криптографической защиты КриптоПро CSP 3.0.