Важное предупреждение: Google и Yahoo будут требовать DMARC с апреля 2024 года.
PowerDMARC

Что такое рукопожатие TLS?

Что такое рукопожатие TLS

Что такое рукопожатие TLS

Время чтения: 4 мин

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

Что такое рукопожатие TLS?

Подобно рукопожатию, которое мы делаем в реальной жизни, рукопожатие TLS является вводным. Оно указывает на безопасную связь между двумя серверами, где происходит обмен сообщениями для подтверждения друг друга, проверки друг друга, установки криптографических кодов и согласования сеансовых ключей. 

Процесс рукопожатия TLS начинается с первоначального "Привет" и продолжается до стадии, когда клиент и сервер могут общаться через защищенное соединение. 

Как работает рукопожатие TLS?

Теперь, когда вы знаете, что такое рукопожатие TLS, давайте посмотрим, как оно работает.

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

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

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

TLS handshake failed означает, что соединение прерывается, и клиент видит сообщение об ошибке '503 Service Unavailable'. 

TLS против рукопожатий SSL

SSL означает Secure Sockets Layer, оригинальный протокол безопасности, созданный для HTTP. SSL был заменен на TLS, а рукопожатия SSL теперь называются рукопожатиями TSL.

Когда происходит рукопожатие TLS?

Браузер запрашивает сервер происхождения сайта всякий раз, когда пользователь запрашивает навигацию по сайту через защищенное соединение. Это также происходит, когда любой другой канал связи использует HTTPS. Сюда входят вызовы API и DNS по защищенной сети.

Этапы рукопожатия TLS

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

Шаг 1: Сообщение "Приветствие клиента

Сервер клиента начинает процесс рукопожатия TLS, отправляя сообщение "hello" на главный сервер веб-сайта. Сообщение состоит из важных деталей, таких как версия TLS и поддерживаемые наборы шифров, а также несколько случайных байтов, называемых "клиентским рандомом".

Шаг 2: Сообщение 'Server Hello'

Сервер отвечает на сообщение hello клиента, отправляя ответ, содержащий SSL-сертификат, выбранный сервером набор шифров и строку 'server random', сгенерированную сервером. 

Шаг 3: Аутентификация

На этом этапе рукопожатия TLS клиент подтверждает SSL-сертификат сервера в центре выдачи. Это делается для проверки подлинности сервера и того, что клиент общается с владельцем домена.

Шаг 4: Секрет премастера

Секрет премастера, который представляет собой еще одну случайную строку байтов, отправляется клиентом. Он зашифрован открытым ключом и может быть расшифрован сервером с помощью закрытого ключа. 

Шаг 5: Использование закрытого ключа

Секрет премастера расшифровывается сервером.

Шаг 6: Создание сеансовых ключей

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

Шаг 7: Клиент готов

Клиент отправляет зашифрованное ключом сессии сообщение "готово".

Шаг 8: Сервер готов

Сервер отправляет зашифрованное ключом сессии сообщение "готово". 

Шаг 9: Обеспечено безопасное симметричное шифрование 

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

Рукопожатие TLS 1.3 - в чем разница?

TLS 1.3 не поддерживает RSA; следовательно, шаги немного отличаются.

Клиент Здравствуйте

Клиент отправляет сообщение "Client Hello", которое включает в себя версию протокола, случайный номер клиента и список шифров. Количество наборов шифров уменьшается, так как в версии TLS 1.3 нет поддержки наборов шифров. 

Это сообщение также содержит параметры, используемые для оценки секрета премастера. Это сокращает длину рукопожатия, что является основным отличием рукопожатий TLS 1.3 от рукопожатий TLS 1.0, 1.1 и 1.2. 

Сервер создает главный секрет

На этом этапе сервер получает случайные параметры клиента и параметры и наборы шифров клиента. Поскольку он вырабатывает свой собственный серверный random, он генерирует главный секрет.

Приветствие сервера и завершение работы

Server hello содержит сертификат сервера, криптографическую подпись, серверный random и выбранный набор шифров. Он также посылает сообщение "готово", поскольку у него есть главный секрет. 

Заключительные шаги и завершение работы с клиентом

Клиент проверяет подпись и сертификат, генерирует главный секрет и отправляет сообщение "Готово".

Достигнута безопасность симметричного шифрования

После завершения квитирования TLS связь продолжается с использованием сеансовых ключей.

Как читать отчеты TLS?

Отчеты TLS могут предоставить ценную информацию о несогласованных рукопожатиях TLS во время аутентификации MTA-STS, а также о проблемах с доставкой. PowerDMARC's TLS-RPT предлагает отчеты в человекочитаемом формате, который анализируется из исходных JSON-файлов.

Чтобы читать отчеты TLS с сегодняшнего дня, начните с нами бесплатную пробную версию!

Почему бизнес- и веб-приложения должны использовать рукопожатие TLS?

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

Выход из мобильной версии