Может ли человек посередине не просто взять ключи, обмененные противниками, изменить ключи, а затем снова расшифровать и зашифровать сообщение?
Да, они могут.
Протокол обмена ключами, такой как (версия «учебника») DH , защищен от перехвата (т. Е. Просто наблюдает за тем, что передается по каналу), но полностью разрушается от атак «человек посередине» (MITM), так как Вы заявили.
Сертификаты являются попыткой исправить это, но возникает другая проблема: как вы можете гарантировать, что обе стороны получат правильный сертификат? Очевидно, что вы не можете просто отправить сертификаты по небезопасному каналу, поскольку это снова подвержено атаке MITM.
Решением является наличие альтернативного (полностью) безопасного канала . Это могут быть либо две стороны, встречающиеся лично и обменивающие свои сертификаты физически, либо по некоторому альтернативному доверенному каналу (например, по телефону, если ему можно доверять).
В компьютерных сетях альтернативным каналом обычно является инфраструктура открытого ключа (PKI). Это означает, что ваша операционная система или браузер имеет набор предварительно настроенных корневых сертификатов, из которых подписаны другие сертификаты (и, возможно, даже дополнительные сертификаты, использующие их в качестве промежуточных сертификатов ). Следовательно, когда вы посещаете какой-либо веб-сайт, он представляет подписанный сертификат, который подписывается с использованием (цепочки) сертификатов, которым вы уже доверяете. Затем, используя этот сертификат, возможен обмен аутентифицированным ключом (например, для согласования эфемерного ключа для использования с обычным симметричным шифрованием).