Можете ли вы помешать человеку посередине прочитать сообщение?

10

Я слышал обо всех этих предупреждениях об атаке «человек посередине», и мне интересно, как это может сработать, если человек посередине только слушает ваш поток и не хочет изменять само сообщение.

Может ли человек посередине не просто взять ключи, обмененные противниками, изменить ключи, а затем снова расшифровать и зашифровать сообщение?

Как сертификат может предотвратить это?

Редактировать:

Я слышал, что центр сертификации обычно говорит: «Да, это ключ к другим». Но как я могу быть уверен, что подпись сертификата не поддельная?

TVSuchty
источник

Ответы:

10

Может ли человек посередине не просто взять ключи, обмененные противниками, изменить ключи, а затем снова расшифровать и зашифровать сообщение?

Да, они могут.

Протокол обмена ключами, такой как (версия «учебника») DH , защищен от перехвата (т. Е. Просто наблюдает за тем, что передается по каналу), но полностью разрушается от атак «человек посередине» (MITM), так как Вы заявили.

Сертификаты являются попыткой исправить это, но возникает другая проблема: как вы можете гарантировать, что обе стороны получат правильный сертификат? Очевидно, что вы не можете просто отправить сертификаты по небезопасному каналу, поскольку это снова подвержено атаке MITM.

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

В компьютерных сетях альтернативным каналом обычно является инфраструктура открытого ключа (PKI). Это означает, что ваша операционная система или браузер имеет набор предварительно настроенных корневых сертификатов, из которых подписаны другие сертификаты (и, возможно, даже дополнительные сертификаты, использующие их в качестве промежуточных сертификатов ). Следовательно, когда вы посещаете какой-либо веб-сайт, он представляет подписанный сертификат, который подписывается с использованием (цепочки) сертификатов, которым вы уже доверяете. Затем, используя этот сертификат, возможен обмен аутентифицированным ключом (например, для согласования эфемерного ключа для использования с обычным симметричным шифрованием).

dkaeae
источник
Итак, мы в основном передаем сертификаты по второму каналу, мы знаем, что это безопасно?
TVSuchty
Да; в противном случае атака MITM всегда возможна. Немного нелогично думать о структуре как о PKI как о «канале», но идея не столь надуманна, если рассматривать ее просто как способ передачи информации (в данном случае, сертификатов).
dkaeae
Но почему бы нам не поговорить о канале, который мы знаем как безопасный?
TVSuchty
1
@TVSuchty Вам нужен начальный доверенный ключ, но об этом нужно сообщать только один раз в жизни. Этот ключ также может быть ключом центра сертификации, которому вы доверяете для выдачи сертификатов другим лицам. Например, когда вы устанавливаете браузер, он поставляется с ключами многих CA. Когда вы переходите на сайт https, вы получаете ключ для сайта и сертификат, выданный центром сертификации, в котором указано, что ключ правильный, поэтому вы можете просто запустить https. Но это предполагает, что 1) ключи CA в браузере являются правильными, и 2) самим CA можно доверять.
Чи
1
@TVSuchty Достаточно одного доверенного ключа, если это открытый ключ ЦС, которому вы можете доверять. Firefox использует ~ 100 CA ключей .
Чи
5

В атаке «человек посередине» вы спрашиваете у Боба его ключ, но Ева перехватывает сообщение и вместо этого отправляет вам свой ключ. Она спрашивает у Боба его ключ, а затем передает сообщения между вами и Бобом, расшифровывает их, читает и / или изменяет их в процессе.

Проблема в том, что вы не знаете, действительно ли у вас есть ключ Боба. Сертификаты обходят это, потому что центр сертификации (CA) дает Бобу сообщение с цифровой подписью, говорящее «ключ Боба - 12345». Вы можете проверить этот сертификат, потому что там не так много CA, так что ваш браузер просто содержит список действительных ключей CA. Теперь, если Ева перехватит вашу попытку начать зашифрованное общение с Бобом, у нее есть два варианта. Если она говорит вам, что ключ Боба - 67890, то либо она не предоставляет сертификат, а вы говорите: «Извините, вам нужно это доказать», либо она предоставляет поддельный сертификат, а вы говорите: «Этот сертификат недействителен». В качестве альтернативы она говорит вам, что ключ Боба - 12345 и предоставляет действительный сертификат этого, но это бесполезно для нее, потому что она не '

Дэвид Ричерби
источник
Почему Ева не может просто прислать мне сертификат Бобса? Я имею в виду, что особенного в ключе Боба, чтобы Ева не могла повторить подобный? Как я узнаю, что этот ключ является сертифицированным? Как мне проверить сертификат?
TVSuchty
Я сказал вам, почему она не может выслать вам сертификат Боба (или, скорее, почему отправка вам сертификата Боба ей не помогает). Там нет такого понятия, как «похожий ключ». Вы знаете, что ключ сертифицирован, потому что у вас есть сертификат. Вы проверяете сертификат, проверяя цифровую подпись, используя ключ CA.
Дэвид Ричерби
@TVSuchty Ева должна сначала расшифровать сообщение, чтобы прочитать его, а затем повторно зашифровать сообщение, чтобы передать его дальше. Только личный сертификат подписи Боба позволит вам шифровать, как Боб, но несчастный человек, подверженный атаке MITM, должен быть в состоянии доказать, если у него есть сертификат Боба, чтобы узнать, был ли предоставлен Ева вместо этого. По этой причине некоторые защищенные приложения предлагают вам принять ключ шифрования в первый раз и каждый раз, когда он изменяется.
Willtech
1
@TVSuchty Сертификат в основном гласит: «Я X, и вы можете верить, что я X, потому что Y так говорит». Ева может легко создать сертификат, который говорит: «Я Боб, и вы можете верить, что я Боб, потому что Ева так говорит». Если мой компьютер получает этот сертификат, он просто смеется. «Ева так говорит» - не повод полагать, что это сертификат Боба. «Потому что Verisign так говорит», поскольку Verisign является одним из, скажем, 100 поставщиков сертификатов, которые были установлены на вашем компьютере производителем, это повод верить в это. Но Ева не может подделать такой сертификат.
gnasher729
Еще один ответ на вопрос «почему Ева не может выслать мне сертификат Боба:« Ева может либо попытаться подделать сертификат Боба, либо украсть его. Возможно, одного миллиона долларов достаточно, чтобы подкупить одного из сотрудников Боба, чтобы тот вручил копию сертификата Боба. Боб должен удостовериться, что трудно украсть сертификат. В случае кражи сертификат может быть отозван и больше не будет принят. Теперь в сертификате будет указано, что «это подлинный сертификат Боба, но он был украден, поэтому не верьте ему».
gnasher729