Мой вопрос в том, что может помешать человеку взять сертификат и использовать его, чтобы их поддельный сайт выглядел законным. Допустим, вы входите в систему Amazon, и ваш браузер получает этот сертификат. Затем этот человек создает сайт подделки и использует тот же сертификат, чтобы браузер решил, что это законно для людей, которые щелкнули по ссылке. Или, если сертификат уникален для этого конкретного компьютера, что мешает человеку посередине перехватить этот сертификат и использовать его в качестве сайта?
Заранее спасибо.
Сертификат, представленный на сайте, включает в себя открытый ключ сайта, помимо идентифицирующей информации, и цифровую подпись. Вы используете открытый ключ для шифрования информации, которую, в свою очередь, можно расшифровать только с помощью закрытого ключа. Цифровая подпись - это то, что подтверждает, что информация поступила только от держателя закрытого ключа (проверяет идентичность сайта путем подписания закрытым ключом). Используя открытый ключ для шифрования данных, только владелец закрытого ключа (исходный сайт, представляющий сертификат) сможет его расшифровать. Таким образом, никто другой не сможет расшифровать эти данные.
Как указывает Зоредак, вам нужны оба ключа для выполнения любого вида олицетворения.
Всего несколько моментов, которые нужно добавить к ответу @ Cheekaleak.
Центр сертификации (ЦС) - это организация, выдающая сертификат для сервера (помимо прочего). Таким образом, CA подписывает своим закрытым ключом содержимое сертификата и добавляет свою подпись.
Чтобы указать, кто подписал сертификат, сертификат X.509 имеет Отличительное имя эмитента назвав CA, в дополнение к Отличительное имя субъекта идентификация объекта, для которого выпущен сертификат.
Сами ЦС имеют сертификаты ЦС, то есть сертификаты, которые можно использовать для выдачи других сертификатов (путем подписания выпущенного сертификата с использованием закрытого ключа, совпадающего с открытым ключом в сертификате ЦС, и использования DN субъекта сертификата ЦС в качестве DN выдающего сертификата. ). Это создает иерархию от ЦС до конечных объектов (например, серверов), и могут быть промежуточные сертификаты ЦС (т. Е. Сертификат ЦС, используемый для выдачи другого сертификата ЦС, который затем может использоваться для выдачи сертификата конечного объекта). Сертификаты корневого центра сертификации вверху обычно подписываются самостоятельно.
Браузеры оценивают свое доверие к данному сертификату конечного объекта (например, сертификату сервера) путем построения цепочки сертификации между сертификатом EE и сертификатом CA, которому они уже доверяют (доверенные якоря). Большинство ОС / браузеров поставляются с набором сертификатов CA, которым по умолчанию доверяют. (Второй аспект этого заключается в том, что браузер проверяет, что сертификат EE был выдан имени сервера, к которому он хочет подключиться.)
Основная проблема этой модели заключается в том, что вы действительно не знаете, почему вы должны доверять сертификатам CA, которые по умолчанию связаны с программным обеспечением, которое вы получаете, потому что мошеннический или плохо управляемый CA, который будет иметь свой сертификат CA в вашем доверенные якоря могут выдать сертификат с именем законного веб-сайта.