CSR — подписанный запрос заявителя, сертификат — подписанное решение издателя. Ни предъявление CSR, ни копия сертификата сами не удостоверяют текущего предъявителя файла.
Сертификат открытого ключа
Определение
Сертификат открытого ключа — подписанная издателем структура, которая на определённый срок связывает открытый ключ с владельцем и заданными ограничениями.
Также ищут: Public-key certificate · digital certificate · identity certificate
Зачем это знать
При приёмке интеграции разделяют сведения издателя, использование ключа в соединении и разрешение операции. Публичный файл не удостоверяет его текущего предъявителя и не даёт доступ к заказам.
Карта понятия
Что подтверждено
Сертификат связывает открытый ключ с данными субъекта; CA подтверждает эту связь своей цифровой подписью по правилам выпуска.
Граница применимости: Модель сертификата RFC 5280. Субъект может быть сервисом или организацией; сертификат сам не устанавливает личность предъявителя файла.
Сертификат содержит открытый ключ и утверждения издателя, но не закрытый ключ и не готовое разрешение приложения.
Граница применимости: Различие между содержимым сертификата, владением ключом и авторизацией.
Копия сертификата содержит открытый ключ и подписанные сведения издателя. Сама по себе она не позволяет создать новую подпись CertificateVerify соответствующим закрытым ключом для полного рукопожатия TLS 1.3.
Граница применимости: Сертификатная аутентификация TLS 1.3; безопасные алгоритмы и корректная проверка. Не относится к возобновлению по PSK и не доказывает личность предъявителя файла.
Серийный номер должен быть уникален среди сертификатов одного CA. Одинаковый номер у двух разных издателей сам по себе не означает один сертификат.
Граница применимости: Идентификация сертификата по паре «издатель и серийный номер» в RFC 5280; сходство текстовых имён издателя не заменяет проверку его ключа.
Подпись CA связывает открытый ключ с данными субъекта в пределах правил выпуска. Сертификат на имя DNS не удостоверяет любого человека за сервисом и не выдаёт ему права на объект API.
Граница применимости: Сопоставление модели сертификата, проверки имени TLS и прикладной авторизации; не обещает удостоверение юридического лица при выпуске для имени DNS.
Не путать
Сертификат содержит утверждения CA и открытый ключ. Сертификатная аутентификация mTLS дополнительно проверяет использование соответствующего закрытого ключа для рукопожатия.
Что проверить
- Определите субъект и точные идентификаторы.
- Проверьте издателя и его ключ.
- Учитывайте серийный номер вместе с издателем.
- Отделите открытый ключ от закрытого.
- Проверьте использование ключа в нужном протоколе.
- Сопоставьте сертификат с правилами приложения.
- Не считайте копию сертификата доказательством доступа к закрытому ключу.
Первоисточники
- Guidelines for API Protection for Cloud-Native Systems
Задаёт API lifecycle controls для authentication, authorization, rate limits, resource limits, logging и monitoring.
- RFC 8446: The Transport Layer Security Protocol Version 1.3
Определяет TLS 1.3, включая encrypted channel, PSK authentication, PSK identity и PSK+(EC)DHE modes.
Утверждения: 03
- Service Identity in TLS
Задаёт construction и verification reference identifiers для TLS services; server identity находится в subjectAltName, не в commonName.
Утверждения: 05
- PKCS #10: Certification Request Syntax Specification Version 1.7
Определяет структуру PKCS #10 CSR и подпись request information private key заявителя.