TLS набирает популярность в вебе

Статистика TLS российских доменных зон, которая публикуется в рамках проекта «Домены России», показывает, что за год число узлов в домене RU, корректно поддерживающих TLS, выросло в три раза: по состоянию на июль 2015 года таких узлов насчитывалось 34205, а по итогам июня 2016 года - 103616 узлов. Это означает, что за прошедший год о технологиях защиты информации узнало немало не только пользователей, но и веб-мастеров. Возросла узнаваемость аббревиатуры TLS, обозначающей группу технологий, которая делает возможной защищённую работу с веб-сайтами через протокол HTTPS. Да, проникновение TLS пока что охватывает лишь небольшую долю от всех веб-узлов, около 3%. Тем не менее, довольно сложно назвать какую-то другую интернет-технологию, проникновение которой показывало бы столь же большой рост в 2015-16 гг. Для сравнения - согласно историческим данным, в мае-июне 2013 года число уникальных валидных сертификатов для имён .RU едва превышало 4000. В июне 2016 этот показатель составляет свыше 83000, то есть, за три года - двадцатикратный рост. Число узлов, корректно поддерживающих TLS, превышает число уникальных сертификатов, это объясняется множественностью имён, которые могут быть указаны в сертификате.

Под узлами, корректно поддерживающими TLS, в методике проекта «Домены России» понимаются узлы, которые вернули валидный SSL-сертификат, совпадающий по имени с доменом, адресующим данный узел. Проверка производится в контексте HTTPS, то есть, с использованием TCP и номера порта 443. Необходимость выделения такой характеристики связана с практикой использования SSL-сертификатов. Сертификат выдаётся для конкретного набора сетевых имён, то есть, доменных имён, адресующих тот или иной узел. Например, в сертификате может быть указано имя cctld.ru - это означает, что сертификат подходит только для этого имени. Во многих случаях сертификат содержит несколько имён: стандартной практикой является добавление префикса www. (несмотря на то, что такой метод адресации веб-сайтов отмирает); для cctld.ru дополнительное имя - www.cctld.ru. Кроме того, сертификат может содержать имена «дополнительных» сайтов, относящихся к одному разветвлённому ресурсу: forum.test.ru, blog.test.ru и так далее. Нередко сертификат возвращается узлом, который доступен под именем, не входящим в список имён из сертификата: то есть, при обращении к узлу под именем example.com - получаем сертификат только для имён test.ru и www.test.ru. Такой сертификат может пройти процедуру валидации сам по себе. То есть, он действует и выпущен хорошо известным удостоверяющим центром, входящим в браузерный список доверенных. Однако из-за несовпадения имён узел не может считаться аутентифицированным - браузер должен выдать предупреждение системы безопасности, даже если ключ, представленный сервером, соответствует ключу из сертификата. Корректное использование сертификата и настройка TLS требуют, чтобы имя в сертификате и имя, адресующее сервер, совпадали. Таким образом, число "корректных узлов" является добротной характеристикой действительного проникновения HTTPS.

Предназначением SSL-сертификата является привязка сетевого имени к открытому криптографическому ключу сервера. Именно поэтому для сертификата первично доменное имя, а не IP-адрес (для IP-адресов валидные сертификаты сейчас не выпускаются - это запрещено правилами). Во многих случаях серверы, обеспечивающие работу HTTPS, настроены таким образом, что поддерживают большое число сайтов, под разными именами. Различить сайты, к которым обращается клиент, сервер может по значению специального поля SNI (Server Name Indication), которое передаётся браузером в открытом виде. Например, так работают фронтенды «облачных» провайдеров. На клиентской стороне технология SNI поддерживается повсеместно, исключение составляют только устаревшие версии ОС Android и древнейшие браузеры. Реализация HTTPS в такой конфигурации требует выпуска сертификатов, содержащих несколько различных имён. (Иногда это десятки имён.) Предусмотрено специальное поле сертификата SAN (Subject Alternative Name), куда вписываются дополнительные имена. Точнее, имена SAN считались «дополнительными», когда поле SAN вводили, а сейчас - эти имена едва ли не более важны, чем значение из поля Subject сертификата. Например, у сервиса CloudFlare один фронтенд может обслуживать десятки сайтов и все они указаны в поле SAN сертификата, соответствующего данному фронтенду.

Именно по причине большого распространения сервисов CloudFlare в Рунете, лидером среди удостоверяющих центров (УЦ) является компания Comodo, с сертификатом УЦ COMODO ECC Domain Validation Secure Server CA 2. ECC означает использование криптографии на эллиптических кривых. Это прогрессивное направление. Для того, чтобы использовать алгоритмы электронной подписи на эллиптических кривых (соответствующая криптосистема сейчас распространена только одна - ECDSA), у сервера должен быть соответствующий сертификат: другими словами, используемые сейчас сертификаты можно разделить на два типа RSA- и ECDSA-сертификаты (последние относятся к ECC). Считается, что криптосистема RSA будет постепенно вытесняться из употребления. По данным на июнь 2016 года в Рунете доля RSA более чем в два раза превышает долю ECDSA: на RSA приходится чуть более 70% ключей, а ECDSA, соответственно, менее 30%. Эти относительные показатели сохраняют стабильность в течение года, колебания составили не более 5%. Интенсивный рост проникновения ECDSA пришёлся на период 2014-2015 гг. Интересно, что, согласно собранным данным, в начале 2016 года доля ECDSA даже немного снижалась - с 32% в феврале до 29% в мае. Напрашивается
предположение о том, что с ростом популярности HTTPS растёт доля RSA, как классической криптосистемы, которая до сих пор остаётся традиционным выбором по умолчанию при выпуске сертификата (некоторые УЦ даже вовсе не умеют выпускать ECC-сертификаты). К сожалению, реальная причина данных колебаний скрывается за уровнем погрешности методики, поэтому строить какие-то выводы на незначительных колебаниях доли ECDSA нельзя.

