Сертификаты TLS в Интернете - Хорошее, Плохое и Уродливое
Это может быть трудно поверить, но экосистеме SSL / TLS почти 20 лет. Пришло время подвести итоги и посмотреть что происходит
с сертификатами TLS. В этой статье мы будем в первую очередь обсуждать сами сертификаты, а не настройку веб-сервера, хотя это
часто является источником проблем.
За последние несколько лет мы перенесли три основные миграции на основе сертификатов:
- Прочь от алгоритмов хеширования MD2, MD5
- Прочь от небольших ключей RSA к 2048 бит или больше
- Прочь от алгоритма SHA-1 для SHA-256
Что движет этими миграциями? Прежде всего, это неустанный марш нападений. Как говорит Брюс Шнайер :
«Атаки всегда становятся лучше; они никогда не ухудшатся». Чтобы опередить эти атаки, органы сертификации и разработчики
браузеров присоединились несколько лет назад к созданию форума CA / Browser Forum и опубликовали несколько документов
требований: базовые требования , рекомендации по SSL-протоколу EV и подписание кода EV Требования .
Что замедляет эти миграции? Прежде всего, это использование SSL / TLS в приложениях, отличных от браузера.
К ним относятся почта, XMPP и другие не-веб-серверы, пункт продажи (POS) и другие устройства.
Эти приложения и устройства не имеют возможностей автоматического обновления, которые были разработаны
поставщиками веб-браузеров. Кроме того, существует значительная институциональная инерция. Средний сервер не часто обновляется
(за исключением, возможно, исправлений безопасности ОС). Компании ждут годы, чтобы выполнить обновление сервера или
даже приложения, потому что они заняты более важными вещами. Общепринятое отношение - «если оно не сломано, не исправляйте».
Хорошее в SSL
Благодаря усилиям CA / Browser Forum по созданию рабочих стандартов вокруг профилей сертификатов в веб-сертификатах
теперь гораздо больше согласованности, чем было несколько лет назад. Создание стандарта расширенной проверки (EV)
подняло планку при сильной аутентификации, и теперь более 10% сертификатов, отображаемых в Интернете, являются EV
(в соответствии с Trustworthy Internet Movement или TIM).
Малые размеры ключа были в значительной степени устранены. Исследование Netcraft в 2016 году показало, что 99,98%
веб-сертификатов содержат RSA 2048 бит, ECC 224-бит или более крупные ключи. Фактически, более 200 000 сертификатов в
Интернете имеют ключи RSA, превышающие или равные 4096 бит!
Плохое в SSL
Некоторые клиенты испытывают трудности с обновлением систем и приложений для поддержки SHA-2.
По состоянию на 2016 год например, Netcraft сообщила, что Министерство обороны США (DOD) все еще выдаёт сертификаты SHA-1 .
И несмотря на огромные усилия по замене сертификатов TLS, содержащих ключи, которые считаются слишком маленькими
для обеспечения безопасности, Netcraft обнаружил более 1000 с ключами RSA размером менее 2048 бит или ключами ECC размером менее 224 бит.
Было обнаружено небольшое количество веб-сайтов с цепочками сертификатов, в которых сильные (большие) ключи были
подписаны более слабыми (меньшими) ключами. Опять же, они будут функционировать должным образом, но они не обязательно
обеспечивают криптографическую защиту, ожидаемую владельцем сертификата (цепочка сертификатов, как и физическая цепочка,
является такой же сильной, как и ее слабая связь). Примеры включают ECC 384-битные ключи, подписанные 256-битными ключами
ECC, 384-битные ключи ECC, подписанные ключами RSA 2048 бит, и RSA 4096-бит и 8192-битные ключи, подписанные ключами RSA 2048 бит.
Срок действия сертификата смущает, но крупные и малые компании по-прежнему не могут своевременно продлевать сертификаты.
Несмотря на то, что существует множество инструментов, которые помогают инвентаризации клиентов и отслеживают их сертификаты,
эта проблема сохраняется, возможно, из-за того, что браузеру не удалось проверить статус большинства сертификатов.
Уродливое в SSL
Недавние исследования Netcraft обнаружили некоторые действительно удивительные сертификаты в Интернете.
Примерно две трети всех сертификатов TLS действительны и выдается доверенным ЦС. Оставшаяся одна треть либо самоподписана,
истекла, либо подписана неизвестным эмитентом, либо содержит несогласованные имена. Поскольку во всех этих случаях все основные
браузеры отображают ошибки, вполне вероятно, что эти сертификаты используются в приложениях «сервер-сервер» или других не-браузерах.
Множественные общие имена (CN) запрещены, но Netcraft обнаружил сертификаты до 24 CN. В исследовании 2009 года были
продемонстрированы атаки на сертификаты с несколькими CN, но они сохраняются. One certificate was found with an RSA exponent of one. Since RSA encryption involves raising an exponent to a certain power, an exponent of one means that no encryption occurs, and TLS data is sent in cleartext.
Что делать?
Как вы гарантируете, что ваши сертификаты достаточно сильны для сегодняшних злоумышленников и соответствуют лучшим практикам?
Вот несколько рекомендаций:
- На данный момент достаточно сертификата с 2048-битным ключом RSA, подписанным с алгоритмом хеширования SHA-256.
- Удерживайте SAN до минимума (20 или меньше) и убедитесь, что ваш CA помещает только одно общее имя в сертификат.
- Замените все слабые, недействительные, отозванные или скоро истекающие сертификаты.
- Создавайте новую пару ключей каждый раз, когда вы заменяете сертификат.
- Проверьте свой сертификат и конфигурацию веб-сервера со всеми основными браузерами и не забывайте о мобильных браузерах,
которые часто ведут себя не так, как их настольные аналоги ;)
|