Перейти к основному содержимому

Инфраструктура открытых ключей (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

  1. Генерация ключей: Пользователь/устройство генерирует пару ключей.
  2. Сертификация ключей: Владелец открытого ключа обращается к доверенному CA с запросом на выдачу сертификата. CA проверяет подлинность запроса и подтверждает ассоциацию "открытый ключ" -- "сущность" (пользователь, устройство или веб-сайт), создавая цифровую подпись для сертификата.
  3. Распространение сертификатов: Сертификат, содержащий открытый ключ и цифровую подпись CA, распространяется в сети (публикация на веб-сайте, отправка через эл. почту или др.).
  4. Проверка подлинности: Пользователь проверяет полученный сертификат, используя публичный ключ CA. Если сертификат и подпись верны, то всё ок.
  5. Шифрование и подпись: Пользователь использует открытый ключ другой стороны для шифрования данных или проверки подписи. Для шифрования используется открытый ключ получателя, а для проверки подписи — отправителя.
  6. Отзыв сертификатов: Если ключ скомпрометирован, владелец ключа должен отозвать сертификат через CA. Это делается через список отзыва сертификатов (CRL) или протокол проверки статуса сертификата (OCSP).

Материалы

  1. RFC 5280 (PKI Certificate and CRL)
  2. Главное об инфраструктуре открытых ключей
  3. Практика построения PKI
  4. Про криптографию
  5. Асимметричная криптография для чайников
  6. Теория на примере Let’s Encrypt
  7. Практика на примере OpenSSL и CA Smallstep
  8. О PKI и TLS
  9. Про PKI «на пальцах» за 10 минут

Видео

  1. Криптография и алгоритмы асимметричной криптографии
  2. Шифрование, PKI, сертификаты
  3. Инфраструктура открытых ключей (PKI)
  4. Кратко: Асимметричное шифрование
  5. PKI в TLS/SSL
  6. PKI. Как работает TSL/SSL шифрование в деле?
  7. Кратко: Инфраструктура открытых ключей

Книга