Протокол защищенных каналов SSL

Автор работы: Пользователь скрыл имя, 02 Декабря 2011 в 19:50, курсовая работа

Краткое описание

До недавнего времени сеть Интернет использовалась в основном для обработки информации по относительно простым протоколам: электронная почта, передача файлов, удалённый доступ. Сегодня, благодаря широкому распространению технологий WWW, всё активнее применяются средства распределённой обработки мультимедийной информации.

Содержание

Содержание
Введение
1. Протокол SSL
1.1. Общая информация о протоколе
1.2. Спецификация протокола записей SSL
* Формат заголовка записи SSL
* Формат информационных записей SSL
1.3. Спецификация протокола диалога SSL
* Протокол диалога SSL
* Типовой протокол обмена сообщениями
* Обработка ошибок
* Сообщения протокола диалога SSL
* Протокольные сообщения клиента
* Протокольные сообщения сервера
* Протокольные сообщения клиент/сервер
1.4. Атаки на протокол SSL

Прикрепленные файлы: 1 файл

курсач.doc

— 185.00 Кб (Скачать документ)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОМУ  ПРОЕКТУ

      по  дисциплине:

    «Системы и сети передачи информации» 
 

      Тема  проекта «Протокол защищенных каналов SSL» 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    ОМСК 2011

 

    

    Содержание

    Введение

    1. Протокол SSL

       1.1. Общая информация о протоколе

       1.2. Спецификация протокола записей SSL

              * Формат заголовка записи SSL

              * Формат информационных записей  SSL

       1.3. Спецификация протокола диалога SSL

              * Протокол диалога SSL

              * Типовой протокол обмена сообщениями

              * Обработка ошибок

              * Сообщения протокола диалога  SSL

              * Протокольные сообщения клиента

              * Протокольные сообщения сервера

              * Протокольные сообщения клиент/сервер 

       1.4. Атаки на протокол SSL

    Заключение

    Условные  обозначения и термины

    Ресурсы Internet

 

    

    Введение

    В конце шестидесятых годов американское агентство перспективных исследований в обороне DARPA приняло решение  о создании экспериментальной сети под названием ARPANet. В семидесятых  годах ARPANet стала считаться действующей сетью США, и через эту сеть можно было получить доступ к ведущим университетским и научным центрам США. В начале восьмидесятых годов началась стандартизация языков программирования, а затем и протоколов взаимодействия сетей. Результатом этой работы стала разработка семиуровневой модели сетевого взаимодействия ISO/OSI и семейства протоколов TCP/IP, которое стало основой для построения как локальных, так и глобальных сетей.

    Базовые механизмы информационного обмена в сетях TCP/IP были в целом сформированы в начале восьмидесятых годов, и были направлены прежде всего на обеспечение доставки пакетов данных между различными операционными системами с использованием разнородных каналов связи. Несмотря на то, что идея создания сети ARPANet (впоследствии превратившейся в современный Интернет) принадлежала правительственной оборонной организации, фактически сеть зародилась в исследовательском мире, и наследовала традиции открытости академического сообщества. Ещё до коммерциализации Интернета (которая произошла в середине девяностых годов) многие авторитетные исследователи отмечали проблемы, связанные с безопасностью стека протоколов TCP/IP. Основные концепции протоколов TCP/IP не полностью удовлетворяют (а в ряде случаев и противоречат) современным представлениям о компьютерной безопасности.

    До  недавнего времени сеть Интернет использовалась в основном для обработки  информации по относительно простым  протоколам: электронная почта, передача файлов, удалённый доступ. Сегодня, благодаря широкому распространению технологий WWW, всё активнее применяются средства распределённой обработки мультимедийной информации. Одновременно с этим растёт объём данных, обрабатываемых в средах клиент/сервер и предназначенных для одновременного коллективного доступа большого числа абонентов. Разработано несколько протоколов прикладного уровня, обеспечивающих информационную безопасность таких приложений, как электронная почта (PEM, PGP и т.п.), WWW (Secure HTTP, SSL и т.п.), сетевое управление (SNMPv2 и т.п.). Однако наличие средств обеспечения безопасности в базовых протоколах семейства TCP/IP позволит осуществлять информационный обмен между широким спектром различных приложений и сервисных служб.

    Проблема  безопасности в Internet подразделяется на две категории: общая безопасность и вопросы надежности финансовых операций. Успешное разрешение проблем в сфере финансовой деятельности могло бы открыть перед Internet необозримые перспективы по предоставлению услуг для бизнеса. В борьбу за решение этой проблемы включились такие гиганты в области использования кредитных карточек, как MasterCard и Visa, а также лидеры компьютерной индустрии Microsoft и Netscape.

    Задача  исследований в этой области - решение  проблемы конфиденциальности. Рассмотрим для примера передачу сообщений  электронной почты с одного SMTP-сервера на другой. В отдельных случаях эти сообщения просто переписываются с одного жесткого диска на другой как обыкновенные текстовые файлы, т. е. прочитать их смогут все желающие. Не важно, содержатся ли в послании какая-то финансовая информация или нет; важно следующее - любая пересылаемая по Internet информация должна быть недоступна для посторонних.

    Кроме конфиденциальности пользователей  также волнует вопрос гарантий, с  кем они сейчас "беседуют". Им необходима уверенность, что сервер Internet, с которым у них сейчас сеанс связи, действительно является тем, за кого себя выдает; будь то сервер World-Wide Web, FTP, IRC или любой другой. Не составляет особого труда имитировать (то ли в шутку, то ли с преступными намерениями) незащищенный сервер и попытаться собрать всю информацию о вас. И, конечно же, поставщики сетевых услуг также хотели бы быть уверенными, что лица, обращающиеся к ним за определенными ресурсами Internet, например, электронной почтой и услугами IRC, действительно те, за кого себя выдают.

    В настоящее время наибольшей популярностью  пользуются самые простые схемы  организации защиты - системы защиты от несанкционированного доступа. Подобные системы достаточно надежны, однако не отличаются особой гибкостью. В них  используются самые разные алгоритмы - от разрешения передачи сообщений лишь с заданными адресами сетевого протокола IP до запрета прямого доступа пользователей к ресурсам Internet и интрасетям. Недостаток данной технологии кроется в узости самой постановки задачи: предотвратить доступ посторонним пользователям к внутренним сетям различного уровня. Иногда подобная защита используется для запрета доступа "особо активных" пользователей внутренних сетей, например, корпоративной сети предприятия, ко всем ресурсам Internet, за исключением обычной электронной почты. Фабула данной схемы защиты такова: неприкосновенность внутренней информации и снижение нежелательной нагрузки на внешние каналы.

    Однако  пользователи и поставщики услуг Internet скорее заинтересованы в соблюдении общей безопасности, а точнее, конфиденциальности информации отправителя и получателя, а сервисным службам и пользователям необходима абсолютная уверенность в том, что на другом конце канала связи именно тот, кто им нужен.  
 
 
 

    1.  Протокол SSL

       1.1. Общая информация о протоколе

    Один  из подходов к решению проблемы безопасности в Интернете был предложен  компанией Netscape Communications. Ею был разработан протокол SSL (Secure Sockets Layer), как протокол обеспечивающий защиту данных между сервисными протоколами (такими как HTTP, NNTP, FTP и т.д.) и транспортными протоколами (TCP/IP). Часто для него используется аббревиатура HTTPS. Именно эта латинская буква "s" превращает обычный, не защищенный канал передачи данных в Интернете по протоколу HTTP, в засекреченный или защищенный.

    Протокол SSL предназначен для решения традиционных задач обеспечения защиты информационного  взаимодействия, которые в среде  клиент/сервер интерпретируются следующим  образом:

  • пользователь, подключаясь к серверу, должен быть уверен, что он обменивается информацией не с подставным сервером, а именно с тем, который ему нужен (в противном случае это может привести к курьезным, если не к печальным, последствиям). Во многих приложениях необходимо также, чтобы и сервер мог надежно идентифицировать клиента, не ограничиваясь защитой паролем;
  • после установления соединения между сервером и клиентом весь информационный поток между ними должен быть защищен от несанкционированного доступа;
  • при обмене информацией стороны должны быть уверены в отсутствии случайных или умышленных искажений при ее передаче.

    Протокол SSL позволяет серверу и клиенту  перед началом информационного  взаимодействия аутентифицировать  друг друга, согласовать алгоритм шифрования и сформировать общие криптографические  ключи. С этой целью протокол использует двухключевые криптосистемы, в частности RSA.

    Конфиденциальность  информации, передаваемой по установленному защищенному соединению, обеспечивается путем шифрования потока данных на сформированном общем ключе с  использованием симметричных криптографических алгоритмов (например, RC4_128, RC4_40, RC2_128, RC2_40, DES40 и др.), а контроль целостности передаваемых блоков данных - за счет использования так называемых кодов аутентификации сообщений (Message Autentification Code, MAC), вычисляемых с помощью хеш-функций (в частности, MD5).

    Протокол SSL включает в себя два этапа взаимодействия сторон защищаемого соединения:

  • установление SSL-сессии;
  • защита потока данных.

    На  этапе установления SSL-сессии осуществляется аутентификация сервера и (опционально) клиента, стороны договариваются об используемых криптографических алгоритмах и формируют общий "секрет", на основе которого создаются общие сеансовые ключи для последующей защиты соединения. Этот этап называют также процедурой "рукопожатия".

    На  втором этапе (защита потока данных) информационные сообщения прикладного уровня нарезаются на блоки, для каждого блока вычисляется  код аутентификации сообщений, затем  данные шифруются и отправляются приемной стороне. Приемная сторона  производит обратные действия: дешифрование, проверку кода аутентификации сообщения, сборку сообщений, передачу на прикладной уровень.

    Преимуществом SSL является то, что он независим  от прикладного протокола. Протоколы  приложения, такие как HTTP, FTP, TELNET и  т.д. могут работать поверх протокола SSL совершенно прозрачно. Протокол SSL может согласовывать алгоритм шифрования и ключ сессии, а также аутентифицировать сервер до того как приложение примет или передаст первый байт данных. Все протокольные прикладные данные передаются зашифрованными с гарантией конфиденциальности.

    Протокол SSL предоставляет "безопасный канал", который имеет три основные свойства:

  • канал является частным [шифрование используется для всех сообщений после простого диалога, который служит для определения секретного ключа]
  • канал аутентифицирован [серверная сторона диалога всегда аутентифицируется, в то время как клиентская аутентифицируется опционно]
  • канал надежен [транспортировка сообщений включает в себя проверку целостности (с привлечением MAC)].
 

       1.2. Спецификация протокола записей SSL

              * Формат заголовка  записи SSL

    В SSL все данные пересылаются в виде рекордов (записей), объектов, которые  состоят из заголовка и некоторого количества данных. Каждый заголовок  рекорда содержит два или три байта кода длины. Если старший бит в первом байте кода длины рекорда равен 1, тогда рекорд не имеет заполнителя и полная длина заголовка равна 2 байтам, в противном случае рекорд содержит заполнитель и полная длина заголовка равна 3 байтам. Передача всегда начинается с заголовка.

    Заметим, что в случае длинного заголовка (3 байта), второй по старшинству бит  первого байта имеет специальное  значение. Когда он равен нулю, посылаемый рекорд является информационным. При  равенстве 1, посылаемый рекорд является security escape (в настоящее время не определено ни одного значения security escapes; оно зарезервировано для будущих версий протокола).

    Код длины рекорда не включает в себя число байт заголовка (2 или 3). Для 2-байтового  заголовка его длина вычисляется следующим образом (используется Си-подобная нотация):

    RECORLENGTH = ((byte[0] & 0x7F << 8)) | byte[1];

    Где byte[0] представляет собой первый полученный байт, а byte[1] – второй полученный байт. Когда используется 3-байтовый заголовок, длина рекорда вычисляется следующим образом:

Информация о работе Протокол защищенных каналов SSL