Цифровая подпись, подписанная либо личным ключом CA, либо в случае собственной подписи, это будет собственный закрытый ключ веб-сервера (надеюсь, это понимание верно? (Q1))
Правильно,Сертификат сервера будет подписан сертификатом ЦС (либо корневым ЦС, либо, чаще, промежуточным ЦС).В случае самозаверяющего сертификата сертификат сервера и CA являются одним и тем же сертификатом.
Позже Открытый ключ, предоставленный веб-сервером, используется для инициации симметричного шифрования секретного ключа.
Это справедливо только для обмена ключами RSA.С помощью RSA Kx предварительный главный секрет создается клиентом, шифруется открытым ключом сервера и отправляется на сервер.И клиент, и сервер затем получают все симметричные ключи из этого предварительного мастер-секрета.
Обмен ключами RSA не рекомендуется, но удаляется с помощью TLS 1.3.Вместо этого следует использовать обмен ключами Диффи-Хеллмана.С DH Kx сертификат сервера и открытый ключ внутри используются только для проверки подлинности сервера с целью защиты от атак «человек посередине», но не участвуют в обмене ключами.
Ноблоги также говорят о том, что браузеры уже имеют доверенные корневые сертификаты, и это подтверждает.Означает ли это, что браузер часто проверяет только содержимое сертификата без проверки цифровой подписи (Q2)?
Сервер отправляет серверный (конечный) сертификат и возможные промежуточные сертификаты, а затем браузер создает цепочку доверия излистовой сертификат, ведущий к локальному корневому сертификату (якорь доверия).Если такая цепочка доверия не может быть создана, сертификат не является доверенным.То, какие сертификаты CA используются в качестве привязки доверия, зависит от клиента: браузеры, такие как Firefox, имеют собственное хранилище доверия, другие браузеры используют хранилище доверия системы, другие клиенты используют еще одно хранилище доверия (то есть Java поставляется со своим собственным).См. Структура сертификата SSL 101: Как браузер действительно проверяет действительность данного сертификата сервера? для получения более подробной информации.
Теперь в случае самоподписанного, ...Таким образом, в этом сценарии у нас есть одна и та же пара открытых / закрытых ключей, используемая как во время подписи сертификата, так и для совместного использования симметричного ключа для шифрования данных (Q3) ??
С самозаверяющим сертификатомЭмитентом и сертификатом является сам сертификат, то есть закрытый ключ, используемый для подписи сертификата, совпадает с открытым ключом внутри сертификата.В случае обмена ключами RSA этот ключ также участвует в создании симметричных ключей (см. Выше).
При импорте сертификата также был бы импортирован Открытый ключ для проверки правильности подписи (Q4)?
Открытый ключ является частью сертификата (но закрытый ключ - нет).Таким образом, импорт сертификата также неявно импортирует открытый ключ.
Блоги говорят, что если сертификат существует в сертификатах доверенного корня, он считается действительным.Означает ли это, что браузер не выполняет проверку подписи (Q5)?
Корневой сертификат считается доверенным, поскольку он находится в локальном хранилище доверенных сертификатов, а не потому, что он чем-то подписан.Вот почему проверка подписи не имеет отношения к корневым сертификатам.Для правильной работы в качестве якоря доверия библиотеки SSL / TLS все еще часто требуют, чтобы корневой сертификат был надлежащим образом (самозаверяющим) подписанным сертификатом.