SSL Bump: что это такое и когда применяется
Узнать большеНа фоне роста числа кибератак и утечек данных пользователей многие ресурсы прилагают дополнительные усилия для улучшения защиты информации. В частности, с помощью TLS протокола уровня представлений, который использует несколько алгоритмов шифрования данных и способен устанавливать безопасные соединения. Разберемся, какие функции он выполняет, как работает, для чего нужен.
Что такое протокол безопасности TLS
TLS протокол предназначен для защиты информации в процессе ее транспортировки по сети. Он функционирует на транспортном уровне, где для передачи пакетов используется два основных протокола — TCP и UDP. TLS инкапсулируется в TCP, дальше в IP и вниз по модели OSI для передачи данных
Раньше этот протокол фигурировал в основном на страницах онлайн-оплаты, в данный момент он используется на многих сайтах. Распознать его наличие несложно по значку замка в адресной строке, начинающейся с HTTPS.
По сути, HTTPS и протокол TLS тесно взаимосвязаны. Первое наименование означает, что ресурс работает с Hypertext Transfer Protocol Secure, то есть данные на этом сайте защищаются. За алгоритмы обеспечения безопасности как раз и отвечает Transport Layer Security.
Для чего нужен протокол TLS
Основные характеристики протокола TLS
С целью защиты информации этот протокол генерирует специальные каналы передачи данных, по которым сведения проходят в измененном виде. Существует два варианта шифрования трафика:
- Симметричное, которое предполагает использование одного и того же открытого ключа для кодирования текста и его расшифровки.
- Ассиметричное — шифрование, предполагающее наличие двух ключей. Публичный открытый применяется для кодировки информации, закрытый — для возвращения ее в исходный формат.
Ассиметричное шифрование помогает защитить онлайн-транзакции, финансовые и персональные данные. Использование закрытого ключа — гарантия, что информация не будет прочитана посторонними лицами. Ассиметричное шифрование надежнее, чем симметричное, но требует больших вычислительных мощностей и гораздо медленнее работает.
Симметричное шифрование в реализации быстрее и проще, чем ассиметричное. Оно часто используется в приложениях для коммуникаций, в облачных хранилищах и системах, требующих высокой производительности.
Этапы установки соединения по протоколу TLS
Соединение устанавливается в несколько этапов по принципу «рукопожатия»:
- Приветствие, в процессе которого сервер и клиент отправляют друг другу сообщения, то есть «представляются». На этом же этапе решается, какие способы кодирования будут применяться для безопасной передачи информации.
- Обмен ключами для последующих шифрования и раскодировки сообщений.
- Завершение рукопожатия, то есть тот этап, когда все компоненты сессии подтверждают готовность к дальнейшей работе.
- Разделение данных на части для более удобного шифрования. Этот этап работы протокола безопасности TLS называется фрагментацией.
- Компрессия, то есть сжатие информации.
- Преобразование фрагментов данных по установленному методу.
- Аутентификация фрагментов, то есть удостоверение цифровой подписью или специальным кодом.
- Передача видоизмененных и аутентифицированных конфиденциальных сведений по узлам сети между участниками соединения.
Кажется, что этот процесс сложный и долгий, но по факту все происходит буквально за секунды.
Протоколы и их существующие версии
Многие путают протокол TLS с не менее известным SSL. Это Secure Sockets Layer, который тоже отвечает за безопасность информации, но фактически он давно устарел и редко применяется в качестве единственного средства защиты от злоумышленников. TLS создан на базе одной из его версий — SSL 3.0.
Существует несколько вариаций протокола безопасности TLS:
- 1.0 — версия, появившаяся в 1999 году как обновление SSL 3.0.
- 1.1 — версия, которую внедрили в 2006 году. Это обновление позволило защититься от ряда атак с эксплуатацией уязвимостей в работе протокола, использовать инициализацию.
- 1.2 — версия, которая пришла на смену 1.1 в 2008 году. Был улучшен процесс обмена методами между узлами, заменены устаревшие хэш-функции.
- 1.3 — обновление 2018 года. Эта версия подразумевала разделение процессов определения ключей, расширение механизмов аутентификации, запрет сжатия данных и других несовершенных алгоритмов работы с информацией.
Последняя версия протокола позволяет ускорять процессы установления соединений. Благодаря этой опции передача данных осуществляется намного быстрее без потери безопасности.
Идентификация и аутентификация
Протокол безопасности TLS помимо шифрования информации и сохранения ее целостности также позволяет проверить авторство передаваемых данных. Для этого используются специальные ключи. TLS применяет криптографию с публичными (открытыми). С ее помощью узлы могут устанавливать общие ключи шифрования без необходимости получать какие-либо дополнительные сведения друг о друге.
Теперь о процессе аутентификации. В рамках процедуры рукопожатия при создании соединения протокол устанавливает подлинность как сервера, так и клиента. Этот процесс называется аутентификацией. Он необходим, чтобы клиент был уверен, что сервер именно тот, который нужен. Например, банковский. И, в свою очередь, сервер должен убедиться, что запрашиваемую информацию ему пересылает не постороннее лицо.
Также в связи с протоколом TLS часто звучит такое понятие, как сертификаты SSL/TLS. Это цифровые документы, подтверждающие легитимность сайтов и подлинность используемых ключей шифрования данных. Такие сертификаты выдают удостоверяющие центры, выступающие арбитрами.
Уязвимости и улучшения протокола TLS
Ни один, даже самый надежный и безопасный, протокол не совершенен. Для примера — перечень уязвимостей для более старых версий TLS:
- Poodle — уязвимость, которой подвержены клиенты или сервисы, использующие версию SSLv3. Она имеется, если протокол осуществляет некорректную проверку содержимого посланий. В таком случае может отсутствовать верификация со стороны получателя, то есть у злоумышленников появляется шанс перехватить и подменить данные.
- Heartbleed — уязвимость, которая нередко возникает при использовании OpenSSL. Она позволяет читать память на клиентах или серверах в основном с целью получения закрытого ключа для расшифровки посланий.
- Beast — слабые места в версии SSL 1.0/TLS 3.0, которые позволяют использовать специальную утилиту для дешифрования сведений.
Чтобы свести риски возникновения уязвимостей к минимуму, программисты регулярно выпускают обновления протокола безопасности TLS, а владельцы ресурсов по возможности внедряют усовершенствованные версии.
Применение протокола TLS в различных контекстах
Протокол безопасности используется для шифрования электронной почты с целью защиты конфиденциальных сообщений, обеспечения быстрой и безопасной доставки. Он позволяет защищать послания от несанкционированного перехвата в движении.
Протокол TLS также применяется для обеспечения безопасности интернет-ресурсов, работающих с HTTPS. Однако при использовании веб-объектов не стоит полагаться только на него — необходимо предусмотреть дополнительные меры защиты данных. Например, Secure web gateway шлюз Solar webProxy. В нем, помимо поддержки самой актуальной версии TLS 1.3, реализованы: собственный категоризатор для блокирования доступа к сомнительным веб-ресурсам, прокси, обратный прокси и другие модули.