Проблемы с пониманием сертификатов CA

Проблемы с пониманием сертификатов CA

У меня есть заблуждения относительно сертификатов CA (Certificate Authority). Сколько бы я ни читал, все равно не до конца ясно.

Давайте рассмотрим пример: Боб заходит на веб-сайт. Для того чтобы между Бобом и веб-сайтом произошло надежное и зашифрованное общение, веб-сайт сначала выдает Бобу цифровой сертификат, содержащий открытый ключ и другую информацию.

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

Человек посередине может выдать себя за веб-сайт и предоставить Бобу то, что он считает действительным цифровым сертификатом, а затем все пойдет совсем плохо.

Если веб-сайт использует центр сертификации для проверки или создания собственного сертификата, какое из моих утверждений верно или оба частично верны?:

1) Боб просто сравнивает цифровой сертификат, полученный с веб-сайта, с сертификатом от CA, поэтому расшифровка не выполняется, только сравнение? В этом случае, все ли сертификаты CA в мире хранятся на локальном компьютере Боба для сравнения? Как это происходит.

2) У Боба просто есть специальный сертификат CA, который используется для расшифровки сертификатов с сайтов. CA ранее зашифровал цифровой сертификат веб-сайта, который Боб хочет использовать, с помощью закрытого ключа CA. Затем Боб получает сертификат с сайта, расшифровывает его с помощью открытого ключа CA из сертификата CA. Если сертификат не может быть расшифрован, очевидно, что CA не зашифровал его и поэтому он недействителен.

Заранее спасибо.

решение1

У вас действительно недопонимание. На самом деле оба ваших сценария неверны.

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

Сертификат проверяется центром сертификации через Интернет, а не локально, как это происходит с действительностью сертификата, при этом из центра сертификации извлекается открытый ключ.

Открытый ключ используется для проверки с помощью алгоритма хеширования того, что подписанный объект действительно был подписан и не был каким-либо образом изменен.

Поскольку одна картинка стоит тысячи слов:

введите описание изображения здесь

Источник :Понимание цифровых подписей.

решение2

Прежде всего, естьдва шагадля проверки сертификата, выданного центром сертификации:

  1. Доверен ли этот конкретный центр сертификации на выдачу сертификатов?
  2. Действительно ли этот сертификат был выдан тем центром сертификации, за который он себя выдает?

Оба ваших описания почти верныодна половинавсего процесса, но полностью игнорируйте другую половину. Объедините их, и вы будете на правильном пути.

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

(Я подозреваю, что часть вашего замешательства вызвана тем, что вы где-то прочитали, что, например, «в RSA шифрование и подписание — это одно и то же». Забудьте об этом. Хотя это в основном верно в математическом смысле, на практике это невероятно вводит в заблуждение, посколькунамерениеполностью противоположны между ними. Так что когда вы читаете документ, в котором говорится о подписании чего-либо,не(Предположим, это означает то же самое, что и шифрование.)


«Действительно ли сертификат этого веб-сайта был выдан тем центром сертификации, за который он себя выдает?»

Вариант №2 почти правильный в этом случае. Здесь задействованы как минимум два сертификата – один, представляющий веб-сайт («сертификат сервера»), и один, представляющий сам CA (называемый «сертификатом CA» или корневым сертификатом).

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

(На практике цепочка обычно немного длиннее и состоит как минимум из трех сертификатов, но механизм остается прежним: каждый подписывает следующий в цепочке.)

Но где Боб вообще берет этот «специальный сертификат CA»? Смотрите ниже.

«Доверен ли этот центр сертификации для выдачи сертификатов в целом?»

Полученный сертификат CA сравнивается со списком «доверенных корневых сертификатов», хранящимся на локальном компьютере.

Это похоже на то, что вы описали в варианте №1, за исключением того, что компьютер не хранит все сертификаты.изданныйпо центрам сертификации – вместо этого он хранит только сертификаты, принадлежащие центрам сертификациисами себя, т.е. «специальные сертификаты CA» в вашем варианте №1.

Есть примерно50–100«корневые сертификаты», установленные в большинстве систем – не совсем «каждый центр сертификации в мире», но они охватывают множество крупных и мелких компаний. (Включение в список стоит довольно дорого.)

Связанный контент