Ответ
SSL (его современный преемник — TLS) использует гибридную систему шифрования, которая сочетает асимметричную и симметричную криптографию для обеспечения безопасности, производительности и аутентификации.
-
Асимметричное шифрование (например, RSA, ECDSA) используется во время рукопожатия TLS для:
- Аутентификации сервера (и опционально клиента) с помощью цифровых сертификатов.
- Безопасного обмена симметричным сеансовым ключом. В современных конфигурациях с Perfect Forward Secrecy (PFS) для этого используется алгоритм Диффи-Хеллмана на эллиптических кривых (ECDHE).
-
Симметричное шифрование (например, AES-256-GCM, ChaCha20-Poly1305) используется для шифрования самого трафика приложения после установления соединения. Оно гораздо быстрее асимметричного.
Практический пример проверки шифров:
# Просмотр информации о TLS-соединении и используемых шифрах
openssl s_client -connect example.com:443 -servername example.com | grep -A 30 "Cipher"
# Проверка поддержки PFS
nmap --script ssl-enum-ciphers -p 443 example.com
С точки зрения DevOps важно правильно настраивать веб-серверы (Nginx, Apache), отключая устаревшие протоколы (SSLv3, TLS 1.0/1.1) и слабые шифры, и использовать актуальные сертификаты от доверенных центров (например, Let's Encrypt).