Secure Sockets Layer, SSL — протокол, обеспечивающий шифрование, защиту и аутентификацию интернет-соединений. Несмотря на то, что начале XXI века его заменил обновленный протокол TLS (Transport Layer Security), SSL по-прежнему широко используется.
Протоколы SSL/TLS также подходят для защиты и других подключений — например, IP-телефонии или электронной почты.
Работа SSL-протокола базируется на нескольких этапах:
В результате трафик, который передается между сервером и клиентом, защищен от перехвата и изменения злоумышленниками. SSL-протокол сохраняет целостность, конфиденциальность и аутентификацию данных.
SSL-сертификат — это файл, который устанавливается на сервере с сайтом. Он содержит цифровую подпись издателя, открытый ключ и имя владельца сертификата, название центра сертификации.
SSL-сертификаты нужны для обеспечения безопасности пользовательских данных, подтверждения права собственности на веб-сайт, предотвращения создания поддельных версий сайта.
Если веб-сайт просит пользователей войти в систему или ввести личные данные, SSL поможет сохранить конфиденциальность сессии. Он также гарантирует, что веб-сайт является подлинным.
Самое главное — сертификат нужен, чтобы веб-сайт мог работать через шифрование HTTPS. Если сертификат отсутствует, то обмен данными осуществляется через HTTP.
HTTPS создает зашифрованное соединение между браузером пользователя и веб-сервером, с которым он общается. SSL-сертификаты необходимы для установки этого зашифрованного соединения.
В зависимости от задачи доступно несколько типов сертификатов. Уровень аутентификации, обеспечиваемый центром сертификации (CA), является существенным различием между ними.
В зависимости от центра сертификации пользователь может защитить от 25 до 250 доменов, что экономит время на управление сертификатами, а также снижает стоимость.
Существуют как платные, так и бесплатные сертификаты SSL.
Платные сертификаты SSL предоставляются коммерческими центрами сертификации. Они обеспечивают более высокий уровень доверия для пользователей, так как включают проверку владельца сайта.
Бесплатные сертификаты SSL также доступны и могут быть получены от различных организаций, таких как Let’s Encrypt. Они предоставляют базовую безопасность и шифрование данных, но могут иметь ограниченный период действия или ограничения по функциональности.
Для получения SSL-сертификата необходимо выполнить несколько действий:
1. Выберите поставщика SSL-сертификатов. На рынке существует множество компаний, которые предлагают сертификаты. Среди них — Comodo, Symantec, GlobalSign, Let’s Encrypt и другие. Выберите поставщика, учитывая ваши потребности и бюджет.
2. Приобретите SSL-сертификат. После выбора поставщика и плана сертификации вам нужно купить сертификат. Поставщик предоставит вам данные, которые необходимо внести в качестве дополнительных записей на сервере или DNS.
3. Сгенерируйте CSR, запрос на сертификат. Вам необходимо будет создать запрос, который содержит информацию о вашей организации (название, адрес, домен и другие данные). Этот запрос будет связан с вашим закрытым ключом и использоваться для создания сертификата.
4. Предоставьте CSR поставщику сертификатов. Когда вы сгенерируете CSR, передайте его поставщику сертификатов. Он будет использовать эту информацию для создания вашего SSL-сертификата.
5. Подтвердите свое право на домен. В зависимости от типа сертификата и поставщика может понадобиться подтверждение того, что вы собственник домена. Обычно это можно сделать с помощью специальных DNS-записей или размещения файлов на сервере.
6. Получите и установите SSL-сертификат. После утверждения запроса поставщик предоставит вам SSL-сертификат. Его нужно будет установить на сервере — для этого понадобится закрытый ключ, созданный вместе с CSR.
После установки SSL-сертификата сайт будет защищен шифрованием. Посетители будут значок в адресной строке браузера, которые указывают на то, что соединение с сервером безопасно.
Самый простой способ узнать — это проверить URL сайта. Он должен начинаться с HTTPS. Для получения более подробной информации вы можете кликнуть на значок у адресной строки:
Центр сертификации — это организация, которая проверяет веб-сайты, адреса электронной почты и другие ресурсы на подлинность, а также привязывает их к криптографическим ключам. Для этого они выпускают электронные документы — цифровые сертификаты.
Как правило, заявитель на сертификат генерирует закрытый и открытый ключи (приватный и публичный), а также запрос на подпись сертификата, CSR. CSR — это закодированный текстовый файл, содержащий открытый ключ и другую информацию, которая будет включена в сертификат — например, доменное имя, название организации, адрес электронной почты и другое.
После создания CSR заявитель отправляет его в CA, который самостоятельно проверяет его содержание. Если информация корректна, центр подписывает сертификат в цифровой форме.
Когда подписанный сертификат предоставляется третьей стороне (например, когда это лицо получает доступ к веб-сайту с сертификатом), получатель может криптографически подтвердить цифровую подпись CA с помощью открытого ключа.
TLS — это обновленная версии SSL. Оба протокола шифруют информацию на одном уровне, но, как и другие технологии, со временем развиваются. В отличие от SSL, TLS использует немного другие криптографические алгоритмы для генерации ключей функцией MAC и включает больше кодов предупреждений, чем его предшественник.
Переход с SSL до TLS произошел по нескольким причинам. Разобравшись в них, вы поймете разницу между этими протоколами.
1. Уязвимости SSL. В конце XX века сообщество обнаружило несколько критических уязвимостей в протоколе SSL: POODLE, Heartbleed и BEAST. Они позволяли злоумышленникам получать доступ к зашифрованной информации или проводить атаки типа Man-in-the-Middle. Это привело к снижению доверия к протоколу SSL.
2. Потребность в совершенствовании. Разработчики SSL усовершенствовали протокол и создали новую версию, которая стала более безопасной и надежной. Таким образом, TLS был создан как преемник SSL в 1999 году.
3. Поддержка новых алгоритмов шифрования. TLS включает более безопасные алгоритмы шифрования. Пример — Advanced Encryption Standard, AES, который является более надежным и эффективным по сравнению с алгоритмом Data Encryption Standard, DES, который используется в SSL.
Развитие протокола TLS продолжается, а самая актуальная версия сегодня — 1.3.