TLS-сессия: Установка и согласование параметров шифрования

Для передачи данных в HTTP используется симметричное шифрование, требующее ключ, известный только веб-браузеру и веб-серверу. Рассмотрим процесс установления TLS-сессии.

Процесс установления TLS-сессии

После установления TCP-сессии начинается установление TLS-сессии. Веб-браузер отправляет веб-серверу список поддерживаемых наборов параметров шифрования (cipher suites). Веб-сервер выбирает один из них — это согласование набора параметров шифрования.

Набор параметров шифрования (Cipher Suite)

Набор параметров шифрования — это набор протоколов, используемых в TLS-связи. Он определяет генерацию симметричного ключа и алгоритмы шифрования/расшифровки данных. Для шифрования данных не используется RSA. Набор также включает информацию о хеширующем протоколе (обычно SHA) и длине хеша.

Верификация сертификата

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

Генерация симметричного ключа

После успешной проверки сертификата генерируется симметричный ключ для шифрования данных. Возможны варианты:

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

Завершение установления сессии

Когда обе стороны имеют одинаковый ключ, начинается обмен данными между веб-сервером и веб-браузером.

Анализ с помощью Wireshark

В следующей лекции рассмотрим установление TLS-сессии с помощью Wireshark.

Что будем искать? Например,программа