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 подвергается риску. Другими словами, у злоумышленника нет закрытых ключей вашего сайта. Если он хочет атаковать, ему придется предоставить другой открытый ключ, который он генерирует сам.
Надеюсь, этот ответ поможет уточнить.