Основные сведения об SSL
Сертификаты представляют собой текстовые файлы на веб-сервере, размещение и содержание которых подтверждает личность ответственного владельца веб-ресурса. Подтверждение владельца осуществляют специально уполномоченные компании или подразделения организации – Удостоверяющие Центры (они же УЦ, Certificate Authority, CA).
Дополнительно сертификат содержит публичный ключ необходимый для установки шифрованного соединения для работы в сети с целью исключить перехват данных злоумышленниками. Протоколы, по которым устанавливается данное соединение, оканчиваются на букву «S», от английского слова «Secure», что в переводе означает «Безопасный». Например, HTTP(S), FTP(S) и т.д. Это значит, что используются стандартные протоколы сети Интернет, такие как HTTP и FTP, поверх защищённого шифрованием TLS-соединения, тогда как обычные обмениваются сообщениями поверх TCP/IP в исходном виде. TLS (англ. Transport Layer Security, безопасность транспортного уровня) – протокол обеспечения безопасной передачи данных, основанный на базе другого криптографического протокола SSL (англ. Secure Sockets Layer, уровень защищённых сокетов), использующего асимметричную криптографию для аутентификации ключей обмена для установки сеанса, симметричное шифрование для последующего сохранения конфиденциальности сеанса и криптографическую подпись сообщений для гарантирования доставки информации без потерь. Несмотря на то, что фактически используется только протокол TLS, в силу привычки всё семейство данных протоколов называют SSL, а сопутствующие сертификаты – SSL-сертификатами.
Использование SSL-сертификатов в первую очередь позволяет предупредить кражу данных с использованием клонов сайтов известных сервисов, когда злоумышленники дублируют основные страницы известных сайтов, используя схожие доменные имена, и подделывают формы для ввода персональной информации. Пользователь может указать на поддельных сайтах данные о себе, о своих документах, о платёжных реквизитах. В результате персональная информация пользователей может быть использована с целью получения несанкционированного доступа к иным ресурсам или социальным сетям, перепродажи либо попытки кражи средств с банковского счёта. Владельцы сервисов могут помочь клиентам избежать данных проблем, настроив HTTPS на своём ресурсе и сигнализируя пользователям о подлинности своих веб-страниц непосредственно в адресной строке браузера.
Как было сказано выше, TLS/SSL используется для шифрования трафика от клиента к веб-серверу, в результате чего предотвращается перехват трафика злоумышленниками в публичных незащищённых сетях.
В ходе работы TLS/SSL участвуют три стороны: клиент – потребитель услуг или товаров в сети Интернет, сервер – поставщик данных услуг или товаров, а также Удостоверяющий Центр, в обязанности которого входит убедиться, что доменное имя и ресурс принадлежит именно той организации, которая указана в регистрационной информации сертификата.
Алгоритм работы TLS/SSL выглядит следующим образом:
- Владельцы сервиса обращаются в Удостоверяющий Центр через партнёров и указывают информацию о себе.
- Удостоверяющий Центр наводит справки о владельцах сервиса. Если первичная информация подтверждается, то Удостоверяющий центр выпускает и передаёт владельцам сервиса сертификат, в состав которого входят проверенные сведения и публичный ключ.
- Пользователь запускает браузер на персональном устройстве и переходит на страницу сервиса.
- Браузер наряду со стандартными операциями в ходе загрузки страницы сервиса запрашивает его SSL-сертификат.
- Сервис отправляет браузеру копию сертификата в ответ.
- Браузер с помощью предварительно установленных корневых сертификатов Удостоверяющих Центров проверяет срок действия и валидность присланной копии сертификата. Если проверки успешно пройдены, то браузер отправляет соответствующий ответ сервису, подписанный ключом клиента.
- Сервис получает подтверждение прохождения проверки на стороне клиента с его цифровой подписью и начинает шифрованный сеанс.
Шифрование сеанса осуществляется при помощи средств PKI (Public Key Infrastructure, инфраструктура открытых ключей). В основе PKI лежат следующие принципы:
- Существует связанная пара невзаимозаменяемых контрольных последовательностей практически случайных символов, именуемых ключами: открытый или публичный и закрытый, он же приватный.
- Открытым ключом можно зашифровать любой набор данных. Из-за этого открытый ключ можно свободно передавать по сети, злоумышленник не сможет им воспользоваться, чтобы нанести вред пользователям.
- Приватный ключ известен только его владельцу и может расшифровать полученный поток данных в структурированную информацию, зашифрованную парным ему открытым ключом. Приватный ключ следует хранить на сервисе и использовать только для локальной расшифровки полученных сообщений. В случае, если злоумышленнику удалось заполучить приватный ключ, то следует инициировать процедуры отзыва и перевыпуска сертификата, которые сделают предыдущий сертификат бесполезным. Утечка приватного ключа называется компрометацией.
SSL-сертификат от Удостоверяющего Центра является способом распространения открытого ключа от сервера к клиентам в незащищённых сетях. Клиент после проверки валидности сертификата все исходящие сообщения шифрует прикреплённым к сертификату открытым ключом и дешифрует входящие своим приватным, тем самым обеспечивается защищённый канал связи.
Сертификаты выпускают Удостоверяющие Центры по запросам от клиентов. Удостоверяющий Центр – это независимая сторонняя организация, официально занимающаяся проверкой указанных в запросе на сертификат сведений: действительно ли доменное имя, принадлежит ли сетевой ресурс с данным именем конкретной компании или физическому лицу, на которые оно зарегистрировано; подлинный ли сайт компании или физического лица, для которого был выпущен SSL-сертификат и прочие проверки. Наиболее известные международные Удостоверяющие Центры – Comodo, Geotrust, GoDaddy, GlobalSign, Symantec. Корневые SSL-сертификаты данных Удостоверяющих Центров предустановлены в качестве доверенных во всех популярных браузерах и операционных системах.
Приобретать сертификаты зачастую выгоднее не напрямую у Удостоверяющего Центра, а у их партнёров, для которых действуют оптовые скидки. В России продажей сертификатов известных Удостоверяющих Центров занимается множество компаний и хостинг-провайдеров, имеющих собственные тарифы на услугу SSL-сертификатов.