Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 16849|Ответ: 0

Неполная цепочка SSL-сертификатов: Промежуточные сертификаты действительно являются пропастью

[Скопировать ссылку]
Опубликовано 15.08.2017 21:08:39 | | |
Я уже наступал на эту яму раньше. Я забыл, как практиковаться, но до сих пор помню этот принцип. Грубо объясните:


Пакет установки браузера хранит некоторые корневые сертификаты (публичные ключи), которым он доверяет.

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

Вот и вопрос.

Браузер распознаёт только корневой сертификат. Для сертификации промежуточного сертификата вы (сайт) должны выдать свой собственный сертификат.

Правильно настроенный HTTPS-сайт должен включать всю цепочку сертификатов в сертификат.
Например, используйте команду openssl s_client -connect www.wosign.com:443, чтобы просмотреть собственную конфигурацию сайта Wosign.
Остальное можно игнорировать, просто посмотрите на абзац цепочки сертификатов:
---
Цепочка сертификатов
0 s:/1.3.6.1.4.1.311.60.2.1.3=CN/1.3.6.1.1.4.1.311.60.2.1.2=Guangdong/1.3.6.1.4.1.311.60.2.1.1=Shenzhen/businessCategory=Частный Organization/serialNumber=440301103308619/C=CN/ST=\xE5\xB9\xBF\xE4\xB8\x9C\xE7\x9C\x81/L=\xE6\xB7\xB1\xE5\x9C\xB3\xE5\xB8\x82/postalCode=518067/street=\xE6\xB7\xB1\ xE5\x9C\xB3\xE5\xB8\x82\xE5\x8D\x97\xE5\xB1\xB1\xE5\x8C\xBA\xE5\x8D\x97\xE6\xB5\xB7\xE5\xA4\xA7\xE9\x81\x931057\xE5\x8F\xB7\xE7\xA7\x91\xE6\x8A\x80\xE5\xA4\xA7\xE5\ x8E\xA6\xE4\xBA\x8C\xE6\x9C\x9FA\xE6\xA0\x8B502#/O=WoSign\xE6\xB2\x83\xE9\x80\x9A\xE7\x94\xB5\xE5\xAD\x90\xE8\xAE\xA4\xE8\xAF\x81\xE6\x9C\x8D\xE5\x8A\xA1\xE6\x9C\x89\ xE9\x99\x90\xE5\x85\xAC\xE5\x8F\xB8/CN=www.wosign.com
   i:/C=CN/O=WoSign CA Limited/CN=WoSign класс 4 EV сервер CA
1 s:/C=CN/O=WoSign CA Limited/CN=WoSign класс 4 EV сервер CA
   i:/C=CN/O=WoSign CA Limited/CN=Сертификационный орган WoSign
2 s:/C=CN/O=WoSign CA Limited/CN=Сертификационный орган WoSign
   i:/C=IL/O=StartCom Ltd./OU=Безопасное цифровое подписание сертификатов/CN=Сертификационный орган StartCom
---

0, 1 и 2 — это серийные номера каждого уровня сертификата в цепочке сертификатов. 0 — это сертификат, используемый сайтом для проверки. Его CN должен соответствовать доменному имени сайта.
После каждого серийного номера строка, начинающаяся с s, относится к сертификату, а строка, начинающаяся с i, — к тому, кто выдал сертификат.

Видно, что CN 0 содержит предполагаемое китайское доменное имя и английское доменное www.wosign.com. Он выпускается компанией WoSign CA Limited/CN=WoSign Class 4 EV Server CA.

Сертификат 1 является выдающим 0. 1 выдаётся другим сертификатом — Сертификационным органом WoSign.
Давайте посмотрим на следующий уровень, 2. Там указано, что сертификационный орган WoSign выдаёт StartCom (ха-ха, оказалось, что это субподрядчик!). )

После такого анализа браузер пишет: «О, я знаю выдателя 2», и это упоминается в установочном пакете StartCom. Правильная подпись и валидация, значит доверьтесь 2. Тогда также стоит доверять 1, выданному 2, и 0, выданному 1. Так что этому сайту можно доверять.

--

Однако если сайт настроен так, чтобы содержать только себя в CRT-файле, а не достаточно полную цепочку сертификатов, чтобы проверить встроенными данными браузера, браузер может отклонить его. Как что
openSSL s_client -connect touko.moe:443
---
Цепочка сертификатов
0 s:/CN=touko.moe
   i:/C=CN/O=WoSign CA Limited/CN=WoSign CA бесплатный SSL сертификат G2
---
В одной группе только 0. Описание: touko.moe в строке s выдаётся WoSign CA Free SSL Certificate G2 в строке i. Всё закончилось.

Это самое удивительное в этой ловушке: не всегда верно, что браузер не проверяет на данный момент. Есть две ситуации:
Ответ. Я никогда не видел этого с тех пор, как был установлен браузер. Тогда валидация не проходит.
B. Если браузер уже видел и проверял i, проверка будет успешной.

Обычно администратор заходит на https-сайт эмитента сертификата, чтобы купить сертификат, и браузер проверяет его, а затем кэширует все промежуточные сертификаты, которые были успешно проверены, что экономит время в будущем. Когда администратор (ошибочно) настроил сайт и попытался просмотреть тест, никаких проблем не возникало. Потому что его браузер уже распознаёт этот промежуточный сертификат.

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


Он сопоставим с системой контроля выбросов выхлопных газов дизельных автомобилей Volkswagen. Всё было в порядке, когда проверял. Как только они выходят на улицу, они кладут яд.


ИЗМЕНЕНИЕ: Как исправить ...... Вероятно, это для добавления настройки SSLCertificateChainFile при настройке сервера и использования файла bundle, предоставленного сайтом эмитента сертификатов (файл содержит множество промежуточных сертификатов для установления связи между вашим сертификатом и сертификатом с высоким уровнем доверия).




Предыдущий:OpenSSL преобразует формат PFX в файлы .key и .crt
Следующий:Браузеры Android указывают, что сертификат не является доверенным
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com