Зеленский.md 7.0 KB

HTTPS и SSL

Что такое HTTP?

HTTP (Hypertext Transfer Protocol) - это протокол прикладного уровня, который является основой передачи данных во Всемирной паутине. Он позволяет браузерам запрашивать веб-страницы и другим веб-ресурсам у серверов и получать их в ответ. Однако, HTTP передает данные в открытом виде, что делает их уязвимыми для:

Перехвата: Злоумышленники могут перехватить трафик и прочитать передаваемые данные (логины, пароли, номера кредитных карт и др.). Модификации: Злоумышленники могут изменять передаваемые данные, например, подменяя содержимое веб-страниц. Фальсификации: Злоумышленники могут выдавать себя за легитимный сервер, обманывая пользователей.

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

Как работают SSL/TLS:

SSL/TLS используют криптографию для обеспечения трех ключевых аспектов безопасности:

Шифрование: Данные, передаваемые между браузером и сервером, шифруются таким образом, что их не может прочитать никто, кроме отправителя и получателя. Аутентификация: Сервер доказывает свою подлинность, предоставляя сертификат SSL/TLS, выданный доверенным центром сертификации (CA). Это гарантирует, что пользователь подключается к нужному серверу, а не к поддельному. Целостность: SSL/TLS обеспечивают целостность данных, гарантируя, что данные не были изменены во время передачи. Для этого используются механизмы хэширования и цифровые подписи.

Процесс установления HTTPS-соединения (рукопожатие TLS):

Процесс установления защищенного соединения между браузером и сервером происходит в несколько этапов:

  1. Запрос на соединение: Браузер отправляет запрос на HTTPS-соединение.
  2. Предложение протоколов и наборов шифров: Сервер предлагает браузеру список поддерживаемых протоколов TLS и наборов шифров.
  3. Выбор протокола и набора шифров: Браузер выбирает наиболее безопасный общий протокол и набор шифров.
  4. Обмен ключами: Сервер отправляет свой цифровой сертификат, содержащий открытый ключ. Браузер проверяет подлинность сертификата у доверенного CA. Затем, браузер генерирует случайный секретный ключ и шифрует его открытым ключом сервера.
  5. Установка защищенного соединения: Браузер отправляет зашифрованный секретный ключ серверу. Сервер расшифровывает ключ своим закрытым ключом. Теперь у обоих есть общий секретный ключ для шифрования трафика.
  6. Шифрованный обмен данными: Все последующие данные, передаваемые между браузером и сервером, шифруются с использованием общего секретного ключа.

  7. Цифровые сертификаты SSL/TLS:

Сертификаты SSL/TLS - это электронные документы, подтверждающие подлинность сервера и содержащие его открытый ключ. Они выдаются центрами сертификации (CA), которые гарантируют легитимность владельца сертификата.

Сертификаты могут быть разных видов, включая:

Domain Validation (DV): Простая проверка владения доменом. Organization Validation (OV): Проверка владельца домена и его организации. Extended Validation (EV): Наиболее строгая проверка, обеспечивает наивысший уровень доверия.

Преимущества использования HTTPS:

1.Конфиденциальность: Защищает данные от перехвата и прочтения третьими лицами. 2.Целостность: Гарантирует, что данные не были изменены во время передачи. 3.Аутентификация: Подтверждает подлинность сервера, предотвращая фишинг. 4.Доверие пользователей: Зеленый замочек в адресной строке браузера повышает доверие пользователей к сайту. 5.SEO: Поисковые системы, такие как Google, отдают предпочтение сайтам с HTTPS.

Недостатки использования HTTPS:

Небольшое замедление: Процесс шифрования и дешифрования данных может привести к небольшому замедлению работы сайта. Стоимость: Приобретение SSL/TLS-сертификатов может потребовать финансовых затрат, хотя существует множество бесплатных вариантов. Сложность настройки: Настройка HTTPS может быть сложной для новичков.