Делая что-либо в интернете, мы заинтересованы в том, чтобы передаваемые данные были защищены. Для этого используется протокол HTTPS (HyperText Transfer Protocol Secure) — по сути, комбинация из протокола передачи данных прикладного уровня HTTP и криптографического протокола транспортного уровня SSL (Secure Socket Layer). Современная версия SSL-протокола называется TLS (Transport Layer Security), однако сама аббревиатура SSL стала настолько привычной, что её часто употребляют до сих пор.

Когда вы используете TLS-протокол, информация передаётся внутри зашифрованной сессии. Работает это так:

  1. Ваш браузер обращается к защищённому сайту (серверу) и запрашивает у него идентификационную информацию.
  2. Сервер отправляет в ответ копию своего TLS-сертификата.
  3. Браузер проверяет сертификат по списку доверенных центров сертификации. Если всё в порядке, то браузер создает, шифрует и отправляет серверу ключ симметричного шифрования для предстоящей сессии передачи данных.
  4. Сервер расшифровывает ключ и направляет браузеру подтверждение, после чего все передаваемые между ними данные шифруются этим ключом.

То есть, чтобы использовать протокол 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