На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Использование SSL для передачи безопасных сообщений

В рамках Web серверы и броузеры пользуются протоколом HTTP. Как уже го во-' ' «ось, одним из недостатков этого протокола является отсутствие средств без-тасности. В предыдущей главе было рассказано о новом протоколе Internet -•HTTP. Однако в настоящее время большинство безопасных серверов и Web-сай->в пользуются другим безопасным протоколом — SSL. Этот протокол был разра->тан компанией Netscape. В этой главе мы подробно поговорим о нем. Прочитав аву, вы узнаете следующее:
»  Как и протокол SSL является открытым общественным протоколом.
« В SSL реализованы средства шифрования информации, идентификации сервера, проверки целостности сообщения и необязательной идентифика­ции клиента. Все они работают в рамках соединения TCP/IP.
SSL можно использовать совместно с брандмауэрами.
* Можно использовать SSL в туннельных соединениях. Туннельные соедине­ния — это наборные соединения, с помощью которых пользователи могут получить доступ к глобальным и корпоративным сетям.
» В SSL безопасная передача данных реализована при помощи стандарта S-MIME.
« Netscape Object Signing (NOS) - это эквивалент разработанной компани­ей Mictosoft технологии Authenticode. Как и в Authenticode, для идентифи­кации отправителя в NOS используются цифровые сертификаты.
ВЕДЕНИЕ В   SSL 3.0
ответ на растущую потребность создания средств поддержки безопасности пе-даваемых данных компания Netscape разработала новый протокол, который замыслу должен быть расположен между протоколами приложений (HTTP, Inet, NTTP и FTP) и TCP/IP. Протокол SSL 3.0 обеспечивает в рамках со-
инения TCP/IP средства шифрования данных, идентификации сервера, прорки целостности сообщений и необязательной идентификации клиента. 1 показано положение SSL в стеке протоколов TCP/IP (2).
L - это открытый общественный протокол. Другими словами, компания :tscape бесплатно передала его в пользование всем компаниям и отдельным фаботчикам приложений Internet. Более того, компания представила прото­кол SSL на рассмотрение группе Consortium (W3C), которая занимается во­просами безопасности Web. По замыслу компании Netscape новый протокол должен стать стандартом безопасных сообщений в Web. В настоящее время эта компания совместно с W3C работает Над разработкой и стандартизацией общих механизмов и протоколов безопасности Internet.
Протокол SSL предоставляет методы шифрования информации как для серверов, так и для пользователей. Как будет сказано далее, новый протокол требует, чтобы обе стороны соединения (сервер и броузер) поддерживали его. Наиболее распространенные броузеры — Netscape Navigator и Internet Explorer — поддержи­вают SSL-соединения.
Секретность коммуникаций
Безопасные коммуникации не избавляют пользователей Internet от всех возможных проблем. при участии в мерческой транзакции вам волей-неволей приходится дове­рять администратору сервера. SSL й другие технологии обес­печения безопасности коммуникаций защищают пользовате­лей от постороннего вмешательства, но не могут защитить пользователя от общения (и ведения дел) с нечестными, безответственными людьми Адми­нистраторы серверов должны предпринимать дополнительные меры обеспе­чения безопасности. Чтобы защитить информацию, они должны обеспечить безопасность сервера на физическом уровне, а также контролировать доступ к программному обеспечению, паролям и личным ключам.
Ситуация с Web-сайтами очень напоминает разговоры по телефону: Переда­вая по телефону номер своей кредитной карточки, вы предполагаете, что раз­говор не прослушивается посторонними. Кроме того, вы должны быть увег рены, что ваш абонент действительно является сотрудником той компании, с которой вы собираетесь иметь дело. Однако даже в этом случае неплохо навести справки о своем абоненте и компании, которую он представляет,
МЕТОДЫ  ЗАЩИТЫ данны SSL
Разработчики Internet не предусматривали в своих протоколах возможности обес­печения безопасности передаваемых данных. Ни TCP/IP, ни HTTP не содержат подобных средств. Однако в настоящее время компании все чаще ощущают необходимость защиты своих данных. Поэтому разработчики приступили к со­зданию новых, безопасных протоколов. Одним из наиболее широко распрост­раненных протоколов является разработанный компанией Enterprise Integration Technologies протокол S-HTTP; другим не менее распространенным протоколом является SSL, созданный компанией Netscape. С его помощью серверы и пользо­ватели могут защитить передаваемую через Internet информацию. Для этого ис­пользуются следующие три элемента:
• Идентификация сервера при помощи цифровых сертификатов (защита от самозванцев).
• Обеспечение секретности передаваемой информации при помощи шифро­вания (защита от подслушивания).
• Обеспечение целостности данных при помощи сквозных соединений (за­щита от вандализма).
В главе 2 рассказывалось о том, как информация перемещается по Internet. При этом не предусматривается никаких средств защиты от перехвата данных посредниками передачи. Обычно информация передается от пользователя к сер­веру при помощи процесса, называемого «транзитными участками» (hop). Таким образом, сообщение может пройти через несколько систем, каждая из которых представляет собой потенциальную опасность для передаваемой информации.
Дело в том, что все они обладают возможностью доступа к проходящим через них сообщениям. Именно поэтому необходимо защитить свои сообщения от по­сягательств хакеров, использующих для своих намерений системы-посредники.
В стеке протоколов TCP/IP уровень SSL располагается между уровнем приложе­ний (протоколы HTTP, SMTP, Telnet, FTP, Gopher и NTTP) и транспортным уровнем (содержащим модуль Transport Control Protocol [TCP]), за которым сле­дует сетевой уровень (содержащий модуль Internet Protocol [IP]). Такое размеще­ние позволяет SSL в полной мере использовать все преимущества современных сетевых стандартов, не ограничиваясь при этом одним протоколом приложений.
Когда SSL-броузер устанавливает соединение с SSL-сервером, обе стороны мо­гут передавать сообщения в зашифрованной форме. При этом они могут быть
уверены в том, что их сообщения дойдут до нужного адресата без постороннего вмешательства и изменения содержания.
Защит, сквозных транзакций
создании безопасного соединения сервер посылает броу-В зеру одноразовый ключ, при помощи которого обе стороны будут зашифровывать свои сообщения. Однако, прежде все­го, сервер и броузер должны обменяться одноразовым клю­чом. Вам необходимо разобраться в том, как это происходит.
Как говорилось в главе 4, наиболее безопасным методом шифрования явля-I ется метод с открытым ключом, В SSL шифрование с открытым ключом используется во время начального квитирования связи. С помощью этого производится защита одноразового ключа.
Когда броузер пытается соединиться с безопасным сервером, он посылает серверу сообщение Client.Hello, очень похожее на запрос HTTP, Кроме ин­формации о себе броузер посьиает серверу свой открытый ключ, который создается во время установки программы на машине. показа­но сообщение Client.Hello.
Получив подобное сообщение, сервер пытается распознать его. Если броузер поддерживает используемый сервером тип шифрования, а остальные SSL-про­токолы сервера соответствуют протоколам броузера, то сервер отправляет ':, броузеру ответ (Server.Hello). Ответ зашифровывается при помощи открытого ключа браузера и содержит информацию об открытом ключе сервера и уста­навливаемом соединении. показан ответ Server.Hello.
безопасный сервер
Ответ Server.Hello.
Получив сообщение Server.Hello, броузер посылает серверу еще один запрос. Этот запрос зашифровывается при помощи открытого ключа сервера. В нем помещается информация о квитировании, а также инструкции серверу о пере­сылке одноразового ключа, с помощью которого будут зашифровываться клиент все последующие сообщения сторон. В ответ на этот запрос сервер посыла­ет одноразовый ключ (зашифрованный при помощи открытого ключа пользо-н вателя). показан ответ сервера на запрос клиента.
Получив одноразовый ключ, клиент использует его для шифрования всех последующих сообщений. Например, если сервер использует SSL совместно Яс HTTP, то клиент будет зашифровывать запросы HTTP при помощи SSL-ключа.
ИСПОЛЬЗОВАНИЕ МЕТОДА ШИФРОВАНИЯ RSA
В SSL используются технологии идентификации и шифрования, разработанные компанией RSA Data Security. В этом протоколе подразумевается, что (с большой долей вероятности) один и тот же метод шифрования будет использован в не­скольких сеансах связи. Так как от сеанса к сеансу одноразовый ключ изменяется, то хакер не сможет взломать сеанс связи при помощи ключа, использованного в предыдущем сеансе.
Для расшиинформации хакерам потребуется огромное количество времени и сил. На взлом зашифрованного при помощи 128-битного ключа (именно такой ключ используется в экспортной версии SSL-серверов и броузеров) сообщения в сред­нем требуется около 225 MIPS-лет. Более высокий уровень шифрования предос­тавляет версия протокола для США, где используется ключ длиной в 512 бит. Замечу, что трудность взлома экспоненциально зависит от длины ключа.
БЕЗОПАСНЫЕ СОЕДИНЕНИЯ
Как говорилось в главе 2, набор протоколов TCP/IP поддерживает два вида соеди­нений: сквозные и последовательные. В последовательных (hop-by-hop) соедине­ниях все необходимые функции (вроде идентификации пакета) производятся на каждом промежуточном компьютере, расположенном по пути передачи. В сквозных (end-by-end) соединениях все промежуточные операции отменены. В SSL для предоставления более высокого уровня безопасности используется сквозной тип соединений.
Кроме того, в главе 6 рассказывалось о том, что каждая транзакция HTTP окан­чивается разрывом соединения. При использовании протокола SSL соединение не разрывается до тех пор, пока на это не укажет сервер или броузер. Обычно это происходит в том случае, если броузер запросит новый URL.
ОСОБЕННОСТИ БРОУЗЕРОВ и серверов  ИСПОЛЬЗУЮЩИХ SSL
В настоящее время существует несколько коммерческих серверов и броузеров, поддерживающих протокол SSL. С помощью этих программных продуктов мож­но проводить идентификацию сервера (используя сертификаты, подписанные специальными ведомствами) и безопасно передавать данные через Internet. В
следующих разделах мы подробно поговорим об этих программных продуктах.
ПЕРЕДАЧА ДАННЫХ по   БЕЗОПАСНОМУ СОЕДИНЕНИЮ
Чтобы определить, является ли сервер безопасным, достаточно посмотреть на URL. Если он начинается с символов https://,TO документ прибыл с безопасно­го сервера/ (Обратите внимание: после http стоит буква s.) Чтобы соединиться с HTTP-сервером, использующим протокол SSL, поместите в URL букву s -вместо http:/, должна стоять схема https:// URL, в которых используется прото­кол SSL, всегда начинаются с указания схемы https (в отличие от обычных URL, начинающихся с http). URL документа, приходящего с безопасного сервера новостей, начинается с snews. (Буква s вставляется перед словом news.)
ПРОВЕРКА БЕЗОПАСНОСТИ СОЕДИНЕНИЯ ПРИ помощи БРОУЗЕРА
И в Netscape Navigator, и в Internet Explorer есть пиктограмма, указывающая на то, является ли используемое соединение безопасным. В Netscape Navigator эта пиктограмма расположена в левом нижнем углу окна. Кроме того, вверху без­опасного документа помещается цветной прямоугольник. На этой пиктограмме изображен ключ (в Netscape Navigator 4.0 вместо ключа изображен висячий за­мок). Если документ безопасный, то ключ отображается на синем фоне. Если же документ обычный, то эта пиктограмма представляет собой переломанный ключ на сером фоне. Кроме того, если у ключа два зубца, то в отображаемом
документе используется более высокий уровень шифрования (ключ длиной в 512 бит — см. выше). Если же у ключа только один зубец, то в документе исполь­зуется обычный уровень шифрования. Цветной прямоугольник, расположенный вверху документа, отображается синим цветом для безопасных документов, и серым — для обычных. показана .панель состояния Netscape Navigator 3.02, отображающего безопасный документ.
Netscape Navigator отображает смешанный документ (документ, состоящий из обычной и безопасной частей) как безопасный (замок закрыт). При этом обыч­ная информация заменяется пиктограммой смешанной безопасности. Некото­рые серверы разрешают просматривать смешанные документы полностью, не­смотря на то, что доступ к серверу был получен при помощи небезопасного метода (http://). Однако большинство безопасных серверов хранят обычные и безопасные документы раздельно.
В Netscape Navigator используются диалоговые окна, появляющиеся в том слу­чае, если пользователь попадает в или покидает зону безопасности либо исполь­зует обычные методы в безопасных документах. Например, 7 пока­зано окно с сообщением о том, что пользователь входит в безопасный Web-сайт.
Если (по некоторой причине) сервер перенаправит безопасный URL на небезопас­ное место, то Netscape Navigator сообщит об этом пользователю. Пользователь
получит предупреждение и в том случае, если броузер поместит информацию в безопасную форму при помощи небезопасного метода. Другими словами, если броузер передает заведомо секретную информацию обычным способом, то Netscape Navigator предупредит вас об этом.
Если пользователь не использует безопасный канал, то Internet Explorer не будет отображать пиктограмму безопасности в строке состояния. Если же соедине­ние — безопасное, то броузер отобразит в нижнем правом углу окна пиктограмму с висячим замком. показана строка состояния Internet Explorer при просмотре безопасной Web-страницы.
Как и в Netscape Navigator, в Internet Explorer имеются диалоговые окна с сообще­ниями о том, что пользователь попадает в зону безопасности, просматривает
безопасный документ или использует небезопасный метод. Например, на ри­сунке 8.9 показано окно с сообщением о том, что пользователь покидает безо­пасный Web-сайт.
Чтобы создать безопасное соединение, необходимо, чтобы обе стороны исполь­зовали протокол SSL. Как уже упоминалось, два наиболее распространенных броузера - Netscape Navigator и Internet Explorer - поддерживают работу с такими соединениями. Если взглянуть на современные программы-серверы, то протокол SSL поддерживают продукт компании Microsoft Internet Information Server и про­дукт компании Netscape Commerce Server. Несмотря на то, что при разработке различных серверов используются различные программы, существуют некото­рые общие соглашения о наименовании. В таблице 8.1 приведены ссылки на протоколы соединения некоторых распространенных безопасных серверов.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика