Шифронаборы в TLS-рукопожатии

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

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

Шифронаборы TLS 1.2

Что здесь что: • TLS — соответственно, протокол; • ECDHE — алгоритм по обмену ключами; • ECDSA — алгоритм, обеспечивающий аутентификацию; • AES 128 GCM — алгоритм для симметричного шифрования; • SHA256 — алгоритм, обеспечивающий хеширование.

В вышеприведенном примере применяется DH — эфемерная система Диффи-Хеллмана с эллиптической кривой для обмена ключами, а также алгоритм цифровой подписи эллиптической кривой. Кроме того, в целях выполнения аутентификации систему DH также можно соединить с RSA (функционирует в качестве алгоритма цифровой подписи).

Перечень наиболее распространенных шифронаборов TLS 1.2 выглядит следующим образом:

Шифронаборы TLS 1.3

Что у нас здесь: • TLS — протокол; • AES 256 GCM — это AEAD (алгоритм аутентифицированного шифрования с присоединенными данными); • SHA384 — это HKFD (алгоритм функции формирования хешированного ключа).

Здесь тоже используется обмен эфемерными ключами Диффи-Хеллмана, однако нам неизвестны параметры, ведь первые 2 алгоритма в шифронаборе TLS 1.2 нам больше не нужны. На деле данные функции все еще выполняются, однако их просто уже не надо согласовывать во время рукопожатия.

Здесь в целях шифрования большого объема данных применяется AES — Advanced Encryption Standard. Он функционирует в режиме счетчика Галуа с применением 256-битных ключей.

Осталось указать 5 шифронаборов, поддерживаемых протоколом TLS 1.3:

По материалам https://www.thesslstore.com/blog/explaining-ssl-handshake/.