tanenbaum_seti_all.pages (525408), страница 246
Текст из файла (страница 246)
Любые попытки подлога будут сразу же выявлены. Что касается открытого ключа Боба, его можно поместить в кзш для будущего использования. Теперь Алисе необходимо проверить соответствующий закрытый ключ Боба. Она формирует сообщение, содержащее АЕ8-ключ сеанса, нонс и временной штамп. Затем она шифрует это сообщение с помощью открытого ключа Боба и отправляет его ему. Так как подходящий закрытый ключ есть только у Боба, только он сможет расшифровать сообщение и отослать назад ноно, зашифрованный ключом АЕ8. Принятый Алисой корректный ноно убеждает ее в том, что она действительно разговаривает с Бобом.
Теперь и у Алисы, и у Боба есть АЕ8- 91б Глава 8. Безопасность в сетях ключ сеанса, которым опи будут пользоваться при дальнейшем обмене запросами и ответами. Алисе достаточно один раз загрузить фотографию Боба (илн любую веб-страницу), После этого она может поставить на данный ресурс закладку, и ей больше не придется вручную набирать всю эту огромную строку () К1.. Более того, указатели () К1, расположенные на веб-страницах, также могут быть самозавсряюшимися, и ими можно пользоваться обычным образом (просто щелкая на них мышкой). Однако такие указатели гарантируют, что вы получите настоящую, а нс поддельную информацикь Ешс один способ избежать ручного набора длинных строк () КŠ— использовать для их получения защищенное соединение с надежным сервером или вписывать их в сертификаты Х.509, подписанные управлением сертификации. Другой путь получения самозавсряюшихся ()КЕ заключается в установлении соединения с надежной поисковой машиной. Вначале придется набрать длиннук> строку, но затем можно будет воспользоваться описанным раисе протоколом, приводящим к защищенному, аутентифицнрованному соединению с надежной поисковой машиной.
Результатом поиска будет страница (с электронной подписью), содержащая список нужных самозавсря|ощихся ()К1., на которых можно щелкать вместо того, чтобы вволить вручную в строке адреса в браузере. Давайте теперь посмотрим, как этот подход противостоит обманным действиям Труди. Если ей уластся «отравить> кэш провайлера Алисы, запрос последней будет против сс воли направлен нс к Бобу, а к злоумьпцленнипс. Но наш протокол требует, чтобы получатель начального сообщсшса (то есть Труди) вернул открытый ключ, способный породить корректный кэш.
Если Труди вернет открытый ключ Боба, Алиса пс заметит подлога, но запшфруст свое следующее сообщение ключом Боба. Труди это сообщение получит, но расшифровать его не сможет. Следовательно, она не сможет расшифровать ни АЕЗ-ключ, ни нонс. В общем, худшее, что в этом случае можно сделать путем обмана ьлч5, это осуществить атаку типа 1)о5 (отказ в обслуживании). 88~ — протокол защищенных сокетов Ну что ж, зашита имен ресурсов — это неплохое начало, однако этим не обеспечивается в полной мсрс безопасность во Всемирной паутине.
Следующий шаг состоит в установлении безопасных соединений. Сейчас мы рассмотрим, как это делается. Когда веб-технологии были впервые представлены широкой публике, они использовались для распространения статических страниц. Однако уже давным- давно некоторые компании задумались об использовании Паутины для выполнения финансовых транзакций, таких как покупка товаров по кредитным картам, онлайновые банковские операции, электронная торговля ценными бумагами. Для таких приложений требовалась организация защищенных соединений. В 1995 году тогдашний лидер среди производителей браузсров, корпорация )чсгзсаре Сошпшшсагюпз, в ответ на зто представила систему безопасности под названием ЯЯ.
(Яеснге Яос1сеш 1.ауег — протокол защищенных сокетов). Соответствую- Защита информации во Всемирной паутине 917 щее программное обеспечение, как и сам протокол, в наше время используется очень широко (в том числе и программой 1пгегпсг Ехр!огсг), поэтому стоит рассмотреть оЯ. более детально. Итак, ББЕ создает защищенное соединение между двумя сокетами, по:шоляющее: + клиенту и серверу договориться об используемых параметрах; + клиенту и серверу произвести взаимную аутентификацию; + организовать тайное общение; + обеспечить защиту целостности данных.
Все перечисленные пункты иам уже знакомы, поэтому мы нс будем их комментировать. Расположсние БЯ. в структуре обычного стека протоколов показано на рпс. 8.45. По сути дела, между прикладным и транспортным уровнями появляется новый уровень, принимающий запросы от браузера и отсылакнпий их по ТС1' для передачи серверу. После установки защищенного сослинсния основная задача 851. заключается в поддержке сжатия и шифрования. Если поверх 88! используется НТТР, этот вариант называется НГГР8 (Зеснге НТТР— защищенный НТТР) несмотря па то, что это обычный протокол НТТР.
Впрочем, возможно и отличие; скажем, доступ может осуществляться через новьш порт (443) вместо стандартного (80). Кстати говоря, область применения 8Я. нс ограничивается исключительно веб-браузерами, по это наиболее распространенное примспснис. Рис. 8.45. Уровни (и протоколы), используемые обычным домашним браузером с ВВ~ Существует несколько версий протокола 8Я..
Далее мы будем обсуждать только версию 3, так она распространена наиболее широко. 881. поддерживает множество разных алгоритмов и может обладать разными лополнительными функциями, среди которых наличие или отсутствие сжатия, тот или иной алгоритм шифрования, а также некоторые вещи, связанные с ограничениями экспорта в криптографии. Последнее, в основном, предназначено для того, чтобы можно было 818 Глава 8. Безопасность в сетях удостовериться, что оба конца соединения находятся в США. Иногда длину ключа ограничивают 40 битами, что шифровальщики воспринимают как своего рода шутку.
Однако Хетзсаре должен был ввести это ограничение, чтобы получить лицензию на экспорт от правительства США. 88Е состоит из двух субпротоколов, один из которых предназначен для установления защищенного соединения, а второй — для использования этого соединения, Начнем с рассмотрения вопроса установления соединения. Работа субпротокола, занимающегося этим, показана на рис. 8.46. Все начинается с сообщения 1, в котором Алиса посылает Бобу запрос на установку соединения.
В нем указываются версия 851., а также предпочтения Алисы относительно сжатия и алгоритмов шифрования. Также в нем содержится нонс йм который будет использован впоследствии. Теперь наступает очередь Боба, В сообщении 2 он выбирает один из алгоритмов, поддерживаемых Алисой, и посылает собственный нонс Я . В сообщении 3 он отсылает сертификат со своим открытым ключом, Если сертификат не подписан какой-нибудь уважаемой организацией, он также отправляет цепочку сертификатов, по которым Алиса может удостовериться в том, что сертификату Боба действительно можно доверять. Все браузеры, вклк>чая тот, что установлен у Алисы, изначально снабжаются примерно сотней открытых ключей, поэтому если среди присланных Бобом сертификатов встретится один из этих ключей, Алиса сможет по нему восстановить ключ Боба и проверить его.
В этот момент Боб может прислать н другие сообщения (напрнмер, запрос на получение сетификата Алисы с ее открытым клкгчом). После окончания выполнения своей части протокола Боб посылает сообщение 4, в котором говори~, что настала очередь Алисы. Алиса в ответ выбирает 384-разрядный подготовительный ключ и посылает его Бобу, зашифровав предварительно своим открытым ключом (сообщение 5). Настоящий ключ сеанса вычисляется при помощи подготовительного ключа и нонсов обеих сторон. Это довольно сложная процсдура.
После получения сообщения 5 и Алиса, и Боб могут вычислить ключ сеанса. Для этого Алиса просит Боба переключиться на новый шифр (сообщение 6), а также сообшает о том, что она считает субпротокол установления соединения оконченным (сообщение 7). Боб соглашается с пей (сообщения 8 и 9). Однако несмотря на то, что Алиса знает, кто такой Боб, последний Алису не знает (если только у нее нет открытого ключа и сертификата к нему, что довольно необычно для обычного физического лица). Поэтому первым сообщением для Алисы запросто может оказаться просьба пройти регистрацию, используя полученные ранее имя пользователя и пароль. Впрочем, протокол регистрации в системе не выходит за область полномочий 881..
Так или иначе, по окончании этой серии запросов-подтверждений может начинаться передача данных. Как уже говорилось, 55Е поддерживает разнообразные криптографические алгоритмы. Наиболее сильный из них использует для шифрации тройной ПЕБ с тремя отдельными ключами и БНА-1 для обеспечения целостности данных, Такое сочетание алгоритмов работает довольно медленно, поэтому применяется в основном при выполнении банковских операций и в других приложениях, в которых Защнтаннформацинво Всемирной паутине В1В требуется высокий уровень зашиты. В обычных приложениях электронной ком мерции для шифрации применяется 128-разрядный ключ, а для аутентифика ции — МЕ)5. В качестве исходных данных КС4 передается 128-разрядный ключ, который разрастается во много раз при работе алгоритма. Это внутреннее число используется для создания ключевого потока.
Последний суммируется по модулю 2 с открытым текстом, в результате чего получается обычный потоковый шифр, как было показано на рис. 8.12. Экспортные версии алгоритма также работают с алгоритмом КС4 и 128-разрядным ключом, однако 88 из этих разрядов делаются открытыми, что позволяет довольно быстро взломать шифр. Рис. 8.46. упрощенный вариант субпротокопв Взцуствновпвния соединения Для реальной передачи данных используется второй субпротокол, показанный на рис. 8.47. Сообщения, поступающие от браузера, разбиваются на единицы данных размером до 16 Кбайт. Если сжатие включено, каждая из этих единиц независимо сжимается.
Затем по двум пансам вычисляется закрытый ключ, подготовительный ключ объединяется со сжатым текстом и результат хэшируется по согласованному алгоритму (чаще всего М1)5). Хэш добавляется к кажлому фрагменту в виде МАС (Меьаайе АцсЬес1сас1оп Соде — код аутентификации сообщения). Этот сжатый фрагмент вместе с МАС кодируется согласованным алгоритмом с симметричным ключом (обычно зто суммирование по модулю 2 с ключевым потоком КС4).
Наконец, присоединяется заголовок фрагмента, и фрагмент передается по ТСР-соединению Следует остерегаться следующего подводного камня: уже говорилось о том, что КС4 имеет некоторые слабые ключи, которые довольно просто взламываются, поэтому 55Е с КС4 — это довольно шаткая основа (Р1пЬгег и др., 2001). Браузеры, позволяющие пользователю выбирать тот или иной шифр, лучше всего 020 Глава 8. Безопасность в сетях настраивать на постоянное использование тройного алгоритма РЕ5 со 168-разряднымн ключами и 5НЛ-1 невзирая на то, что такая комбинация работает еще медленнее, чем КС4 е М1)5. Фрагментация Сжатие угентификвции аобщения Добавление МАС Шифрация Добавление заголовке Рис. 8.47.