Что такое рукопожатие TLS?
TLS шифрование протокол шифрования и аутентификации, защищающий интернет-коммуникации. TLS handshake — это процесс, обеспечивающий безопасность соединения с сервером с помощью асимметричной криптографии. Веб-сайты, использующие сертификат TLS, могут использовать протокол HTTPS для безопасного соединения с сервером. В этом блоге подробно рассказывается о рукопожатии TLS, включая этапы рукопожатия TLS, методологию работы и многое другое.
Что такое рукопожатие TLS?
Подобно рукопожатию, которое мы делаем в реальной жизни, рукопожатие TLS является вводным. Оно указывает на безопасную связь между двумя серверами, где происходит обмен сообщениями для подтверждения друг друга, проверки друг друга, установки криптографических кодов и согласования сеансовых ключей.
Процесс рукопожатия TLS начинается с первоначального «Привет» и продолжается до стадии, когда клиент и сервер могут общаться через защищенное соединение.
Как работает рукопожатие TLS?
Теперь, когда вы знаете, что такое рукопожатие TLS, давайте посмотрим, как оно работает.
Таким образом, процесс рукопожатия TLS работает только тогда, когда на сервере установлен сертификат TLS для веб-сайта или приложения. Этот сертификат содержит важные сведения о владельце домена и открытый ключ сервера для подтверждения его личности. Этот последовательный процесс устанавливает TLS-соединение. Таким образом, всякий раз, когда пользователь запрашивает доступ к веб-сайту с поддержкой TLS, начинается рукопожатие TLS между его устройством и веб-браузером, в ходе которого происходит обмен следующим набором данных:
- Используемая версия TLS (TLS 1.0, 1.2, 1.3 и т.д.).
- Оцените используемые комплекты шифрования.
- Проверка подлинности сервера с помощью сертификата 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 TLS-RPT предлагает отчеты в человекочитаемом формате, который анализируется из исходных файлов JSON.
Чтобы читать отчеты TLS с сегодняшнего дня, начните с нами бесплатную пробную версию!
Почему бизнес- и веб-приложения должны использовать рукопожатие TLS?
Протокол TLS защищает веб-приложения от нарушений и других кибератак, поскольку HTTPS — это защищенная версия расширения HTTP. Веб-сайты, имеющие сертификат TLS, могут использовать протокол HTTPS для безопасного соединения с пользователями. Его цель — защитить конфиденциальную информацию, такую как личные данные, финансовые данные, учетные данные для входа в систему и т.д.
Менеджер по цифровому маркетингу и написанию контента в PowerDMARC
Ахона работает менеджером по цифровому маркетингу и контент-писателем в PowerDMARC. Она страстный писатель, блогер и специалист по маркетингу в области кибербезопасности и информационных технологий.
Последние сообщения Ахона Рудра (см. все )
- Как предотвратить появление знака вопроса неавторизованного пользователя Gmail? — 25 октября 2023 г.
- Важность защищенной электронной почты для формирования доверия у клиентов — 25 октября 2023 г.
- Тег DMARC «t=» заменяет «pct» в DMARCbis — 25 октября 2023 г.
Что такое рукопожатие SSL/TLS? Объясним за 3 минуты
Рукопожатие SSL/TLS состоит из последовательных шагов, где клиент и сервер идентифицируют друг друга и начинают общаться через безопасный SSL/TLS-туннель.
Процесс называется рукопожатием или handshake, потому что клиент и сервер встречают друг друга впервые. Рукопожатие начинается с идентификации и заканчивается генерированием секретного ключа.
SSL/TLS-рукопожатие — что это?
Рукопожатие SSL – это разговор между клиентом и сервером, где каждый хочет достичь одной и той же цели – безопасно общаться с помощью симметричного шифрования. При таком шифровании у двух сторон один ключ для шифрования и дешифрования сообщений. Такой ключ называется общим секретным – у всех пользователей, которые обмениваются данными, один и тот же ключ.
Давайте представим выполнение TLS-рукопожатия как диалог клиента и сервера.
Клиент: «Привет! Я хочу установить безопасное общение между нами. Вот мой набор шифров и совместимая версия SSL/TLS».
Сервер: «Привет, клиент. Я проверил твой шифр и версию SSL/TLS. Думаю, мы можем продолжить общение. Вот мой файл сертификата и открытый ключ. Проверь их».
Клиент: «Сертификат в порядке. Но мне нужно проверить твой закрытый ключ. Я сейчас сгенерирую и зашифрую общий секретный ключ с помощью твоего открытого ключа. Расшифруй его с помощью своего закрытого ключа. Если все получится, ты создашь главный секрет, который мы будем использовать для шифрования и расшифрования информации».
Сервер: «Готово».
Теперь, когда клиент и сервер уверены друг в друге, информация, передаваемая между ними, будет шифроваться с помощью главного секрета. Как только проверка закончится, информация начнет шифроваться только через главный секретный ключ.
Клиент: «Я отправлю тебе тестовое сообщение, чтобы проверить, что наш главный секрет работает. Отправь мне расшифрованную версию этого сообщения. Если он работает, наши данные в безопасности».
Сервер: «Да, все работает».
Теперь, каждый файл, который будет передаваться от клиента к серверу и обратно, будет зашифрован. Это и есть SSL/TLS-рукопожатие.
Читайте также:
- SSL-сертификат – что это такое
- Как установить SSL-сертификат
- Как работает SSL-сертификат
Перевод «handshake» на русский
Я представляю себе какое-то секретное рукопожатие между режиссерами, когда тайно вы обмениваетесь конфиденциальными номерами.
I know the handshake and everything.
Конечно, я знаю рукопожатия и все прочее.
His handshake is as firm as his conviction that reporters mean trouble.
Его рукопожатие так же крепко, как и убежденность в том, что от журналистов можно ждать лишь неприятностей.
All I need is a handshake and your word.
Все, что мне нужно, это рукопожатие и ваше слово.
It was the handshake of partners.
«Что касается рукопожатия — это было рукопожатие партнеров.
U.S. officials say the handshake was not pre-planned.
Позднее американские СМИ сообщили, что рукопожатие не было заранее запланировано.
You are late for the handshake.
Ну что же вы. Опоздали на рукопожатие.
Every conversation begins with with respect and ends with a handshake.
Любой деловой разговор начинается и заканчивается рукопожатием.
Thus far, all my encounters have ended with a handshake and a smile.
Тем не менее, все поединки заканчивались рукопожатием и улыбкой.
Viruses and bacteria can be transmitted for example by a handshake or objects touched by other people.
Бактерии или вирусы могут быть переданы посредством прикосновения или рукопожатия с другим человеком.
He knew me with just a handshake.
Но знаком с ним через одно рукопожатие.
During handshake men ask each other about health and state of affairs.
Во время рукопожатия стоит поинтересоваться состоянием здоровья и положением дел.
A kiss is not the same thing as a handshake.
По сути дела, поцелуй есть то же самое, что и рукопожатие.
The only legitimate form of touch in business is the handshake.
Единственная допустимая форма разрешенных телесныхприкосновений в деловой жизни — это рукопожатие.
To begin with, a handshake is customary when you are meeting somebody for the first time.
Обычаи:Рукопожатие является довольно привычным, когда встречаешь кого-то в первый раз.
An even more universal form of greeting is the handshake.
Одна из старейших форм приветствия — рукопожатие.
For example, the handshake of two people can really be much more truthful and informative, even worth a thousand words.
Рукопожатие двух людей может быть действительно гораздо правдивей и информативней — даже тысячи слов.
Initially it was expected that the meeting would be short and confined to a handshake and a little dialogue.
Изначально ожидалось, что встреча будет короткой и ограничится рукопожатием и небольшим диалогом.
It’s a handshake of chemicals that never work alone.
Это рукопожатие химических веществ, которые никогда не работают в одиночку.
Возможно неприемлемое содержание
Примеры предназначены только для помощи в переводе искомых слов и выражений в различных контекстах. Мы не выбираем и не утверждаем примеры, и они могут содержать неприемлемые слова или идеи. Пожалуйста, сообщайте нам о примерах, которые, на Ваш взгляд, необходимо исправить или удалить. Грубые или разговорные переводы обычно отмечены красным или оранжевым цветом.
TCP-рукопожатие
Для начала стоит пояснить, чем является TCP (Transmission Control Protocol) — это протокол, управляющий передачей данных. Почти всегда чтобы обеспечить надежную передачу пакетов TCP используется поверх IP, поэтому эту связку протоколов часто называют TCP/IP. По модели OSI он работает на 4-ом уровне, который также называют транспортным.
Что такое трехсторонее рукопожатие (TCP handshake)?
Чтобы установить надежное соединение, TCP использует процесс, называемый термином “трехстороннее рукопожатие” (TCP three-way/triple handshake). Установленное соединение будет полнодуплексным, то есть оба канала могут передавать информацию одновременно, а также они синхронизируют (SYN) и подтверждают (ACK) друг друга. Обмен выполняется следующим образом:
1) Клиент отправляет сегмент с установленным флагом SYN. При этом сегменту присваивается произвольный порядковый номер (sequence number) в интервале от 1 до 232 (т.н. initial sequence number), относительно которого будет вестись дальнейший отсчет последовательности сегментов в соединении.
2) Сервер получает запрос и отправляет ответный сегмент с одновременно установленными флагами SYN+ACK, при этом записывает в поле «номер подтверждения» (acknowledgement number), полученный порядковый номер, увеличенный на 1 (что подтверждает получение первого сегмента), а также устанавливает свой порядковый номер, который, как и в SYN-сегменте, выбирается произвольно.
3) После получения клиентом сегмента с флагами SYN+ACK соединение считается установленным, клиент, в свою очередь, отправляет в ответ сегмент с флагом ACK, обновленными номерами последовательности, и не содержащий полезной нагрузки.
4) Начинается передача данных.
Схема тройного рукопожатия:
Принцип работы TCP рукопожатия
В процессе передачи данных клиент и сервер обмениваются сегментами с установленными флагами ACK или PSH+ASK, поочередно подтверждая число полученных пакетов путем увеличения счетчиков порядкового номера (sequence number) и подтверждения (acknowledgement number).
Этапы 1, 2 определяют параметр подключения (порядковый номер) для одного направления, и подтверждают его. Этапы 2, 3 определяют параметр подключения для другого направления, и также подтверждают его. С их помощью устанавливается полнодуплексная связь.
Интересно, что начальные параметры SYN выбираются случайным образом при установлении соединений между клиентом и сервером.
В заключение стоит добавить, что проверка номеров последовательности приходящих пакетов и принципов, используемых при 3-way handshake, позволяют реализовать простейшие методы фильтрации DDoS-атак.