LINUX.ORG.RU

Аутентификация сервера через ssl/tsl сертификаты

 


0

1

Как известно, при подключении клиента по https (допустим к «Васе») происходит аутентификация сервера. Я это так представляю: Васе выдали сертификат, который содержит подпись центра сертификации; при конекте к Васе он отправляет мне этот сертификат, клиент его проверяет открытым ключом центра сертификации. Правильно?

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

Например «клонировать» Васю, назначить тот же ай пи, получится «Вася_клон»; воткнуть интересующего клиента (чьи данные нужно украсть) и Васю_клон в свой маршрутизатор; ну там добиться движение пакетов предназначенных Васе к Васе_клон, не проблема, думаю; Через другой сетевой интерфейс у Вася_клон переправлять пакеты реальному Васе.
Реально, или я не понял чего-то?

★★

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

MITM в контролируемой среде так и работает - у тебя есть нужный закрытый ключ и машина «посередине» прозрачно всё расшифровывает

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

при доступе к физическому транспорту можно «отзеркалить» перехватываемый трафик в занятый злоумышленником порт и потом не торопясь его ломать. Или осуществить классическую «man in the middle». Тогда оба ключа будут у злоумышленника :)

zad1ra
()
Ответ на: комментарий от Pinkbyte

Точно, совсем не учёл, что в сертификате содержится открытый ключ Васи, и на это всё подпись центра. Всучить свой (левый) открытый ключ клиенту не получится.

Спасибо.

pavlick ★★
() автор топика
Ответ на: комментарий от zad1ra

Тогда оба ключа будут у злоумышленника :)

Приватные ключи при обмене трафиком не покидают машины клиента/сервера(в идеале они вообще должны не покидать их с момента запроса сертификатов у удостоверяющего центра). Используются сессионные ключи. При наличии PFS(а в современные ciphersuite они есть) - сессионные ключи периодически меняются. Без самих приватных ключей, знание сессионных тебе не даст ничего. Удачи :-)

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 3)

А я тут вот чего подумал, а если я не буду слать настоящий Васин ssl сертификат клиенту, а отправлю тот, который получу сам? Соответсвенно, буду знать открытый/закрытый ключ, клиент успешно проверит сертфикат, отправит свой открытый ключ и будет общаться со мной как с Васей. Почему нет?

pavlick ★★
() автор топика
Ответ на: комментарий от pavlick

Понял, в сертификате должен сидеть FQDN

pavlick ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.