Compare Revisions
Сертификат защищённого веб-сайта
Revision 274785:
Revision 274785 by Goudron on
Revision 291866:
Revision 291866 by Goudron on
Keywords:
безопасность просмотр
безопасность просмотр
Search results summary:
Веб-сайты предоставляют Firefox сертификаты, чтобы идентифицировать себя. Узнайте, как Firefox проверяет подлинность сайтов, которые вы посещаете.
Веб-сайты предоставляют Firefox сертификаты, чтобы идентифицировать себя. Узнайте, как Firefox проверяет подлинность сайтов, которые вы посещаете.
Content:
Сертификаты [https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/ Безопасности траспортного уровня] (TLS) проверяют целостность как прав владения, так и информации о посещаемых вами веб-сайтах. В этой статье объясняется, как это работает.
__TOC__
=Какие веб-сайты используют сертификаты?=
Веб-сайты, адреса которых начинаются с '''https''', используют сертификаты TLS. Веб-сайты, использующие сертификаты TLS, безопасны только в том случае, если они проверяют две вещи:
* Администратор веб-сайта владеет именем веб-сайта или знает, кто это делает
* Веб-сайт шифрует соединение между вашим браузером и самим собой, чтобы предотвратить прослушивание
=Цепочка доверия=
Браузеры, такие как Firefox, проверяют сертификаты с помощью иерархии, называемой '''цепочка доверия''. Она определяет структуру для браузеров и других программ для проверки целостности сертификата. Эта диаграмма иллюстрирует цепочку доверия:
;[[Image:chain-of-trust]]
Это список из трех сертификатов:
* Корневой сертификат '''(привязка доверия)'''
* Промежуточный сертификат
* Сертификат сервера '''(конечная сущность)'''
Давайте определим их: корневой сертификат принадлежит [https://en.wikipedia.org/wiki/Certificate_authority Центру сертификации] (CA), который выдает сертификаты TLS и которому браузер по своей сути доверяет; промежуточный сертификат действует как посредник между корневым центром сертификации и веб-сайтом; сертификат сервера принадлежит администратору веб-сайта.
Эти сертификаты содержат следующую информацию:
* Подробные сведения об центре сертификации (CA)
* Асимметричная пара ключей
** Закрытый ключ, который криптографически подписывает следующий сертификат в цепочке; сертификат сервера имеет такой для других задач
** Открытый ключ для расшифровки подписи следующего сертификата в цепочке для проверки личности; сертификат сервера использует его для других задач
Теперь мы можем описать, как Firefox определяет, является ли веб-сайт безопасным.
==Как Firefox проверяет целостность сертификата?==
Вот как Firefox использует цепочку доверия для проверки сертификатов TLS:
# Firefox загружает сертификат веб-сайта, который вы посетили
# Firefox проверяет сертификат по своей внутренней базе данных центров сертификации (CAs)
#* Он использует открытый ключ сертификата корневого центра сертификации, чтобы гарантировать, что корневой сертификат и промежуточный сертификат надлежащим образом подписаны по цепочке
# Firefox производит проверку в центре сертификации, чтобы убедиться, что веб-сайт, к которому вы подключены, соответствует веб-сайту в сертификате сервера
# Firefox генерирует симметричный (одиночный) ключ для шифрования HTTP-трафика для соединения
# Firefox шифрует симметричный ключ с помощью открытого ключа сертификата сервера
# Закрытый ключ, который находится на веб-сервере, расшифровывает данные подключения
=Просмотр сертификата=
Чтобы просмотреть сертификат, выполните следующие действия:
# Нажмите на значок замка
#; [[Image:padlock-icon]]
# Нажмите на {button Защищённое соединение}
#; [[Image:connection-secure]]
# Нажмите на {button Подробнее}
#; [[Image:more-information]]
# В сплывающем окне нажмите {button Просмотреть сертификат}
#; [[Image:view-certificate]]
Теперь Firefox откроет страницу '''about:certificate''' с сертификатом для веб-сайта, на котором вы находитесь:
;[[Image:about-certificate-page]]
На трёх вкладках слева направо показаны сертификат сервера, промежуточный сертификат и корневой сертификат.
=Содержимое сертификата=
Сертификаты TLS содержат следующую информацию:
* '''Субъект''': Содержит название веб-сайта и необязательные атрибуты, такие как информация об организации, владеющей сертификатом.
* '''Издатель''': Идентифицирует организацию, выдавшую сертификат
* '''Срок действия''': Показывает, как долго действителен сертификат
* '''Расширение альтернативного имени субъекта''': Содержит список адресов веб-сайтов, для которых действителен сертификат
* '''Информация об открытом ключе''': Перечисляет атрибуты открытого ключа сертификата
* '''Серийный номер''': Однозначно идентифицирует сертификат
* '''Алгоритм подписи''': Алгоритм, используемый для создания подписи
* '''Отпечатки''': Хэш файла сертификата в двоичном формате [https://wiki.openssl.org/index.php/DER DER]
* '''Использование ключа и Расширенное использование ключа''': Указывает, как пользователи могут использовать сертификат, например, для подтверждения права собственности на веб-сайт (аутентификация веб-сервера).
* '''Идентификатор ключа субъекта''': Идентификатор, сгенерированный из открытого ключа сертификата TLS для идентификации сертификата
* '''Идентификатор ключа центра сертификатов''': Идентификатор, сгенерированный из открытого ключа сертификата TLS как способ идентификации открытого ключа, соответствующего закрытому ключу, используемому для подписи сертификата
* '''Точки распределения списков отзыва (CRL)''': Местоположения [https://csrc.nist.gov/glossary/term/certificate_revocation_list Списка отзыва сертификатов] (CRL) центра сертификации-эмитента
* '''Доступ к информации о центрах сертификации''': Содержит метод проверки для центра сертификации и промежуточный файл сертификата
* '''Проверка сертификата''': Содержит тип проверки сертификата и ссылку на [https://csrc.nist.gov/glossary/term/certification_practice_statement Заявление центра сертификации о практике сертификации] (CPS)
* '''Список SCT''': Перечисляет [https://www.globalsign.com/en/blog/what-is-certificate-transparency Временные метки подписанного сертификата] (SCTS)
=Проблемные сертификаты=
Когда вы посещаете веб-сайт, адрес которого начинается с '''https''', и возникает проблема с сертификатом TLS, отображается страница с ошибкой. В статье [[What do the security warning codes mean?]] описаны распространенные ошибки сертификатов.
Чтобы просмотреть проблемный сертификат, выполните следующие действия:
# На странице предупреждения '''Ваше соединение не защищено''' нажмите {button Дополнительно...}
#; [[Image:bad-cert-advanced]]
# Нажмите ''Просмотреть сертификат''.
#; [[Image:view-bad-certificate]]
Теперь отобразится неверный сертификат.
<!-- This feature appears to be deprecated
=Reporting Certificate Errors=
Certificate error pages include an option to report the error to Mozilla. Sharing the address and site
identification (the secure website certificate) for the site that was untrusted will help Mozilla identify and block malicious sites to keep you better protected.
-->
<!-- see discussion
=Удаление сертификатов=
Вы можете удалить сертификаты, совершив следующие действия:
# [[Template:optionspreferences]]
# Щёлкните на панели слева по {menu Приватность и Защита}.
# Прокрутите страницу до раздела '''Сертификаты'''.
# Щёлкните по кнопке {button Просмотр сертификатов…}.
#;Отобразится всплывающее окно '''Управление сертификатами''' со вкладкой {menu Ваши сертификаты}, выбранной по умолчанию, которая содержит список связанных сертификатов.
# Щёлкните по сертификату в списке.
# Щёлкните по кнопке {button Удалить…} в нижней части всплывающего окна.
# Щёлкните по кнопке {button OK}.
#;Этот сертификат больше не будет отображаться на вкладке {menu Ваши сертификаты}.
-->
Сертификаты [https://developer.mozilla.org/docs/Web/Security/Transport_Layer_Security безопасности транспортного уровня (Transport Layer Security, TLS)] для защищенных веб-сайтов подтверждают целостность как прав собственности, так и информации о посещаемых вами веб-сайтах. В этой статье объясняется, как это работает.
__TOC__
=Какие веб-сайты используют сертификаты?=
Веб-сайты, адреса которых начинаются с '''https''', используют сертификаты сервера TLS. Веб-сайты, использующие сертификаты сервера TLS, безопасны только в том случае, если они гарантируют две вещи:
* Администратор веб-сайта владеет доменным именем или контролирует его, гарантируя, что пользователи подключаются к законному сайту, а не к поддельной или вредоносной копии веб-сайта.
* Зашифрованный обмен данными по протоколу TLS между браузером и веб-сайтом обеспечивает защиту от прослушивания или несанкционированного вмешательства третьих лиц.
=Цепочка доверия=
Браузеры, такие как Firefox, проверяют сертификаты с помощью иерархии, называемой '''цепочка доверия''. Она определяет структуру для браузеров и других программ для проверки целостности сертификата. Это список из трех сертификатов:
* Корневой сертификат '''(привязка доверия)'''
* Промежуточный сертификат
* Сертификат TLS-сервера '''(конечная сущность)'''
;[[Image:chain-of-trust]] <!-- Localizers: "chain-of-trust" image is optional -->
Давайте определим их: корневой сертификат принадлежит [https://ru.wikipedia.org/wiki/Центр_сертификации Центру сертификации] (CA), который выдает сертификаты сервера TLS, и браузер по своей сути доверяет ему; промежуточный сертификат действует как посредник (центр сертификации, выдающий сертификаты) между корневым центром сертификации и веб-сайтом; сертификат сервера TLS выдается юридическому лицу или организации, что демонстрирует контроль над доменом веб-сайта.
Сертификаты сервера TLS основаны на криптографии с открытым ключом, в которой асимметричная пара ключей имеет два математически связанных ключа:
Закрытый ключ: Этот ключ хранится в секрете его владельцем и используется для криптографических операций, таких как подписание данных (включая сертификаты) или расшифровка информации, зашифрованной с помощью открытого ключа.
Открытый ключ: Этот ключ является общедоступным и используется для проверки подписей, созданных с помощью закрытого ключа, или для шифрования информации, которую может расшифровать только закрытый ключ.
Сертификаты открытых ключей содержат следующую информацию:
* Сведения о центре сертификации (CA), выдавшем сертификат
* Открытый ключ, принадлежащий организации, получившей сертификат.
* Указание сведений об организации, у которой хранится закрытый ключ (прочитайте [[#w_soderzhimoe-sertifikata|Содержимое сертификата]] ниже. Для TLS это, прежде всего, доменное имя веб-сайта).
Теперь мы можем описать, как Firefox определяет, является ли веб-сайт безопасным.
==Как Firefox проверяет целостность сертификата?==
Вот как Firefox использует цепочку доверия для проверки сертификатов TLS-серверов:
# Firefox загружает сертификат веб-сайта, который вы посетили.
# Firefox проверяет сертификат по своей внутренней базе данных доверенных центров сертификации (CAs).
#* Он использует открытый ключ сертификата корневого центра сертификации, чтобы убедиться, что корневой сертификат и промежуточный сертификат были должным образом подписаны по цепочке с сертификатом сервера TLS, предоставленным веб-сайтом.
# Firefox проверяет информацию в сертификате, чтобы убедиться, что веб-сайт, к которому вы подключены, соответствует веб-сайту, указанному в сертификате.
# Firefox генерирует симметричный (одиночный) ключ для шифрования HTTP-трафика для соединения.
# Firefox шифрует симметричный ключ открытым ключом сервера, который содержится в сертификате сервера.
# Закрытый ключ, который находится на веб-сервере, расшифровывает необходимые данные подключения для завершения так называемого TLS-рукопожатия.
После этого между Firefox и веб-сайтом может осуществляться защищенная связь.
=Просмотр сертификата=
Чтобы просмотреть сертификат, выполните следующие действия:
# Нажмите на значок замка [[Image:Fx89Padlock]] в адресной строке.
# На открывшейся [[Site Information panel|панели Информация о сайте]] нажмите на {button Защищённое соединение}.
#; [[Image:Fx134SiteInfo-ConnectionSecure]]
# На следующей панели нажмите на {button Подробнее}
#; [[Image:Fx134SiteInfo-MoreInfo]]
# В открывшемся [[Firefox Page Info window|окне Информация о странице]] нажмите на {button Просмотреть сертификат}
#; [[Image:Fx134SiteInfo-ViewCert]]
Теперь Firefox откроет страницу ''about:certificate'', чтобы отобразить информацию о сертификате для веб-сайта, на котором вы находитесь:
;[[Image:Fx134SiteInfo-AboutCert]]
На трёх вкладках слева направо показаны сертификат TLS-сервера, промежуточный сертификат и корневой сертификат.
=Содержимое сертификата=
Сертификаты TLS-серверов содержат следующую информацию:
* '''Субъект''': Содержит необязательные атрибуты, такие как название веб-сайта и другую информацию об организации, владеющей сертификатом.
* '''Издатель''': Идентифицирует организацию CA, выдавшую сертификат.
* '''Срок действия''': Показывает, как долго действителен сертификат.
* '''Расширение альтернативного имени субъекта''': Содержит список адресов веб-сайтов, для которых действителен сертификат.
* '''Информация об открытом ключе''': Перечисляет атрибуты открытого ключа сертификата.
* '''Серийный номер''': Однозначно идентифицирует сертификат.
* '''Алгоритм подписи''': Алгоритм, используемый для создания подписи.
* '''Отпечатки''': Хэш файла сертификата в двоичном формате [https://wiki.openssl.org/index.php/DER DER].
* '''Использование ключа''' и '''Расширенное использование ключа''': Указывают, как пользователи могут использовать сертификат, например, для проверки подлинности на веб-сервере по протоколу TLS.
* '''Идентификатор ключа субъекта''': Идентификатор, сгенерированный из открытого ключа сертификата TLS для идентификации сертификата.
* '''Идентификатор ключа центра сертификатов''': Идентификатор, сгенерированный из открытого ключа CA как способ идентификации открытого ключа, соответствующего закрытому ключу, используемому для подписи сертификата.
* '''Точки распределения списков отзыва (CRL)''': Местоположения [https://csrc.nist.gov/glossary/term/certificate_revocation_list Списка отзыва сертификатов] (CRL) центра сертификации-эмитента.
* '''Доступ к информации о центрах сертификации''': Содержит метод проверки для центра сертификации и промежуточный файл сертификата.
* '''Политики сертификата''': Содержит указатели на тип сертификата TLS, которым он является (например, информация, подтвержденная при выдаче сертификата).
* '''Список SCT''': Перечисляет [https://www.globalsign.com/en/blog/what-is-certificate-transparency Временные метки подписанного сертификата] (SCTS).
=Проблемные сертификаты=
Когда вы посещаете веб-сайт, адрес которого начинается с '''https''', и возникает проблема с сертификатом TLS, отображается страница с ошибкой. В статье [[What do the security warning codes mean?]] описаны распространенные ошибки сертификатов.
Чтобы просмотреть проблемный сертификат, выполните следующие действия:
# На странице предупреждения нажмите {button Дополнительно…}
#; [[Image:Fx134SecurityWarning]]
# Нажмите ''Просмотреть сертификат''.
#; [[Image:Fx134SecurityWarning-ViewCert]]
Теперь отобразится неверный сертификат.
<!-- This feature appears to be deprecated
=Reporting Certificate Errors=
Certificate error pages include an option to report the error to Mozilla. Sharing the address and site
identification (the secure website certificate) for the site that was untrusted will help Mozilla identify and block malicious sites to keep you better protected.
-->
<!-- see discussion
=Удаление сертификатов=
Вы можете удалить сертификаты, совершив следующие действия:
# [[Template:optionspreferences]]
# Щёлкните на панели слева по {menu Приватность и Защита}.
# Прокрутите страницу до раздела '''Сертификаты'''.
# Щёлкните по кнопке {button Просмотр сертификатов…}.
#;Отобразится всплывающее окно '''Управление сертификатами''' со вкладкой {menu Ваши сертификаты}, выбранной по умолчанию, которая содержит список связанных сертификатов.
# Щёлкните по сертификату в списке.
# Щёлкните по кнопке {button Удалить…} в нижней части всплывающего окна.
# Щёлкните по кнопке {button OK}.
#;Этот сертификат больше не будет отображаться на вкладке {menu Ваши сертификаты}.
-->