Что это зачем нужен и как работает

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

False Start

После успешного завершения TLS Handshake начинается фаза False Start, во время которой подключенные узлы могут начать обмен данными до завершения полного шифрования. Это ускоряет процесс коммуникации и повышает производительность передачи данных.

Chain of Trust

Завершающим этапом процесса является Chain of Trust, где сервер использует свой цифровой сертификат для подтверждения своей подлинности перед клиентом. Этот сертификат содержит открытый ключ сервера, который клиент использует для шифрования данных.

Заключение

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

TLS Рукопожатие

TLS Handshake – это своеобразное рукопожатие, в ходе которого взаимодействующие узлы решают, какая версия протокола и параметры соединения будут использованы для дальнейшего общения. Как же TLS-соединение выполняется на практике?

На первом этапе пользователь отправляет серверу запрос “hello”, сигнализируя о том, что хочет установить связь. Этот запрос содержит информацию об алгоритмах шифрования, которые подходят данному узлу сети.

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

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

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

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

TLS False Start

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

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

Процедура False Start повышает производительность протокола и значительно снижает вычислительные затраты.

TLS Chain of Trust

TLS Chain of Trust – это еще одна неотъемлемая процедура TLS протокола, которая отвечает за аутентификацию узлов, то есть проверку авторства передаваемой информации. Эта цепочка доверия многократно проверяет подлинность – соответствие сертификатов заданным стандартам, и в случае, если сертификат скомпрометирован, отзывает данные и прерывает транзакцию и сессию в целом.

Как проверить TSL сертификат сайта

Проверить сайт на наличие TLS сертификата можно непосредственно в поисковой строке или с помощью соответствующих сервисов. Сделать это очень просто. Для этого необходимо перейти на сайт одного из сервисов проверки протоколов, вставить в соответствующее поле адрес интересующего веб-сайта и подтвердить операцию. По окончанию проверки вы увидите протоколы, которые этот сайт поддерживает. Среди них должен оказаться протокол TLS 1.2. Если же вместо этого указаны протоколы SSL 2.0 или SSL 3.0, такому сайту нельзя доверять.

SSL и TSL – в чем отличие?

SSL и TSL: основные различия

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

Про сертификаты:  Где можно взять сертификат соответствия на переоборудование транспортных средств? - Правовед.RU

Но стоит учитывать, что это разные версии криптографического протокола, и на данный момент безопасной является лишь одна – TLS 1.2, которая регулярно обновляется и актуализируется, в отличие от своей предшественницы – SSL, имеющей уязвимости к некоторым современным угрозам в киберпространстве.

Дополнительные меры безопасности в интернете

Хотя TSL является протоколом безопасности, он не может обеспечить 100% защиту в интернете, как не могут ее обеспечить и протоколы более высокого уровня, такие как HTTPS. Поэтому к обеспечению собственной безопасности в сети стоит подходить комплексно, не теряя при этом бдительности при совершении всевозможных онлайн-операций.

Повысить уровень интернет-безопасности можно следующим образом:

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

Такие простые привычки уберегут вас от кражи данных и связанных с этим финансовых потрясений и других переживаний.

Онлайн-безопасность в один клик

Оставайтесь в безопасности с ведущим VPN в мире. Если вы что-то оплачиваете в интернете, то мошенники до сих пор не опустошили ваши карточки именно благодаря TLS.

Заключение

Давным-давно, когда интернет был ещё совсем юным, данные летали по Сети как есть — в открытом виде. Но время шло, и всё больше наших повседневных действий стало уходить на сайты: от покупок до записи к врачу, от общения до сделок с недвижимостью. Стало ясно, что весь этот трафик надо как-то шифровать.

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

Основные факты о TLS

TLS, или transport layer security, — это протокол, который защищает данные во время их передачи по Сети. Он работает на четвёртом, транспортном, уровне сетевой модели OSI, где отвечает за создание безопасных сессий обмена данными между браузером и сервером.

Изначально TLS использовали в основном для соединения со страницами оплаты — однако сейчас он работает почти на каждом уважающем себя сайте. Понять, что сайт использует TLS, легко: если его адрес начинается с https, а рядом красуется символ замочка — значит, ваши данные защищены.

