Что такое асимметричное шифрование

«Что такое асимметричное шифрование» — вопрос из категории Безопасность, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Асимметричное шифрование — криптографическая система, использующая пару ключей: публичный (public key) для шифрования и приватный (private key) для расшифровки. В DevOps это фундамент для безопасной инфраструктуры.

Практическое применение в DevOps:

  1. SSH-доступ к серверам: Публичный ключ размещается на сервере в ~/.ssh/authorized_keys, приватный хранится у пользователя.
  2. TLS/SSL-сертификаты: Веб-серверы (Nginx, Apache) используют пару ключей для HTTPS. Приватный ключ подписывает сессию, а публичный — часть сертификата — проверяется браузером.
  3. Подписывание артефактов: Код, Docker-образы или пакеты можно подписывать приватным ключом для верификации целостности и происхождения.

Пример генерации ключей и настройки SSH:

# Генерация пары RSA-ключей (стандарт для SSH)
ssh-keygen -t rsa -b 4096 -C "devops@example.com" -f ~/.ssh/id_rsa_deploy

# Копирование публичного ключа на целевой сервер для настройки доступа
ssh-copy-id -i ~/.ssh/id_rsa_deploy.pub user@production-server

Плюсы для инфраструктуры:

  • Устраняет необходимость передавать секретный ключ по сети.
  • Позволяет реализовать строгую аутентификацию (например, только по ключу).
  • Основа для PKI (Public Key Infrastructure) — системы управления сертификатами.

Минусы/особенности:

  • Вычислительно затратнее симметричного шифрования. Поэтому в протоколах типа TLS используется гибридный подход: асимметричное шифрование для обмена сессионным ключом, а далее — симметричное.
  • Приватный ключ — критическая точка отказа. Его необходимо хранить в защищённых хранилищах (HashiCorp Vault, AWS KMS, GCP Secret Manager).