Почему SSL считается безопасным? - PullRequest
0 голосов
/ 16 марта 2012

Разве нельзя просто захватить ключ во время согласования между машинами?

Допустим, я подключился к веб-сайту моего банка.Браузер отправит запрос на банковский сервер.Банковский сервер отправит мне копию своего SSL-сертификата.Если он действителен, браузер отправит подписанное подтверждение.Разве нельзя просто захватить закрытый ключ в это время?

Ответы [ 4 ]

3 голосов
/ 16 марта 2012

Ваш закрытый ключ (и банковский) тоже никогда не передается по сети. открытый ключ банка является частью сертификата X509, который он отправляет в ваш браузер. Если банк подписывает что-либо, он делает это, используя свой закрытый ключ, и ваш браузер проверяет подпись, используя открытый ключ банка (из сертификата). Весь сеанс SSL шифруется с использованием симметричного шифра (по соображениям производительности). Чтобы иметь возможность сделать это, обе стороны должны обменяться ключом сеанса (различный для каждого соединения и пересмотренный после определенного интервала времени). Этот обмен осуществляется с использованием алгоритма Диффи-Хеллмана . Во время этого обмена ключ не передается по сети, он рассчитывается независимо обеими сторонами.

2 голосов
/ 16 марта 2012

Разве нельзя просто захватить ключ во время его согласования между компьютерами?

Нет, поскольку он никогда не отправляется, он вычисляется независимо.Вам понадобится закрытый ключ сервера, который является личным, чтобы повторить независимые вычисления, которые приводят к ключу сеанса.Так что это безопасно.

1 голос
/ 16 марта 2012

Доступен только открытый ключ.Банку не нужно делить частный.

0 голосов
/ 16 марта 2012

Закрытый ключ не является общим и не сохраняется в сертификате.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...