Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 246
Текст из файла (страница 246)
Здесь также содержатся время начала и конца действия подписи, имя владельца подписи и некоторая дополнительная информация. Система 1)ХЗзес устроена так, что закрытый ключ зоны может храниться в автономном режиме. Один или два раза в день содержимое базы данных зоны можно вручную переносить (например, записав компакт-диск) на машину, работающую в автономном режиме и хранящую закрытый ключ. Там можно сгенерировать подписи для всех наборов, и полученные таким образом записи ЯС можно снова записать на компакт-диск и перенести на главный сервер. Таким образом, закрытый ключ можно хранить на компакт-диске, запертом в сейфе и вынимаемом только для того, чтобы подписать на автономной машине ежедневное обновление наборов типа ВКЗеп По окончании генерации подписей все копии ключа удаляются из памяти, а диск и компакт-диск возвращаются в сейф.
Эта процедура превращает электронную защиту информации в физическую, что гораздо понятнее пользователям. Метод предварительного подписания наборов значительно ускоряет процесс обработки запросов, так как отпадает необходимость в шифровании <на лету». Платой за это является большой объем дискового пространства, необходимого для хранения всех ключей и подписей в базах данных ПХЯ. Из-за этого некоторые записи увеличиваются в размере десятикратно.
Получив подписанный КВЗец клиент должен применить открытый ключ зоны для расшифровки хаша, затем вычислить хэш самостоятельно и сравнить два значения. В случае их соответствия данные считаются корректными. Тем не менее, эта процедура не решает вопрос получения клиентом открытого ключа зоны. Одним из способов является запрос ключа у надежного сервера и передача его по защищенному соединению (например, при помощи 1рзес). Однако на практике предполагается, что у клиентов уже есть открытые ключи всех доменов верхнего уровня.
Если Алиса пожелает посетить сайт Боба, она запросит у службы 1)ХБ набор ВКБет для ЬоЬ.сов, в котором будет содержаться 1Р-адрес и запись КЕУс открытым ключом Боба. ВВЗег будет подписан доменом 914 Глава 8. Бвзопасность в сетях верхнего уровня (сош), поэтому Алиса запросто сможет проверить подлинность набора. Пример содержимого набора КВБеЬ приведен в табл. 8.4.
Таблица 8.4. Пример набора В[!Бе!для ЬоЬ.сонь Запись КЕу содержит открытый ключ Боба. Запись Б[0 — это хэш А н КЕУ, подписанный сервером домена верхнего уровня (сон[) для проверки их аутентичности [4ма домена Време жизни Класа тнл Значение 86400 [М [М [к 36.1.2.3 3682?93А?В?ЗЕ?31029СЕ27370.. 86947503А8884865272Е53930С,. ЬОЬ.соа 86400 86400 КЕ1' ЬоЬ.сов ЬЬЬ.соа 5!6 Теперь, вооружившись заверенной копией открытого ключа Боба, Алиса может узнать у ?)Х5-сервера Боба 1Р-адрес чл[лч.ЬоЬ.сонь Этот КЙЯег будет подписан закрытым ключом Боба, поэтому Алиса сможет проверить подлинность подписи возвращенного Бобом набора.
Если злоумышленнику каким-то образом удастся внедрить фальшивый ККЯег в один из кашей, Алиса заметит это, так как запись ЯС будет неправильной. Тем не менее, ??ХЯзес также предоставляет криптографический механизм для связывания ответов с соответствующими запросами, предотвращающий атаки типа той, что показана на рис. 8,43. Эта (необязательная) мера заключается в добавлении к ответу хэша запроса, подписанного закрытым ключом опрашиваемого.
Поскольку Труди неизвестен закрытый ключ сервера верхнего уровня (домена сон[), она не сможет подделать ответ этого сервера на запрос провайдера Алисы. Она, конечно, может опередить настоящий ответ, но фальшивка будет замечена по неправильной подписи хэшированного запроса. ?)ХЯзес поддерживает и некоторые другие типы записей. Так, для хранения сертификатов (например, стандарта Х.509) можно использовать запись СЕКТ. Зачем нужна такая запись? Дело в том, что есть желающие превратить ?3ХЯ в инфраструктуру РК1.
Случится это на самом деле илп цет, пока еше неизвестно. На этом мы заканчиваега обсуждение ?)ХБэес. Более подробную информацию вы найдете в КРС 2535. Самоааверяю[циеся имена Защита?)ХЯ вЂ” это ие единственный способ зашиты имен. Совершенно другой подход применяется в защищенной файловой системе (Мах! гез и др., 1999). Авторами этого проекта была создана надежная, масштабируемая файловая система мирового масштаба, не требующая внесения изменений в структуру РХ5, не использующая сертификаты и не подразумевающая существование инфраструктуры РК1. В этом разделе мы покажем, как эти идеи можно применить во Всемирной паутине. Соответственно, мы будем пользоваться веб-терминологией, ане понятиями файловых систем (именио последними оперирует документация, описывающая защищенную файловую систему).
Однако во избежание недоразумений мы считаем своим долгом предупредить, что эта схема может быть применена в веб-технологиях для обеспечения безопасности, однако в данное время Защита информации во Всемирной паутине 91Б она еще не используется, а для ее внедрения потребуется внести серьезные изменения в программное обеспечение.
Мы начнем с предположения о том, что каждый веб-сервер имеет два ключа открытый и закрытый. Суть иден состоит в том, чтобы каждый ПК1 содержал хэш имени сервера и открытого ключа. Например, на рис. 8.44 мы видим УК1 фотографии Боба. Он начинается с традиционного Ьпр:/А за которым следует имя сервера (тку»а.ооо.согп). Далее ставится двоеточие, а за ним — 32-символьный хэш.
В конце мы видим обычное имя файла. Если исключить хэш, получится вполне обычный ПК1.. Вместе с хэшем он образует самозаверяющийся ПКП ЗНА-1 (Имя сервера, его открытый ключ) Имя файла Сервер Ппр://аа»/.Ьоь.со/л;2дбьавьзхсугп/Вьпэбапу23хав4рез/рьотов/Ьоь./рв Рис. 8.44. Самозаввряющнйся Ойм содержащий хэш имени сервера н его открытого ключа Сразу же возникает вопрос: для чего служит хэш? Он вычисляется конкатенацией (объединением) 1)ХЯ-имени сервера с его открытым ключом и прогоном получающейся строки через функцию ЯНА-1, в результате чего получается 160- разрядный хэш. В данной схеме значение хэш-функции представлено последовательностью из 32 цифр и букв нижнего регистра. Из указанного алфавита во избежание путаницы исключены буквы «!» и «о» и цифры «1» и «Оы В распоряжении остаются 32 символа, которые можно кодировать 5-разрядными битовыми последовательностями. В результате мы как раз и получаем 32 5 = 1бО бит хэша БНА-1.
На самом деле, вовсе не обязательно использовать хэш-функцию. Вместо этого можно вставлять и сам открытый ключ. Преимушество применения хэша заключается в том, что по сравнению с незашифрованным ключом уменыпается длина имени ресурса. В простейшем (но наименее удобном) варианте Алисе, чтобы посмотреть фотографию Боба, придется набрать всю строку, показанную на рис. 8.44. Браузер отправляет на веб-сайт Боба просьбу прислать открытый ключ. По прибытии этого ключа браузер объединяет имя сервера с ключом и вычисляет хэш-функцию. Если результат согласуется с 32-символьным хэшем из защищенного (/К1., то у браузера не остается сомнений в том, что у него есть подлинный ключ Боба. В конце концов, даже если Труди перехватит запрос и подделает ответ, ей не удастся подобрать открытый ключ для получения корректного хаша благодаря свойствам алгоритма БНА-1.
Любые попытки подлога будут сразу же выявлены. Что касается открытого ключа Боба, его можно поместить в кэш для будущего использования. Теперь Алисе необходимо проверить соответствующий закрытый ключ Боба. Она формирует сообщение, содержащее АЕЯ-ключ сеанса, ноно и временной штамп. Затем она шифрует это сообщение с помощью открытого ключа Боба и отправляет его ему. Так как подходящий закрытый ключ есть только у Боба, только он сможет расшифровать сообщение и отослать назад ноно, зашифрованный ключом АЕБ.
Принятый Алисой корректный ноно убеждает ее в том, что она действительно разговаривает с Бобом. Теперь и у Алисы, и у Боба есть АЕЯ- 916 Глава 8. Безопасность в сетях ключ сеанса, которым они будут пользоваться при дальнейшем обмене запросами и ответами. Алисе достаточно один раз загрузить фотографию Боба (или любую веб-страницу).
После этого она может поставить на данный ресурс закладку, и ей больше не придется вручную набирать всю эту огромную строку 1)К1.. Более того, указатели 11К1., расположенные на веб-страницах, также могут быть самозаверяющимися, и ими можно пользоваться обычным образом (просто щелкая на них мышкой). Однако такие указатели гарантируют, что вы получите настоящую, а не поддельную информацию. Еще один способ избежать ручного набора длинных строк 1)К1. — использовать для их получения защищенное соединение с надежным сервером или вписывать их в сертификаты Х.509, подписанные управлением сертификации. Другой путь получения самозаверяющихся 1)К1.
заключается в установлении соединения с надежной поисковой машиной. Вначале придется набрать длинную строку, но затем можно будет воспользоваться описанным ранее протоколом, приводящим к защищенному, аутентифнцнрованному соединению с надежной поисковой машиной. Результатом поиска будет страница (с электронной подписью), содержащая список нужных самозаверяющихся 1)К1., на которых можно щелкать вместо того, чтобы вводить вручную в строке адреса в браузере. Давайте теперь посмотрим, как этот подход противостоит обманным действиям Труди. Если ей удастся «отравить» кэш провайдера Алисы, запрос последней будет против ее воли направлен не к Бобу, а к злоумышленнице.
Но наш протокол требует, чтобы получатель начального сообщения (то есть Труди) вернул открытый ключ, способный породить корректный кэш. Если Труди вернет открытый ключ Боба, Алиса не заметит подлога, но зашифрует свое следующее сообщение ключом Боба. Труди это сообщение получит, но расшифровать его не сможет. Следовательно, она не сможет расшифровать ни АЕЯ-ключ, ни ноно. В общем, худшее, что в этом случае можно сделать путем обмана 1)ХЯ, это осуществить атаку типа РоЯ (отказ в обслуживании). 88Š— протокол защищенных сокетов Ну что ж, защита имен ресурсов — это неплохое начало, однако этим не обеспечивается в полной мере безопасность во Всемирной паутине.