SSL - путаница с открытым ключом

Как SSL key pinning предотвращает MITM attacks когда некоторые CA скомпрометирован?

Что я понимаю из comprising CA есть секретные ключи и злоумышленник может легко получить symmetric key используется для шифрования данных. Я прав?

Другое дело, если public key остается таким же, когда сертификаты повернуты и в key pinning мы сопоставляем открытые ключи, как мы можем узнать, что ключ (мы получаем) взят из оригинального сертификата?

Я действительно не понимаю концепцию. Кто-нибудь может развить это шаг за шагом?

Я прошел через этот вопрос, но не смог получить ответ.

1 ответ

Решение

Когда CA взломан, у злоумышленника есть закрытый ключ CA. Тогда у злоумышленника будет та же сила, что и у доверенного центра сертификации, что означает, что он может выдавать сертификаты для любых доменов. В этом случае без закрепления открытого ключа (HPKP) все сайты сразу становятся уязвимыми для атак MITM со стороны этого злоумышленника, пока клиенты не будут доверять скомпрометированному ЦС.

HPKP пытается смягчить эту проблему, позволяя операциям сайта определять, какой корневой CA или какие открытые ключи конечного сертификата вы хотите, чтобы браузеры доверяли. Например, если вы прикрепите корневые сертификаты Let's Encrypt и GlobalSign, то компрометация любого другого ЦС вас никак не затронет.

Чтобы ответить на ваши вопросы:

1) Нет, не симметричные ключи. Это секретный ключ CA, используемый для подписи без шифрования, который подвергается риску.

2) Это не имеет значения, потому что сайт не взломан; только CA подвергается риску. Другими словами, у злоумышленника нет закрытых ключей вашего сайта. Если он хочет атаковать, ему придется предоставить другой открытый ключ, который он генерирует сам.

Надеюсь, этот ответ поможет уточнить.

Другие вопросы по тегам