Прежде всего, я приношу свои извинения за отправку еще одного вопроса об этом наблюдении, поскольку есть так много связанных должностей. Прочитав их и связанные с ними сайты, я по-прежнему не понял несколько моментов.TLS человек в средних сертификатах безопасности
- браузер подключается к серверу через защищенный сокет
- Сервер отвечает с помощью открытого ключа с его сертификатом. Это тот самый шаг, с которым я столкнулся. В этом сообщении от сервера к клиенту можно легко отделить сертификат от открытого ключа сервера? Если это корневой сертификат (тот, который уже включен в браузер), то человек в середине не может подделать его, но что, если это не так? Не может ли этот онлайн-механизм, используемый клиентом для проверки сертификата, захвачен? Кроме того, если компьютер клиента взломан, корневые ЦС могут быть скомпрометированы, правильно? Любые шаги, которые этого избежать? Последнее: сказано, что сертификат не защищен до подписания. Я не могу понять, что это значит, тем более что сертификат может подписать сам. Я думаю, что это должно означать, что кто-то уверен в достоверности сообщения, поэтому сам сертификат подписывается небезопасным («Являетесь ли вы РЕАЛЬНЫМ сертификатом?» ... «Уммм, конечно, конечно, я»). Если механизм аутентификации сертификата - это интернет, мне интересно, как это безопасно. Подписывает ли сертификат то же, что и вещь (буквально), так как клиент проверяет сертификат?
- Ключ сеанса шифруется открытым ключом и отправляется на сервер. Этот ключ сеанса является симметричным ключом, который оба сервера и клиент будут использовать для остатка зашифрованной связи.
Должен сказать, что большая часть информации в Интернете настолько расплывчата. Так много отверстий в объяснениях и ручных волнах. Мое предположение заключается в том, что очень немногие люди очень хорошо знают реальные механизмы?
Я создаю атаку «человек в середине», и люди могут сказать мне, почему это не сработает: 1. Сервер отвечает клиенту открытым ключом и его сертификатом. Сертификат подписан (что означает зашифрованный?) Секретным ключом CA? 2. Войдите в Мэллори, сервер «человек-в-середине». Я перехватываю это сообщение и удаляю сертификат сервера и помещаю свой собственный поддельный, не основанный на корневом сертификате. Мой поддельный сертификат либо подписан сам по себе, либо сопровождается сертификационной информацией, которая указывает на мой собственный сервер «человек в середине». 3. Отправить клиенту. 4. Возьмите ответы клиента и примените сертификат сервера. –
@Roberto Но как злоумышленник подделывает подпись ЦС с описанием того, к чему он относится? В HTTPS (и, возможно, в других системах на основе SSL) клиент проверяет, что сертификат сервера применяется к тому, что он должен использовать, то есть, что имя хоста сертификата является ожидаемым. (На данный момент злоумышленнику не было указано имя хоста для сервера, это передается позже ...) –
@Donal Я представляю сценарий, в котором Мэллори не нужно его подделывать. Человек-в-середине делает свой собственный сертификат с правильной информацией хоста. Мужчина-в-середине подделок является CA. –