Аббревиатура HTTPS означает, что сайт использует защищённую версию протокола HTTP — Hypertext Transfer Protocol Secure. По сути, это и есть обычный HTTP, только нашпигованный средствами защиты, за которые как раз и отвечает TLS.

Skillbox Media

Как работает TLS: аналогия с фильмом “Чёрная пантера”

Чтобы понять, как работает TLS, проведём аналогию с фильмом Чёрная пантера. Если помните, у вакандийцев есть два характерных атрибута коммуникации.

Характеристики вакандийцев

  1. Фирменные приветствия со скрещёнными на груди руками, позволяющие узнавать друг друга.
  2. Вакандийский язык, понятный в основном жителям этой страны.

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

Процесс установления безопасного соединения

  1. Установление соединения между браузером и сервером.
  2. Обмен секретными ключами.
  3. Выбор алгоритмов шифрования.
  4. Начало общения на загадочном языке, понятном только им.

Дальше в статье мы подробнее разберём процесс рукопожатия и обмена сообщениями в TLS — но перед этим обсудим ещё одну важную тему.

История SSL и появление TLS

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

Проблема с проверкой паддинга

  1. Паддинг — блок данных, добавляемый к сообщению для соответствия определённой длине.
  2. Хакеры использовали неправильный паддинг для вычисления исходного сообщения.
  3. Протокол SSL не мог полностью исправить эту уязвимость из-за своего дизайна.

Переход к протоколу TLS

  1. Инженерный совет интернета (IETF) улучшил протокол и исправил уязвимости.
  2. Выпущен новый протокол под названием TLS.
  3. Новый протокол обладает более совершенными механизмами шифрования и аутентификации.

Исправить уязвимость с проверкой паддинга стало значительно сложнее с появлением протокола TLS.

Про сертификаты:  Принцип улучшения систем управления качеством достигается за счет непрерывного процесса повышения качества, широко известного как непрерывное повышение качества

Skillbox Media

Сегодня протокол SSL считается устаревшим — использовать его не рекомендуется из-за вышеуказанных проблем. Однако термины SSL и TLS до сих пор часто путают и используют как синонимы. Но теперь вы знаете, как всё обстоит на самом деле, и можете помочь «распутаться» окружающим.

Чтобы защитить данные, TLS создаёт во время передачи специальный канал, где их нельзя прочитать или изменить без секретного ключа. Ключ — это подсказка, как именно читать сообщение. Самый простой пример ключа — это чтение первых букв в строке:

Вашими молитвами только и живём, дорогой Игорь Николаевич!

Совсем не ограничиваем себя.

Если урожай хороший народится — доведём мельницу до порядку.

Покуда в Петербурге гуляния, уж дайте себе волю.

Любуйтесь красотами и с людьми знакомьтесь.

О нас не беспокойтесь, Бог даст — Тверь не пропадёт.

Хорошо живём, ни на что не жалуемся.

Ответа скорого не ждём, но пишите уж по возможности.

В реальности ключи, конечно, намного сложнее, но смысл тот же — подсказка для правильного чтения.

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

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

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

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

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

Что это зачем нужен и как работает

Помимо шифрования в TLS используется несколько алгоритмов хеширования.

Хеширование — это преобразование массива данных в строку фиксированной длины. Для хеш-функции неважно, что именно вы через неё пропустите: полный текст «Войны и мира», трёхзначное число или email-адрес — на выходе будет всегда строка из заранее известного количества символов. Если поменять в исходном массиве хоть один знак, то хеш тоже изменится.

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

На сайте wtools.io можно сделать хеш из любого текста — мы, например, захешировали текст этой статьи:

Основной алгоритм хеширования в TLS — это SHA на 256, 512 или 384 бит. Использование MD5 и SHA-1 не рекомендуется — с современными мощностями их слишком легко взломать обычным перебором.

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

AES (Advanced Encryption Standard). Симметричный алгоритм шифрования, использующий для защиты данных ключи длиной от 128 до 256 бит. Чем длиннее ключ, тем выше защита, но ниже производительность.

