Два не совсем сопоставимы. DH - это алгоритм обмена ключами, не более и не менее. SSL пытается установить, что сервер, к которому вы подключаетесь, действительно тот, о ком он говорит. Для этого он использует сертификат, который можно отследить кому-то, кому вы (как предполагается) можете доверять.
DH сам по себе только удерживает других от чтения переданных данных. SSL предназначен для установления значительно большего (но может использовать DH, чтобы другие не читали поток).
Просто для наглядного примера, используя DH (сам по себе), человек в средней атаке довольно прост. Если я смогу заставить вас подключиться к моему серверу вместо того, на который вы рассчитывали, я могу использовать DH для установления «безопасного» сеанса с вами. Затем я подключаюсь к серверу, который вы изначально намеревались. Каждый пакет, который я получаю от вас, я дешифрую, повторно шифрую ключом, который использовал для подключения к этому серверу, и отправляю на этот сервер. Я делаю то же самое со всеми ответными пакетами. Для вас все выглядит так, как будто оно пришло непосредственно с исходного сервера, а сделанная вами покупка (например) работает как обычно. Единственное, что изменится, это то, что я также сохраню номер вашей кредитной карты, и когда вы попытаетесь заправить свой автомобиль топливом на следующий день, заряд будет отклонен, потому что за это время я потратил весь ваш кредит.
Аутентификация в SSL по крайней мере предназначена для предотвращения этого. Если ваш браузер попытался подключиться к (например) www.amazon.com, он должен предупредить вас, если в моем SSL-сертификате не указано, что он был выпущен для www.amazon.com - и центр сертификации не должен выдавать такой сертификат для никому кроме Amazon.
DH сам по себе даже не гарантирует большей части того, что я сказал выше. Сам по себе DH - это просто способ обмена ключами (или, возможно, его можно сформулировать как «обмен информацией, необходимой обеим сторонам для создания идентичных ключей без обмена самим ключом в открытом виде»). После того, как у обеих сторон есть ключ, они могут (и, вероятно, будут) использовать его для шифрования / дешифрования данных - но это шифрование фактически отделено от самого DH.