В этом разделе для ИТ-специалистов описывается, как работает протокол TLS и приведены ссылки на RFC IETF для TLS 1.0, TLS 1.1 и TLS 1.2.
Протоколы TLS (и SSL) находятся между уровнем протокола приложения и уровнем TCP/IP, где они могут защищать и отправлять данные приложения на транспортный уровень. Так как протоколы работают между уровнем приложения и транспортным уровнем, протоколы TLS и SSL могут поддерживать несколько протоколов прикладного уровня.
Tls и SSL предполагают, что используется транспорт, ориентированный на подключение, обычно TCP. Протокол позволяет клиентским и серверным приложениям обнаруживать следующие риски безопасности:
- Незаконное изменение сообщений
- Перехват сообщений
- Подделка сообщений
Протоколы TLS и SSL можно разделить на два уровня. Первый уровень состоит из протокола приложения и трех протоколов подтверждения: протокола подтверждения, протокола изменения спецификации шифра и протокола генерации оповещений. Второй уровень — протокол записи.
Идентификация устройства (Телевизора) LG.
Уровни протокола TLS и SSL
Schannel SSP реализует протоколы TLS и SSL без изменений. Протокол SSL является частным, но целевая группа по интернет-инженерии создает общедоступные спецификации TLS. Сведения о том, какая версия TLS или SSL поддерживается в версиях Windows, см. в разделе «Протоколы» в tls/SSL (Schannel SSP). Каждая спецификация содержит следующие сведения:
- Протокол записи TLS
- Протокол подтверждения TLS: — изменение протокола спецификации шифра — протокол генерации оповещений
- Криптографические вычисления
- Обязательные комплекты шифров
- Протокол данных приложения
Возобновление сеанса TLS
Представлено в Windows Server 2012 R2, Schannel SSP реализовал часть сеанса TLS на стороне сервера. Реализация RFC 5077 на стороне клиента добавлена в Windows 8.
Устройства, подключающие TLS к серверам, часто требуют переподключения. Возобновление сеанса TLS сокращает затраты на установку подключений TLS, так как возобновление включает сокращенное подтверждение TLS. Это упрощает дополнительные попытки возобновления, позволяя группе серверов TLS возобновлять сеансы TLS друг друга. Это изменение обеспечивает следующую экономию для любого клиента TLS, поддерживающего RFC 5077, включая Windows Phone и Windows RT устройства:
- Сокращение использования ресурсов на сервере
- Снижение пропускной способности, что повышает эффективность клиентских подключений
- Сокращение времени, затраченного на подтверждение TLS из-за возобновления подключения
Сведения о возобновлении сеанса TLS без отслеживания состояния см. в документе IETF RFC 5077.
Согласование протокола приложения
Windows Server 2012 R2 и Windows 8.1 появилась поддержка, которая обеспечивает согласование протокола приложений TLS на стороне клиента. Приложения могут использовать протоколы в рамках стандартной разработки HTTP 2.0, а пользователи могут получать доступ к веб-службы, таким как Google и Twitter, с помощью приложений, использующих протокол SPDY.
LG будет блокировать серые телевизоры?! Что делать?!
Сведения о том, как работает согласование протокола приложений, см. в разделе Расширение согласования протокола прикладного уровня TLS.
Поддержка TLS для расширений указания имени сервера
Компонент указания имени сервера (SNI) расширяет возможности протоколов SSL и TLS для правильной идентификации сервера в случае, когда на одном сервере запущено несколько виртуальных образов. В сценарии виртуального размещения на одном сервере размещаются несколько доменов (каждый из которых имеет собственный потенциально отдельный сертификат). В этом случае у сервера нет возможности заранее узнать, какой сертификат следует отправить клиенту. SNI позволяет клиенту информировать целевой домен ранее в протоколе, и это позволяет серверу правильно выбрать правильный сертификат.
Это обеспечивает следующие дополнительные функциональные возможности:
- Позволяет размещать несколько веб-сайтов SSL в одном сочетании протоколов Интернета и портов.
- Сниженное использование памяти при размещении нескольких веб-сайтов, работающих по протоколу SSL, на единственном веб-сервере.
- Позволяет нескольким пользователям одновременно подключаться к веб-сайтам SSL
Источник: learn.microsoft.com
Что такое TLS
Что такое TLS: история версий, преимущества и отличия от SSL
В середине 90-х компания Netscape выпустила протокол, который повышал безопасность электронных платежей. Протокол получил название SSL и являлся предшественником протокола TLS. Версия 1.0 так и не пошла «в народ», будучи отбракованной на этапе тестирования. Версия 2.0 вышла в свет, но имела дыры в защите.
В 1996 году недостатки v. 2.0 были устранены, и мир увидел уже вполне рабочую версию программы — SSL 3.0. Реализация протокола происходила на уровне application, над TCP. Это позволило протоколам высокого уровня, вроде http, функционировать в штатном режиме.
Если в настройке SSL не наблюдается погрешностей, сторонний наблюдатель не получит доступа к пакетным данным, в том числе не сможет их прочесть или подменить. Вся информация, которая окажется ему доступной – общая, не выходящая за рамки приватности: тип шифрования, примерный объем данных и частота пересылки.
- В 1999 выходит последующая версия, которая стандартизируется инженерным советом сети Интернет (IETF). Протокол получает новое название — TLS 1.0.
- Спустя 7 лет, весной 2006 года выходит следующая версия протокола — TLS 1.1. В ней значительно расширены функции и устранены актуальные уязвимости.
- В 2008 году выходит TLS 1.2, в которой качественно изменились методы шифрования. Введены новые режимы блочного шифрования, а устаревшие методы криптографического хэширования запрещены.
- Самая свежая версия протокола на сегодняшний день — TLS 1.3, выпущенная в 2018 году. Из нее убраны устаревшие хеши, шифры без аутентификации и открытые методы получения ключей к сессиям. Неактуальные опции, вроде вспомогательных сообщений и сжатия данных, также убраны. Введен режим обязательной цифровой подписи, разделены процессы согласования и аутентификации. Чтобы повысить параметры безопасности протокола TLS, версия 1.3 не имеет обратной совместимости с RC4 или SSL.
Параметры безопасности
Протокол обеспечивает безопасность работающих над ним приложений. Гарантия имеет три направления: сохранение конфиденциальности, аутентификацию и контроль целостности данных.
- Конфиденциальность. Пользуясь симметричными алгоритмами, протокол TLS шифрует данные, которые передаются. Если данные окажутся перехваченными, прочесть их будет невозможно.
- Аутентификация. Гарантия, что обмен данными идет между теми узлами, для которых изначально создавался канал связи.
- Контроль целостности. Односторонним хэшированием проверяется входящая информация, исключая возможность подмены или искажения.
При использовании протокола веб-браузером поддерживаются параметры, способные обеспечить высшую степень безопасности. Статистика протокола TLS дает следующие данные:
- Протокол нельзя понизить до предшествующей, менее надежной версии.
- Алгоритмы шифрования также не могут быть заменены устаревшими.
- Код аутентификации генерируется непосредственно владельцем ключа.
- Сообщение, которое завершает handshake, используется для проверки подлинности всех сообщений, которые были переданы ранее.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
TLS-рукопожатие
Процедура стартует с согласования параметров соединения между сервером и клиентом: определяется тип протокола и метод шифрования протокола TLS. Проверяются сертификаты, высчитывается общий ключ сессии. После этого клиент и сервер, не согласовываясь друг с другом, высчитывают хэш-функцию всех сообщений и сверяют между собой несколько раз. Если значения совпадают, на основе общего вычисленного ключа устанавливается защищенное соединение. Процедура занимает огромное количество вычислительных ресурсов, и чтобы избежать ее при каждом возобновлении прерванной сессии – была создана TLS False Start.
TLS False Start
Если клиент и сервер ранее устанавливали связь, функция позволит пропустить процедуру генерации ключей. Для установления безопасного канала связи будут использованы ключи, которые были вычислены ранее. Однако сессии имеют ограниченное время жизни, и если период сессии истек – придется повторно проводить процедуру TLS-рукопожатия.
TLS Chain of trust
Процедура строится на сертификатах подлинности и обеспечивает аутентификацию между сервером и клиентом. Сертификаты выдаются Центрами сертификации, которые периодически проверяют подлинность и могут отозвать сертификат, если он скомпрометирован. Именно эта процедура обеспечивает проверку подлинности передаваемых данных.
Версии протокола
- TLS 1.2 — на данный момент эта версия протокола TLS встречается чаще прочих. К сожалению, имеет уязвимости: чтобы поддерживать старые компьютеры, TLS 1.2 разрешает использование устаревших техник шифрования, которые малонадежны. Протокол сильно уязвим к активному вмешательству в соединение, когда взломщик перехватывает данные посреди сессии, а отправляет их уже после прочтения или подмены. Большинство уязвимостей обнаружены за последние 2 года, что и послужило толчком для создания обновленной версии.
- Статистика протокола TLS 1.3. В этой версии не поддерживаются устаревшие системы шифрования, благодаря чему протокол справляется с большинством уязвимостей. TLS 1.3 совместим с более старыми версиями: если одна из сторон не имеет возможности пользоваться новой системой шифрования, соединение откатится до версии 1.2. Если же во время атаки активного вмешательства взломщик попытается принудительным образом откатить версию протокола посреди сессии – такое действие будет замечено и сессия прервется.
Сертификат и конверсия
Современные требования к защите данных настолько строги, что браузеры буквально приучили пользователей негативно реагировать на сайты без сертификата. Пользователя пугает уведомление и связанные с ним риски — едва ли он посетит подобный сайт. Если протокол TLS установить корректно, то браузер не только уберет страшное уведомление, но еще и подсветит адресную строку зеленым. Посетители приучены доверять таким сайтам, ведь за доверием стоит TLS-технология, обеспечивающая безопасность обмена данными.
Особенно важен сертификат для сайтов, на которых необходимо указывать приватную информацию: пароли, коды, данные платежных систем. Сайт, имеющий сертификат, будет качественнее индексироваться поисковыми системами, в отличие от своего не сертифицированного собрата.
Уже купили виртуальный хостинг для сайта? Не забудьте о домене и сертификате TLS. Если только еще подумываете покупать сертификат – обращайте внимание на стандарты шифрования, которыми пользуется компания, предоставляющая защищенный канал связи.
Преимущества и недостатки протокола TLS
Еще в 1999 году, когда в SSL обнаружили уязвимости, было очевидно, что необходим обновленный протокол защиты данных. Это обстоятельство задало курс и тенденцию протоколу TLS. В 2014 POODLE успешно атаковал SSL 3.0, не оставив протоколу малейшего шанса. Что уж говорить о ранних версиях SSL.
Осенью 2014 Бодо Мёллер и его коллеги из Google Security Team обнаружили уязвимость в архитектуре протокола SSL 3.0. Атака POODLE подменяет пользовательские данные, и байт за байтом расшифровывает содержимое защищенного канала. Не существует способа обойти кодовую уязвимость, единственное логичное решение — блокировка использования протокола SSL 3.0 на всех рабочих системах.
Дизайн протоколов во многом идентичен: протокол TLS создавался по мотивам SSL, но в отличие от последнего параметры безопасности протокола TLS постоянно обновляется, в нем нет критических кодовых уязвимостей, что обеспечивает надежную защиту при транспорте данных.
Протокол TLS имеет ряд концептуальных отличий от SSL-протокола:
- В TLS используются другие ключи и увеличенный набор шифров.
- Улучшены стандарты формирования ключа на основе пароля.
- Есть различия в хэшировании HMAC, которое выполняет функцию создания блока симметричных ключей.
- Введены алгоритмы, увеличивающие безопасность канала.
Начинающие веб-разработчики сталкиваются с непростым вопросом: какой протокол выбрать? Для специалиста со стажем выбор очевиден – настройка протокола TLS идентична SSL, при этом безопасность шифрования на несколько порядков выше. Более того, специалисты по безопасности Google настоятельно рекомендуют не использовать SSL-протокол, отдавая предпочтение TLS.
Тем не менее, огромное количество пользователей ошибочно называют TLS «SSL-шифрованием». Откуда пошла путаница: поставщики сертификатов и веб-браузеры «застряли» в термине, который давно и плотно укоренился.
Знайте: когда вам предлагают «SSL-шифрование» — подразумевают TLS.
Протокол обеспечивает безопасность различных каналов связи: веб-трафик, электронную почту, систему телеконференций. Если в адресной строке виднеется шифровальная магия, имя которой HTTPS — в вашем браузере устанавливается соединение по протоколу TLS.
Источник: timeweb.com