Сейчас происходит окончательное вытеснение хеш-функции SHA-1 из криптосистем, используемых при выпуске сертификатов. Данная хеш-функция применяется для вычисления значения электронной подписи сертификата и несколько лет считается недостаточно стойкой. По данным за июнь 2016 года обнаруживается 551 серверный валидный сертификат для имени в .RU, использующий криптосистему SHA-1+RSA. В июле 2015 года этот показатель составлял 3724 сертификата. Новые сертификаты с SHA-1 не должны выпускаться, в обороте, в основном, остались те, у которых не закончился срок действия. Впрочем, прогрессивные браузеры уже считают слабо защищённым TLS-соединение, включающее как минимум один сертификат с SHA-1 в цепочке валидации. (Это не относится к корневым сертификатам УЦ - так как корневые сертификаты являются самоподписанными, а "точкой доверия" служит сам отпечаток ключа, используемая хеш-функция криптосиситемы электронной подписи здесь значения не имеет.)

Современная тенденция: большое число валидных серверных сертификатов являются «короткоживущими», то есть, имеют период валидности (срок действия) менее 12 месяцев. В июне 2016 года суммарное число сертификатов, имеющих срок действия 3, 6 или 2 месяца, составило 42801, что примерно на 42% превышает число сертификатов со сроком действия ровно 12 месяцев (их 29958).

Большое влияние на рост числа сертификатов с коротким сроком действия оказывает распространение технологии Let`s Encrypt, которая позволяет автоматически выпускать бесплатные сертификаты для веб-ресурсов - обычно, такие сертификаты будут иметь срок действия 2 или 3 месяца. Подавляющее большинство сертификатов со сроком действия 6 месяцев выпущены УЦ Comodo, очевидно, для облачного сервиса CloudFlare. Верхушка общего рейтинга удостоверяющих центров выглядит в июне 2016 года следующим образом (по убыванию популярности):

  1. COMODO ECC Domain Validation Secure Server CA 2
  2. Let's Encrypt Authority X3
  3. GlobalSign Domain Validation CA - SHA256 - G2
  4. COMODO RSA Domain Validation Secure Server CA
  5. WoSign CA Free SSL Certificate G2
  6. StartCom Class 1 DV Server CA
  7. thawte DV SSL CA - G2
  8. StartCom Class 1 Primary Intermediate Server CA
  9. RapidSSL SHA256 CA - G3

То есть, верхние места рейтинга (первое и второе) занимают УЦ, связанные с автоматизированными сервисами выпуска бесплатных или условно бесплатных сертификатов. Интересно, что число самых дорогих коммерческих сертификатов - с расширенной проверкой, EV - увеличивается незначительно, а доля их заметно падает. Так в июле 2015 года таких сертификатов для доменов .RU обнаруживалось 382, а в июне 2016 - 524.

TLS-соединение характеризуется установленным шифронабором, то есть, комбинацией криптосистем, используемых для защиты соединения (электронной подписи, симметричного шифра и др.). В частности, в состав шифронабора входит метод получения общих сеансовых ключей, которые используются для защиты передаваемых данных симметричным шифром. Среди этих методов - протокол Диффи-Хеллмана. При генерации общего сеансового ключа по протоколу Диффи-Хеллмана восстановление этого ключа при помощи секретного серверного ключа асимметричной криптосистемы RSA невозможно (ключ RSA просто не используется для шифрования сеансового ключа). Принято говорить о прогрессивной секретности TLS-соединения, установленного с использованием алгоритма Диффи-Хеллмана: то есть, компрометация долговременного ключа из пары, входящей в сертификат, не позволяет раскрыть соответствующие сеансовые ключи из записанного трафика. Важно понимать, что прогрессивная секретность не означает, что трафик вообще невозможно прочитать позднее - сеансовые ключи могут быть сохранены или восстановлены из трафика (при условии наличия уязвимостей или специальных «закладок»). По состоянию на июнь 2016 года свыше 96% TLS-соединений, инициированных сканером TLS, использовали для генерации сеансовых ключей протокол Диффи-Хеллмана, в одной из двух разновидностей: классический или на эллиптических кривых. Это свидетельствует о высокой степени распространения в Рунете  механизма защиты записанного третьей стороной трафика от анализа.

С оценкой необходимости внедрения TLS на веб-сайтах связано расхожее заблуждение: многие веб-мастеры и системные администраторы до сих пор полагают, что HTTPS требуется только сайтам, передающим конфиденциальную информацию. Это не так. Помимо обеспечения конфиденциальности, TLS (HTTPS) предоставляет гораздо более важный для современного веба механизм - обеспечение целостности информации. HTTPS в высокой степени гарантирует, что страницы вашего сайта не будут изменены на пути до пользователя, никто не проведёт инъекцию дополнительного кода (например, показывающего рекламные баннеры) и не заменит один текст на другой (с целью дезинформирования). Другой полезный аспект TLS для веб-сайта - двухсторонняя аутентификация. TLS позволяет аутентифицировать и клиента (пользователя). Для этого требуется клиентский сертификат. Двухсторонняя аутентификация может послужить хорошим окружением для авторизации с использованием пароля, кроме того, она существенно затрудняет проведение атак типа «человек посередине». Активные атаки со стороны промежуточных узлов давно стали обыденной реальностью глобальной Сети, поэтому HTTPS необходим для любого сайта, тем более, что сертификаты сейчас можно получить бесплатно.

Автор:  Александр Венедюхин (ТЦИ)

Возврат к списку