— А толку! Фасад обновишь, а канализация все равно старая!
410013796724260
• Webmoney
R335386147728
Z369087728698
Описание протокола SSLКриптографический протокол SSL (Secure Socket Layer) был разработан компанией Netscape в 1996 году и быстро стал наиболее популярным методом обеспечения защищенного обмена данными через Интернет. Протокол SSL интегрирован в большинство браузеров и в web-сервера. Правительство США в 2014 году сообщило об уязвимости в текущей версии SSL протокола (3.0), на смену которому предложен протокол TLS. Защищенный обмен данными обеспечивается двумя элементами протокола SSL :
SSL использует симметричный шифр для обеспечения конфиденциальности, асимметричную криптографию для аутентификации ключей обмена и коды аутентификации сообщений для целостности сообщений. Для осуществления SSL соединения необходимо на сервере инсталлировать цифровой сертификат, который «привязан» к конкретному домену сети интернет. Центр сертификации проводит проверки, подтверждающие подлинность организации, и после этого создает и подписывает цифровой сертификат для этой организации/сайта. Цифровой SSL сертификат следует устанавливать только на тот домен WEB-сервера, для которого он прошел аутентификацию; это даёт пользователям сети Интернет необходимые гарантии чистоты WEB-сервера. Центры сертификацииПрежде чем продолжать повествование о соединениях SSL, необходимо несколько слов сказать о центрах сертификации. Центр сертификации CA (certificate authority) — это организация, имеющая право выдачи цифровых сертификатов. Эта организация производит проверку данных запроса на сертификацию в CSR перед выдачей сертификата. Имеется несколько разновидностей цифровых сертификатов, отличающихся содержащейся в них информацией, и, соответственно, ценой. В самых простых сертификатах CA проверяет только соответствие доменного имени; в самых дорогих выполняется комплекс проверок самой организации, запрашивающей сертификат. Отличие самоподписанного сертификата от выданного центром сертификации платного связано с тем, что при использовании такого сертификата на сайте (сервере), браузер будет открывать страницу с предупреждением, что этот сайт не использует безопасное соединение SSL. Браузер предложит покинуть сайт или продолжить просмотр, но с большой осторожностью; решение за посетителем сайта. И так, при установлении SSL соединения, т.е. при открытии начинающейся с https://... страницы, браузер должен выполнить проверку цифрового сертификата сервера. Данная проверка выполняется с использованием доверенных сертификатов, размещенных в хранилище браузера. На следующем скриншоте представлена вкладка страницы настроек браузера Google Chrome «Доверенные корневые центры сертификации». Чтобы открыть данную вкладку необходимо проделать следующий путь : Chrome Настройки -> Дополнительные -> Настроить сертификаты. В Chrome установлено более 45 корневых сертификатов. В этом хранилище браузер с Вашего согласия также размещает сертификаты, которым Вы доверяете. Имеется большое количество различных центров сертификации. Наиболее популярные :
Этот список можно было бы и продолжить. Вы можете самостоятельно просмотреть установленные в Вашем браузере цифровые сертификаты корневых центров.
На заметку Многослойная среда SSLРазобравшись, с точки зрения необходимого понимания, с центрами сертификации и подписываемыми ими цифровыми сертификатами, вернемся к описанию SSL-соединения Основным преимуществом SSL является его независимость от прикладного (верхнего уровня) протокола, который работает поверх протокола SSL. То есть протокол SSL согласовывает алгоритм шифрования и ключ сессии, а также аутентифицирует сервер до того, как приложение примет или передаст первый байт сообщения. Структурно протокол SSL размещается между протоколом, используемым клиентами (HTTP, FTP, IMAP, LDAP, Telnet и т.д.) и транспортным протоколом TCP/IP. Таким образом SSL обеспечивает защиту и передачу данных на транспортный уровень. Благодаря многослойной структуре SSL протокол может поддерживать разные протоколы программ-клиентов. Протокол SSL условно можно разделить на два уровня. Первый уровень обеспечивает подтверждение подключения и включает три подпротокола : протокол подтверждения подключения (handshake protocol), протокол определения параметров шифра (change cipher spec protocol) и предупредительный протокол (alert protocol). Второй уровень включает протокол записи. На следующем рисунке схематично изображена структура взаимосвязи слоев SSL. Уровень подтверждения подключения включает три части протокола : 1. Подтверждение подключения
Уровень подтверждения подключения обеспечивает реализацию нескольких функций безопасности. Так он формирует цепочку обмена данными и согласовывает шифрование, алгоритмы хеширования и сжатия. При определении подлинности участников обмена данных уровень подтверждения подключения использует сертификат стандарта Х.509. Таким образом, на первом шаге при установке соединения стороны (браузер и сервер) договариваются о возможных механизмах шифрования, поддерживаемых каждой из сторон, длине используемого ключа, режиме шифрования и производят обмен сертификатами. Такой начальный обмен данными называется handshake. Во время handshake генерируется симметричный ключ, который действует только для одной SSL сессии и устаревает, как только сессия становится неактивной. 2. Изменение параметров шифрования 3. Предупреждение 4. Уровень записи Два вида SSL соединенияSSL соединение может быть двух видов : простая (односторонняя) SSL аутентификация и двусторонняя SSL аутентификация. Односторонняя SSL аутентификацияПри односторонней аутентификации сертификат с парным приватным ключом располагаются только на сервере. Зашифрованные с помощью открытого ключа данные могут быть расшифрованы с помощью приватного ключа на сервере. Клиент, устанавливающий соединение с сервером, проверяет его сертификат прежде чем установить шифрованное соединение. Проверка сертификата включает :
При односторонней SSL аутентификации клиент не проверяется сервером. Следующий рисунок демонстрирует последовательность установления защищенного SSL соединения между сервером и клиентом, в качестве которого может выступать обычный браузер. Если сервер аутентифицирован, то его сообщение о сертификации должно обеспечить сертификационную цепочку, ведущую к доверенному центру сертификации. То есть, аутентифицированный сервер должен отправить клиенту сертификат, подписанный одним из центров сертификации. Двусторонняя SSL аутентификацияПри двусторонней аутентификации обе стороны (и сервер, и клиент) предоставляют сертификаты для проверки подлинности друг друга при установке шифрованного соединения, как это представлено на следующем рисунке. Шифрование пересылаемых данныхДля шифрования данных можно использовать два способа : симметричный и ассиметричный. Симметричное шифрование Ассиметричное шифрование Взаимосвязь открытого и закрытого ключей позволяет производить обмен открытыми ключами между сторонами (сервер и клиент), чтобы они могли
В случае двустороннего обмена ключами (двусторонняя аутентификация) обе стороны выступают и в качестве сервера, и в качестве клиента. Протокол SSL использует ассиметричное шифрование для подтвердждения клиентом подлинности сервера/клиента, а также для определения ключа сессии. Ключ сессии необходим для шифрования большого объема данных (симметричный алгоритм). Это объединяет ассиметричное шифрование (проверка подлинности) и быстрое симметричное шифрование больших объемов данных. Самым распространенным алгоритмом при ассиметричном шифровании является RSA, названный в честь разработчиков Rivest, Shamir, Adleman. |