Вы заняты настройкой безопасного соединения для нового веб-сервера и должны выбрать один из двух протоколов: TLS 1.2 против TLS 1.3. Хотя они могут показаться взаимозаменяемыми, их отличительные особенности могут существенно повлиять на производительность и безопасность Вашего сервера.
Например, в TLS 1.3 улучшен процесс рукопожатия, который ускоряет безопасные соединения. Но это лишь верхушка айсберга. Давайте немного углубимся в технические нюансы этих двух протоколов, чтобы Вы поняли различия между TLS 1.2 и 1.3.
Оглавление
Что такое рукопожатие TLS 1.2?
Чтобы лучше понять суть рукопожатия TLS 1.2, давайте посмотрим, как клиент и сервер устанавливают защищенное соединение. Первый шаг – это инициация, когда клиент посылает серверу сообщение ‘Client Hello’. Это сообщение содержит версию TLS (Transport Layer Security) клиента, сюиты шифров и случайную байтовую строку, известную как Client Random.
В ответ сервер отправляет сообщение ‘Server Hello’. Это сообщение содержит выбранную сервером версию протокола, набор шифров и байтовую строку Server Random. После этого сервер отправляет сообщения об обмене сертификатами и ключами сервера.
Затем клиент проверяет сертификат сервера в Центре сертификации (Certificate Authority, CA). Если проверка прошла успешно, клиент отправляет сообщение Client Key Exchange, которое содержит предварительный мастер-секрет, зашифрованный открытым ключом сервера.
Затем клиент и сервер используют предварительный мастер-секрет и соответствующие случайные строки байтов для генерации одного и того же симметричного сеансового ключа. Затем клиент отправляет сообщение ‘Change Cipher Spec’, указывая, что он будет шифровать все дальнейшие коммуникации с помощью сеансового ключа.
Чтобы завершить рукопожатие TLS, клиент отправляет ‘Encrypted Handshake Message’ для подтверждения успешного установления ключа сессии. Сервер также отправит аналогичное сообщение клиенту.
Что такое рукопожатие TLS 1.3?
TLS 1.3 исключает несколько этапов, сокращая количество раундов между клиентом и сервером с двух до одного за счет объединения сообщений приветствия клиента и сервера. Клиент отправляет “Client Hello” с поддерживаемыми им наборами шифров и случайным числом. Вместо того чтобы ждать приветствия от сервера, клиент сразу же отправляет свой ключевой ресурс, предсказанный шифр и сертификат сервера.
Этот оптимизированный процесс, известный как ‘Zero Round Trip Time’ или 0-RTT, не только ускоряет рукопожатие, но и значительно улучшает общее время соединения. В TLS 1.3 также введена концепция “Ранние данные”, позволяющая клиенту отправлять некоторые данные в первом раунде, что еще больше повышает производительность.
С точки зрения безопасности, рукопожатие TLS 1.3 повышает уровень конфиденциальности за счет шифрования большей части процесса. В отличие от этого, TLS 1.2 раскрывает некоторые подробности о сервере и клиенте в открытом виде, что создает потенциальные риски для безопасности.
В чем разница между TLS 1.2 и 1.3?
Ключевое различие между TLS 1.2 и 1.3 заключается в самом процессе рукопожатия. В более поздних версиях, таких как TLS 1.3, рукопожатие упрощается и ускоряется за счет сокращения времени на обход – это лишь одна из модернизаций, повышающих производительность и безопасность. Понимание ключевых различий между TLS 1.3 и 1.2 поможет Вам перейти на последнюю версию 1.3.
Время поездки туда и обратно (RTT)
Время прохождения в оба конца (Round Trip Time, RTT) – это время, которое требуется сигналу, чтобы пройти от отправителя до получателя и обратно. В таких протоколах, как TLS, RTT имеет решающее значение, поскольку напрямую влияет на то, как быстро браузер пользователя и сервер веб-сайта установят безопасное соединение.
В TLS 1.2, когда Ваш браузер подключается к защищенному веб-сайту, процесс рукопожатия требует двух раундов между клиентом (Вашим браузером) и сервером, прежде чем они смогут начать безопасный обмен данными.
Двухэтапное рукопожатие в TLS 1.2 вносит задержку, особенно заметную в ситуациях, когда расстояние между клиентом и сервером велико, что приводит к увеличению задержки.
С другой стороны, TLS 1.3 требует только одного раунда между клиентом и сервером для установления безопасного соединения. Устраняя один раунд обмена данными “туда-сюда”, TLS 1.3 сокращает время на установку защищенного соединения, что приводит к более быстрой и эффективной передаче данных.
Более быстрое рукопожатие TLS
В TLS 1.2 начальный процесс рукопожатия происходит в открытом тексте, что требует дополнительных шагов шифрования и дешифрования. Этот процесс, включающий 5-7 обменов пакетами между Вашим устройством и сервером, приводит к замедлению работы.
Однако TLS 1.3 вводит изменение по умолчанию. Он шифрует сертификат сервера во время рукопожатия, позволяя осуществлять рукопожатие TLS всего лишь с помощью 0-3 пакетов, значительно сокращая или даже устраняя прежние накладные расходы.
В результате соединения становятся более быстрыми и отзывчивыми, поскольку во время рукопожатия между Вашим устройством и сервером происходит меньше обратного обмена данными.
Шифр-пакеты
TLS 1.2 поддерживает множество наборов шифров, обеспечивая различные комбинации алгоритмов шифрования, аутентификации и хэширования. Однако обилие вариантов повышает риск выбора менее безопасных наборов шифров, что потенциально может подвергнуть коммуникации уязвимости.
В TLS 1.3 поддерживаемые наборы шифров сужены до пяти, все они основаны на принципе аутентифицированного шифрования с сопутствующими данными (AEAD). Это упрощение направлено на повышение безопасности и эффективности.
Ограниченные, но безопасные опции набора шифров в TLS 1.3 снижают сложность переговоров и уменьшают вероятность непреднамеренного использования слабых криптографических алгоритмов.
Совершенная передовая секретность
TLS 1.3 по умолчанию включает Perfect Forward Secrecy (PFS). Это означает, что даже если кому-то удастся украсть секретный ключ, используемый для Вашего безопасного общения, он не сможет расшифровать сообщения из прошлого. Это все равно, что регулярно менять замки на своей двери.
Теперь, в TLS 1.2, использование этой дополнительной функции безопасности стало необязательным. Таким образом, если Вы специально не выбирали его, существовал шанс, что если кто-то завладеет Вашим секретным ключом, он сможет расшифровать и прочитать Ваши предыдущие сообщения.
По сути, TLS 1.3 гарантирует, что передача Ваших прошлых данных останется заблокированной, несмотря ни на что, обеспечивая более высокий уровень безопасности по сравнению с TLS 1.2.
Механизм обмена ключами
В TLS 1.2 используются различные методы обмена ключами, включая RSA (Rivest-Shamir-Adleman) и Diffie-Hellman. RSA предполагает отправку сервером клиенту зашифрованного премастер-секрета, а Диффи-Хеллман позволяет клиенту и серверу установить общий секрет по открытому каналу. Однако TLS 1.2 часто по умолчанию использует RSA для обмена ключами.
Теперь, в TLS 1.3, произошел заметный сдвиг в механизме обмена ключами по умолчанию. Протокол использует обмен ключами Диффи-Хеллмана, в частности, вариант эллиптической кривой (ECDHE). Этот метод обеспечивает более эффективное и безопасное согласование ключей шифрования.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Рекомендуется ли по-прежнему TLS 1.2?
TLS 1.2 остается безопасным, если настроить его так, чтобы исключить слабые шифры и алгоритмы; однако более новый TLS 1.3 предпочтительнее из-за поддержки современного шифрования, отсутствия известных уязвимостей и улучшенной производительности.
Включен ли TLS 1.3 по умолчанию?
Состояние TLS 1.3 по умолчанию зависит от конкретного программного обеспечения или сервиса. Однако многие современные реализации включают TLS 1.3 по умолчанию для повышения безопасности и производительности. Обратитесь к документации по Вашей ОС или серверу за дополнительной информацией.
Является ли TLS 1.3 более безопасным, чем 1.2?
Да, TLS 1.3 более безопасен, чем TLS 1.2. Он отличается улучшенными криптографическими алгоритмами, повышенной устойчивостью к атакам и упрощенным процессом рукопожатия. Для повышения безопасности рекомендуется перейти на TLS 1.3.
Совместим ли TLS 1.3 с 1.2 в обратную сторону?
Да, TLS 1.3 разработан с учетом обратной совместимости с TLS 1.2, что позволяет системам, поддерживающим TLS 1.3, взаимодействовать с теми, которые поддерживают только TLS 1.2.
Почему рукопожатие TLS 1.3 быстрее, чем TLS 1.2?
Рукопожатие TLS 1.3 быстрее, чем TLS 1.2, потому что оно сокращает количество раундов, необходимых для процесса рукопожатия, включает более эффективные криптографические алгоритмы и минимизирует ненужные обмены данными.
Нижняя линия
Вы узнали, что рукопожатие TLS 1.2 – это сложный, многоступенчатый процесс, в то время как TLS 1.3 упрощает его до более быстрого и безопасного обмена.
Основные различия между TLS 1.2 и 1.3 заключаются в эффективности и безопасности. Благодаря улучшенному шифрованию и более быстрым соединениям, TLS 1.3 – это явное обновление. Поэтому, если Вы еще не включили TLS 1.3 на своем сервере, сейчас самое время это сделать.
Обновление до TLS 1.3 не только повышает производительность, но и проактивно защищает от развивающихся угроз безопасности. Это шаг, который позволяет сохранить целостность и конфиденциальность онлайн-взаимодействий.
Сэкономьте 10% на SSL-сертификатах при заказе сегодня!
Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10