Сертификаты, PKI и жизненный цикл ключей
Криптография и инфраструктура открытых ключейКак строится доверие: удостоверяющие центры, цепочки, отзыв, автоматизация выпуска и типовые ошибки.
Зачем это нужно
- Ошибки в обращении с сертификатами ломают либо безопасность, либо доступность сервиса.
- Навык читать цепочку доверия нужен при разборе любых инцидентов с TLS.
- Автоматизация выпуска и ротации — обязательная часть эксплуатации.
Теория
Инфраструктура открытых ключей строится на удостоверяющих центрах: корневой центр подписывает промежуточные, промежуточные выпускают сертификаты сервисов. Браузер или приложение доверяет корню из хранилища, поэтому компрометация корня катастрофична, а срок жизни корня исчисляется десятками лет
Сертификат содержит открытый ключ, имя, срок действия, назначение (для сервера, клиента, подписи кода), ограничения и расширения. Проверка включает: подпись, срок, назначение, соответствие имени, отзыв (списки или протокол проверки в реальном времени), целостность цепочки. Отзыв — слабое место инфраструктуры: браузеры чаще опираются на короткие сроки жизни сертификатов, чем на списки отзыва.
Жизненный цикл: генерация ключа в защищённом месте, выпуск, размещение, ротация, отзыв, архивирование. Автоматизация выпуска через протокол ACME и локальные центры для внутренних сервисов снижает вероятность человеческой ошибки. Практические требования: приватный ключ не покидает защищённую среду, срок жизни короткий, мониторинг приближающегося истечения обязателен, а внутренние центры должны быть защищены не хуже внешних.
Ключевые концепции
- Удостоверяющий центр
- Организация или компонент, подписывающий сертификаты и обеспечивающий доверие к ним.
- Цепочка доверия
- Последовательность сертификатов от корня через промежуточные до конечного.
- Отзыв сертификата
- Досрочное признание сертификата недействительным: списки и онлайн-проверка.
- ACME
- Протокол автоматического выпуска и продления сертификатов.
- Взаимная аутентификация
- Проверка сертификатов обеих сторон: применяется во внутренних сервисах.
- Прозрачность сертификатов
- Публичные журналы выпущенных сертификатов: позволяют обнаружить ошибочный или поддельный выпуск.
Инструменты
- openssl — разбор цепочек, создание запросов и подписей.
- cfssl и step-ca — внутренние удостоверяющие центры.
- certbot и ACME-клиенты — автоматизация выпуска и продления.
- testssl.sh и сканеры конфигурации — проверка сервисов.
- Мониторинг сроков действия — обязательный элемент эксплуатации.
Практика в легальных лабораториях
- Создайте в лаборатории собственный корневой и промежуточный центр и выпустите сертификат для локального сервиса.
- Разберите цепочку сертификата публичного сайта: путь, назначение, расширения, срок.
- Настройте автоматическое продление сертификата и проверьте, что оно работает.
- Смоделируйте отзыв сертификата и проверьте поведение клиента.
- Составьте регламент: где хранятся ключи, кто имеет доступ, как часто ротация.
Защита, детект и защитные меры
- Ведите инвентаризацию сертификатов и оповещения об истечении за 30 и 7 дней.
- Храните приватные ключи в защищённой среде: аппаратный модуль или хранилище секретов.
- Ограничивайте назначение сертификатов и используйте отдельные для каждого сервиса.
- Включите прозрачность сертификатов для публичных доменов и следите за выпусками.
Правовая рамка и этика
- Выпуск сертификатов на чужие домены невозможен без подтверждения владения; попытки обойти это противоправны.
- Проверка чужих сервисов на конфигурацию TLS допустима только по разрешению или в рамках публичного сканирования, разрешённого владельцем.
Типичные ошибки
- Использовать один сертификат на всё и на годы вперёд.
- Автоматизировать продление без оповещений и внезапно остаться без сертификата.
- Хранить приватный ключ в репозитории или на файловом ресурсе с широким доступом.
Чек-лист «умею»
- Умею разобрать цепочку сертификатов и объяснить её.
- Знаю требования к хранению приватных ключей.
- Умею настроить автоматический выпуск и продление.
- Понимаю механизмы отзыва и их ограничения.
- Внедряю мониторинг сроков действия сертификатов.
Вопросы на интервью
- Что произойдёт, если корневой центр скомпрометирован?
- Как вы организуете ротацию сертификатов в сотне сервисов?
- Чем отличаются списки отзыва и онлайн-проверка?