SSL: можно ли прослушать секретный ключ до начала фактического шифрования? - PullRequest
2 голосов
/ 27 ноября 2011

Я изучал SSL и некоторые этапы настройки зашифрованного соединения между сервером и клиентским компьютером.

Я понимаю, что ключ сервера и сертификат отправляются в браузер,и что секретный код вычисляется, как они говорят в следующем видео:

http://www.youtube.com/watch?v=iQsKdtjwtYI

около 5:22, они говорят о главном секретном коде, который рассчитывается для запускаразговор в зашифрованном виде.

Мой вопрос теперь таков: до того, как соединение будет фактически зашифровано (фаза рукопожатия), вся связь между сервером и клиентом может быть перехвачена анализатором пакетов.Разве тогда невозможно узнать ключ шифрования или другие данные, которые используются для установки безопасного соединения?

Ответы [ 2 ]

3 голосов
/ 27 ноября 2011

Из резюме Википедии , я думаю, что ключевая часть вас интересует:

Клиент отвечает сообщением ClientKeyExchange, которое может содержать PreMasterSecret, открытый ключ или ничего. (Опять же, это зависит от выбранного шифра.) Этот PreMasterSecret зашифрован используя открытый ключ сертификата сервера.

Вот почему открытый ключ так важен. Если вы используете неправильный открытый ключ, вы уязвимы для атакующего в середине.

Станьте свидетелем оправданного беспокойства при выдаче фиктивных SSL-сертификатов (например, DigiNotar ).

2 голосов
/ 28 ноября 2011

Сам секретный ключ вообще не передается, поэтому его невозможно прослушать. Он рассчитывается независимо на обоих концах. Материалы, из которых он рассчитан, называются PreMasterSecret, которые зашифрованы открытым ключом сертификата сервера. Таким образом, если секретный ключ сервера не был скомпрометирован, секретный ключ не может быть ни проанализирован, ни рассчитан независимо.

...