Рейтинг:0

Как OCSP обрабатывает удаленные сертификаты?

флаг sr

У нас есть центр сертификации Microsoft, работающий на Windows Server 2019. Мы выдаем сертификаты на устройства Android через MDM. Пользователи устройств Android просматривают веб-приложение (размещенное на Apache, реализованное в PHP 8) с помощью веб-браузера Chrome (на Android), для которого требуется сертификат клиента.

Мы устанавливаем отдельный экземпляр Windows Server 2019 с ролью Microsoft OCSP Responder для проверки/подтверждения того, что клиентские сертификаты, представленные веб-серверу Apache, действительны. Apache имеет несколько директив для обработки проверки OCSP. Мы также хотели бы проверить сертификаты в PHP для дополнительной безопасности.

Из моего исследования, прочитанного в нескольких RFC и технических документах Microsoft, кажется, что ответчик Microsoft OCSP проверяет сертификаты, ссылаясь на CRL для статуса отзыва.

Как ответчик Microsoft OCSP проверяет сертификаты, если они были удалены из центра сертификации, а не отозваны? Если они удалены и не отозваны, они не будут отображаться в CRL.

Я что-то упустил здесь? Будет ли ответчик Microsoft OCSP проверять серийный номер по базе данных ЦС, а также его статус отзыва?

Рейтинг:1
флаг cn

Будет ли ответчик Microsoft OCSP проверять серийный номер по базе данных ЦС, а также его статус отзыва?

по умолчанию Microsoft OCSP сообщит о таком серийном номере как «Хороший». Начиная с Windows Server 2008 R2, в Microsoft OCSP добавлена ​​функция детерминированного ответа OCSP. Короче говоря, CA публикует все серийные номера когда-либо выпущенных сертификатов, и OCSP также настроен на просмотр этого каталога. Новое поведение делает следующее:

  • если серийный номер не существует в папке, OCSP отвечает НЕИЗВЕСТНЫЙ положение дел. Это означает, что запрошенный серийный номер никогда не выдавался CA.
  • если в папке есть серийный номер, проверяется CRL
  • если серийный номер указан в CRL, ответьте ОТМЕНЕН статус и ответить с ХОРОШИЙ в противном случае.

Подробнее о Microsoft KB: Служба сетевого ответчика не возвращает детерминированное значение GOOD для всех сертификатов, не включенных в CRL.

База знаний содержит скрипт, который сбрасывает все серийные номера выпущенных сертификатов в настроенную папку. Однако сценарий немного недоработан. Он экспортирует только серийные номера, которые существуют в базе данных ЦС на момент выполнения скрипта. База данных ЦС поддерживается, а старые записи удаляются, чтобы предотвратить переполнение базы данных ЦС. Это приведет к ложноположительному НЕИЗВЕСТНЫЙ статус удаленных сертификатов, хотя сертификат был выпущен и существует где-то в дикой природе. Я предпочитаю сохранять все выданные независимо от обслуживания ЦС и отвечать ХОРОШИЙ даже если сертификат был удален из CA. Чтобы устранить этот недостаток, я бы рекомендовал удалить эти строки из скрипта:

реж | для каждого {
    удалить-элемент $_-сила
}

это сохранит серийные номера, которые больше не существуют в ЦС между запусками скрипта.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.