Как правильно развернуть удостоверяющий центр?

Доброго времени суток! Товарищи специалисты, подскажите пожалуйста как правильно организовать удостоверяющий центр в рамках компании.

Вопрос технического характера:
Допустим я хочу организовать следующую структуру удостоверяющих центров:
  • CompanyName Root CA - Корневой УД
    • CompanyName Project 1 CA - УД Проекта 1
      • codesign

    • CompanyName Project 2 CA - УД Проекта 2
      • client, server

    • CompanyName Security CA - УД например для VPN
      • client, server


Корневой УД существует только для создания дочерних УД.
1. Должен ли корневой сертификат (CompanyName Root CA) иметь ссылки на crl и ocsp?
Просмотрел кучу корневых сертификатов разных корпораций, и только у нескольких есть указание ссылки и/или на crl и ocsp. Собственно вытекает вопрос:
2. Если ссылка указываться, что будет храниться на этих адресах, информация об отозванных сертификатах УД?
3. Можно ли отозвать сертификат дочернего УД?

Со ссылками на crl и ocsp в дочерних УД все понятно, там ссылки нужны для быстрого отзыва клиентских и серверных сертификатов.

Вопрос идеологического характера:
CompanyName Project 2 CA - УД Проекта 2 занимается тем что:
1. Выдает клиентские сертификаты - клиентам
2. Выдает серверные сертификаты - серверам
Клиент имеющий ключ, получает доступ к серверу - все как всегда.
Ключ клиента, понятно, подписан CompanyName Project 2 CA, а тот в свою очередь CompanyName Root CA.

CompanyName Security CA - УД например для VPN замается тем что:
1. Выдает клиентские сертификаты - сотрудникам
2. Выдает серверные сертификаты - vpn серверам
Сотрудник имеющий ключ, получает доступ к vpn серверу - все как всегда.
Ключ сотрудника, подписан CompanyName Security CA, а тот в свою очередь CompanyName Root CA.

Может ли случится такое в дикой природе, что хитрый админ у которого есть доступ только к CompanyName Security CA, создаст сертификат и продаст его клиенту, который по нему сможет получить доступ к CompanyName Project 2 CA?

На эту тему, у нас с коллегой вышел спор. Он утверждает, что может. Если вдруг программист реализует неправильную проверку внутри продукта, при проверке цепочки сертификатов, функция может вернуть положительное значение, опустив тот факт что промежуточный УД не тот. Он предлагает для каждого проекта создавать свой ROOT CA и не подписывать их общим ключом компании.

Собственно, хотелось бы увидеть мнение на этот счет, на сколько реальна такая схема.

В ходе изучения материала, наткнулся на пару сертификатов со встроенным логотипом компании.
У меня даже получилось добавить свой логотип в сертификат, но RFC3709 гласит что это просто фенечка - забавы ради. Есть какой ни будь более глубокий смысл добавления логотипа в сертификат на практике?

Спасибо.
  • Вопрос задан
  • 1186 просмотров
Решения вопроса 1
Laroux
@Laroux
Администратор Удостоверяющего центра
Должен ли корневой сертификат (CompanyName Root CA) иметь ссылки на crl и ocsp?
Ответ: Корневой самоподписанный сертификат не должен содержать ссылок на crl и ocsp

А вот что касается любого (ну почти любого) подчиненного сертификата - в нем д.б. ссылка на crl. Ссылка на ocsp - опционально, по Вашему желанию или требованию информационной системы (ИС).
Соответственно, как в сертификатах подчиненных УЦ (Проекта 1, Проекта 2, VPN и т.д.) обязательно должна быть ссылка на crl. Уже не говоря о клиентских сертификатах, выпущенных УЦами Проекта 1, Проекта 2, VPN и т.д.

Ссылка на crl в сертификатах УЦов Проекта 1, Проекта 2, VPN и т.д. будет одна и та же и будет содержать список отзыва, выпускаемый Корневым УЦ. С помощтю этого СОС можно управлять сер-тами подчиненных УЦ.

В сер-тах, выпускаемых УЦами Проекта 1, Проекта 2, VPN и т.д. будет содержаться ссылка на crl, соответствующий каждый определенному УЦ и управлять отзывом сер-тов клиентов можно с каждого подчиненного УЦ, на котором сер-т этого клиента был выпущен.

Не совсем понятно, что означает фраза "получить доступ к CompanyName Project 2 CA по сер-ту, выпущенному на УЦ CompanyName Security CA".
Судя по всему ответ "нет" - получить доступ к CompanyName Project 2 CA по сер-ту, выпущенному из под CompanyName Security CA, не получится.

Что же касается ИС, в которых используются сертификаты, то реализация функции доверия этой ИС к сер-ту целиком и полностью ложится на плечи разработчика ИС и ее архитектуры.
Самый простой способ ограничить использование сер-тов выпущенных только CompanyName Project 2 CA - это установить корневой сер-т CompanyName Project 2 CA в систему и проверять эту цепочку. При этом сер-т CompanyName Security CA в ИС должен отсутствовать
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы