Инфраструктура открытых ключей (PKI): краткий обзор
Инфраструктура открытых ключей (Public Key Infrastructure, PKI) — набор правил, который использует цифровые сертификаты и ключи для обеспечения безопасности в сети, включая аутентификацию, шифрование и цифровые подписи.
Сферы применения
PKI используется везде, где требуется работа с чувствительными данными (e-commerce, банках, гос. системах и т.д.), например:
- Цифровые подписи в ПО
- Ограниченный доступ к корпоративным интранетам и VPN
- Бесплатный доступ к Wi-Fi без пароля в зависимости от владельца устройства
- Шифрование эл. почты и данных
PKI в HTTPS
В HTTPS PKI используется для обеспечения безопасности соединения между клиентом и сервером. Достигается с помощью SSL/TLS протоколов, которые используют сертификаты для аутентификации сервера и шифрования данных.
Принцип работы PKI
В основе PKI лежит асимметричная криптография, использующая пары ключей: открытый и закрытый (приватный).
- Открытый ключ используется для шифрования и проверки подписи
- Закрытый ключ используется для дешифрования и создания подписи
Ключи связаны математически так, что сообщение, зашифрованное с помощью открытого ключа, может быть расшифровано только с помощью соответствующего закрытого ключа.
Подпись
Цифровая подпись, созданная с использованием закрытого ключа, привязывается к определенным данным или сообщению и служит для подтверждения подлинности и целостности этих данных. Подпись может быть проверена с помощью открытого ключа.
Сертификат
Цифровой документ, связывающий открытый ключ с владельцем. Содержит информацию о владельце, открытом ключе, алгоритмах шифрования, сроке действия и информацию о центре сертификации.
Основные компоненты PKI
- Центр сертификации (Certificate Authority, CA): выдает цифровые сертификаты, подтверждающие аутентичность открытых ключей пользователей. Отзывает сертификаты в случае утраты или компрометации.
- Регистрационный центр (Registration Authority, RA): занимается проверкой личности пользователей и выдачей запросов на сертификаты CA.
- Серверы доверия (Trust Stores): содержат списки доверенных корневых сертификатов, используемых для проверки цепочек сертификации.
- Клиентские приложения: ПО, которое использует сертификаты для проверки подлинности удаленных сущностей и шифрования данных.
- Инструменты управления ключами: для генерации, хранения и управления ключами и сертификатами, включая их резервное копирование и восстановление.
- Протоколы и стандарты: PKI использует различные протоколы и стандарты, такие как:
- X.509 для формата сертификатов
- SSL/TLS для безопасного обмена информацией
- OCSP и CRL для проверки отзыва сертификатов
Пример работы PKI
- Генерация ключей: Пользователь/устройство генерирует пару ключей.
- Сертификация ключей: Владелец открытого ключа обращается к доверенному CA с запросом на выдачу сертификата. CA проверяет подлинность запроса и подтверждает ассоциацию "открытый ключ" -- "сущность" (пользователь, устройство или веб-сайт), создавая цифровую подпись для сертификата.
- Распространение сертификатов: Сертификат, содержащий открытый ключ и цифровую подпись CA, распространяется в сети (публикация на веб-сайте, отправка через эл. почту или др.).
- Проверка подлинности: Пользователь проверяет полученный сертификат, используя публичный ключ CA. Если сертификат и подпись верны, то всё ок.
- Шифрование и подпись: Пользователь использует открытый ключ другой стороны для шифрования данных или проверки подписи. Для шифрования используется открытый ключ получателя, а для проверки подписи — отправителя.
- Отзыв сертификатов: Если ключ скомпрометирован, владелец ключа должен отозвать сертификат через CA. Это делается через список отзыва сертификатов (CRL) или протокол проверки ста туса сертификата (OCSP).
Материалы
- RFC 5280 (PKI Certificate and CRL)
- Главное об инфраструктуре открытых ключей
- Практика построения PKI
- Про криптографию
- Асимметричная криптография для чайников
- Теория на примере Let’s Encrypt
- Практика на примере OpenSSL и CA Smallstep
- О PKI и TLS
- Про PKI «на пальцах» за 10 минут
Видео
- Криптография и алгоритмы асимметричной криптографии
- Шифрование, PKI, сертификаты
- Инфраструктура открытых ключей (PKI)
- Кратко: Асимметричное шифрование
- PKI в TLS/SSL
- PKI. Как работает TSL/SSL шифрование в деле?
- Кратко: Инфраструктура открытых ключей
Книга