()

Руководство по TLS Cipher Suite для начинающих

Если у вас есть веб-сайт, у вас, скорее всего, есть сертификат SSL (если у вас его нет, как можно скорее установите его). Вы, наверное, знаете, что делает SSL в абстрактном понимании. Используя протокол TLS (Transport Layer Security), сертификаты SSL гарантируют, что соединение между вашим сайтом и браузером пользователя является безопасным и не может быть скомпроментировано и расшифровано какой-либо третьей стороной. Это называется шифрованием.

Маловероятно, что вы знаете, что происходит за кулисами, когда SSL-сертификат создает это соединение. Вот почему сегодня мы сосредоточимся на ключевом аспекте процесса шифрования - наборах шифров. К концу этой статьи вы будете лучше понимать о том, как SSL-сертификаты работают в отношении шифров и наборов шифров. 

Что такое набор шифров?

Прежде чем мы углубимся в комплекты шифров, мы должны уделить время объяснению того, что такое шифр. В криптографии шифр - это алгоритм, который излагает общие принципы защиты сети через TLS (протокол безопасности, используемый современными сертификатами SSL). Набор шифров состоит из нескольких шифров, работающих вместе, каждый из которых выполняет различные криптографические функции, такие как генерация ключей и аутентификация. В то время как сами действия по шифрованию и дешифровке выполняются с помощью ключей, наборы шифров описывают набор шагов, которые ключи должны выполнить для этого, и порядок, в котором эти шаги выполняются. Существует множество наборов шифров, каждый с различными инструкциями по процессу шифрования и дешифрования. Используемые наборы шифров зависят от версии TLS, настроенной на вашем сервере (мы поговорим об этом чуть позже). Так как же именно набор шифров выглядит в действии? Как вы, возможно, уже знаете, когда кто-то посещает веб-сайт с SSL, его браузер подключается к серверу, на котором размещен веб-сайт, для формирования зашифрованного соединения. Это соединение согласовывается с помощью процесса, известного как рукопожатие SSL (Вы можете ознакомиться с этим процессом в нашей статье). Комплекты шифров играют неотъемлемую роль в процессе установления связи.

Комплекты шифров и рукопожатие SSL / TLS

Мы не будем углубляться в подробности рукопожатия TLS, так как это очень сложный технический процесс. Проще говоря, это серия сообщений, которыми обмениваются браузер (клиент) и веб-сайт (сервер), в которых аутентифицируются открытый ключ сервера и сертификат SSL, что приводит к созданию сеансового ключа, который шифрует соединение между клиентом и сервером.

Наборы шифров диктуют, как будет разворачиваться весь процесс. Клиент отправляет серверу список поддерживаемых им комплектов шифров, и сервер выбирает взаимно поддерживаемый комплект шифров, который он считает наиболее безопасным. В зависимости от используемой версии TLS это может произойти до рукопожатия или на самом первом этапе.

Более пристальный взгляд на то, что составляет набор шифров

Как мы упоминали ранее, набор шифров выглядит по-разному в зависимости от того, какая версия протокола TLS используется. Текущие стандарты - TLS 1.2 и 1.3. Хотя 1.3 является более новой и более безопасной версией, 1.2 все еще широко используется. Разница между этими двумя версиями очевидна из количества используемых ими шифров и длины их комплектов шифров. Для TLS 1.2 существует 37 шифров, тогда как в TLS 1.3 их всего пять. Взгляните на эти два примера набора шифров:

  • Набор шифров TLS 1.2: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

  • Набор шифров TLS 1.3: TLS_AES_256_GCM_SHA384

Как видите, пакет TLS 1.3 намного короче, но почему он лучше? Чтобы объяснить, давайте рассмотрим, что означают некоторые из этих букв и цифр.

В TLS 1.2 набор шифров состоит из четырех шифров:

  1. Алгоритм обмена ключами: в приведенном выше примере он представлен ECDHE (Elliptic Curve Diffie Hellman). Это описывает, как будут обмениваться ключами клиент и сервер. Другие алгоритмы обмена ключами включают RSA и DH.

  2. Алгоритм аутентификации: в приведенном выше примере он представлен ECDSA (алгоритм цифровой подписи с эллиптической кривой). Это цифровая подпись, которая показывает тип сертификата и помогает клиенту проверить, является ли SSL веб-сайта законным. Другие алгоритмы аутентификации включают RSA и DSA.

  3. Шифрование массовых данных: этот шифр обеспечивает безопасную передачу данных между клиентом и сервером. В приведенном выше примере он представлен AES_256_GCM.

  4. Алгоритм кода аутентификации сообщения (MAC): в приведенном выше примере он представлен SHA384. Это алгоритм хеширования, который как аутентифицирует сообщения, так и обеспечивает целостность данных.

Для сравнения, набор шифров TLS 1.3 имеет только два шифра: шифрование массовых данных и алгоритм MAC. Чем безопаснее, если использовать два, а не четыре? Это связано с тем, что нет необходимости отображать тип алгоритма обмена ключами и, как следствие, алгоритм аутентификации, поскольку существует только один принятый тип алгоритма обмена ключами, которым является эфемерный метод Диффи-Хеллмана.

Это сокращает количество сообщений, которыми обмениваются во время подтверждения TLS, с двух циклов приема-передачи в TLS 1.2 до одного приема-передачи в 1.3, что упрощает весь процесс. Кроме того, 37 наборов шифров, поддерживаемых TLS 1.2, могут различаться по качеству, причем некоторые из них слабее других. Наборы шифров TLS 1.3 по сравнению с ними более надежны. В целом это приводит к уменьшению задержки и более быстрым и безопасным соединениям.

Можете ли вы выбрать предпочтительный набор шифров?

Да, можете. Для этого вам потребуется доступ к настройкам вашего сервера. Вопреки распространенному мнению, используемая версия TLS зависит не от используемого SSL-сертификата, а от конфигурации вашего сервера. Наборы шифров, которые вы можете выбрать, зависят от того, какая версия TLS включена на вашем сервере. Вы можете проверить, какие протоколы TLS и наборы шифров поддерживаются на вашем сервере, используя бесплатную службу ssllabs.

Вы можете изменить свои наборы шифров с помощью этого удобного инструмента от Mozilla. Он показывает шаблоны конфигураций сервера, которые помогут вам легче редактировать конфигурацию виртуального хоста вашего домена. Вам просто нужно выбрать свой сервер из списка опций и желаемый уровень безопасности (современный, средний или старый). Вам будет предоставлен пример настройки виртуального хоста, которую вы можете использовать для редактирования конфигураций.


Подписка оформлена!
Подпишись на новости и получи персональную скидку!

Возврат к списку


5 шагов к безопасному сайту с SSL
Заказать SSL сертификат
Создать CSR запрос
Пройти валидацию
Получить SSL сертификат
Установить SSL сертификат
sectigo_trust