3DES (Triple Data Encryption Standard). Чуть менее безопасный алгоритм. Он делает то же самое, что и AES, но тремя разными ключами. Это как если бы вы спрятали свои данные в коробку, эту коробку в другую коробку, а её в свою очередь убрали в третью коробку. Получается сложная конструкция из коробок, которая не даёт посторонним людям узнать, что внутри.

ChaCha20-Poly1305. Симметричный алгоритм, который использует ChaCha20 для генерации ключей и Poly1305 для создания MAC — кода аутентификации сообщений. Сервер вычисляет MAC и сравнивает его с полученным значением от клиента. Если совпало — значит, данные никто не менял.

Настало время выложить карты на стол. На самом деле, TLS — это не один протокол, а целых два: протокол рукопожатия и протокол записи. Каждый из них отвечает за свой набор функций. Коротко расскажем, в чём их смысл.

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

Про сертификаты:  Сертификат качества. Полиэтиленовые гранулы - Лицензии и сертификаты - РОССПОЛИМЕР в Москве

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

Клиент и сервер подтверждают, что установка соединения прошла успешно и что они готовы к защищённой передаче данных.

Когда соединение установлено, самое время наконец отправить вам нужную статью. И тут в игру вступает протокол записи (record protocol): он отвечает за шифрование и передачу данных между сайтом и браузером. Он работает поверх установленного соединения по параметрам, о которых клиент и сервер договорились во время рукопожатия. И совершается эта магия за пять шагов:

Данные разбиваются на фрагменты меньшего размера для последующего шифрования.

Данные сжимаются, их объём уменьшается (если применяется сжатие).

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

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

Зашифрованные и аутентифицированные фрагменты данных передаются по Сети между клиентом и сервером.

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

Чтобы ускорить обмен сообщениями, разработчики добавили в TLS механизм возобновления сессий — 0-RTT (zero round trip time resumption, нулевое время приёма-передачи). Он позволяет клиенту и серверу возобновить сессию, если она почему-то была прервана — например, из-за ошибки сети или бага на стороне сервера.

На первый взгляд, выглядит круто — но есть у этого механизма и недостатки:

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

❌ «Перегрузка» токенами. Если сервер обслуживает сайт с миллионами пользователей, хранить в памяти токены каждой сессии может быть проблематично. К счастью, на этот случай придумали механизм session ticket, который позволяет серверу «не держать всё в себе».

❌ Ограниченные динамические параметры. Динамические параметры — это своего рода условные знаки, которые стороны используют во время сессии, чтобы подтвердить, что они — это всё ещё они. В механизме 0-RTT эти параметры используются реже, чем в обычном режиме.

❌ Задержки в ответах. В рамках сессии 0-RTT клиент отправляет порцию данных на сервер до того, как получит ответ о «доставке» предыдущей. Это может привести к рассинхрону между сервером и клиентом — клиент может отправить несколько запросов до того, как получит ответ на первый.

Атака типа man-in-the-middle («человек посередине») — одна из частых угроз безопасности в сетевых коммуникациях. Так называют ситуацию, когда злоумышленник внедряется в коммуникационный канал между клиентом и сервером, перехватывает и модифицирует передаваемые данные.

В TLS есть механизмы для защиты от таких атак:

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

Давайте посмотрим, как менялся протокол TLS и какие фишки в нём появлялись от версии к версии.

Что изменилось (по сравнению с SSL 3.0):

Абсолютной защиты данных не существует. Как и у любой технологии, у TLS есть свои уязвимости:

Большинство угроз безопасности и сценариев атак, перечисленных выше, остаются актуальными и для TLS 1.3. Однако TLS 1.3 привнёс улучшения и изменения, чтобы справиться с некоторыми из этих угроз и сценариев атак.

Хотя TLS 1.3 предлагает значительные улучшения в области безопасности, всё равно важно оставаться внимательным к новым угрозам и сценариям атак, которые могут возникнуть в будущем.

Напоследок — несколько советов для сетевиков и администраторов сайтов о том, как правильно использовать протокол TLS, чтобы добиться максимальной безопасности своих ресурсов:

Что это зачем нужен и как работает

Заставьте нейросети работать на вас!Расскажем на бесплатном вебинаре: 13 топ-экспертов, кейсы и практика. Научитесь применять ИИ и зарабатывайте больше!

Оцените статью
Мой сертификат
Добавить комментарий