Делая что-либо в интернете, мы заинтересованы в том, чтобы передаваемые данные были защищены. Для этого используется протокол HTTPS (HyperText Transfer Protocol Secure) — по сути, комбинация из протокола передачи данных прикладного уровня HTTP и криптографического протокола транспортного уровня SSL (Secure Socket Layer). Современная версия SSL-протокола называется TLS (Transport Layer Security), однако сама аббревиатура SSL стала настолько привычной, что её часто употребляют до сих пор.
Когда вы используете TLS-протокол, информация передаётся внутри зашифрованной сессии. Работает это так:
- Ваш браузер обращается к защищённому сайту (серверу) и запрашивает у него идентификационную информацию.
- Сервер отправляет в ответ копию своего TLS-сертификата.
- Браузер проверяет сертификат по списку доверенных центров сертификации. Если всё в порядке, то браузер создает, шифрует и отправляет серверу ключ симметричного шифрования для предстоящей сессии передачи данных.
- Сервер расшифровывает ключ и направляет браузеру подтверждение, после чего все передаваемые между ними данные шифруются этим ключом.
То есть, чтобы использовать протокол HTTPS, на вашем сайте (сервере) должен быть установлен TLS-сертификат. Он представляет собой небольшой файл, в котором обычно содержится следующая информация:
- доменное имя, для которого выпущен сертификат;
- лицо (юридическое или физическое), либо устройство, для которого он выпущен;
- серийный номер сертификата выдающего центра сертификации;
- цифровая подпись центра сертификации;
- дата выдачи и срок действия сертификата;
- публичный ключ (приватный ключ находится на сервере и никуда не передаётся; эта пара ключей нужна для шифрования симметричного ключа, который используется в сессии передачи данных).
Чтобы передавать данные по HTTPS, по крайней мере на стороне сервера должен находиться доверенный сертификат, который выдан на соответствующее имя домена. При подключении к серверу клиентское приложение (например, браузер) проверяет этот сертификат, в том числе:
- доменное имя сайта на совпадение с именем в сертификате;
- политику применения сертификата;
- информацию об издателе;
- срок действия сертификата и не отозван ли он.
TLS-сертификаты выдают центры сертификации (Certification Authority), которые подписывают запросы на сертификат и могут проверять информацию о владельце сайта. В зависимости от глубины такой проверки выпускаемые сертификаты бывают нескольких типов.
Самые надёжные — сертификаты с расширенной проверкой (EV, Extended Validation) и с проверкой организации (OV, Organization Validation). При выпуске таких сертификатов проверяется юридическое и физическое существование запрашивающей организации и её право на домен, а для EV-сертификатов — ещё и соответствие её деятельности представленным документам.
Для сертификатов с проверкой домена (DV, Domain Validation) всё проще — проверяется только право собственности на домен. Зато этот тип сертификата могут получить не только юридические, но и физические лица.
Практика. Выпуск сертификата с Let’s Encrypt
Практика: https://practicum.yandex.ru/trainer/ycloud/lesson/32f3b7e7-722c-48b2-afa9-4603554d2c06/
📂 YandexCloud | Последнее изменение: 15.08.2024 13:32