Сурков Л.В. - Туннелирование соединений с использованием протокола SSL
Описание файла
PDF-файл из архива "Сурков Л.В. - Туннелирование соединений с использованием протокола SSL", который расположен в категории "". Всё это находится в предмете "языки интернет-программирования" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "языки интернет-программирования" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
Министерство образования и науки Российской ФедерацииМосковский Государственный Технический Университетим. Н.Э. БауманаФакультет «Информатика и системы управления»Кафедра «Компьютерные системы и сети»Сурков Л.В.Методические указанияк лабораторной работе по дисциплинеКорпоративные сетиРазделУдаленное управление и мониторинг сетиТуннелирование соединений с использованием протокола SSL2011Сурков Л.В.Корпоративные сетиЛабораторный практикум «Туннелирование соединений с использованием протокола SSL»Rev. 01Теоретическая частьSSLSSL (Secure Sockets Layer) — криптографический протокол, который обеспечиваетустановление безопасного соединения между клиентом и сервером.
SSL изначальноразработан компанией Netscape Communications. Впоследствии на основании протоколаSSL 3.0 был разработан и принят стандарт RFC, получивший имя TLS.Протокол обеспечивает конфиденциальность обмена данными между клиентом исервером, использующими TCP/IP, причём для шифрования используется асимметричныйалгоритм с открытым ключом. При шифровании с открытым ключом используется дваключа, причем любой из них может использоваться для шифрования сообщения.
Темсамым, если используется один ключ для шифрования, то соответственно длярасшифровки нужно использовать другой ключ. В такой ситуации можно получатьзащищённые сообщения, публикуя открытый ключ, и храня в тайне секретный ключ.Протокол SSL состоит из двух подпротоколов: протокол SSL записи и рукопожатия.Протокол SSL записи определяет формат, используемый для передачи данных. ПротоколSSL включает рукопожатие с использованием протокола SSL записи для обмена сериямисообщений между сервером и клиентом, во время установления первого соединения. Дляработы SSL требуется, чтобы на сервере имелся SSL-сертификат.SSL предоставляет канал, имеющий 3 основных свойства:o Аутентификация.
Сервер всегда аутентифицируется, в то время как клиентаутентифицируется в зависимости от алгоритма.o Целостность. Обмен сообщениями включает в себя проверку целостности.o Частность канала. Шифрование используется после установления соединения ииспользуется для всех последующих сообщений.Значительное использование протокола SSL привело к формированию протоколаHTTPS (Hypertext Transfer Protocol Secure), поддерживающего шифрование. Данные,которые передаются по протоколу HTTPS, «упаковываются» в криптографическийпротокол SSL или TLS, тем самым обеспечивая защиту этих данных. Такой способзащиты широко используется в мире Веб для приложений, в которых важна безопасностьсоединения, например в платёжных системах. HTTPS поддерживается всеми браузерами.В отличие от HTTP, для HTTPS по умолчанию используется TCP-порт 443.Изначально виртуальные частные сети (VPN) на основе SSL разрабатывались какдополнительная и альтернативная технология удалённого доступа на основе IPsec VPN.Однако, такие факторы как достаточная надёжность и дешевизна сделали эту технологию2МГТУ им.
БауманаКафедра ИУ-62011Сурков Л.В.Корпоративные сетиЛабораторный практикум «Туннелирование соединений с использованием протокола SSL»Rev. 01привлекательной для организации VPN. Также SSL получил широкое применение вэлектронной почте.Основные цели протоколаКриптографическая безопасность: SSL устанавливает безопасное соединение междудвумя сторонами.oСовместимость: Программисты, независимо друг от друга могут создаватьприложения использующие SSL, которые впоследствии будут способныуспешно обмениваться криптографическими параметрами без всякого знаниякода чужих программ.oРасширяемость: SSL стремится обеспечить рабочее пространство, в которомновые открытые ключи и трудоемкие методы шифрования могут бытьвключены по мере необходимости.oОтносительная эффективность: работа протокола на основе SSL требуетбольших скоростей от CPU, в частности для работы с открытыми ключами.По этой причине SSL протокол был включен в необязательную сессию схемыкеширования для уменьшения числа соединений, которые необходимоустанавливать с нуля.
Кроме того, большое внимание уделяется тому, чтобыуменьшить сетевую активность.SSL поддерживает 3 типа аутентификации: аутентификация обеих сторон (клиент — сервер), аутентификация сервера с неаутентифицированным клиентом, полная анонимность.Всякий раз, когда сервер аутентифицируется, канал безопасен против попыткиперехвата данных между веб-сервером и браузером, но полностью анонимная сессия посвоей сути уязвима к такой атаке.
Анонимный сервер не может аутентифицироватьклиента. Если сервер аутентифицирован, то его сообщение сертификации должнообеспечить верную сертификационную цепочку, ведущую к приемлемому центрусертификации. Проще говоря, аутентифицированный клиент должен предоставитьдопустимый сертификат серверу. Каждая сторона отвечает за проверку того, чтосертификат другой стороны еще не истек и не был отменен.Главная цель процесса обмена ключами — это создание секрета клиента(pre_master_secret), известного только клиенту и серверу. Секрет (pre_master_secret)используется для создания общего секрета (master_secret). Общий секрет необходим длятого чтобы создать сообщение для проверки сертификата, ключей шифрования, секретаMAC (message authentication code) и сообщения «finished».
При посылке верного3МГТУ им. БауманаКафедра ИУ-62011Сурков Л.В.Корпоративные сетиЛабораторный практикум «Туннелирование соединений с использованием протокола SSL»Rev. 01сообщения «finished», тем самым стороны докажут что они знают верный секрет(pre_master_secret).Анонимный обмен ключами.Полностью анонимная сессия может быть установлена при использовании алгоритмаRSA или Диффи-Хеллмана для создания ключей обмена.
В случае использования RSAклиентшифруетсекрет(pre_master_secret)спомощьюоткрытогоключанесертифицированного сервера. Открытый ключ клиент узнает из сообщения обменаключами от сервера. Результат посылается в сообщении обмена ключами от клиента.Поскольку перехватчик не знает закрытого ключа сервера, то ему будет невозможнорасшифровать секрет (pre_master_secret). При использовании алгоритма Диффи-Хеллманаоткрытые параметры сервера содержатся в сообщении обмена ключами от сервера, иклиенту посылают в сообщении обмена ключами. Перехватчик, который не знаетприватных значений, не сможет найти секрет (pre_master_secret).Обмен ключами при использовании RSA и аутентификация.В этом случае обмен ключами и аутентификация сервера может быть скомбинирована.Открытый ключ также может содержаться в сертификате сервера или может бытьиспользован временный ключ RSA, который посылается в сообщении обмена ключами отсервера.
Когда используется временный ключ RSA, сообщения обмена подписываютсяserver’s RSA или сертификат DSS. Сигнатура включает текущее значение сообщенияClient_Hello.random, таким образом, старые сигнатуры и старые временные ключи немогут повторяться. Сервер может использовать временный ключ RSA только однажды длясоздания сессии. После проверки сертификата сервера клиент шифрует секрет(pre_master_secret)припомощиоткрытогоключасервера.Послеуспешногодекодирования секрета (pre_master_secret) создается сообщение «finished», тем самымсервер демонстрирует, что он знает частный ключ соответствующий сертификату сервера.Когда RSA используется для обмена ключами, для аутентификации клиентаиспользуетсясообщениепроверкисертификатаклиента.Клиентподписываетсязначением, вычисленным из master_secret и всех предшествующих сообщений протоколарукопожатия.
Эти сообщения рукопожатия включают сертификат сервера, который ставитв соответствие сигнатуре сервера, сообщение Server_Hello.random, которому ставит всоответствие сигнатуру текущему сообщению рукопожатия.4МГТУ им. БауманаКафедра ИУ-62011Сурков Л.В.Корпоративные сетиЛабораторный практикум «Туннелирование соединений с использованием протокола SSL»Rev. 01Обмен ключами при использовании Diffie-Hellman и аутентификацияВ этом случае сервер может также поддерживать содержащий конкретные параметрыалгоритм Диффи-Хеллмана или может использовать сообщения обмена ключами отсервера для посылки набора временных параметров подписанных сертификатами DSS илиRSA.
Временные параметры хэшируются с сообщением hello.random перед подписанием,для того чтобы злоумышленник не смог совершить повтор старых параметров. В любомслучае клиент может проверить сертификат или сигнатуру, для уверенности, чтопараметры принадлежат серверу.Если клиент имеет сертификат, содержащий параметры алгоритма Diffie-Hellman, тосертификат также содержит информацию требуемую для того чтобы завершить обменключами. Заметим, что в этом случае клиент и сервер должны будут сгенерировать те жеDiffie-Hellman результаты (pre_master_secret), каждый раз, когда они устанавливаютсоединение.