Современный интернет работает посредством сетевой инфраструктуры OSI. Она состоит из семи уровней, на каждом из которых происходит обмен данными между устройствами.
Уровни модели OSI
За работу каждого уровня отвечает один из сетевых протоколов. Сетевой протокол — это набор соглашений, в котором зафиксировано, как и по каким правилам будет происходить обмен данными. Одним из таких протоколов является Secure Sockets Layer, или SSL. Давайте разберемся, что он из себя представляет.
Что такое Secure Sockets Layer. Как работает протокол SSL
С английского Secure Sockets Layer (SSL) переводится как протокол защищенных сокетов (конечных точек соединения). SSL-certificate — это криптографический протокол, который отвечает за безопасную передачу данных на сеансовом уровне.
Протокол разработала и внедрила компания Netscape Communications в 1994 году. Самую первую версию SSL так и не выпустили из-за низкого уровня безопасности — протокол не гарантировал конфиденциальность данных по транзакциям с кредитными картами. При разработке SSL v2 были учтены и исправлены недостатки предыдущей версии. При этом уже в 1995 вышла третья версия протокола с улучшенной структурой MAC, но и её нельзя было назвать идеальной. В 1999 году Кристофер Аллен и Тим Диркс разработали новую версию протокола. Её назвали TLS — от англ. Transport Layer Security (защита транспортного уровня).
TLS-протокол регулярно обновляется. В 2006 году появилась версия 1.1, в 2008 — 1.2, а в 2018 разработана самая актуальная на данный момент версия — 1.3.
Поскольку технология SSL лежит в основе первых разработок безопасной передачи данных, защищённое подключение по-прежнему называют именно SSL ( а не TLS). Конечно, в бытовом общении эти понятия можно использовать как синонимы. При этом стоит понимать, что SSL и TLS всё-таки различаются.
SSL/TLS гарантирует безопасное взаимодействие на сеансовом уровне, работа которого не видна простому пользователю. Однако можно наблюдать, как защищённые протоколы работают на более высоком уровне — прикладном. За безопасность этого уровня отвечает протокол НTTPS.
Как работает HTTPS
HTTPS (HyperText Transfer Protocol Secure) ― это протокол безопасного соединения, который защищает передаваемую информацию на уровне браузера. У него есть предшественник — HTTP.
HTTP (HyperText Transfer Protocol) ― протокол передачи данных в интернете. Благодаря его работе пользователь может запросить ту или иную информацию через браузер и получить её от сервера, на котором она хранится. Это первый протокол, разработанный для работы в веб-пространстве.
Информация, которой пользователь обменивается с сервером по протоколу HTTPS, в отличие от HTTP, защищена. HTTPS реализует защиту в три этапа:
- 1. Шифрует передаваемую информацию. Так мошенники не могут отследить действия пользователей и получить доступ к данным.
- 2. Проводит аутентификацию. Благодаря этому посетители понимают, что сайту можно доверять и что личная информация (паспортные данные, банковские реквизиты и другое) не попадет в руки злоумышленников.
- 3. Поддерживает целостность информации. Все транзакции и изменения данных фиксируются. Это позволяет отслеживать действия и вовремя предотвратить инцидент в случае подозрительной активности.
Какой порт SSL соответствует HTTPS протоколу? В отличие от HTTP, который работает по порту 80, HTTPS (SSL) использует порт 443.
Проверить, по какому протоколу работает сайт, можно в URL-строка браузера:
Изначально все сайты работают по HTTP. Чтобы «перевести» сайт на HTTPS, нужно установить SSL-сертификат.
Как работает SSL-сертификат
В основе работы SSL шифрования лежит обмен ключами по алгоритму RSA. Этот обмен происходит при каждом действии в сети (переходе по ссылке, вводе запроса в поисковик) — транзакции. При этом несколько транзакций могут объединиться в одну сессию — в таком случае обмен ключами произойдёт только один раз в сессию.
Рассмотрим, как работает RSA-алгоритм. Для этого представим, что пользователь переходит на сайт, но пока не знает, по какому протоколу он работает:
- 1 Браузер пользователя запрашивает у сайта SSL-сертификат.
- 2 Сайт предоставляет сертификат.
- 3 Браузер уточняет его подлинность через центр сертификации. Если сертификат не совпадает, транзакция может быть прервана. Если сертификат подтверждается, они продолжают взаимодействие.
-
4
Браузер и сайт договариваются о симметричном ключе. Для этого браузер и сервер обмениваются асимметрично зашифрованными сообщениями, а затем общаются при помощи симметричного шифрования.
Асимметричный ключ — каждая сторона имеет два ключа: публичный и частный. Публичный ключ доступен любому. Частный известен только владельцу. Если браузер хочет отправить сообщение, то он находит публичный ключ сервера, шифрует сообщение и отправляет на сервер. Далее сервер расшифровывает полученное сообщение с помощью своего частного ключа. Чтобы ответить пользователю, сервер делает те же самые действия: поиск публичного ключа собеседника, шифрование, отправка.
Симметричный ключ — у обеих сторон есть один ключ, с помощью которого они передают данные. Между двумя сторонами уже должен быть установлен первичный контакт, чтобы браузер и сервер знали, на каком языке общаться.
- 5 Браузер и сайт передают зашифрованную информацию.
Готово, пользователь подключился к сайту, который работает по безопасному протоколу HTTPS.
Процесс выпуска SSL-сертификата
SSL/TLS-сертификация включает в себя следующие шаги:
- 1. Создание CSR. Certificate Signing Request (CSR) — это запрос на подписание SSL-сертификата. Чтобы выпустить сертификат, владелец сайта должен сгенерировать CSR, содержащий подробную информацию о домене и организации.
- 2. Отправка CSR в удостоверяющий центр (CA). После создания CSR-запрос отправляется в удостоверяющий центр (CA). Удостоверяющий центр — это организация, которая проверяет предоставленную в информацию CSR и выдает SSL-сертификаты.
- 3. Проверка и верификация. Удостоверяющий центр проверяет подлинность информации, предоставленной в CSR. В зависимости от типа сертификата, процесс может включать проверку владения доменом, юридического, физического существования компании и ее правовой деятельности.
- 4. Выдача SSL-сертификата. После успешной проверки CA выдает SSL-сертификат, который включает в себя сам сертификат, приватный ключ и цепочку сертификатов.
- 5. Установка SSL-сертификата. Чтобы полученный сертификат заработал, его необходимо установить на сервер. О том, как установить SSL-сертификат, вы можете узнать в статье. Чтобы проверить работоспособность установленного сертификата, необходимо перейти на сайт и посмотреть, отображается ли замочек в адресной строке. Также для проверки можно использовать сервис SSL Checker.
Чем SSL-протокол отличается от SSL-сертификата
SSL-протокол (Secure Sockets Layer) — это криптографический протокол, который обеспечивает защищенное соединение между веб-сервером и браузером. Основная задача SSL — защита данных, передаваемых по сети, от перехвата и несанкционированного доступа путем шифрования информации.
SSL-сертификат — это цифровой документ, который удостоверяет подлинность сайта и позволяет устанавливать защищенное соединение с использованием SSL-протокола. Сертификат содержит ключи шифрования и другую информацию, которая помогает браузеру проверить подлинность сервера.
Ключевые различия:
- SSL-протокол отвечает за установление и поддержание защищенного соединения,
- SSL-сертификат подтверждает подлинность сервера и предоставляет данные для шифрования.
Виды SSL-сертификатов
По уровню доверия различают 3 вида SSL-сертификатов:
- 1. DV (Domain Validation). На этом уровне проверяется только владение доменом. Сертификаты DV быстро и просто выпускаются, но обеспечивают минимальный уровень доверия.
- 2. OV (Organization Validation) или CV (Company Validation). Проверяется не только владение доменом, но и юридическая информация о компании. Сертификаты OV и CV обеспечивают средний уровень доверия и используются для сайтов, требующих более серьезной проверки.
- 3. EV (Extended Validation). На этом уровне проводится самый строгий процесс проверки, включающий проверку юридического, физического существования компании и ее правовой деятельности. Сертификаты EV обеспечивают наивысший уровень доверия. Они используются для ресурсов, которым критически важна безопасность, например, для сайтов банков.
В Рег.ру вы можете получить бесплатные SSL-сертификаты для сайта уровня Domain Validation на 6 месяцев при заказе хостинга или домена .ru, .рф, .com, .su.
Что такое самоподписанный сертификат
Алгоритмы шифрования SSL/TLS
Алгоритмы шифрования, используемые в SSL/TLS, можно разделить на три основные категории:
- 1. Симметричное шифрование.
- 2. Асимметричное шифрование.
- 3. Криптографические хэш-функции.
Симметричное шифрование использует один и тот же ключ для шифрования и расшифровки данных. Этот метод обеспечивает высокую скорость и эффективность, что делает его подходящим для шифрования больших объемов данных в ходе активного сеанса связи.
Примеры алгоритмов:
- AES — один из самых популярных и безопасных алгоритмов симметричного шифрования, поддерживающий ключи длиной 128, 192 и 256 бит;
- 3DES — улучшенная версия алгоритма DES, использующая три последовательных этапа шифрования для повышения безопасности.
Асимметричное шифрование использует два различных ключа — публичный и приватный. Публичный ключ используется для шифрования данных, а с помощью приватного ключа производится расшифровка. Этот метод особенно полезен для начальной аутентификации и обмена ключами, так как позволяет безопасно передавать симметричный ключ через незащищенное соединение.
Примеры алгоритмов:
- RSA — широко используемый алгоритм, основанный на сложности факторизации больших чисел. Обеспечивает высокий уровень безопасности при использовании больших ключей;
- ECDSA — вариант асимметричного шифрования, использующий эллиптические кривые для повышения безопасности и эффективности.
Криптографические хэш-функции используются для создания уникальных цифровых отпечатков (хэшей) данных, что позволяет проверить их целостность и аутентичность. Хэш-функции обеспечивают однонаправленное шифрование, то есть восстановить исходные данные по их хэшу невозможно.
Примеры алгоритмов: — SHA — cемейство хэш-функций, включающее SHA-1, SHA-2 и SHA-3. Эти алгоритмы широко используются для создания цифровых подписей и проверки целостности данных; — MD5 — 128-битный алгоритм хеширования. Несмотря на известные уязвимости, все еще используется в некоторых системах для хеширования данных.
Итак, мы рассказали как для чайников, как работает SSL и HTTPS протоколы и что необходимо настроить для безопасного подключения.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