Может ли wildcard сертификат выступать в роли CA для субдоменов? [дубликат]

Вопрос или проблема

Вдохновлено Публична ли активность LetsEncrypt?

Предположим, у меня есть сертификат *.mycompany.com от LetsEncrypt на моем основном сервере. Я хочу сгенерировать сертификат для моего ловушки, который, очевидно, может быть украден.

Могу ли я использовать *.mycompany.com для подписи honey1.mycompany.com? Если я предоставлю полную цепочку доверия, примут ли обычные браузеры это?

Если нет, то почему? Каковы будут риски безопасности, если разрешить такую цепочку сертификатов?

(Если я не ошибаюсь, это не разрешено, потому что флаг CA не установлен на сертификатах, подписанных LE. Но мне любопытно, каковы будут последствия для безопасности.)

Когда сертификаты X.509 используются для TLS, существует строгая séparation между сертификатами CA и сертификатами конечных сущностей. Флаг cA расширения basicConstraints — это лишь один из способов различения этих двух типов. Также есть различия в расширении keyUsage, и некоторые расширения разрешены только в сертификатах CA (такие как nameConstraints).

Разрешение хостам сWildcard сертификатами выдавать свои собственные сертификаты для поддоменов не имеет смысла, потому что это размывает границу между двумя фундаментально различными задачами. В TLS задача хоста довольно проста: частный ключ обычно используется только для подписи параметров согласования ключа. В сравнении, CA (как организация) должна поддерживать целую инфраструктуру для проверки запросов на подпись сертификатов, отслеживания выданных сертификатов, отзыва сертификатов в случае компрометации ключа, публикации этой информации и т.д. Нет причин полагать, что хост имеет какие-либо из этих возможностей, даже если он контролирует все поддомены.

Так что нет, вы не можете использовать Wildcard сертификаты в качестве сертификатов CA. Однако, вы, конечно, можете создать свой собственный CA и импортировать соответствующие сертификаты в хранилище доверия конкретных TLS клиентов. Однако имейте в виду, что вы можете столкнуться с серьезными проблемами безопасности, если внутренний CA будет скомпрометирован и использован для выдачи сертификатов для произвольных доменов.

Ответ или решение

Конечно, я могу помочь с этим вопросом.

Сертификаты Wildcard (подwildcard сертификаты) не могут действовать как сертификаты центра сертификации (ЦС) для своих поддоменов. Чтобы понять причины, обратимся к характеристикам и предназначению сертификатов X.509.

Отличия между сертификатами ЦС и сертификатами конечных сущностей

  1. Флаги и расширения: Основное различие между сертификатами ЦС и сертификатами для конечных сущностей заключается в наличии флага cA в расширении basicConstraints. Только сертификаты ЦС могут иметь этот флаг, что указывает на то, что они имеют право подписывать другие сертификаты. В отличие от них, сертификаты для конечных сущностей не имеют этого флага. Также существуют другие различия в расширениях, таких как keyUsage, которые регулируют использование ключей в зависимости от типа сертификата.

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

Риски использования Wildcard сертификатов как ЦС

Если бы хосты с wildcard сертификатами могли выдавать свои собственные сертификаты для поддоменов, это создало бы ряд потенциальных уязвимостей:

  1. Доверие и безопасность: Позволяя хостам выдать сертификаты для поддоменов, вы ослабляете доверие к целостности цепочек сертификатов. Это может привести к манипуляциям и фальсификации в случае компрометации ключей.

  2. Расширение компрометации: Если внутренний сертификат ЦС будет скомпрометирован, злоумышленник сможет выдавать сертификаты для произвольных доменов, что потенциально может поставить под угрозу безопасность множества конечных пользователей.

Таким образом, вы не можете использовать wildcard сертификаты в качестве сертификатов ЦС. Тем не менее, вы можете создать собственный ЦС и импортировать соответствующие сертификаты в хранилище доверия определенных клиентов TLS. В этом случае следует учитывать, что наличие собственного ЦС также может создать серьезные проблемы безопасности, если контроль над ним будет потерян.

Завершая, ответ на ваш вопрос — нет, wildcard сертификаты не могут действовать как ЦС для своих поддоменов по причинам, связанным с различиями в назначении и управлении сертификатами, а также из-за потенциальных угроз безопасности.

Оцените материал
Добавить комментарий

Капча загружается...