1

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

1 ответ1

4

Шифрование с открытым ключом - это процесс. Сертификат, тем временем, является частью информации ; он ничего не делает сам по себе. Поэтому вы можете заменить открытый ключ сертификатом, но вы не можете заменить шифрование открытым ключом сертификатом.

Также сертификаты являются расширением открытых ключей; они несут открытый ключ вместе с информацией о том, кому он принадлежит и кто его выдал. Поэтому говорить "просто используйте сертификат вместо открытого ключа" - это обратная сторона.

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

Другие протоколы (например, IPSec или SSH) могут использовать как ручную настройку открытых ключей, соответствующих каждому пользователю и хосту, так и автоматическую проверку сертификатов в соответствии с именами, хранящимися в них.

(На самом деле шифрование с открытым ключом очень мало используется в современных TLS или SSH. Помните, что оно намного медленнее, чем симметричное шифрование, и поэтому оба конца просто выбирают случайный симметричный ключ для сеанса и используют его для симметричного шифрования большая часть данных с использованием AES или RC4 или тому подобное. В прошлом одна сторона генерировала сеансовый ключ, шифровала его открытым ключом другой стороны и отправляла его, где его расшифровывали с использованием закрытого ключа. Однако теперь обе стороны используют DH или аналогичные протоколы для вычисления ключа сеанса, и единственная цель открытых ключей состоит в том, чтобы аутентифицировать вычисления, отправленные обеими сторонами.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .