2015-06-18 5 views
-3

Предположим, что доверенный корневой центр сертификации был скомпрометирован/принужден к созданию мошеннических сертификатов SSL. Что могли бы достичь такие сертификаты, в частности, о нападениях типа MITM?Может ли скомпрометированный корневой СА выдавать себя за сертификат SSL?

Например, возьмите Facebook, если я туда вернусь, я получу (1) замок, (2) сертификат, подписанный DigiCert, и (3) я могу проверить, что SHA Fingerprint соответствует некоторому значению 81: AB: и т. Д.

Мое предположение заключается в том, что если DigiCert был скомпрометированным СА, тогда можно было бы создать поддельный сертификат, соответствующий 1, 2 & 3, правильно? Есть ли что-нибудь еще в модели безопасности SSL, которая сделает поддельный сертификат отличным от реального сертификата SSL, который был фактически выпущен Facebook? Или что-нибудь еще, что позволило бы обнаружить атаку типа MITM на основе этого сертификата?

Мое второе предположение состоит в том, что если ЦС, отличный от DigiCert, был скомпрометированным ЦС, тогда можно было бы создать поддельный сертификат, но он не сказал бы «DigiCert» на нем, и он не будет соответствовать терминам SHA ключ? Правильно ли это или возможно (чисто с технической точки зрения) для корневого ЦС создавать сертификат, выдающий другой корневой ЦС? Если да, может ли быть другой способ обнаружить, что соединение было зашифровано с помощью этого поддельного сертификата? Может ли другой CA создать сертификат, по-видимому, с тем же ключом SHA?

Этот вопрос вдохновлен предстоящей британской «штурмовой записью», которая намечена на то, чтобы дать властям множество полномочий отслеживать цифровые коммуникации. Суть в том, насколько полезны такие полномочия, возможно, перед лицом шифрования, поскольку некоторые разговоры об использовании «черных ящиков» выполняют глубокую инспекцию пакетов для сбора информации, которую провайдеры (например, Facebook), возможно, не захотят делиться с правительством Ее Величества. Я предполагал, что такие методы невозможны (конечно, не с DPI, я бы надеялся!), Но возможности поддельных сертификатов и атак MITM для меня не совсем понятны. Я предполагаю, что это не будет предпринято, если только по политическим причинам, предполагая, что поддельные сертификаты могут быть обнаружены технически подкованными клиентами.

+3

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он напрямую не связан с развитием. Этот вопрос намного лучше подходит для [security.se]. –

+0

размещен здесь, после ссылки на аналогичный вопрос, например, stackoverflow.com/questions/8404907/where-could-i-buy-a-valid-ssl-certificate – daveonhols

ответ

0

Если злоумышленник может принудить законный корневой центр сертификации для получения грамотных сертификатов TLS/SSL, они могут использовать эти сертификаты для олицетворения этого пользователя. Вот почему проблема Суперфиша была такой большой проблемой. Корневой ЦС не был скомпрометирован, но вместо этого они добавили свой собственный корневой ЦС в кучу машин, прежде чем продавать их клиентам. Это позволило им MitM весь трафик, без того, чтобы пользователи были мудрее.

Существует также специальная защита, которая может быть установлена ​​на место, чтобы предотвратить это.

Одной из таких защит является HTTP Public-Key-Pinning (HPKP). Вы можете вставить заголовок, который указывает открытый ключ вашего веб-сайта и открытый ключ одного из корневых центров сертификации. Браузер сохранит этот список и прекратит любые соединения, которые не соответствуют этому. Итак, если вы пытались подключить MitM к Facebook (если они использовали HPKP), мой браузер выкинул бы ошибку и не разрешил бы прохождение.

Указав корневой ЦС в HPKP, он говорит, что только этот rootCA может подписать ваш сертификат. Если вы указали DigiCert в своем HPKP, ваш браузер не примет сертификат, подписанный Comodo.

В толстых клиентах или мобильных приложениях вы можете сделать что-то подобное, называемое сертификатом Pinning. В основном при разработке приложения вы можете указать, какой сертификат требуется для возврата сервером. Если этот сертификат не указан, запрос не будет выполнен. Вы также можете указать, что сертификат должен быть подписан определенным корневым центром сертификации.

Существует также нечто, известное как Протокол статуса сетевого сертификата (OSCP).Браузер сделает дополнительный запрос к корневому ЦС, чтобы проверить статус сертификата. Это проверит, отменено ли оно или нет. Здесь это будет зависеть от того, насколько сильно вы скомпрометировали rootCA. Если ваш поддельный сертификат не прошел проверку OSCP, браузер надеется уведомить пользователя.

Я не уверен, что вы имеете в виду наличие правильных ключей SHA. SHA1 и SHA2 являются алгоритмами хеширования, которые не имеют ключей. У сертификатов часто есть две вещи, которые используют алгоритмы SHA. Во-первых, они будут содержать подпись сертификата. Обычно это SHA2 содержимого сертификата, которое затем подписывается корневым центром сертификации. Сертификат также содержит отпечаток пальца, который является SHA всего сертификата. Изменение какого-либо содержимого сертификата изменило бы его отпечаток. Однако вам понадобится еще одна группа общения, чтобы знать, что такое ожидаемый отпечаток.