Безопасность и скорость протокола SSL/TLS во многом зависит от выбранного cipher suite. Cipher suite — это набор криптографических алгоритмов используемый для обмена ключами, аутентификации, шифрования и проверки целостности сообщений. Неправильно выбранный cipher suite может подвергнуть сайт риску или значительно замедлить его. В этой статье мы подробно рассмотрим современные cipher suite, их преимущества и будущее криптографии.
Состав cipher suite
Каждый cipher suite состоит из четырёх частей. Первая — алгоритм обмена ключами (ECDHE, RSA), вторая — алгоритм аутентификации (RSA, ECDSA, EdDSA), третья — алгоритм шифрования (AES-GCM, ChaCha20-Poly1305), четвёртая — функция хеширования (SHA-256, SHA-384). Например, значение TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: обмен ключами через ECDHE, аутентификация через RSA, шифрование через AES-256-GCM и хеширование через SHA-384.
AES против ChaCha20
AES-GCM и ChaCha20-Poly1305 — два основных современных алгоритма шифрования. AES очень распространён и на многих процессорах есть аппаратный ускоритель (инструкции AES-NI). Это делает его очень быстрым на десктопных и серверных платформах. ChaCha20 же на устройствах без аппаратных ускорителей (многие мобильные и старые телефоны) в 3-4 раза быстрее AES. Поэтому современные серверы должны поддерживать оба и выбирать в зависимости от устройства.
Настройка приоритета cipher suite
В Nginx с помощью директив ssl_ciphers и ssl_prefer_server_ciphers on можно определить какой cipher suite сервер предпочитает. Рекомендуемый список: ECDHE-ECDSA-AES256-GCM-SHA384, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-ECDSA-CHACHA20-POLY1305, ECDHE-RSA-CHACHA20-POLY1305. В TLS 1.3 же список cipher suite выбирается автоматически и дополнительная настройка не требуется. Mozilla SSL Configuration Generator (ssl-config.mozilla.org) даёт самую свежую и рекомендуемую конфигурацию.
Отключение старых cipher suite
RC4, 3DES, DES, MD5, SHA-1, RSA key exchange и другие старые алгоритмы нужно полностью отключить. Это не только полезно для безопасности, но и обязательно для соответствия PCI DSS, HIPAA и другим нормативным стандартам. Для получения оценки A+ в тесте SSL Labs нужно отключить также TLS 1.0 и 1.1 — оставьте только TLS 1.2 и 1.3.
Будущее Post-quantum криптографии
С развитием квантовых компьютеров нынешние алгоритмы RSA и ECDHE могут быть взломаны в будущем. NIST в 2024-2025 годах принял стандарты Post-Quantum Cryptography (PQC): Kyber (для обмена ключами), Dilithium и Falcon (для цифровой подписи). Cloudflare и Google уже включили Kyber + X25519 hybrid (X25519MLKEM768). С 2035 года планируется полный переход всех браузеров и серверов на PQC.
Практика Sayt.uz
100% клиентов Sayt.uz работают с конфигурацией Mozilla "Intermediate" или "Modern". В нашем тесте SSL Labs 94% клиентов получают оценку A+, 6% — A. Услуга аудита cipher suite 75 000 сум разово, ежемесячный мониторинг 30 000 сум. Мы начали тестировать Post-quantum криптографию с 2034 года и с 2036 года будем предлагать всем клиентам. Ранний переход на PQC станет шагом впереди местных конкурентов в будущем.