Текст
                    Аутентификация:
от паролей до открытых ключей
'А в Internet никто не знает, что ты — собака"

4
Ричард Э. Смит

Организация сетей/безопасность Аутентификация У'правление доступом к компьютерам является постоянной проблемой Предоставленные самим себе компьютеры не отличают одного пользователя от другого. Для того чтобы уверенно соотнести определенного пользователя с конкретным физическим лицом, в компьютерах используется механизм аутентификации Книга Аутентификация: от паролей до открыл ых ключей дает читателю ясное представление о том, что необходимо организации, чтобы надежно идентифицировать пользователей, а также о различных методах верификации личности. Аутентификация является одним из основных строительных кирпичиков системы обеспечения безопасности. Чтобы дать компьютерной системе возможность отличать законных пользователей от всех остальных, в большинстве систем авторизованные пользователи снабжаются паролями. К сожалению, точно так же, как автомобильные воры преодолевают сложные запоры и системы сигнализации, так и компьютерные хакеры всегда находят новые способы обойти паролевые системы Хорошая новость состоит в том, что теперь организации имеют в своем распоряжении множество альтернатив паролям, а также разнообразные способы повысить безопасность. Хорошо спроектированная система аутентификации дает пользователям возможность удобным '. м подтверждать свою личность и получать доступ к сети, не ставя при этом под угрозу безопасность организации. В книге Аутентификация: от паролей до открытых ключей, первой в своем роде, описан весь спектр используемых сегодня методов аутентификации В ней рассматриваются ситуации, когда определенные методики не срабатывают, и указываются способы их улучшения. Профессионалы в области сетей, проектировщики, разработчики, постановщики задач и администраторы смогут найти здесь именно ту стратегию аутентификации, которая позволит защитить их ценные системы. С помощью схем и примеров автор подробно объясняет технические идеи, которые стоят за аутентификацией, уделяя основное внимание существующим готовым решениям для обеспечения безопасности. В этой книге описываются реальные продукты и решения Если вы специалист в области создания сетей, нуждающийся в ответах на вопросы как? и зачем?, то это та книга, которая поможет вам исключить несанкционированный доступ в вашей сети. Ричард 9. Смит (Richard Е. Smith) — доктор философии, сертифицированный специалист в области компьютерной безопасности, более десяти лет проработал в качестве профессионального специалиста в данной области Автор книги Internet Cryptography (издательство Addison-Wfesley. 1997). В настоящее время занимается исследованиями в области архитектуры систем обеспечения зашиты информации в компании Secure Computing Corporation s ведущей в мире компании по выпуску средств для обеспечения компьютерной безопасности. http://www.aw.com/cseng/ www.williamspubl >hing com Addison-Wesley
Аутентификация: от паролей до открытых ключей Ричард Э. Смит 38834^
ББК 32.973.26-018.2.75 С50 УДК 681.3.07 Издательский дом “Вильямс” Зав. редакцией С.Н. Тригуб Перевод с английского и редакция А.А. Голубченко По общим вопросам обращайтесь в Издательский дом “Вильямс” по адресу: info@williamspublishing.com, http://www.williamspublishing.com Смит, Ричард, Э. С50 Аутентификация: от паролей до открытых ключей. : Пер. с англ. — М. : Издательский дом “Вильямс”, 2002. — 432 с. : ил. — Парал. тит. англ. ISBN 5-8459-0341-6 (рус.) Книга является первым в своем роде изданием, посвященным такой важной проблеме управ- ления доступом к информации в компьютерных системах, как аутентификация пользовате- лей. В написанной простым и доходчивым языком книге рассматриваются достоинства и не- достатки практически всех существующих и используемых на настоящий момент способов идентификации пользователей. Книга ориентирована на широкий круг читателей. Она может быть полезна как профессионалам, которые по роду своей деятельности связаны с созданием и эксплуатацией компьютерных систем, так и тем, кто хочет узнать, что стоит за сообщения- ми, которые появляются на экране, при включении компьютера. ББК 32.973.26-018.2.75 Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм. Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирова- ние и запись на магнитный носитель, если на эго нет письменного разрешения издательства Addison-Wesley Publishing Company, Inc. Authorized translation from the English language edition published by Addison-Wesley Publishing Company, Inc., Copyright О 2002 All rights reserved. No part of this book may be reproduced, stored in retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise without either the prior written permis- sion о the Publisher. Russian language edition published by Williams Publishing House according to the Agreement with R&I Enterprises International, Copyright © 2002 ISBN 5-8459-0341-6 (pyc.) ISBN 0-201-61599-1 (англ.) © Издательский дом “Вильямс”, 2002 © Addison-Wesley Publishing Company, Inc., 2002
Оглавление Предисловие 15 Глава 1. Аутентификация — что это такое 19 Глава 2. Эволюция паролей многократного использования 48 Глава 3. Интеграция людей 74 Глава 4. Типовые проектные шаблоны 96 Глава 5. Локальная аутентификация 119 Глава 6. Выбор PIN-кодов и паролей 136 Глава 7. Биометрика 165 Глава 8. Аутентификация по адресу 187 Глава 9. Устройства аутентификации 211 Глава 10. Пароли, генерируемые по принципу "запрос-ответ" 235 Глава 11. Непрямая аутентификация 257 Глава 12. Протокол Kerberos и Windows 2000 278 Глава 13. Открытые ключи и автономная аутентификация 300 Глава 14. Сертификаты открытых ключей 325 Глава 15. Способы защиты личных ключей 348 Примечания 365 Список литературы 393 Web-ресурсы и производители 410 Предметный указатель 419
Содержание Предисловие 15 О чем эта книга 15 Для кого эта книга 16 Слова признательности 16 От издательства 18 Глава 1. Аутентификация — что это такое 19 1.1. Немного истории 19 1.2. Элементы системы аутентификации 20 Видоизменяющиеся атаки и видоизменяющаяся защита 23 Стратегии защиты 24 1.3. Аутентификация в системах с разделением времени 26 Атака на пароли 27 Хешированные пароли 29 1.4. Атакуя секреты 31 Атаки угадывания 31 Социальный инжиниринг 33 1.5. Атаки, основанные на активной разведке 36 Активная разведка в программном обеспечении 36 Проникновение в систему по методу троянского коня. 38 Перехват по методу ван Эка 39 1.6. Факторы аутентификации 40 1.7. Ранжирование атак по распространенности 43 1.8. Сводные таблицы 45 Атаки, от которых нет защиты 47 Глава 2. Эволюция паролей многократного использования 48 2.1. Пароли: нечто, известное нам 48 2.2. Аутентификация и базовая секретная информация 51 Аутентификация по культурологическому признаку 52 Секретная информация, выбираемая по случайному принципу 53 2.3. Паролевая система ОС UNIX 54 2.4. Атаки на файл паролей ОС UNIX 57 Хеширование по методу М-209 58 Хеширование в соответствии со стандартом DES 59 2.5. Словарные атаки 61 2.6. Интернетовский червь 63 2.7. Противостояние атакам угадывания 67 Случайный характер и битовые пространства 67 Асимметрия базовой секретной информации 68 Среднее пространство атаки 69 2.8. Сводные таблицы 72 Атаки, от которых нет защиты 73 Глава 3. Интеграция людей 74 3.1. Роли людей 74 Свои и чужие 75
Пользователи и администраторы 76 Операторы связи и взломщики 78 3.2. Регистрация пользователей 79 Самоаутентификация 79 Регистрация с личным присутствием 81 3.3. Назначение начального секрета 82 Секрет, выбираемый случайным образом 82 Культурологический секрет 82 Изменение начального пароля 83 3.4. Энтропия и выбор пароля пользователя 84 Статистическая асимметрия в тексте 85 Словарные атаки 87 Оценка асимметрии в выборе пароля 88 3.5. Ограничение вариантов выбора пароля 89 Терапевтический взлом паролей 90 Автоматическая генерация паролей 91 Активная проверка паролей 91 Ограничения на силу пароля 93 3.6. Сводные таблицы 94 Глава 4. Типовые проектные шаблоны 96 4.1. Шаблоны в системах аутентификации 96 4.2. Роль физической защиты 97 Защита программного обеспечения аутентификации 98 Защита рабочих станций 100 Аппаратная защита аутентификации 102 4.3. Административные требования 104 Физическая защита 104 Легкость аутентификации 105 Эффективное администрирование 106 4.4. Локальная аутентификация 107 4.5. Прямая аутентификация 109 4.6. Непрямая аутентификация 110 Протоколы аутентификации 110 Протоколы непрямой аутентификации 112 4.7. Автономная аутентификация 113 4.8. Применение шаблонов 115 4.9. Сводные таблицы 117 Атака, от которой нет защиты 118 Глава 5. Локальная аутентификация 119 5.1. Переносные компьютеры и рабочие станции 119 5.2. Шифрование в рабочей станции 121 Шифрование файлов 122 Массовое шифрование 124 5.3. Шифрование для защиты данных 127 Атаки на шифрование через сокращенные процедуры 128 Атаки на шифрование по методу проб и ошибок 130 Теоретические границы величины скорости угадывания 131 5.4. Обращение с ключами 132 Запоминаемые ключи 132 Методы работы с ключами 133 Условные ключи и разные политики шифрования 133 5.5. Сводные таблицы 134 СОДЕРЖАНИЕ 7
Глава 6. Выбор PIN-кодов и паролей 236 6.1. Сложность паролей 136 Удобство использования паролей 137 Функции принуждения и коврики для мышки 139 6.2. Различные секреты для различных пользователей 141 Пароли, поддающиеся анализу 142 Приложения, использующие PIN-коды 143 Внутренние пароли 143 Внешние пароли 145 6.3. Улучшение процедуры ввода внутренних паролей 146 Управляемый оператором вывод пароля на экран дисплея 147 Вывод сообщения о неправильном имени пользователя 148 Возможность множества попыток ввода пароля 148 Вывод сообщения о попытке неправильного ввода пароля 149 Исключение режима периодической замены пароля 149 6.4. Выбор пароля 150 Внутренние пароли 150 Внешние и административные пароли 151 6.5. Коллективно используемые пароли 153 Многократно используемые пароли 153 Делегирование паролей 155 6.6. Хранение записанных паролей 156 Физическая охрана 156 Хранение в запираемом месте 157 Электронное хранение 158 6.7. Последовательности и группы паролей 160 Последовательности паролей 161 Обеспечение перспективной секретности с помощью слов-тем 161 Пароли из песен и стихотворений 162 6.8. Сводные таблицы 163 Атаки, от которых нет защиты 164 Глава 7. Биометрика 165 7.1. Биометрика: то, чем мы являемся 165 Обещания и реальность 166 Применение биометрики 167 7.2. Биометрические методики 168 Измерение физических отличительных черт 169 Измерение поведенческих характеристик 171 7.3. Как работает биометрика 172 7.4. Снятие биометрических показателей 173 Обратная связь во время ввода биометрических измерений 174 Подделка физической характеристики человека 175 7.5. Создание и совмещение эталонов 176 Пример: биометрика очертаний руки 176 Регистрация пользователя 178 7.6. Точность биометрики 178 Нахождение компромисса между удобством использования и уровнем безопасности 180 Среднее пространство атаки 181 7.7. Шифрование биометрики 182 Сохранение режима секретности 182 Аутентичность биометрических данных 184 Проблемы эксплуатации биометрических систем 184 7.8. Сводные таблицы 185 8 СОДЕРЖАНИЕ
Глава 8. Аутентификация по адресу 187 8.1. Кто или откуда 187 8.2. В качестве адресов •— телефонные номера 188 Идентификация по обратному звонку 189 Идентификация входного звонка: идентификационный номер вызывающей стороны 191 8.3. Сетевые адреса 193 Адресация в сети ARPANET 193 Адреса в протоколах сети Internet 194 8.4. Атаки на адреса сети Internet 195 Кража IP-адреса 197 Атаки с организацией отказа в обслуживании 198 8.5. Эффективная аутентификация отправителя 200 8.6. Аутентификация в локальных UNIX-сетях 202 “г”-команды 202 Удаленные вызовы процедур, NFS и NIS 205 8.7. Аутентификация географического местоположения 206 8.8. Сводные таблицы 209 Глава 9. Устройства аутентификации 211 9.1. Средства аутентификации: то, что мы имеем 211 Пассивные аутентификационные устройства 212 Активные аутентификационные устройства 214 9.2. Активная разведка паролей в сети 216 9.3. Одноразовые пароли 218 Одноразовые пароли, генерируемые с помощью счетчиков 219 Одноразовые пароли, генерируемые с помощью часов 222 9.4. Атаки на одноразовые пароли 224 Атака “человек посередине” 224 IP-похищение 225 9.5. Введение PIN-кодовов 226 PIN-код как дополнение к внешнему паролю 226 PIN-код как внутренний пароль 227 PIN-код как часть базового секрета 229 9.6. Первичная регистрация пользователей 230 9.7. Сводные таблицы 233 Глава 10. Пароли, генерируемые по принципу "запрос-ответ" 235 10.1. Принцип "запрос-ответ" 235 Механизм "запрос-ответ" и протокол Х9.9 237 Система аутентификации S/Key 238 10.2. Некоторые аспекты работы механизма "запрос-ответ" 240 Взаимодействие с пользователем 240 Известные атаки на шифрованные данные, получаемые при реализации стандарта ANSI Х9.9 241 10.3. Развертывание системы на основе устройств аутентификации с генерацией паролей 242 Программные устройства аутентификации 242 Работа с несколькими серверами 243 Авторские решения частных компаний 245 10.4. Эволюция методов аутентификации в операционных системах Windows 245 Хеширование в LANMAN 246 Атаки на хешированные значения LANMAN 247 Пароли в Windows в виде открытого текста 249 СОДЕРЖАНИЕ 9
10.5. Реализация метода "запрос-ответ" в ОС Windows 250 Атаки на механизм "запрос-ответ" ОС Windows 251 10.6. Аутентификация в Windows NTLM 251 Атаки на базу данных паролей ОС Windows NT 253 Атаки на механизм "запрос-ответ", реализованный в NTLM 254 10.7. Сводные таблицы 255 Атаки, от которых нет защиты 256 Глава 11. Непрямая аутентификация 257 11.1. Непрямая аутентификация 257 Управление трафиком на границах сети 258 Изделия, использующие одноразовые пароли 259 Управление сетевыми ресурсами 260 11.2. Протокол RADIUS 261 Процедура регистрации в протоколе RADIUS 262 Защита сообщений протокола RADIUS 263 Реализация в протоколе RADIUS механизма запроса-ответа 266 11.3. Соединения с шифрованием и ОС Windows NT 267 Соединения с шифрованием 268 Защита целостности 269 Политика, шифрование и выбор технического решения 271 11.4 Защищенные каналы в ОС Windows NT 272 Использование ключей в защищенных каналах 272 Атаки на защищенные каналы 273 11.5. Базовые секреты для аутентификации компьютеров 274 11.6. Сводные таблицы 276 Глава 12. Протокол Kerberos и Windows 2000 278 12.1. Центр распределения ключей 278 Мандаты 279 Протокол Нидхэма-Шредера 281 12.2. Протокол Kerberos 283 Сервер аутентификации 284 Аутентификация для сервера 284 Служба выдачи разрешений на получение мандата 285 12.3. Аутентификация пользователей и рабочих станций 289 Аутентификация рабочих станций 290 Предаутентификация 291 12.4. Делегирование мандата 291 Посреднический TGT 292 Переадресовываемый TGT 292 Ареалы и ссылочные мандаты 293 12.5. Атаки на сеть с протоколом Kerberos 294 Устойчивость к вторжению 294 Синхронизация часов 295 12.6. Протокол Kerberos в ОС Windows 2000 296 Мастер-ключи и аутентификация рабочих станций 296 Поддерживаемые службы и протоколы 298 12.7 Сводные таблицы 299 Глава 13. Открытые ключи и автономная аутентификация 300 13.1. Шифрование с использованием открытых ключей 300 13.2. RCA-алгоритм работы с открытыми ключами 303 13.3. Атаки на алгоритм RSA 305 Атаки на RSA-ключи 305 Атаки на цифровые подписи 307 10 СОДЕРЖАНИЕ
13.4. Стандарт цифровой подписи 309 13.5. Возвращение к методике "запрос-ответ" 311 Протокол аутентификации LOCKOut Fortezza 313 Стандарт аутентификации FIPS 196 314 13.6. Протокол шифрованных соединений между узлами SSL 316 Установление значений ключей в протоколе SSL 318 Аутентификация с использованием типового протокола SSL 321 Аутентификация клиента в протоколе SSL 321 13.7. Открытые ключи и биометрика 322 13.8. Сводные таблицы 323 Глава 14. Сертификаты открытых ключей 325 14.1. Привязка имен к открытым ключам 325 Органы по выдаче сертификатов 326 Использование правильного сертификата 328 14.2. Создание сертификатов 330 Стандарты сертификатов 332 Сертификаты и управление доступом 333 14.3. Органы по выдаче сертификатов 333 Выдача сертификатов владельцами систем 334 Коммерческие органы по выдаче сертификатов 335 14.4. Инфраструктура открытых ключей 336 Централизованная иерархия 337 Списки органов по выдаче сертификатов 338 Кросс-сертификаиция 339 14.5. Личная сертификация 340 Сертификация на основе репутации 340 Сертификация на основе сети доверия 341 14.6. Отзыв сертификатов 342 Список отозванных сертификатов 342 Интерактивный отзыв 343 Периодическое сертифицирование 344 14.7. Сертификаты в протоколе Kerberos 344 14.8. Сводные таблицы 346 Угрозы, от которых нет защиты 347 Глава 15. Способы защиты личных ключей 348 15.1. Генерация личных ключей 348 15.2. Проблема хранения личных ключей 349 15.3. Смарт-карты и личные ключи 350 Генерация ключа вне карточки 352 Генерация ключа на карточке 353 15.4. Управление доступом к смарт-карте 354 PIN-коды 354 Биометрика 354 15.5. Хранение личных ключей на сервере 357 Novell NetWare: загрузка ключей 357 Виртуальная смарт-карта Safe Word: подгрузка данных 361 15.6. Возвращаясь к паролям 362 15.7. Сводные таблицы 364 Примечания 365 Примечания к главе 1 365 Примечания к главе 2 368 Примечания к главе 3 370 Примечания к главе 4 372 СОДЕРЖАНИЕ 11
Примечания к главе 5 373 Примечания к главе 6 375 Примечания к главе 7 377 Примечания к главе 8 379 Примечания к главе 9 381 Примечания к главе 10 383 Примечания к главе 11 384 Примечания к главе 12 386 Примечания к главе 13 387 Примечания к главе 14 389 Примечания к главе 15 390 Список литературы 393 Web-ресурсы и производители 410 Предметный указатель 419 12 СОДЕРЖАНИЕ
Посвящается памяти Фрэда Этвуда (Fred Atwood) 1927-2001 как дань уважения одного из многих, чей личный успех был бы невозможен без неустанной поддержки Фрэда
ПРЕДИСЛОВИЕ “ ...получив в подарок на свой девяносто второй день рождения первый экземпляр книги Почему стоят здания моя теща сухо заметила: “Это, конечно, очень мило, но я бы с большим инте- ресом почитала, почему они падают". Марио Дж. Сальвадори, Почему здания падают О чем эта книга Хотя всех нас воодушевляют достижения техники, очень часто наиболее по- лезные уроки мы извлекаем из ее поражений. Это наблюдение стояло за появле- I кием книги Леви и Сальвадори Почему падают здания, и оно же было мотивом для написания этой книги. Поражения несут в себе не только важные уроки для изучения, но и, в отличие от сухого перечисления технических условий или да- же захватывающего дух воплощения какого-нибудь техно-утопического идеала, вызывают особый интерес. В книге рассматривается аутентификаця, то есть опознавание компьютерами личности конкретного человека. Большинство компьютеров использует для этого пароли, но даже основанные на паролях системы могут служить для пользовате- лей, администраторов и разработчиков источником хитроумных и весьма труд- норазрешимых проблем. Однако, решив воспользоваться чем-либо более изо- щренным, чем хранящийся на сервере список паролей, мы тут же оказываемся перед широким выбором возможных вариантов и связанных с ними рисков. В книге исследуются эти варианты, причем рассматриваются ситуации, в которых различные методы терпели неудачу, и описываются способы усиления защитных свойств этих методов. Очень часто это напоминает игру в пинг-понг: средства защиты падают под напором новых средств атаки, что, в свою очередь, приводит к появлению усиленных средств защиты, и т.д. Защитные меры работают не в вакууме: все они переплетены с другими ме- рами. В книге используется высокоуровневый архитектурный взгляд на эту пау- тину, без погружения в подробности. Обсуждаются физические и процедурные требования к средствам защиты, а также рассматриваются технические требова- ния. Более того, технические аспекты будут обсуждаться только в той степени детальности, которая необходима для прояснения вопросов безопасности. Точ- ный порядок следования битов для конкретного протокола читатели могут найти и в другом месте. Здесь же основное внимание уделяется вопросам, почему эти биты должны там быть и какую информацию они должны в себе нести. Мы рас- смотрим, что могло бы произойти или, возможно, происходило, если опустить эту часть протокола. Я попытался включить в книгу примеры из жизни для каждой важной кон- цепции или механизма. В таких примерах абстрактная концепция превращена в конкретную. Каждый приведенный пример имеет печатный источник или взят из моего собственного опыта защиты компьютеров. Чтобы оградить частную жизнь людей и конфиденциальные данные предприятий, имена и фамилии часто прихо- дилось изменять. В отсутствие угрозы наказания люди могут быть довольно от- кровенны, рассказывая о том, как они работают с паролями, или о несанкциони- рованных ускоренных процедурах, которыми они пользуются. Имена были изме- нены или опущены, чтобы не подвести тех, кто был откровенен.
Для кого эта книга Эта книга написана для людей, которые хотят разобраться во всех как и по- чему процесса аутентификации в компьютерах. Это могут быть проектировщики, разработчики, администраторы, плановики или менеджеры. Часто аутентифика- ция является для них первой линией обороны против атак. Основное внимание в книге уделяется существующим готовым решениям. Но часто необходимо знать достаточно много подробностей, чтобы объяснить их стороннему разработчику и тот смог бы найти оптимальный способ защиты информации. Книга предполагает общее знакомство с компьютерными системами и Internet в том объеме, в котором люди обычно пользуются ими сегодня. Она не требует спе- циальных знаний об операционных системах, сетевых протоколах или средствах защиты информации в компьютерах. Новые технические концепции в книге сна- чала объясняются и только затем обсуждается их смысл, при этом используется нормальный язык и графические диаграммы, а в важных моментах приводятся примеры. Некоторые обучаются читая, другие — рассматривая, а третьи — делая. Книга представляет собой попытку удовлетворить первые две группы непосредст- венно и по крайней мере развлечь третью рассказами о катастрофах. Было бы неразумно полностью исключить из книги, подобной этой, матема- тические символы, хотя некоторые читатели и рассматривают их как малопо- нятный иностранный язык. Поскольку есть места, где небольшие простые алгеб- раические выкладки значительно сокращают словесные объяснения, в книге не делается попытки избежать их полностью, но при этом прилагаются все усилия, чтобы эти выкладки были как можно более простыми. Слова признательности В конце 1996 года я заканчивал книгу Криптография в Internet и однажды обсуждал ее состояние с Сэнди Миезвой (Sandy Miezwa), которая на то время была директором по продажам в Secure Computing Corporation. Измученная дос- тижением годовых плановых показателей по продажам, она с раздражением вы- палила: “Тебе бы следовало написать об аутентификации. Ведь никто не понима- ет, что это такое!” Это ее замечание поразило меня так же, как комментарий тещи Сальвадори. Книга много выиграла от терпеливого подбадривания моего редактора Карен Геттман (Karen Gettman) из издательства Addison-Wesley. Спасибо также и дру- гим членам команды: Кэти Нойс (Katie Noyes), Джону Фуллеру (John Fuller), Элизабет Райан (Elizabeth Ryan), Кристе Мидоубрук (Chrysta Meadowbrook) и Эмили Фрей (Emily Frey). Благодарю также компании-производители, которые предоставили мне по- мощь, оборудование и материалы, включая Secure Computing Corporation, RSA Security, American Biometrics Corporation, Cross Match Corporation, Informer Systems Ltd. и Datakey Corporation. Мне бы хотелось поблагодарить всех, кто рецензировал эту книгу на разных этапах ее производства. Эти рецензенты очень часто делали массу важных тех- нических замечаний и указывали, как сделать многие вещи лучше: Фред Бейкер (Fred Baker) из Cisco Systems, Джозеф Бальзама (Joseph Balsama) и Теодор Сед- жвик Барасси (Theodor Sedgwick Barassi) из Certco, Дуглас Барнс (Douglas Ва- rnse) из Security, Боб Боусен (Bob Bosen) из Secure Computing, Боб Бруен (Bob Bruen) и Эндрю Браун (Andrew Brown) из Crossbar Security, Уильям Буллей (William Bulley) из Merit Network, Стив Кёхлер (Steve Koehler) из Secure Com- puting, Филлип Кёниг (Phillip Koenig) из Electric Kahuma Systems, Брайен ля 16 ДЛЯ КОГО ЭТА КНИГА
Мачи (Brian LaMacchia) из Microsoft, Маркус Лич (Marcus Leech) из Nortel Net- works, Дэвид Миттон (David Mitton) и Клиффорд Ньюмен (Clifford Neuman) из Института информатики Южнокалифорнийского университета (USC ISI), Эд Норрис (Ed Norris) и Грег Роуз (Greg Rose) из Qualcomm Australia, Джон Сел- ленс (John Sellens) из Certainty Solutions Canada, Брайан Тунг (Brian Tung) из USC ISI и Дэвид Вайсман (David Weissman) из Lydon, LLP. Хотя эти люди внесли в книгу много ценного, последнее слово оставалась за мной. Так что все ошибки не их, а мои, и, кроме того, книга не обязательно от- ражает то, что говорилось кем-либо из них по той или иной теме. Я беседовал со множеством людей о технических деталях, содержащихся в книге, часто по электронной почте. Эти люди находили время, чтобы отвечать на мои вопросы, давали мне прекрасные технические советы, ссужали оборудо- ванием или книгами: Росс Андерсон (Ross Anderson), Мари Бергманне (Maris Bergmanis), Ян Байби (Jan Bibee), Энн Ченетт (Anne Chenette), Фернандо Дж. Корбато (Fernando J. Corbato), Рон Куфф (Ron Cuffe), Эл Доуд (Al Dowd), Джон Голл (John Gall), Натан Гилберт (Nathan Gilbert), Брайан Хасс (Brian Huss), Джордж Джелатис (George Jelatis), Коллин Кулханек (Colleen Kulhanek), Тим Леонард (Tim Leonard), Брайан Лу (Brian Loe), Ричард Миллс (Richard Mills), Роджер Нидхем (Roger Needham), Джефф Померой (Jeff Pomeroy), Фред Репер (Fred Roeper), Ширли А. Смит (Shirley A. Smith), Том ван Влек (Tom Van Vleck), Билл Вуд (Bill Wood) и Джианксин Янь (Jianxin Yan). Я также признателен за ценные комментарии участникам почтовых рассылок по вопросам защиты информации, куда я входил в последние несколько лет, включая участников рассылки по теме “Криптография”, управляемой Перри Мецгером (Perry Metzger), участников рассылки по теме “Средства контекстной помощи в брандмауэрах”, ведомой Маркусом Ранумом (Marcus Ranum), и участ- ников рассылки по проблеме защиты информации в IP-сетях под эгидой Рабочей группы инженерных проблем Internet (IETF IPSEC). Также мне хотелось бы поблагодарить своих коллег из Secure Computing Cor- poration за их вдохновение и помощь. Я не могу воздать должное всем, кто тем или иным образом помог мне с этой книгой, хотя и пытался упомянуть особо причастных в других местах книги. Также я должен поблагодарить своих руководителей за предоставление сво- бодного графика, необходимого мне для работы над книгой. На протяжении ря- да лет ими были доктор Дик О'Брайен (Dick O'Brien), Корнелия Мерфи (Cornelia Murphy), доктор Джон Хоффман (John Hoffman), два вице-президента: Крис Файлоу (Chris Filo) и Карр Биггерстафф (Carr Biggerstaff) и их начальник — ге- неральный директор Джон МакНалти (John MacNulty). Спасибо всем за то, что они снова сделали Secure Computing интересным местом для работы. Я благодарен своей семье, друзьям и соседям, терпеливо сносившим эгоцен- тричную одержимость, которая сопутствует написанию книги. Спасибо лыжной команде TFNR, участнице Большого американского лыжного марафона за заме- чательные пятилетние выступления в лыжных гонках. Она превратила скучные зимы в Миннесоте в интересное развлечение. Говорю “спасибо” своей жене и детям, но это совершенно не передает то, что я чувствовал к моей семье в процессе написания книги. Они были тем заземле- нием, на которое разряжалась моя навязчивая идея все делать правильно, и я бессчетное количество раз рычал на них, если они прерывали меня именно в тот момент, когда я писал какой-нибудь запутанный абзац или пытался элементы диаграммы. Но я не думаю, что мне бы удалось закончить без их присутствия и ощущения дома, создаваемого скрипящими две ном тарелок, обсуждением школьных новостей и шастаньем по ко^ машних животных. /& подогнать ату книгу §1А[И, зво- уатам до- ПРЕДИСЛОВИЕ /J? / \^\ 17 /ду/Научно-W\ 7 ™ническая\к\ / библиотека ___комбинат" *
От издательства Вы, читатель этой книги, и есть главный ее критик и комментатор. Мы це- ним ваше мнение и хотим знать, что было сделано нами правильно, что можно было сделать лучше и что еще вы хотели бы увидеть изданным нами. Нам инте- ресно услышать и любые другие замечания, которые вам хотелось бы высказать в наш адрес. Мы ждем ваших комментариев и надеемся на них. Вы можете прислать элек- тронное письмо или просто посетить наш Web-сервер, оставив свои замеча- ния, — одним словом, любым удобным для вас способом дайте нам знать, нра- вится или нет вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более интересными для вас. Посылая письмо или сообщение, не забудьте указать название книги и ее ав- торов, а также ваш e-mail. Мы внимательно ознакомимся с вашим мнением и обязательно учтем его при отборе и подготовке к изданию последующих книг. Наши координаты: E-mail: inf oewilliamspublishing. com WWW: http://www.williamspublishing.com 18 ОТ ИЗДАТЕЛЬСТВА
ГЛАВА 1 Аутентификация — что это такое “Сезам, откройся!” — Шехерезада, Али-Баба и сорок разбойников В этой главе... Эта глава посвящена общему обзору аутентификации: проблеме установле- ния личности и главным моментам, связанным с ее решением. Элементы систем аутентификации. Аутентификация по паролю в ранних разработках. Атаки на систему защиты путем воровства, обмана и применения интел- лектуального подхода. Факторы аутентификации: пароли, опознавательные знаки и биометрика. Ранжирование атак по распространенности. Сводная таблица описанных в главе атак и методов защиты. 1.1. Немного истории На протяжении многих веков, чтобы доказать другим, что они именно те, за кого себя выдают, и чтобы удостовериться в подлинности важных сообщений, лю- ди полагались на стражу, устные пароли и трудно подделываемые печати. Автома- тическая аутентификация с помощью механических устройств также достаточно стара: отпираемые ключом замки были известны еще древним египтянам. Прак- тичные механизмы выполняли работу с минимальным вмешательством человека. Автоматическая аутентификация чрезвычайно важна в современных компью- терных системах. Может быть, это и штамп называть Internet “информационной супермагистралью”, но это отражает самую суть: мы не можем себе позволить ус- тановить полицейских на каждой развязке или на каждом пересечении бессчетных “улиц” и “проездов”. Мы вынуждены полагаться на механическую защиту. Упоминание об автоматическом управляемом паролем замке встречается уже много веков назад в старинной ближневосточной сказке Али-Баба и сорок раз- бойников. В этой известной истории рассказчица Шехерезада повествует об ог- ромных сокровищах, спрятанных в пещере, загораживаемой камнем. С помо- щью пароля “Сезам, откройся” можно было отодвинуть камень. Городская стра- жа в ту эпоху тоже использовала пароли, пропуская граждан через городские ворота. Но пещера разбойников не нуждалась в стражниках, чтобы опознавать
лицо, голос или одежду. Там было волшебное устройство, которое реагировало на произносимые слова. И самое главное, этот механизм не делал различий ме- жду людьми, произносящими слова. Он реагировал на сами слова. Совсем как современные комбинационные замки или защищенные паролем рабочие стан- ции, которые впускают каждого, кто знает их секрет (см. примечание 1). Главное в рассказе Шехерезады то, что волшебная сила (или механизм) все- гда следует собственной логике, независимо от желаний или намерений людей. Это же отравляет нам жизнь в компьютерных системах аутентификации. В на- шем распоряжении куча технических альтернатив, каждая из которых следует собственной логике и обладает собственными слабыми местами. Но если понять логику и слабости метода, то появляется больше шансов так приспособить тех- нологию, чтобы добиться удовлетворения своих реальных потребностей. Используемые сегодня в компьютерах пароли и другие механизмы аутенти- фикации охватывают широкий диапазон методик и технологий. Разработчикам Web-серверов, постановщикам задач в области электронной торговли и другим системным разработчикам приходится выбирать среди многочисленных продук- тов и принимать многочисленные решения о конфигурации каждого из этих продуктов. Системы, подобные Windows NT и Windows 2000, имеют несколько альтернатив паролевого доступа, 'чтобы обеспечить взаимодействие с другими продуктами. Некоторым организациям требуется дополнительная защита в виде смарт-карт или аутентификационных опознавательных знаков систем типа Safe- word или SecurlD. Главный мотив, стоящий за так называемой “инфраструкту- рой открытого ключа”, в том, чтобы со временем революционизировать, упроч- нить и упростить процесс выполнения индивидуальной аутентификации. Но, как в случае любой развивающейся технологии, трудно предсказать, в какой степени будут выполнены выдаваемые обещания. 1.2. Элементы системы аутентификации Вне зависимости от того, является ли система аутентификации компьютер- ной, всегда обычно присутствует несколько элементов и происходят определен- ные вещи. Прежде всего мы имеем конкретного человека или группу людей, ко- торые должны проходить аутентификацию. Кроме того, нам необходима харак- теристика, которая отличает этого человека или группу людей от других. В третьих, есть хозяин, который несет ответственность за использование системы, и в разграничении авторизованных пользователей от остальных людей полагает- ся на механизм аутентификации. В-четвертых, нам необходим механизм ау- тентификации, чтобы проверить присутствие отличительной характеристики. В-пятых, при успешном прохождении аутентификации мы выдаем некоторые привилегии, используя для этого механизм управления доступом, и с помощью этого же механизма лишаем привилегий, если аутентификация была неуспеш- ной. В табл. 1.1 приведены эти элементы. Например, в случае пещеры разбойников для нас мог бы представлять инте- рес Али-Баба, его брат или любой из разбойников, желающих открыть дверь. Отличительной характеристикой было знание пароля “Сезам, откройся”. Хозяе- вами пещеры, очевидно, были бандиты из шайки сорока разбойников. Имелось в пещере и необъяснимое устройство аутентификации, которое распознавало пра- вильный пароль и игнорировало неверные слова. (Кстати, в сказке не говорится, что бы произошло, если бы разбойник просто упомянул пароль в разговоре, стоя рядом с дверью пещеры. Отъехал камень бы в сторону?) Механизм управления доступом отодвигал камень, что давало доступ в пещеру. 20 1.2. ЭЛЕМЕНТЫ СИСТЕМЫ АУТЕНТИФИКАЦИИ
Таблица 1.1. Пять элементов системы аутентификации Элемент аутентификации Пещера 40 разбойников Процедура регистрации в системе Банкомат Web-сервер по отношению к клиенту Человек, главное действующее лицо, объект Любой, кто знает пароль Авторизованный пользователь Владелец банковского счета Владелец Web-cepeepa Отличительная характеристика, опознавательный знак, аутентификатор Пароль “Сезам, откройся” Секретный пароль Банковская карточка и персональный иденти- фикационный номер Открытый ключ в сертификате Хозяин, владелец системы, администратор Сорок разбойников Предприятие, которому принадлежит система Банк Орган, выдающий сертификаты Механизм аутентификации Волшебное устройство, которое реагирует на слова Программное обеспечение, проверяющее пароль Программное обеспечение проверяющее карточку Программное обеспечение, проверяющее сертификат Механизм управления доступом Механизм, отодвигающий камень от входа в пещеру Процесс регистрации, управление доступом Разрешение на выполнение банковской транзакции Метки броузера, говорящие о “защищенном” статусе страницы Примером является, конечно, и вход в систему по паролю, с которым мы стал- киваемся в большинстве компьютерных сред. Физическое лицо, о котором идет речь, это человек, которому разрешено пользоваться компьютером. Обычно систе- ма назначает физическому лицу символическое имя или идентификационный код пользователя, который мы будем называть именем пользователя. Например, Джон Дое является авторизованным пользователем системы, показанной на рис. 1.1, и хозяин присваивает ему имя пользователя “jdoe”. Отличительной ха- рактеристикой Джона Дое будет его секретный пароль “asdf”. Процедура знакома: Джон привлекает внимание компьютера, и процесс регистрации компьютера выда- ет ему запрос на ввод имени пользователя и пароля. Процесс включает в себя про- цедуру аутентификации, т.е. сравнение пароля, введенного с клавиатуры, с паро- лем, который был установлен либо самим Джоном Дое, либо это было сделано для него; процедура завершается успешно, если оба пароля совпадают. Тогда механизм управления доступом позволяет Джону дальше пользоваться компьютером, и сис- тема использует имя пользователя Джона каждый раз, когда ей требуется решение службы управления доступом по защищенному ресурсу. Рассматривая проблемы защиты компьютеров, следует всегда проводить разли- чие между тем, что мы хотим сделать, и тем, что мы в действительности делаем. Первый вопрос “чего мы хотим” обычно озвучивают в виде целей защиты. Шайка сорока разбойников, например, имела целью защиту своей добычи от воровства. В этом они полагались на механизм защиты, каковым являлась дверь пещеры. В вычислительной системе хозяин имеет целью предоставление доступа только авто- ризованным пользователя. На рис. 1.1 в достижении этой цели хозяин полагается на операционную систему и ее управляемую паролем процедуру регистрации. На практике же всегда существует зазор между тем, что мы хотим и что про- исходит на самом деле. Замок позволяет войти каждому, у которого есть экзем- пляр нужного ключа. Замок не удержит нежелательных людей снаружи, если ГЛАВА 1. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 21
Рис. 1.1. Пять элементов аутентификации. К этим элементам относятся: физическое лицо, отличительная характеристика, хозяин, механизм аутентификации и механизм управления доступом мы не сможем предотвратить попадание ключа к этим нежелательным людям. А это может оказаться трудным делом, особенно если, те кого мы стремимся не впустить с помощью замка, действительно хотят попасть за дверь. Более того, мы не всегда можем позволить себе поставить замки на все на свете. Часто име- ется один большой замок на входной двери, и нам приходится доверять тем, ко- го мы впустили внутрь. В компьютерных системах аутентификация и управление доступом обычно реализуются как две совершенно разные вещи. Хотя иногда имеет смысл прово- дить различие между задвижкой, которая удерживает дверь закрытой, и зам- ком, который управляет задвижкой, такие вещи часто встроены в один меха- низм. В компьютерах же процесс аутентификации просто устанавливает пра- вильное имя пользователя для дальнейшего использования, а управление доступом осуществляется отдельно. Компьютерные системы, как правило, управляют доступом путем сравнения имени пользователя с правилами доступа, привязанными к конкретному файлу или другому ресурсу. Если правила разре- шают доступ пользователю с этим именем, то он получает возможность исполь- зовать ресурс. Сорок разбойников стремились к тому, чтобы их пещера давала доступ толь- ко членам шайки, но механизм не мог предотвратить использование пароля дру- гими людьми. Эта проблема свойственна как процессу аутентификации, так и механизму управления доступом. При выполнении аутентификации мы можем идентифицировать тех людей, которым хотим разрешить пользоваться системой, но механизмы несовершенны. У неавторизованного лица всегда имеется способ замаскироваться под легального пользователя. Такая же проблема проявляется и при управлении доступом: мы хотим авто- ризовать на пользование системой только определенных людей, и воплощаем эти желания, устанавливая систему управления доступом, которая позволит это де- лать. В идеальном мире техники со средствами защиты доступ выдается по принципу “наименьшей привилегии”, в соответствии с которым люди имеют ровно столько разрешений и привилегий, сколько им требуется: не больше и не меньше. Но в реальном мире система управления доступом не может дать людям ровно столько привилегий, сколько им требуется: мы вынуждены либо предос- тавлять им слишком много привилегий, либо отнимать некоторые из тех, кото- рые действительно необходимы. На практике мы обычно расширяем меру дове- 22 1.2. ЭЛЕМЕНТЫ СИСТЕМЫ АУТЕНТИФИКАЦИИ
рия авторизованным пользователям, так что у них есть инструментарий для вы- полнения своей работы, даже если технически это позволяет им делать такие вещи, которые они делать не должны. Управление доступом может быть очень сложным даже в отсутствие попытки добиться выполнения принципа наименьших привилегий. Современные вычис- лительные системы обеспечивают широкий диапазон подходов и механизмов управления доступом. Механизмы управления доступом даже в таких относи- тельно простых системах, как Unix, Windows NT или Windows 2000, позволяют пользователям и администраторам устанавливать весьма сложные наборы пра- вил получения и лишения прав на использование различных ресурсов компью- тера. Однако многие организации придерживаются относительно простого под- хода, связывая управление доступом и аутентификацию, так что прошедшие ау- тентификацию пользователи имеют всего лишь небольшое количество широких ограничений доступа. Хотя проблема аутентификации пользователей сама по себе является серьезной проблемой для компьютерных систем, они не единственные объекты, которые подлежат аутентификации. Нам также необходимо аутентифицировать такие дей- ствующие без вмешательства человека компьютерные системы, как Web-серверы, особенно если мы просим их выполнить дорогостоящую услугу. В отличие от про- цесса аутентификации пользователя, здесь нет реального человека, стоящего для нас рядом с сервером, чтобы выполнить аутентификацию. Мы же хотим иметь га- рантию, что разговариваем с нужным оборудованием, которое находится под управлением нужных людей или предприятия. Никто не захочет заказывать туф- ли через компьютер, объявляющий себя “L.L. Bean”, если в конечном итоге эти туфли не получит. Когда мы выполняем аутентификацию сервера компании L.L. Bean, мы должны быть уверены, что его отличительная характеристика управля- ется и контролируется предприятием, принадлежащим компании L.L. Bean. Обычно броузер предупреждает оператора, если он не может аутентифицировать сервер и оставляет решение по управлению доступом за оператором (“Должен ли я оформлять заказ на туфли, с учетом того, что этот сервер, похоже, не является сервером компании L.L. Bean?” Полагаю, нет). В некотором смысле такой процесс переворачивает функцию автоматической аутентификации с ног на голову, но ле- жащие в основе концепции по-прежнему те же. Видоизменяющиеся атаки и видоизменяющаяся защита Современные системы аутентификации эволюционировали в результате деся- тилетий атак, многие из которых были успешными. Начиная с паролевых сис- тем, появившихся на заре использования принципа разделения времени, систе- мы аутентификации подвергались постоянным атакам. Самые первые атаки со- вершались членами сообщества местных пользователей, которые протестовали против самой идеи аутентификации и управления доступом. Первые успехи с кражами файлов паролей, привели к появлению защитной меры, называемой хешированием паролей. Это привело к попыткам перехвата паролей, что, в свою очередь, — к возникновению других защитных мер. Рис. 1.2 иллюстрирует об- щее развитие постоянно усложняющихся средств защиты в ответ на постоянно усложняющиеся атаки. И хотя этот рисунок не отражает точную хронологию со- бытий, в нем точно схвачена динамика соревнования между хозяевами систем и теми, кто их атакует. В последующих главах этой книги будут подробно описа- ны эти атаки и защитные меры. Некоторых из этих атак описаны в следующем разделе, посвященном эволю- ции паролей в системах с разделением времени. Описание каждой атаки сопро- ГЛАВА 1. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 23
вождается пиктограммой “бомбочки” с соответствующим номером, которая раз- мещается в начале абзаца. Номер атаки начинается с буквы “А” и служит клю- чом для нахождения ее в сводной таблице атак в конце главы. Пиктограмма в виде “охранника в форме” в начале абзаца указы- вает на то, что речь идет об описании меры защиты. Номер служит д.п ф ключом для ее поиска в сводной таблице мер защиты в конце главы. Как заставляет предположить рисунок, бомбочки и охранники ф будут чередоваться на протяжении всей книги. D-n S Стратегии защиты Важный вопрос, который стоит решать в отношении защитной меры: а дейст- вительно ли она необходима при данных обстоятельствах? Хотя ответ на него час- то зависит от технических аспектов (т.е. выполняют ли меры защиты свою работу в конкретной ситуации), он также затрагивает вопросы относительно организаци- онной политики и мотивов мероприятий по защите информации. Существуют три обоснования общего характера, которые оправдывают принятие защитных мер. Стандарты на обязательные меры защиты Это юридическая концепция. Предприятия юридически обязаны принять у себя стандартные меры защиты от стандартных рисков. Среди исков, рас- сматривавшихся в судах, существуют и такие, которые были возбуждены в отношении предприятий, пренебрегших выполнением этого требования, правда, относилось это к другим отраслям промышленности. Хотя, пока еще не было прецедентов, связанных с защитой информации. Однако не- которые меры по информационной защите настолько просты и так хорошо Атака Защита Рис. 1.2 Атаки и защитные меры эволюционируют в соответствии друг с другом. С разви- тием атак развиваются защитные меры. Новые методы атаки стараются перехитрить новые средства защиты. Показанные здесь примеры рассказывают только начало всей истории. 24 1.2. ЭЛЕМЕНТЫ СИСТЕМЫ АУТЕНТИФИКАЦИИ
известны, что являются очевидными кандидатами на стандарты обяза- тельных. Все, что в этой книге называется базовой защитой, должно рас- сматриваться в качестве минимального стандарта обязательных мер, со- блюдающихся всегда (см. примечание 2). Анализ рисков Этот подход основан на компромиссе между стоимостью и получаемым выигрышем. Предприятие определяет, должно ли оно принять меры по защите (имеющие конкретную стоимость), оценивая убытки, которые оно может понести в результате вероятных атак. Подобные расчеты часто на- зываются анализом рисков, и американское правительство опубликовало стандарт, описывающий этот процесс (стандарт был отменен в 1995 году). Из-за инерционности управленческого аппарата и процесса формирования бюджета предприятия редко выполняют такие оценки, пока не понесут существенных потерь. Иногда предприятия извлекают уроки из ошибок подобных себе учреждений, и устанавливают защиту до того, как сами подвергнутся атаке (см. примечание 3). Превышение защиты, принятой в отрасли в отрасли В соответствие с этим подходом предприятие пытается избежать атаки, делая себя более труднодоступной мишенью, чем его соседи. Например, большинство банков использует для защиты всех интерактивных транзак- ций традиционные пароли, даже в отношении крупных корпоративных клиентов. Банк может защититься от определенного вида мошенничества с большими счетами, введя одноразовые пароли. Теоретически это должно побудить атакующих обратить свое внимание на другие банки, поскольку более слабые меры защиты легче преодолеть. В некоторых регионах такую стратегию по старой поговорке называют “бегом от медведя”: когда медведь преследует группу охотников, достаточ- но обогнать только самого медлительного охотника. Часто компании де- лают подобные вещи после того, как аналогичное предприятие понесет серьезные убытки: они устанавливают защиту против атаки такого же ти- па, прежде чем пострадают сами. Для большинства предприятий наилучшим решением, вероятно, является объединение этих подходов. Выполняя требования стандартов по обязательной защите, предприятие может избежать обвинений в халатности. Следуя сущест- вующей в отрасли практике, предприятие избегает возможных атак, перестав быть в глазах взломщиков легкой добычей. А выходя за рамки ожиданий, пред- приятие становится для атакующей стороны непредсказуемой целью. Даже если предприятие не может себе позволить проведение полного анализа стои- мость/выгода, часто имеется несколько очевидных областей риска, где повы- шенный уровень защиты окупается сам собой. Сегодня правильный выбор методов аутентификации для конкретного пред- приятия или приложения зависит от того, как используются анализируемые системы, как эти системы построены, и атаки какого типа ожидаются. Далее мы исследуем возможные варианты выбора, рассмотрев, насколько хорошо различ- ные системы аутентификации работали в прошлые годы и с какими проблемами приходится сталкиваться сегодня. Возможности современных коммерческих сис- тем аутентификации и то, что обещают эволюционирующие завтрашние систе- мы, — все это основывается на наших прошлых успехах и неудачах. ГЛАВА 1. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 25
1.3. Аутентификация в системах с разделением времени Первыми будут рассмотрены системы с разделением времени, поскольку они имеют много общего с современными серверными системами и в них лежат кор- ни современных паролевых систем. Точно так же, как дешевые замки остаются популярными для столов и шкафчиков, так и пароли будут всегда играть опре- деленную роль в компьютерной аутентификации. Сегодня они широко исполь- зуются в Web-серверах Internet и серверах, решающих задачи электронной тор- говли. И хотя защита с помощью пароля не может противостоять ошибкам пользователей, современные системы отражают многие уроки, полученные в дни существования систем с разделением времени. На заре появления компьютеров они не должны были заниматься аутентифи- кацией и управлением доступа. С ними либо работали непосредственно (если могли отпереть дверь машинного зала), либо передавали свои компьютерные программы другим (операторам), которые выполняли программы от их имени. Такое положение дел изменилось в 1960-х годах с изобретением систем с разде- лением времени, которые были первыми “серверными” системами, предостав- ляющими услуги многим различным невзаимозаменяемым людям одновременно. Первой успешной системой с разделением времени можно считать совмести- мую систему с разделением времени Compatible Time Sharing System (CTSS) Мас- сачусетского технологического института (MIT). Ее разработчики, в частности Фернандо Дж. Корбато (Fernando J. Corbato), заложили систему, которая справ- лялась с сотнями пользователей. В таких обстоятельствах Корбато увидел необ- ходимость в определенной неприкосновенности и разделении работ разных лю- дей. Более того, в те времена компьютеры были по современным стандартам ас- трономически дорогими: одна секунда позаимствованного времени работы ЦП могла стоить 100 долларов, а иногда и больше. Чтобы обеспечить минимальный уровень защиты, достаточный, по мнению Корбато, в академической среде, он предложил то, что казалось ему очевидным решением. Студенты обычно хранили личные вещи в металлических шкафчи- ках, защищенных комбинационными замками, и было просто снабдить рабо- тающих в режиме разделения времени пользователей подобным запоминаемым “замком”. В 1963 году эта функциональная возможность была добавлена в CTSS. С этого времени, кроме имени пользователя, с клавиатуры вводился запоминае- мый “личный код”, который сообщал CTSS, как найти их персональные файлы (см. примечание 4). Сегодня мы называем личный код Корбато паролем. На рис. 1.3 показан ба- зовый механизм. Компьютер просит человека ввести с клавиатуры имя пользо- вателя и пароль. Затем он ищет в системном файле паролей запись, соответст- вующую имени пользователя. Если пароль в этой записи совпадает с только что введенным паролем, то вход в систему успешно завершается. Некоторым пользователям первых компьютеров, особенно технически подко- ванным, которых назвали хакерами, не понравилась сама идея имен пользовате- лей и паролей. Они еще могли терпеть ограничения в виде запертых дверей или компьютерных операторов, но механизм паролей — это уже было слишком. Он лишал их власти и ставил ответственным за все компьютер. Такая смена ролей огорчала одних и выводила из себя других (см. примечание 5). 26 1.3. АУТЕНТИФИКАЦИЯ В СИСТЕМАХ С РАЗДЕЛЕНИЕМ ВРЕМЕНИ
Внутренняя часть системы с разделением времени Рис. 1.3. Базовый, процесс проверки паролей в системе с разделением времени. Имя поль- зователя и пароль Джона Дое считываются в основную память. Имя пользователя исполь- зуется для поиска пароля в системном файле паролей. Введенный пароль должен совпасть с копией, хранящейся в системном файле паролей, в противном случае процедура закан- чивается неудачей. Атака на пароли И началось сражение умов. Программисты, которые утратили абсолютный контроль над компьютером, начали зондировать программное обеспечение сис- тем с разделением времени, в частности механизма паролей, отыскивая недос- татки, которые бы вернули им утраченную власть. Программисты же, ответст- венные за системы с разделением времени, начали проверять свою собственную работу, пытаясь оставаться на шаг впереди. Иногда это им удавалось. Параллельно с Чарльзом Ривером из л CTSS программист, работавший в Бостонском университете с вычис- А-1^9 лительной системой удаленного доступа Remote Access Computing System (RAX), просматривал программу, которая выполняла проверку вводимо- го с клавиатуры пароля (рис. 1.4). Программа была необычайно сложной, так как программисты переделывали ее несколько раз для того, чтобы она могла реализовывать функцию возврата на одно знакоместо и другие функции редак- тирования строки в целях исправления ошибок набора пароля. Неожиданно для себя программист понял, что определенная последовательность символов возвра- та, табулирования и удаления в строке приводила к тому, что программа реги- стрировала пользователя, совсем не проверяя пароль. Ему удалось решить эту проблему прежде чем кто-либо узнал о ней и попытался использовать. В других случаях верх был на стороне хакеров. Возвращаясь снова л. к системе CTSS, местное сообщество хакеров обнаружило, что слабым д~2 *9 местом в паролевой системе часто был сам файл паролей. Программи- сты CTSS пытались построить систему таким образом, чтобы пользователи не мог- ли извлекать содержимое файла паролей, так как в нем перечисляются имена и пароли всех пользователей системы CTSS. Согласно легенде, хакер ухитрился из- влечь копию файла паролей из выделенного для него скрытого места, распечатал его и вывесил на ближайшей доске объявлений для всеобщего обозрения. Однако виновником наиболее известного случая была прореха в самой систе- ме CTSS. Однажды во второй половине дня администратор редактировал файл паролей. Одновременно другой администратор редактировал сообщение дня, ко- торое автоматически выводилось на экран как только пользователь входил в ГЛАВА 1. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 27
* *rax v3 m86, sign on. /id 10,ma319,001 I ♦password? IIHtl *stgn-on at 13.19 14 dec 73 ♦see /news for the Christmas schedule*'"””,”,’*,’*' ♦ in case of restart/ use /restart 10/10/ma319001J ♦ go I Рис. 1.4. Вход в систему с разделением времени. Система с разделением времени печатает первую строку, идентифицируя саму себя. Пользователь вводит с клавиатуры строку, на- чиная с косой линии, идентифицируя себя. Система просит ввести пароль и запечатывает эти несколько символов в строке, чтобы другие пользователи не смогли прочитать введен- ный пароль. Это называется затемнением пароля. Остальные строки выводятся системой RAX после успешной регистрации в системе. систему. В CTSS редактирующая программа перепутала временный файл, содер- жащий сообщение дня, с временным файлом, содержащим пароли. И теперь, ко- гда кто-нибудь входил в систему, та автоматически выводила ему на экран файл паролей. Проблема проявилась поздно в пятницу и осталась незамеченной адми- нистраторами, ушедшими на выходной. Она продолжала существовать до тех пор, пока внимательный пользователь не спровоцировал аппаратный отказ, вы- звавший аварийную остановку компьютера (см. примечание 6). В те первые дни многие программисты основным способом защиты от по- добных атак для систем с разделением времени считали вылавливание и уст- ранение ошибок в коде. И хотя некоторые считали пароли практичной, но ог- раниченной по возможностям методикой защиты, другие действительно вери- ли, что они могут обеспечить аутентификацию, защищенную от ошибок человека, особенно если учесть физическую организацию типовых систем с разделением времени (рис. 1.5). Слабые места возникали из-за устраняемых программных недочетов, а не фундаментальных слабостей методики. Такое от- ношение покоилось на двух предположениях: во-первых, программисты пола- гали, что могут идентифицировать и устранить большинство трещин в средст- вах защиты, и, во-вторых, они полагали, что система может надежно не до- пустить чтения файла паролей пользователями. Современные эксперты по вопросам защиты оспорили бы оба $ предположения. В 1960-х годах вычислительные системы стали j слишком сложными, чтобы не содержать ошибок. Проектирование крупных систем находилось еще в младенческом возрасте: скажем, сегодня про- блема с редактированием строки в системе RAX, возможно, и не возникла бы, так как проблема может быть “вычищена” из процедуры обработки паролей еще на стадии проектирования. Но эти проблемы сменились другими, порой неожиданными. На практике оказалось почти невозможным безусловно защитить файл Д-З 40 от несанкционированного чтения. В классической атаке пользова- тель, обладающей привилегией просматривать защищенный файл, например файл паролей, может быть с помощью хитрости привлечен к выполнению про- граммы, которая незаметно копирует файл в легкодоступное место. Такая атака получила название троянского коня. Если какая-либо программа системы может читать секретный файл, то атакующие систему лица обычно могут найти способ, чтобы и другие программы делали то же самое. 28 1.3. АУТЕНТИФИКАЦИЯ В СИСТЕМАХ С РАЗДЕЛЕНИЕМ ВРЕМЕНИ
i I Посторонние i Помещения организации, использующей систему с разделением времени Запираемый машинный зал Рис. 1.5 Физическая организация системы с разделением времени. Все оборудование, под- ключаемое к первым системам с разделением времени, размещалось в помещениях орга- низации, которая эксплуатировала систему. Компьютер традиционно содержался в запи- раемом машинном зале. Хешированные пароли В 1967 году Кембриджский университет начал полномасштабную эксплуата- цию своей системы с разделением времени “Титан”, чтобы обеспечить для уни- верситетского сообщества круглосуточную возможность выполнения вычисле- ний. Даже в 1967 году люди знали о важности резервного копирования файлов для защиты от катастрофических отказов. Но в плане защиты информации эти резервные ленты стали причиной возникновения дилеммы, так как они содер- жали и копии файла паролей “Титана” (см. примечание 7). Однажды вечером Роджер Нидхэм (Roger Needham), сидел за бу- W тылкой пива с другим разработчиком “Титана” Майком Гаем (Mike р ^3 Guy), обсуждал уязвимость файлов паролей, хранимых на лентах с резервными копиями. Им пришла в голову идея шифровать пароли с использо- ванием “одностороннего шифра”, который бы необратимым образом видоизме- нял пароль. Процедура преобразовывала бы текстовый пароль в недешифрируе- мую последовательность битов, которую атакующая сторона не могла бы преоб- разовать обратно в текст пароля. Майк написал код односторонней функции, и они установили в системе переделанный механизм входа (см. примечание 8). Односторонние функции до тошноты обыденны в реальном мире: то, что за секунды портится или разрушается, потом требует часов или недель на восста- новление или кучу денег на замену новым экземпляром. Экстремальным приме- ром в этом плане является автомобильная авария: требуется много времени, де- нег и материалов, чтобы построить новый автомобиль, но нужна только секунда, чтобы получить разбитую машину. В математике имеются подобные функции: можно с легкостью комбинировать числа разнообразными способами, но потом невозможно вычислить, с каких чисел все начиналось. ГЛАВА 1. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 29
Введенная в “Титан” Гаем и Нидхэмом функция сегодня называется односто- ронним хешированием. На рис. 1.6 показано, как она используется примени- тельно к паролям. Когда Джон Дое регистрируется в системе, он, как обычно, печатает свое имя пользователя и пароль, и они считываются в ОЗУ. Затем сис- тема применяет в отношении его пароля процедуру одностороннего кэширова- ния. После этого система извлекает из хранящегося на жестком диске файла па- ролей запись, относящуюся к Джону. Эта запись пароля содержит копию пароля Джона в том виде, в котором она выглядит после использования процедуры од- ностороннего кэширования. Если Джон ввел правильный пароль, то хеширован- ная копия должна совпасть с копией в файле паролей. Одностороннее хеширование лишает смысла кражу файла паролей с ленты с резервной копией (или откуда-либо вообще), так как атакующая сторона не сможет извлечь пароли пользователей, просто просматривая украденный файл паролей. Эта методика используется и сегодня: каждая современная серверная система хранит пароли в хешированной форме. Хеширование паролей стало ба- зовым приемом защиты в любой системе, которая использует пароли. Хорошая функция одностороннего хеширования обладает двумя свойствами. Во-первых, функция должна вычислять результат, конечный вид которого зави- сит от всех вводимых данных. Этот результат должен быть различным, и часто существенно, даже при незначительных изменениях во входной информации. Во-вторых, не должно существовать практического способа обратного преобразо- вания хешированного результата в исходные данные. Поскольку функция вос- принимает произвольно большое количество входных данных, а на выходе дает результат фиксированного размера, то возможна генерация одинаковых выход- ных данных для двух различных хешированных результатов. Но даже при этом, не должно быть легкого способа нахождения входных данных, которые приводят к получению конкретного хешированного результата. Фактически не должно быть иного способа получения конкретного результата функции одностороннего хеширования кроме как перебором всех возможных входных значений до получения желаемого хешированного результата. Подоб- ным свойством обладают процедуры шифрования: не должно быть простого спо- соба получения данных исходного открытого текста из зашифрованных данных без знания использованного ключа шифрования (более подробно шифрование jdoe kroe ZxeiF3dekUw 14mo31bamRY tdore Z20Er7LYM8l Puc. 1.6 Проверка хешированного пароля. Имя пользователя и пароль Джона Дое считы- ваются в главную память. Процедура одностороннего кэширования преобразовывает па- роль в недешифрируемую группу битов. Затем процедура проверки пароля сравнивает хешированную версию введенного пароля с хешированным паролем, хранящимся в файле паролей вместе с именем пользователя Джона. 30 1.3. АУТЕНТИФИКАЦИЯ В СИСТЕМАХ С РАЗДЕЛЕНИЕМ ВРЕМЕНИ
рассмотрено в разделе 5.3). Однако, процедуры шифрования проектируется обра- ' тимыми, и именно поэтому используется ключ. Хеширование паролей нет необ- ходимости делать обратимым, и в этом смысле пароли безопаснее. Система, использующая хешированные пароли, должна выполнять хеширова- ние всякий раз, когда кто-либо вводит в систему пароль. Прежде всего, система хеширует назначаемый пользователю первоначальный пароль до сохранения его в файле паролей. Затем, каждая процедура в системе, запрашивающая пароль от пользователя, должна, прежде чем делать что-нибудь дальше, отхешировать его. Например, процедура входа в систему хеширует пароль до его сравнения с записью в файле паролей. Процедура изменения пароля хеширует старый пароль в целях аутентификации пользователя до выдачи ему разрешения на изменение пароля и потом хеширует новый пароль до сохранения его в файле паролей. В последующие несколько лет многие разработчики систем с разделением вре- мени приняли идею хеширования паролей. Разработчики из МТИ использовали эту методику в новой амбициозной системе, пришедшей на смену системе CTSS и ставшей известной под названием Multics (Multiplexed Information and Computing Service — информационная и вычислительная служба с мультиплексированием). Однако опыт Multics проиллюстрировал важность использования хорошей функ- ции хеширования. В начале 1970-х годов ВВС США развернули “Проект ZARF”, целью которого была проверка средств защиты ранней версии системы Multics. Команда ВВС быстро проникла через защиту файлов Multics и выкрала копию файла паролей. После исследования используемой функции кэширования они на- шли способ инвертировать ее. На очередной встрече с разработчиками системы Multics команда проекта ZARF представила автору программного обеспечения об- работки паролей листок бумаги, на котором тот нашел свой пароль. В последую- щих версиях системы Multics проблемы защиты информации были в значительной степени сняты, и со временем она завоевала репутацию наилучшей с точки зрения защиты данных операционной системы (см. примечание 9). 1.4. Атакуя секреты Понятно, что пароли не будут работать, если их можно выкрасть непосредст- венно из системы аутентификации. Но это не единственный способ получения паролей. Атакующая сторона может воспользоваться тем фактом, что люди не- брежно относятся к разработке и хранению секретной информации. Это откры- i вает дверь для атак угадывания и социального инжиниринга. Атаки угадывания Хотя технически грамотные взломщики систем могут охотится за л- файлом паролей, другие могут воспользоваться более простым под- д.4 ф ходом: пытаясь угадать пароли, они используют знание человече- ; ской природы. В типичном случае атакующая сторона составляет список воз- j можных паролей и последовательно пытается войти в систему, используя раз- 1 личные пароли. Такую общую стратегию мы будем называть атакой по методу i ’ проб и ошибок. Взломщики без воображения, вероятно, будут пытаться испробо- . вать каждое допустимое слово-пароль в надежде рано или поздно попасть на па- ' роль жертвы. Более умные взломщики составят список вероятных паролей, на- ' ' пример имя жертвы, имя жены, имена детей и т.д. \ Атаки угадывания могут быть успешными, если при выборе па- ф ‘ролей проявлена беззаботность и если атаки по методу проб и оши- : бок происходят без обнаружения. Первой мерой защиты от таких я ' ГЛАВА 1. АУТЕНТИФИКАЦИЯ—ЧТО ЭТО ТАКОЕ 31
атак является ведение протокола попыток входа в систему. Протокол представ- ляет собой запись обо всех значительных событиях внутри системы и является обычной функцией в современных вычислительных системах. Проверка в опера- ционной системе UNIX обеспечивается средствами ведения системного журнала, аналогичные средства имеются как в ОС Windows NT, так и в ОС Windows 2000. Механизм проверки должен присутствовать в любой вычислительной системе, которая удовлетворяет требованиям к средствам защиты, выдвигаемым прави- тельством США (традиционно задаваемым документом “Критерии оценки дове- рительных компьютерных систем” (Trusted Computer System Evaluation Criteria или TCSEC)). Как правило, система проверки записывает дату, время, имя поль- зователя и специфические детали, связанные с каждым протоколируемым собы- тием (см. примечание 10). К сожалению, подробные записи проверки могут послужить причиной воз- никновения проблем в механизмах работы с паролями. В большинстве случаев хороший механизм проверки регистрирует достаточно много информации, так что тот, кто будет позднее просматривать результаты проверки, сможет доста- точно подробно реконструировать происшедшее, вплоть до понимания типов ошибок, сделанных пользователями. Понятно, что проверочные записи аутенти- фикации паролей никогда не должны включать вводимый пароль — правильный или нет. Если потенциальный взломщик просмотрит неправильно введенные па- роли, то это даст ему очевидную подсказку относительно его правильного вида. И даже базовые записи проверки могут непреднамеренно выдать ль пароль, если в них записывается имя пользователя. Время от време- д.5 IV ни люди, отвечая на запросы процедуры регистрации, вводят пароль там, где им надо было бы ввести имя пользователя. Например, представим себе ситуацию, изображенную на рис. 1.1, и что бы произошло, если бы Джон пару раз неправильно напечатал в строке свое имя пользователя и/или пароль. Может оказаться так, что, нажимая клавишу возврата каретки или ввода много раз, он будет вводить свое имя пользователя в строке запроса пароля, а пароль — в строке запроса имени пользователя. Если ошибки регистрируются системой, то запись будет содержать пароль. Тогда компьютерный взломщик может получить пароль Джона, просматривая журнал проверки. Типичной защитой от такого типа атак является придание про- W верке паролей статуса особого случая. Хотя обычная программа про- р верки записывает имя пользователя, связанное с событием, мы должны допустить ситуацию, когда нам не известно имя пользователя, входяще- го в систему, пока операция не завершится успешно. Можно достичь лучшей защиты, если сосредоточится на обнаружении атак угадывания, а не на скрытии в записях проверки попыток ввода пароля. Типовая стратегия, которая исполь- зуется в различных системах от RAX до Windows 2000, состоит в том, чтобы вести отдельную регистрацию неуспешных попыток ввода пароля для каждого имени пользователя. Например, система RAX обычно сообщает о неуспешных попытках ввода пароля оператору системы (штатному сотруднику, так как сис- тема RAX работает на традиционных мэйнфреймах IBM), а также о количестве попыток ввода неправильного пароля при каждом успешном входе пользователя в систему. ОС Windows 2000 обеспечивает механизм явного ограничения количе- ства предположений пароля: она “запирает” учетный формуляр пользователя и не воспринимает попытки входа в систему после превышения заданного количе- ства неуспешных попыток. Этот порог устанавливается администратором. К со- жалению, подобный механизм запирания имеет негативное влияние на удобство пользования, что будет обсуждаться в главе 6. 32 1.4. АТАКУЯ СЕКРЕТЫ
А-6 Когда в D-5 *3 Социальный инжиниринг Некоторые взломщики даже не утруждают себя угадыванием пароля: они просто спрашивают его. И это остается крупнейшей проблемой паролей: не су- ществует способа не дать кому-либо поделиться секретной информацией с кем- нибудь еще. Часто сообразительный взломщик может обманом выведать секрет- ный пароль, избегая трудностей, связанных с осуществлением технической ата- ки на запланированную систему. Подобное надувательство обычно называют атакой с использованием социального инжиниринга. Типичную атаку подобного плана отлично продемонстрировал в свое время Джон Нейл Шнайдер (John Neal Schneider), один из пер- вых компьютерных преступников, который после освобождения из тюрьмы занялся бизнесом в области защиты компьютерных систем. 1974 году у него брали интервью, он заявил, что может взломать любую сущест- вующую систему с разделением времени. И он продемонстрировал это, уговорив оператора системы сообщить ему пароль. Когда наблюдатель возразил, что на самом деле Шнайдер не взломал систему, тот ответил: “Зачем мне заниматься всей этой мурой по техническому проникновению в компьютер, если в него так легко войти с помощью обслуживающего персонала?” (см. примечание 11). В другой истории, рассказанной Кати Хафнер (Katie Hafner) и Джоном Мар- коффом (John Markoff), описывался “техник-весельчак”, который позвонил в ком- панию, назвавшись представителем сервисной фирмы, обслуживающей компьюте- ры именно того производителя, что использовались этой компанией, и задал во- прос о наличии проблем с производительностью. Конечно же, поскольку почти всякий владелец компьютера уверен, что тот работает не настолько хорошо, как должен бы, компания с радостью предоставила технику возможность входа в сис- ' тему и пароль, чтобы тот смог “устранить” проблему. Но в какой-то момент адми- . иистратор что-то заподозрил. Он позвонил изготовителю и, естественно, выяснил, что такой “весельчак” там никогда не работал (см. примечание 12). К счастью, большинство современных систем устойчивы к подобно- го рода атакам. Операторы, администраторы и люди из службы помо- щи не могут сделать достоянием гласности пароли, так как файл па- г ролей содержит только хешированные значения, но не их текст. Остается еще риск, связанный с забытыми или утерянными паролями: атакующая сторона мо- жет заявить, что является законным пользователем, который потерял пароль. По- сле этого взломщик может уговорить службу помощи изменить пароль жертвы и ; сообщить ему новый. Единственный способ защиты против возникновения подоб- ! иой ситуации — наложение ограничений на процедуру изменения пароля. В неко- ;> торых организациях просто отказываются изменять пароль пользователя заочно и f требуют, чтобы пользователи присутствовали при замене пароля лично. Другие ; могут принимать заочную заявку на изменение пароля, но после этого доводят но- : вый пароль другим (возможно, более безопасным) путем, который обеспечивает [ выход именно на законного пользователя, а не на взломщика. Конечно, атакующая сторона по-прежнему может получить пароль с исполь- ? зованием социального инжиниринга, не вступая в сражение со службой помощи. J Один из способов заключается в выходе на отдельных пользователей и вымани- вании их паролей обманным путем. Например, атакующая сторона может позво- ’ нить Джону и произнести такую речь: “Мистер Дое, моя проверка уровня защиты показала, что симметричный дво- i ично-пятиричный азимут ваших множеств данных серьезно нарушен. Вам необ- J ходим о немедленно выйти из системы, чтобы не допустить повреждения элемен- Ltob дифференциального b-дерева. Дабы верифицировать долготную дублируе- : мость ваших i-узлов, я должен войти в систему в точном соответствии с ГЛАВА 1. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 33
контекстом выполненных вами действий. Будьте так добры, сообщите мне ваше имя, под которым вы последний раз регистрировались в системе, и пароль, что- бы я смог не допустить безвозвратной потери ваших файлов”. Хотя большинство пользователей способны квалифицировать подобную речь как полнейшую чушь, некоторые все же выболтают свой пароль затаившему ды- хание взломщику. Телефонные мошенники уже многие годы используют подоб- ные речи, чтобы выманивать у людей номера кредитных карточек. Взломщику просто надо убедить жертву, что катастрофа неминуема, и он способен ее пре- дотвратить, стоит только той разгласить тайну. Наилучшей защитой от подобных атак является установление та- Ж кой политики, когда никто и никогда не сообщает свой пароль нико- му, включая администратора. В противном случае взломщик всегда сможет обманом выведать у доверчивого человека пароль, просто перекрутив стан- дартную процедуру так, что она будет иметь вид законного запроса. Современные серверные системы никогда не должны требовать от пользователей открывать свой пароль администратору. Если администратору нужен к чему-либо доступ, то обыч- но он может сделать это, воспользовавшись своей административной ролью. Другая атака с подменой роли дает аналогичный результат. В ап- реле 1991 года web-мастера нескольких серверов сети Internet сооб- д.7 9 щили, что их пользователи получили по электронной почте следую- щее сообщение (или вариант его): То: [список адресов подавлен] From: root Subject: Предупреждение о нарушениях в защите информации Сообщение службы администратора системы: Ввиду сбоев в средствах защиты информации мы требуем, чтобы вы измени- ли свой пароль на "systestOOl". Это изменение ОБЯЗАТЕЛЬНО и должно быть сделано НЕМЕДЛЕННО. Вы можете сделать это, набрав в командной строке оболочки "passwd". После этого следите за указаниями. Повторяем, это изменение должно быть сделано НЕМЕДЛЕННО. О возможности изменении пароля к первоначальному мы вам сообщим, что произойдет не позже, чем через десять минут. Благодарим за сотрудничество. Служба системного администратора (root). (См. примечание 13). Сообщение, конечно, было полной ерундой. В нем использована легкость, с которой взломщики могут подделывать интернетовские д.7 адреса электронной почты, чтобы добиться от людей изменения сво- их паролей. Естественно, взломщики бы просто ждали, пока люди поменяют свои пароли, а потом почему-то бы так и не послали сообщения о восстановле- нии старого пароля. В совершенно крайнем случае атакующая сторона может выйти непосредственно на жертву и получить пароль или подобную секрет- д.§ 9 ную информацию, воспользовавшись угрозами или физическим на- силием. Позволяя себе черный юмор, криптографы часто называют подобные действия криптоанализом с помощью резинового шланга, поскольку секретной информацией может быть как шифровальный ключ, так и пароль. 34 1.4. АТАКУЯ СЕКРЕТЫ
:е >- У г к Один из подходов, уменьшающих риск подобных атак, особенно ф когда жертва и хозяин вместе пытаются защититься от нападения, состоит в том, чтобы реализовать в механизме аутентификации сиг- &-7 нал работы по принуждению. Такой сигнал похож на беззвучный сигнал трево- ги, который может включить кассир банка при ограблении. В случае использо- вания механизма аутентификации жертва посылает сигнал при выполнении процедуры входа в систему, которая ничем не отличается от обычной. Напри- мер, человек может иметь два пароля: один, подтверждающий законность реги- страции, и второй, который свидетельствует о работе по принуждению. Однако сигнал работы по принуждению имеет смысл только в том случае, ес- ли жертва собирается его использовать. Жертвы могут оказаться слишком трав- мированными, чтобы Вспомнить сигнал, особенно, если у них не было практики его применения. Более того, банковские кассиры используют беззвучный сигнал тревоги только тогда, когда они верят, что он увеличит их шанс уцелеть. Немно- гие жертвы используют сигнал работы по принуждению просто для защиты ин- тересов владельца: они скорее воспользуются им, если сигнал ускорит помощь, но не подвергнет их еще большей опасности. Поработав во время Второй мировой войны с агентами, посылаемыми за линию фронта, Лео Маркс (Leo Marks) стал очень скептически относиться к ценности сигнала работы по принуждению в реальных ситуациях. Во многих случаях ока- зывалось, что агенты выдавали пленившей их стороне все свои рабочие процеду- ры, включая сигналы нормальной работы и работы по принуждению. Более того, сигналы работы по принуждению редко опознавались, и, например, в британских штабах их часто интерпретировали как ошибки передачи (см. примечание 14). Чтобы чувствовать ценность сигнала работы по принуждению, жертва должна точно знать, как он будет обрабатываться. Как минимум такой сигнал в компь- ютерной системе должен предупредить владельца, что один из членов группы его пользователей находится в серьезной беде. Сама компьютерная система также должна предпринять действия, которые бы минимизировали потери от атаки. Однако маловероятно, чтобы жертвы использовали сигналы работы по дению, которые просто отключают их учетный формуляр, так как это атакующей стороне четкое свидетельство использования такого сигнала. Более перспективным подходом является процедура, когда сигнал работы по принуждению приводит к малозаметным, но важным из- менениям в возможностях жертвы как пользователя системы. Взломщики должны быть уверены, что получили доступ к ресурсам жертвы, тя в действительности лишаются возможности нанести серьезный вред системе. В некоторых организациях используется именно такой подход для обработки вторжений с удаленного рабочего места: взломщики переключаются на специ- альную систему, называемую горшком меда. Для нападающей стороны приманка выглядит как привлекательная для атаки система, тогда как в действительности все ее ресурсы представляют собой чистую подделку, призванную отвлечь вни- мание взломщиков от действительно важных систем. Предполагается, что при- манка держит атакующую сторону подключенной к системе, а в это время де- тективы хозяина и, возможно, правоохранительные силы пытаются выследить ,ее. Такой же подход может быть использован и в отношении сигналов работы по принуждению: сигнал соединит жертву с системой-приманкой, создавая у взломщиков иллюзию проникновения в систему и не подвергая риску критиче- ские ресурсы. принуж- дало бы D-8 хо- ' ГЛАВА 1. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 35
1.5. Атаки, основанные на активной разведке В случае активной разведки (sniffing) взломщик пытается перехватить сек- ретный пароль в момент его перемещения от владельца к механизму аутентифи- кации. Подобно угадыванию, при активной разведке вначале использовали отно- сительно простые и низкотехнологичные механизмы. Но с годами взломщики разработали многочисленные методы, основанные уже на высоких технологиях. Риск от активной разведки ставит определенные ограничение на все паролевые системы: чем на большее расстояние должен перемещаться пароль, тем больше возможностей у взломщиков его узнать. Один из типов активной разведки может происходить прямо под носом у владельца пароля: находящийся поблизости взломщик мо- д.д ф жет просто заглянуть через плечо и подсмотреть набираемый на клавиатуре пароль. Это так называемый серфинг на плече. В современных системах для снижения подобного риска примени- W ется либо подавление эхо-режима ввода пароля, либо используется р какой-либо из вариантов затемнения пароля, например такой, как по- казан на рис. 1.4. Некоторые системы идут дальше и выводят в эхо-режиме затем- ненные символы, количество которых отличается от количества фактически вве- денных. Несмотря на использование подобных методик, иногда возможно отсле- дить само нажатие клавиш. Еще в большей степени пароли уязвимы для активной разведки во время их движения от клавиатуры к механизму аутентификации Активная разведка в программном обеспечении На рис. 1.7 показана основанная на активной разведке атака, ха- рактерная для систем с разделением времени, подобным системе А-10 9 RAX. Когда пользователь выполняет регистрацию в системе, та ко- пирует имя пользователя и пароль в специальной области ОЗУ, называемой входным буфером клавиатуры. Процедура проверки пароля сравнивает данные, находящиеся во входном буфере, с паролем, хранящимся на жестком диске сис- темы, и впускает пользователя, если пароли совпадают. Однако в это же время другой пользователь системы RAX может запустить программу активной раз- ведки, которая будет копировать информацию из входного буфера клавиатуры. И взломщику остается только внимательно наблюдать за вводимой информаци- ей, особенно когда выполняется регистрация в системе, так как в этот момент во входном буфере содержится как имя пользователя, так и пароль. Хотя на то время в системе RAX не было реализовано хеширование паролей или какое-либо шифрование, подобный механизм все равно не защитил бы от такой атаки. Процедура ввода с клавиатуры должна была считывать в ОЗУ весь пароль целиком, не делая предварительного хеширования. Объяснялось это тем, что система RAX исполнялась на мэйнфреймах IBM (семейство IBM 360), а ап- паратная часть компьютеров компании IBM налагала ограничение на обмен дан- ными с такими периферийными устройствами, как клавиатура. В частности, процедура ввода с клавиатуры была написана как “канальная программа”, кото- рая могла за раз считывать только полную строку вводимого с клавиатуры тек- ста. Как только пользователь вводил пароль, канальная программа должна была считывать в ОЗУ всю строку текста, содержащего пароль. И у системного про- граммного обеспечения RAX не было способа маскировки пароля до его запоми- нания в ОЗУ В виде, уязвимом для активной разведки. Решением стало изменение системы RAX таким образом, чтобы ограничить возможность использования входного буфера клавиатуры. Мэйнфреймы компа- нии IBM имели функции защиты памяти, которые уже использовались системой 36 1.5. АТАКИ, ОСНОВАННЫЕ НА АКТИВНОЙ РАЗВЕДКЕ
Имя пользователя и пароль, хранимые в ОЗУ во входном буфере клавиатуры Взломщик перхватывает пароль Джона Рис. 1.7. Определение пароля с помощью активной разведки в системе с разделением вре- мени. Имя пользователя и пароль Джона Дое считывается в ОЗУ. Взломщик запускает программу активной разведки, которая извлекает пароли из ОЗУ, куда они записываются при вводе с клавиатуры. Хеширование паролей не защищает от такой атаки, поскольку процедура ввода с клавиатуры всегда должна поставлять пароль в виде открытого текста. RAX для предотвращения случайной записи пользовательскими программами информации во входные буферы клавиатуры других пользователей и поврежде- ния ими других системных данных в ОЗУ. Программное обеспечение было изме- нено таким образом, что теперь только системному программному обеспечению было доступно содержимое входных буферов клавиатуры пользователей. Когда программа активной разведки пыталась прочитать данные из буфера пользовате- ля, аппаратура мэйнфрейма блокировала попытку, генерировала соответствую- щий сигнал, и система RAX прекращала исполнение такой программы. Современные системы тоже могут быть уязвимы к угрозе такого типа и обычно решают эту проблему подобным же образом. Аппаратные средства защиты, обес- печиваемые на мэйнфреймах IBM, являются стандартным оборудованием в совре- менных микропроцессорах типа PowerPC и Pentium. А развитые операционные системы типа UNIX, Mac OS X, Windows NT и Windows 2000 имеют защиту вход- ных буферов клавиатуры от атак с использованием средств активной разведки. К сожалению, в традиционных настольных системах, например, в Windows 95 или 98 и в однопользовательских системах Macintosh, механизмы аппаратной защиты используются редко. Разработанные для однопользовательских систем программы активной разведки обычно сохраняют информацию о паролях в фай- ле или передают ее по сети другому компьютеру. И предназначенные для атак на подобные системы программы активной разведки являются обычным элемен- том в наборах средств хакеров. Хорошо известные программы активной разведки для среды Windows включают “клавиатурные копировщики”, “воспроизводил- ки” и “клавиатурные капканы”. Программы активной разведки представляют собой серьезную угрозу в академических и образовательных организациях, где в забитых рабочими станциями помещениях работает множество студентов и ино- гда даже администраторы. Не все проблемы, связанные с атаками активной разведки, носят хакерский ха- рактер. В попытке предотвратить нецелевое использование компьютеров сотрудни- ками в некоторых организациях используют программное обеспечение, осуществ- ляющее мониторинг клавиатуры. Такое программное обеспечение работает почти так же, как программа активной разведки, за исключением того, что оно отслежи- ГЛАВА 1. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 37
вает каждое нажатие клавиши. Это позволяет менеджеру контролировать действия сотрудника и выявлять тех из них, которые в рабочее время занимаются личными делами или просто развлекаются на оборудовании компании. К сожалению, со- трудники, которые просматривают протоколы мониторинга клавиатуры, будут иметь возможность извлечь из этих данных пароли контролируемых сотрудников. Это делает журналы еще более чувствительными, чем системные файлы паролей, поскольку файлы паролей в современных системах обычно хешируются. В случае использования паролей процесс мониторинга клавиатуры порождает дилемму, так как теперь менеджеры должны выбирать между мониторингом и надежной аутен- тификацией сотрудников (см. примечание 15). Аналогично тому, как метод разделения времени и другие способы осуществле- ния распределенных вычислений привели к необходимости использования аутен- тификации и паролей, так увеличение степени распределенности вычислений при- вело к возникновению новых опасностей. По мере того как связь становилась все более удаленной и системы использовались для решения все более важных задач, организациям пришлось бороться с угрозой перехвата важной информации еще и в каналах связи. Положение дел ухудшилось с развитием сети Internet. В начале 1994 года в широковещательных сетевых сообщениях новостей было сделано беспрецедентное объявление: всем пользователям компьютеров с выхо- дом в сеть Internet следовало изменить свои пароли. Это объявление явилось следствием печально известного случая активной разведки: было осуществлено проникновение в сервер одного из узловых центров обслуживания сети Internet, и взломщик установил на нем автоматически действующую программу активной разведки, которая осуществляла сбор данных о паролях из проходящего через этот сервер трафика пользователей. Дальнейшее расследование позволило вы- i явить программы активной разведки и во многих других серверах сети Internet. По оценкам следователей, выявленными ими программами были собраны дан- i ные по крайней мере о 100 000 паролей (см. примечание 16). Выданная в вечерних новостях рекомендация отражает основное W преимущество паролей: если пользователь полагает, что пароль был d ц ^3 украден, то относительно легко не дать возможности взломщику воспользоваться им, просто заменив его на новый. Отсюда следует, что другим базовым методом защиты является обязательное наличие у паролевой системы механизма, который бы позволял пользователям легко менять пароли. Проникновение в систему по методу троянского коня. Другим хитрым способом перехвата паролей является программа Jit входа в систему “Троянский конь”. Эта программа путем трюка за- А-11 9 ставляет людей сообщать свой пароль. В отличие от описанной ранее программы “Троянский конь”, этой программе не надо, чтобы ее запускала сама жертва. Взломщик запускает программу на какой-нибудь рабочей станции или с помощью терминала, и на экран выводится точное подобие картинки, соответст- вующей стандартной процедуре регистрации в системе. Например, программа входа по методу троянского коня в систему RAX вывела бы следующий текст, который точно соответствует показанному на рис. 1.4: #*rax v3 m86, sign on Когда кто-нибудь, например Джон Дое, попытается войти в систему, введя соответствующую команду (”/id”), программа входа в систему по методу троян- ского коня сохранит копию имени пользователя в секретном файле. Затем она выведет запрос пароля “*Password?” в одной строке и затемненные символы — в следующей. После того как Джон введет свой пароль, программа ответит, что 38 1.5. АТАКИ, ОСНОВАННЫЕ НА АКТИВНОЙ РАЗВЕДКЕ
ттароль неправильный (“*Password incorrect”), а сама тем временем сохранит введенный Джоном пароль в файле вместе с его именем пользователя. Закончив свое дело, программа завершит выполнение и выйдет из системы. Если Джон сделает еще одну попытку войти в систему, то на этот раз он увидит на терми- нале точно такую же строку, но на этот раз она будет выведена уже процедурой входа самой системы RAX. А тем временем атакующая сторона уже получила данные о пароле Джона. В современных системах подобная проблема решается путем при- W менения сигнала привлечения внимания средств защиты информа- & ции. Это специальная комбинация клавиш, которую лежащая в ос- нове система всегда распознает как запрос конкретной службе, например службе регистрации в системе. Как только кто-либо вводит эту комбинацию клавиш, система перехватывает ее и запускает встроенную подпрограмму, которая выяс- няет, кто хочет это сделать. Ключ привлечения внимания обеспечивает довери- тельный путь между работающим с компьютером человеком и надежной частью программного обеспечения компьютера. Правительство США требует, чтобы в системах с повышенными требованиями к защите информации, определение ко- торых приводится в TCSEC, обязательно имелись механизмы обеспечения дове- рительного пути (см. примечание 17). Пользовательские прикладные программы, подобные программе входа в сис- тему по методу троянского коня, никогда не видят сигнала привлечения внима- ния и поэтому не могут замаскироваться. В операционных системах Windows NT и Windows 2000 в качестве сигнала привлечения внимания средств защиты ин- формации используется комбинация клавиш <Ctrl-Alt-Delete>. Другие системы, например VAX/VMS компании DEC и версии UNIX с повышенной защищенно- стью, также имеют свои ключи привлечения внимания. Перехват по методу ван Эка В 1985 году голландский ученый по имени ван Эк описал, как с помощью от- носительно простых методов можно организовать подслушивание, используя для этой цели видеомонитор. Видеомониторы используют огромное количество энер- гии, и процесс развертки данных на электролюминесцентный экран электронно- лучевой трубки генерирует множество побочных электромагнитных сигналов. Эти сигналы называются излучением ван Эка и видны на расстоянии до 1 кило- метра (см. примечание 18). Взломщик с нужным оборудованием может читать пароли и другую ль секретную информацию, отображаемую на любых находящихся побли- А-12 9 зости видеоэкранах. На состоявшемся в 1991 году телевизионном шоу эту технику продемонстрировал Вин Швартау (Win Schwartau), хорошо известная фигура в кругах, связанных с информационными войнами. Швартау высказал пред- положение, что соответствующим образом спроектированный приемник ван Эка мог бы перехватывать не только видеосигналы. По одному из теоретических сценариев приемник мог бы извлекать из банкомата достаточно информации, чтобы реконст- руировать банковские кредитные карточки клиентов и соответствующие персональ- ные идентификационные номера (PIN-код) (см. примечание 19). Первым методом защиты от перехвата по методу ван Эка является запреще- ние появления паролей на экранах дисплеев. Большинство систем уже имеет та- кую функцию, хотя она и снижает надежность и делает неудобным пользование пользовательским интерфейсом (см. раздел 6.1). Дополнительная защита может ;быть обеспечена введением экранирования видеодисплеев и другого компьютер- рНОго оборудования. К сожалению, исследования и технические проработки в (этом направлении в США не одобрялись спецслужбами и особенно Агентством национальной безопасности (NSA). ГЛАВА 1. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 39
Конечно, классические пароли — не единственная методика аутентификации на компьютерах. Просто они давно используются и легче всего реализуемы. Со времени появления метода разделения времени паролевые системы значительно усовершенствовались и включают в себя дополнительные меры защиты. Более того, за это время развились другие методики аутентификации, работающие в ситуациях, когда пароли просто не могут выполнять свои функции. 1.6. Факторы аутентификации “Вещи, которые нам известны... Вещи, которые у нас есть... Вещи, которыми являемся мы...” Карлтон и др. Альтернативные механизмы аутентификации Еще до появления компьютеров для аутентификации использовались различ- ные отличительные характеристики. В компьютерных системах были использо- ваны эти характеристики, как только нашли эффективный по стоимости способ воплотить их в цифровом виде. Сегодня методы аутентификации обычно клас- сифицируются в соответствии с используемыми ими отличительными характери- стиками, и мы будем классифицировать характеристики в терминах трех факто- ров, описываемых ниже и сведенных в табл. 1.2. Каждый фактор имеет в основе тип отличительной характеристики, используемой для аутентификации людей (см. примечание 20). Нечто, нам известное: пароль Отличительная характеристика представляет собой секретную информа- цию, которая неизвестна непосвященным людям. До компьютеров это могли быть произносимый голосом пароль или запоминаемая комбинация для замка. В компьютерах это может быть слово-пароль, фраза или персо- нальный идентификационный номер (PIN). Разработчики могут дешево и легко реализовать паролевый механизм. За- поминаемое секретное слово является идеальным средством для аутенти- фикации перемещающихся пользователей, т.е., для людей, которые под- ключаются к системе из непредсказуемых удаленных мест. Однако пароли имеют слабые места. Во-первых, их эффективность зависит от секретности, и их тяжело сохранить в тайне. Существует бессчетное ко- личество способов выведать или перехватить пароль, и обычно нет способа обнаружить активную разведку до нанесения урона. Во-вторых, развитие методов нападения сделало для взломщиков определение паролей, обычно выбираемых людьми, относительно простым делом. Даже если выбираются трудно угадываемые пароли, их где-нибудь записывают, чтобы при необ- ходимости иметь под рукой. Но конечно же, записанный пароль более уязвим в плане возможной кражи, чем запоминаемый. Даже действующие из лучших побуждений люди в какой-то момент нарушают правила ис- пользования паролей просто для того, чтобы иметь возможность восполь- зоваться своим компьютером именно тогда, когда в этом возникнет необ- ходимость. Дальнейшему обсуждению паролей посвящены главы 2 и 3, а в главе 6 рассматривается проблема выбора эффективных паролей. Нечто, имеющееся у нас*, устройство аутентификации Отличительной характеристикой является обладание авторизованными людьми неким конкретным предметом. До появления компьютеров это 40 1.6. ФАКТОРЫ АУТЕНТИФИКАЦИИ
Таблица 1.2. Факторы аутентификации Фактор Преимущества Слабые стороны Примеры Нечто, нам Дешевизна реализации, Подверженность активной разведке. Пароль, персональный известное: пароль переносимость Невозможность выявления таких атак. Пароли либо легко угадать, либо тяжело запомнить. Высокая стоимость обработки забытых паролей. идентификационный код, комбинация сейфа Нечто, имеющееся у Тяжелее всего для Высокая стоимость. Может быть Опознавательный знак, нас: опознавательный знак нападения потерян или украден. Риск отказа аппаратурной части. Не всегда переносим. смарт-карта, секретные данные, встроенные в файл или устройство, механический ключ Нечто, присущее нам: Лелю всего с точки Высокая стоимость. Угроза дистанци- Отпечатки пальцев, рисунок биометрика зрения выполнения аутентификации, пере- носимость онного воспроизведения. Риск утраты сведений частного характера. Характе- ристика не может быть изменена. Ошибочное отклонение законных пользователей. Характеристика может быть повреждена сетчатки глаза, распознавание голоса, фотодокумент могла быть печать с личной подписью или ключ от замка. В компьютерах это может быть не более чем файл данных, содержащий отличительную характеристику. Часто характеристика встраивается в устройство, напри- мер в карточку с магнитной полосой, смарт-карту или в вычислитель па- роля. В этой книге подобные вещи называются устройствами аутенти- фикации. Характеристика может быть даже встроенной в достаточно крупную единицу оборудования и оказаться не очень переносимой. Аутентификацию на основе устройств аутентификации сложнее всего обойти, так как используется уникальный физический объект, которым должен обладать человек, чтобы войти в систему. В отличие от паролей, владелец всегда может сразу сказать, если устройство было украдено, и ему сложно делить его с кем-либо еще и одновременно иметь возможность входа в систему. Основными слабыми местами являются более высокая стоимость реализации и риск потери или отказа аппаратуры. Проблемой может быть также и переносимость. Более подробно устройства аутенти- фикации обсуждаются в главе 9. Нечто, присущее нам: биометрика Отличительной характеристикой является какая-нибудь физическая осо- бенность, уникальная для аутентифицируемого лица. До появления ком- пьютеров это могли быть личная подпись, портрет, отпечаток пальца или письменное описание внешнего вида человека. В случае компьютеров от- личительная характеристика физического лица измеряется и сравнивается с ранее полученными данными, снятыми с достоверно установленной лич- ности. В хорошо известных методиках для аутентификации используются голос человека, отпечатки пальцев, письменная подпись, форма руки или особенности глаз. В этой книге подобные вещи называются биометрикой. Биометрическая аутентификация обычно является самым легким подхо- дом для тех людей, которые должны проходить аутентификацию. В боль- шинстве случаев хорошо спроектированная биометрическая система просто снимает показания с человека и правильно выполняет аутентификацию. В ГЛАВА 1. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 41
данном случае очевидно, что отличительная характеристика переносима, так как является частью тела владельца. Однако все преимущества сводятся на нет несколькими недостатками. Как правило, по сравнению с другими системами оборудование дорого в приобре- тении, установке и эксплуатации. При дистанционном использовании био- метрические показания подвержены риску перехвата: похититель может воспроизвести запись показаний, чтобы замаскировать себя под владельца, или использовать их, чтобы того выследить. Если биометрические показате- ли попадают, в плохие руки, то их владелец не имеет способа восполнения ущерба, так как биометрические особенности невозможно изменить. Кроме того, сам процесс аутентификации сложен. Сложно также сделать систему достаточно чувствительной, чтобы она отвергала посторонних пользователей и при этом время от времени не отвергала своих. Биометри- ческие показатели также могут быть признаны негодными вследствие фи- зиологических изменений и телесных повреждений. Был случай, когда женщина, работавшая в режимном помещении, не была впущена внутрь биометрическим устройством из-за того, что ее беременность вызвала из- менение картины кровеносных сосудов в сетчатке глаз. Однако несмотря на недостатки биометрика остается многообещающей ме- тодикой. Более подробно она будет рассматриваться в главе 7. Другими словами, аутентификация всегда зависит от чего-нибудь утерянного, поврежденного или забытого. В действительности не существует “одного самого лучшего способа” аутентификации. Выбор зависит от конкретных рисков, с ко- торыми приходится сталкиваться компьютерной системе и затрат (в виде обору- дования, администрирования и влияния на пользователей), которые готов понес- ти владелец. Вычислительные центры часто полагаются на пароли ввиду низкой стоимости: реализация не требует покупки специальной аппаратуры и выполне- ния работ по установке и обслуживанию. Организации используют другие мето- ды, только в тех случаях, когда потенциальные потери от ошибок в обработке паролей явно превышают стоимость чего-нибудь нового. Все факторы аутентификации имеют свои недостатки, и отдельно взятые факторы не всегда могут обеспечить уровень защиты, который требуется узлу. В таких случаях узлы будут использовать механизмы аутентификации, которые вводят два или три фактора. Подобные системы часто называют системами с сильной аутентификацией, поскольку преимущества одного фактора могут бло- кировать недостатки другого. Карточки для банкоматов, которые всегда требуют запоминаемый персональный идентификационный номер, представляют собой широко известный пример двухфакторной аутентификации. Общим для всех трех факторов является то, что отличительная характери- стика однозначным образом связывается с аутентифицируемым лицом. Это ста- новится проблемой при работе в компьютерной сети. Часто механизму аутенти- фикации ничего не остается, как только получать биты, извлекаемые из отличи- тельной характеристики. Но нет механизма (кроме дополнительной аутентификации), который бы устанавливал источник информации. Например, нет никакой возможности определить, действительно ли биометрические показа- тели были сняты на другом конце соединения с аутентифицируемого человека или они были перехвачены и переданы кем-нибудь другим. Точно так же нет способа сказать, поступил ли пароль от авторизованного пользователя или от ко- го-нибудь другого. Короче говоря, простые механизмы аутентификации часто основаны на том, что отличительная характеристика держится в секрете. 42 1.6. ФАКТОРЫ АУТЕНТИФИКАЦИИ
1.7. Ранжирование атак по распространенности Хотя важно представлять себе атаки, используемые для конкретного метода защиты данных, не менее важно понимать, насколько вероятной может быть та или иная атака. Часто это зависит от степени искушенности, которой требует каждая из атак. И большинство владельцев не так волнуют те атаки, которые требуют государственных ресурсов, как те, что известны каждому малолетнему пользователю Internet. В этой книге атаки разбиваются по характеру на пять уровней распростра- ненности. Различные уровни показывают относительные объемы знаний и ресур- сов, которыми должна обладать атакующая сторона, а также вероятность, с ко- торой такие атаки могут встречаться. Взломщики, имеющие перед собой весьма привлекательную мишень, будут тратить значительные усилия на проникнове- ние. Во всей остальной части книги используется именно эта классификация степени распространенности атак. Простейшая атака Существует множество книг, заполненных описанием простейших атак. Каждый, кто знает “трюк”, лежащий в основе таких атак, может его вы- полнить, используя для этого обычное программное обеспечение типовой рабочей станции. Классическим примером простейшей атаки является подделка сообщения электронной почты. Любой, у кого есть типовой пакет для обмена сообщениями по электронной почте, может сконфигурировать его таким образом, чтобы генерировать сообщения от имени кого-нибудь другого (например, от имени президента: president@whitehouse.gov). Такая атака не требует использования специального хакерского инструментария или нестандартного программного обеспечения. Реализовать ее может ка- ждый, если знает как это делается (см. примечание 21). Обычная атака В отличие от простейших атак, в этом случае атакующая сторона должна приобрести специальные программные инструментальные средства или предпринять другие шаги, которые могут свидетельствовать о преднаме- ренности действий. Примером обычной атаки является активная разведка для определения пароля: хакер устанавливает программное обеспечение для сбора информации, поступающей с клавиатуры, которое перехватыва- ет чей-либо пароль, и затем использует его. Другим примером являются вирусы: автор должен либо воспользоваться программой для создания ви- русов, чтобы создать его, либо написать вирус с нуля. Наличие на рабочих станциях программ для атаки говорит о том, что их владельцы могут быть либо жертвами, либо виновниками программных атак, что зависит от кон- кретного программного обеспечения. Часто против обычных атак сущест- вуют хорошо известные меры защиты. К сожалению, количество обычных атак также велико и постоянно увеличивается. Имеются специальные средства, которые помогают взломщикам обнаруживать уязвимые места, и может понадобиться много времени, чтобы блокировать всех их. Физическая атака Такие атаки требуют физического присутствия атакующей стороны в месте атаки. Они также могут требовать манипуляций с аппаратной частью ком- пьютера и/или специальных аппаратных инструментальных средств. Ата- ки подобного рода также могут зависеть от специальных знаний или обу- ГЛАВА 1. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 43
нения. В разделе 1.4 мы кратко коснулись атаки с использованием “рези- нового шланга”, но физические атаки, описываемые в настоящей книге, направлены на оборудование, а не на людей. В главе 4 рассматриваются атаки, когда взломщик открывает корпус компьютера и перекоммутирует привод жесткого диска, чтобы скопировать его содержимое. К другим примерам относятся активная разведка или перехват, осуществляемые пу- тем физического подключение к соединительной разводке. В отличие от обычных атак, физические атаки обычно оставляют материальные свиде- тельства, и это отпугивает менее мотивированных взломщиков. Сложная атака Сложная атака — это атака, которая требует профессиональных знаний уязвимых мест средств защиты. Если обычная атака может быть предпри- нята людьми с хорошими инструментальными средствами и ограниченны- ми знаниями или профессиональными навыками, то сложная атака может потребовать от атакующей стороны создания соответствующего инструмен- тария для ее воплощения. Примером сложной атаки может служить рабо- та Вайли Хакера (Wily Hacker), которую в конце 1980-х годов проследил Клиффорд Столл (Clifford Stoll): у взломщика был целый “мешок уловок” из простейших и обычных атак, и для проникновения в систему и ее по- следующего использования им было применено сразу несколько различ- ных трюков. Атаки и использование результатов требуют значительных усилий от взломщика, который, как правило, работает неполный рабочий день. От сложных атак компьютерные центры защищаются, вводя в свою работу ограничения, которые уменьшают их уязвимость к подобного рода атакам (см. примечание 22). Новые атаки В этих атаках используются теоретически уязвимые места, которые еще не стали достоянием гласности, чтобы войти в практику хакеров. Часто для преодоления сильного механизма защиты подобные атаки требуют затрат значительных ресурсов. Новые атаки обычно появляются в результате ра- боты большой и хорошо финансируемой группы хакеров, месяцами и го- дами работающих над взломом защиты противника. Во время Второй ми- ровой войны шифроаналитики союзников предприняли новаторскую атаку на шифровальное оборудование Германии, объединив математический ана- лиз с попытками дешифровки по методу проб и ошибок. Как правило, но- вые атаки весьма дорогостоящи, но они также всегда успешны, если ата- кующая сторона согласна вложить необходимые для достижения успеха ресурсы. Команда активации ядерного оружия и системы управления про- ектируются с учетом сопротивляемости новым атакам, и при этом тратят- ся огромные деньги на дублирование и реализацию принципа минималь- ных привилегий. Хотя эксперты по вопросам защиты компьютерных систем в общем согласны с оценками степени распространенности атак, тем не менее такого общепринято- го понятия, как распространенность атаки, не существует, как не существует и методов ее оценки. Приведенные в данной книге оценки основаны на сообщени- ях и описаниях атак и являются попыткой отразить общий консенсус сообщест- ва специалистов в области защиты компьютерных систем. Но прежде всего эти оценки отражают мнение автора и не имеют под собой каких-либо систематиче- ских измерений. С течением времени и по мере эволюции атак степень распро- страненности различных атак, несомненно, будет меняться. 44 1.7. РАНЖИРОВАНИЕ АТАК ПО РАСПРОСТРАНЕННОСТИ
1.8. Сводные таблицы В последнем разделе каждой главы содержатся две сводных таблицы, в одной из которых приводятся описанные в этой главе атаки, а в Другой описываются соответствующие методы защиты. В сводной таблице атак приводится наимено- вание атаки, резюмируется проблема защитного механизма, оценивается уровень сложности и кратко описывается принцип работы атаки. Оценка уровня сложно- сти осуществляется с использованием классификации, описанной в разделе 1.7. Если современные программные системы стандартным образом обеспечивают защиту от конкретной атаки, то в сводной таблице такая атака отмечается как “вышедшая из употребления”. В сводной таблице методов защиты приводится наименование каждого метода, перечень атак, от которых он должен защищать, и краткое описание того, что он делает. Если в главе упоминается атака и для нее не приводится описание метода защиты, то такая атака указывается в от- дельном подразделе с названием “Атаки, от которых нет защиты”. Таблица 1.3. Сводная таблица атак Атака Проблема системы защиты Характер атаки Описание атаки А-1 Запутывание с клавиатуры Маскировка под кого-либо другого Вышла из употребления Ошибка в программном обеспечении системы с разделением времени, которая позволяла при наборе определенной последовательности символов пропускать выполнение процедуры проверки пароля А-2 Кража файла паролей Рассекречиваются пароли всех других пользователей Вышла из употребления Слабая защита файла паролей допускала кражу его содержимого А-З Троянский конь Раскрытие спрятанной информации, например, файла паролей Обычная, сложная или новая Атакующая сторона пишет программу, которую затем использует жертва. Без ведома последней программа копирует или модифицирует данные жертвы. Широко известным примером является вирус А-4 Угадывание па- роля в интерактив- ном режиме Восстановление пароля пользователя Простейшая Интерактивная атака по методу проб и ошибок в попытке угадать пароль пользователя А-5 Просмотр запи- сей проверки паро- лей Восстановление пароля пользо- вателя Обычная Просмотр записей проверки ошибок пользователя при регистрации в системе с целью угадывания его пароля А-6 Раскрытие как услуга Раскрытие пароля пользователя Простейшая Атакующая сторона убеждает пользователя выдать пароль как бы в поддержку внешне важной задачи А-7 Фиктивное изменение пароля Раскрытие пароля пользователя Простейшая Атакующая сторона убеждает жертв изме- нить свои пароли на предлагаемое слово А-8 Раскрытие пароля по методу “резинового шланга” Раскрытие секретной информации, например пароля пользователя Физическая Для получения секретной информации от пользователя атакующая сторона использует угрозы или физическое принуждение А-9 Серфинг на плече Раскрытие пароля пользователя Простейшая Взломщик подсматривает набор пароля пользователем на клавиатуре и затем использует его сам ГЛАВА I. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 45
Окончание табл. 1.3 Атака «Г Проблема системы защиты Характер атаки ОписаниеАтаки А-10 Вынюхивание через данные кла- виатурного набора Восстановление пароля пользо- вателя Обычная Программное обеспечение отслеживает в данных клавиатурного ввода, передаваемых от пользователя в систему, набираемые значения имени пользователя и пароля и сохраняет их для последующего использования А-11 Троянский вход в систему Раскрытие пароля пользователя Обычная Запускается программа, которая мимикрирует под стандартную программу входа в систему, но сама во время попыток пользователей войти в систему собирает информацию об их именах и паролях А-12 Излучение ан Эка Раскрытие секретной информации, например, пароля пользователя. Физическая Используется устройство, которое перехватывает излучение ван Эка от видеомонитора жертвы с целью получения секретной информации, отображаемой на дисплее жертвы Таблица 1.4. Сводная таблица методов защиты Защита Срываемые атаки Описание D-1 Хорошее проектирование программного обеспечения А-1 Запутывание с клавиатуры Организованное проектирование программного обеспечения с многократным использованием существующих функций; поддержание простаты и полноты процедур D-2 Хешированные пароли А-2 Кража файла паролей А-6 Раскрытие как услуга Хранение паролей в формате с односторонним хешированием. Уход аг хранения или работы с паролями в читаемом нехешированном виде D-3 Проверка неправильных А-4 Угадывание пароля в Ведение записей аудита всех попыток регистрации в паролей интерактивном режиме системе, с последующим их использованием для обнаружения атак угадывания паролей D-4 Ограниченное количество А-4 Угадывание пароля в Отслеживание допустимого количества неправильных угадываний пароля интерактивном режиме А-5 Просмотр записей проверки паролей угадываний пароля и реагирование на последующие попытки как на атаку угадывания пароля D-5 Политика изменения паролей А-6 Раскрытие как услуга Ввод в практику такой политики, которая ограничивает возможности службы технической поддержки менять пароли пользователей. Изменения пароля должны происходить в безопасных условиях D-6 Политика нераскрытая А-6 Раскрытие как услуга Установление такой политики, в соответствии с которой паролей А-7 фиктивное изменение пароля при любых обстоятельствах никто не должен открывать пароль другому лицу 46 1.8. СВОДНЫЕ ТАБЛИЦЫ
Окончание табл. 1.4 Защита ¥ . "3 Срываемые атаки Описание D-7 Сигнал работы по А-8 Раскрытие пароля по Возможность для пользователя дать сигнал о том, что принуждению методу “резинового шланга" процесс входа в систему происходит в условиях принуждения D-8 Горшок меда А-8 Раскрытие пароля по методу “резинового шланга” Атакующей стороне позволяется вход в систему, имеющей вид законной цели, одновременно ограничивая доступ к действительно ценным ресурсам и тщательно оберегая их D-9 Забивка пароля на экране дисплея А-9 Серфинг на плече Запрещение распечатывания или вывода на экран дисплея набираемых на клавиатуре символов при вводе пользователем пароля D-10 Защита памяти А-10 Активная разведка с использованием данных клавиатурного набора Использование функции центрального процессора по защите памяти для защиты входного буфера клавиатуры от чтения любым программным обеспечением, кроме операционной системы D-11 Замена пароля А-2 Кража файла паролей А-9 Серфинг на плече А-10 Активная разведка с использованием данных клавиатурного набора Владелец пароля может менять его на новый при наличии подозрения перехвата D-12 Привлечение внимания А-12 Троянский вход в Пользовательским запросам, имеющим отношение к службы защиты системы систему защите информации, система назначает специальную комбинацию клавиш Атаки, от которых нет защиты А-З Троянский конь. От такой атаки общей защиты не существует. Есть мето- дики противостояния троянским коням, работающим определенным образом. На- пример, антивирусное программное обеспечение решает проблему борьбы с виру- сами. Существуют также программы проверки целостности, которые способны об- наруживать изменения в файлах, редко подвергающихся модификации, как, например, в файлах программного обеспечения процедуры регистрации в системе. ГЛАВА 1. АУТЕНТИФИКАЦИЯ - ЧТО ЭТО ТАКОЕ 47
ГЛАВА 2 Эволюция паролей многократного использования “Использование зашифрованных паролей выглядит безопасным в отсутствие серьезного внимания со стороны специалистов в этой области.” — Моррис и Томпсон, Защита паролем: история случаев проникновения (1979) В этой главе... Эта глава посвящена описанию эволюции современных паролевых систем. Большинство примеров взяты из жизни операционной системы UNIX, поскольку ее паролевая система имеет хорошо задокументированную историю. Запоминаемая секретная информация; пароли и сейфовые комбинации. Базовая секретная информация и секретная информация, выбираемая по культурному признаку и случайным образом. Паролевый механизм ОС UNIX и его эволюция. Атаки на хешированные пароли; словарные атаки. Интернетовский червь и его атаки на аутентификацию. Атаки угадывания и оценка среднего пространства атаки. 2.1. Пароли: нечто, известное нам Пароли наследуют многие сильные и слабые стороны более старых способов защиты. До появления бумажных удостоверений, паспортов и пропусков с фото- графиями пароли использовались стражей городских ворот, чтобы отличать по- сторонних от местных жителей. Пароль идентифицировал человека как члена конкретной группы граждан или просто как персону, которую стража должна пропустить через ворота. Конечно, пароли еще тогда имели недостатки. Шпион, например, мог, подкупив кого-нибудь из граждан, узнать пароль и затем выдать себя эа одного из них. Но такие пароли не обеспечивали безусловный доступ. Если бы взвод солдат в форме с отличительными знаками вражеской армии по- дошел к воротам, то обученная стража, вероятно, завязала бы с ними бой еще до того, как те назвали бы пароль. Обычно пароли основаны на произвольным образом выбираемой, запоминае- мой секретной информации, подобной той, которую узнал Али Баба (’’Сезам, от- кройся”). Механические замки, основанные на секретной информации, остава- лись в сфере фантастики до изобретения комбинационных запорных устройств
для сейфов и висячих замков. Комбинационные замки являются наиболее ши- роко используемыми механическими устройствами, открываемыми с помощью паролей. Стоит кратко рассмотреть работу комбинационных замков и то, как часто они не выполняли свою функцию. Хотя комбинация цифр или пароль могут предварительно устанавливаться на заводе, у нас есть возможность переустановить их в другое значение, которое не смогут угадать посторонние. Но люди часто забывают это сде- лать, что упрощает работу взломщикам. Люди как правило испытывают трудности с запоминанием произвольных последовательностей цифр или клавиш, поэтому они охотно выбирают комбинации или пароли, основанные на личных данных (даты рождения и т.д.), запомнить которые проще. Это также упрощает работу взломщикам. Люди часто записывают комбинации и пароли, особенно в тех случаях, когда они трудно запоминаемые. На рис. 2.1 показано внутреннее устройство типового комбинационного зам- ка. Сердцем устройства является колесный блок, механическая конфигурация которого устанавливает комбинацию для конкретного замка. Колесный блок со- стоит из отдельных колесиков с пропилом для каждого числа в комбинации. Каждое колесико снабжено штифтами, называемыми колесными зацепами, ко- торые входят в зацепление при вращении наборного колеса комбинационного замка. Взаимное расположение пропилов и зацепов и определяют комбинацию замка. Качественные сейфы позволяют покупателю изменять комбинацию по получении сейфа от производителя. Если предположить, что все покупатели так и поступают, то тогда вероятность совпадения комбинаций у двух случайным образом выбранных сейфов очень мала, даже если сейфы от одного изготовителя и одинаковой модели. Защитные свойства сейфа в значительной степени определяются невозможно- стью угадывания комбинации. Качественные сейфы устроены таким образом, что все комбинации равновероятны. Сам сейф не должен позволять определить возможное значение комбинации. К сожалению, очень часто существует разрыв между теорией и практикой. В процессе изготовления сейфа производитель дол- жен устанавливать какую-нибудь комбинацию, и не все меняют ее после покуп- ки. Это приводит к возникновению списка “комбинаций-кандидатов”, основой которого являются комбинации, генерируемые в процессе изготовления сейфов. Если в высококачественном сейфе имеется три колеса, то возможных комбина- ций могут быть миллионы. Но если комбинация не меняется после изготовле- ния, то взломщик может открыть сейф, работая по списку комбинаций, исполь- зуемых изготовителем. Обычно такой список кандидатов содержит около 100 комбинаций, что для полного решимости взломщика представляет собой нудное, но вполне преодолимое препятствие (см. примечание 1). Подобное явление происходило с компьютерными паролями в прошлом и без сомнения будет происходить снова в будущем. Компания Digital Equipment Corpo- ration, являющаяся разработчиком компьютерных систем линий PDP и VAX, обычно отгружала системы, сконфигурированные таким образом, чтобы обеспе- чить легкий доступ своему техническому персоналу, занимающемуся установкой систем на местах: каждый компьютер имел имя пользователя “FIELD” (“ВЫЕЗДНОЙ”) и пароль “SERVICE” (“ОБСЛУЖИВАНИЕ”). Хотя у компьютер- ных центров была возможность замены пароля, имени пользователя или того и другого, многие посчитали более удобным оставить пароль и идентификатор поль- зователя без изменений, упрощая задачу для персонала технического обслужива- ния и в равной степени для взломщиков. Первым правилом при установке любого программного обеспечения с паролевой защитой является изменение всех паролей, ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 49
Рис. 2.1. Типичный комбинационный замок. После набора комбинации замок открывается. Три колеса, образующие колесный блок, поворачиваются так, чтобы их пропилы состав и- ли одну линию с запирающим ригелем. Ряд отверстий по периметру каждого колеса по- зволяет владельцу менять комбинацию, перемещая зацепы. которые были установлены при отгрузке, но как раз этому-то правилу упорно и не следуют. В середине 1980-х годов подобная ситуация послужила причиной массо- вых проблем с защитой в маршрутизаторах (см. примечание 2). После изменения комбинации цифр (или пароля, как в нашем случае) про- блема не исчерпывается. В обоих случаях безопасность может зависеть от типа запоминаемой владельцем этой самой трудно угадываемой секретной информа- ции. Часто в качестве комбинации люди выбирают хорошо известные данные. Скажем для сейфов с тремя наборными колесами очень популярны даты дней рождения или других личных важных событий, так как и даты и комбинации требуют трех чисел из двух цифр. Для слесаря по замкам и для взломщика не составляет большого труда собрать список соответствующих дат для владельца сейфа и получить, таким образом, полный перечень комбинаций, стоящих того, чтобы попробовать. В подобном списке также занимают свое место телефонные номера, номера карточек социального страхования и тому подобное. Легкость угадывания дискредитирует разумность подобных значений комбинации, ио все равно большинство людей именно на них останавливают свой выбор. С паролями происходит то же самое, хотя они могут включать в себя буквы, цифры и даже знаки пунктуации: некоторые все равно выбирают в качестве сек- рета не произвольную и трудно угадываемую информацию, а свои личные дан- ные. Имеется множество историй с людьми, которые использовали в качестве пароля собственные имена, имена членов семьи, названия компьютеров и другие очевидные слова. В разделе 3.4 будут рассмотрены атаки, предпринимаемые в отношении подобных паролей. Не важно, насколько легко может быть угадана комбинация или пароль, не- которые ощущают потребность еще и записать их. Опытный взломщик сейфов всегда проверяет помещение, в котором установлен сейф, и сам сейф тоже, что- бы проверить, не записана ли комбинация. Часто это так, и беглый поиск сбере- гает время, которое в противном случае пришлось бы потратить на перебор ком- бинаций-кандидатов. То же самое справедливо и в отношении паролей, что будет обсуждаться в разделе 6.1. Эти проблемы отражают фундаментальные недостатки всех систем защиты, которые зависят от запоминаемой секретной информации. Первоначально боль- шинство предполагаемых членов сообществ компьютерных пользователей были технически грамотные ученые и инженеры. В такой ситуации разработчики и администраторы могли убедить себя, что подобные пользователи будут запоми- нать сложнейшие пароли в обмен на повышенную безопасность. К сожалению, очень немногие серьезно задавались противоположным вопросом: а что будет с системой защиты системы, если не все будут выбирать сложные пароли? Эта проблема будет рассматриваться в разделе 2.5. 50 2.1. ПАРОЛИ: НЕЧТО, ИЗВЕСТНОЕ НАМ
Рис. 2.2. Традиционные ключи кодируют базовую секретную информацию. Глубина про- пилов по верхней кромке ключа соответствует длине штырьков внутри замка. Если глу- бина пропилов известна, то слесарь может изготовить дубликат ключа. Заводской номер ключа играет роль, подобную имени пользователя: он связывает ключ с конкретным зам- ком, но не раскрывает базовую секретную информацию. 2.2. Аутентификация и базовая секретная информация Все практически реализованные механизмы удаленной аутентификации в за- щите от попыток маскировки под авторизованного пользователя зависят от со- блюдения условий секретности. Если атакующая сторона может изготовить ко- пию чей-либо отличительной характеристики, то она может выдать себя за этого человека. Это очевидно в отношении паролей, и должно быть понятно, что это утверждение справедливо и в отношении биометрики, поскольку находящийся на удаленном расстоянии механизм аутентификации не будет знать, действи- тельно ли биометрические показатели поступают от живого лица или являются ретрансляцией. Аутентификация на основе аутентификационных устройств в общем случае полагается на уникальную информацию, встроенную в каждое та- кое устройство; если взломщики знают эту уникальную информацию (например, номер счета для кредитной карточки, используемой в банкоматах), то они могут изготовить копию подобного устройства. Как правило, эффективней! отличительная характеристика содержит уникаль- ный и обычно секретный элемент, называемый базовой секретной информацией. Это такая информация, которая должна быть известна взломщику, чтобы иметь возможность скопировать отличительную характеристику жертвы и потом попы- таться выдать себя за нее. Если брать пример, не относящийся к компьютерам, то ключи механических замков кодируют базовую секретную информацию в виде картины сделанных на них проточек (см. рис. 2.2). Хотя большинство взломщи- ков, которые пользуются дубликатами ключей, делают их непосредственно с ори- гинального ключа, опытные слесари способны изготовить копию, зная тип ключа (его “заготовку”) и глубину проточек. Так что в теории ключ просто шифрует ин- формацию, и защитные свойства замка, отпираемого ключом, могут быть ском- прометированы, если сама информация становится открытой. Некоторые изгото- вители замков продают специальные измерительные приборы для замера глубины проточек своих ключей. Джерри Шнайдер, о карьере в качестве компьютерного преступника которого уже упоминалось ранее, заявлял, что в своих аферах с кра- жей оборудования телефонной компании при изготовления дубликатов ключей ис- пользовал для измерения проточек калибры. К счастью, очень немногие способны точно оценивать глубину проточек ключа с одного взгляда (см. примечание 3). Реализованные на практике механизмы аутентификации на основе базовой секретной информации в принципе можно разделить на две категории: аутенти- фикацию по культурному признаку и аутентификацию с секретной информаци- ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 51
ей, выбираемой случайным образом. Аутентификация по культурному признаку полагается на личную информацию или особые случаи из жизни, которыми по- тенциальные жертвы вряд ли будут делиться со взломщиками. Аутентификация с секретной информацией, выбираемой случайным образом, полагается на такую информацию, которую потенциальные взломщики никогда не смогут получить. Хотя многие предприятия считают культурологическую аутентификацию доста- точной для многих приложений, для надежного механизма аутентификации су- щественным фактором является именно секретная информация, выбираемая по случайному принципу. Аутентификация по культурологическому признаку "5И захватили джилиды все переправы на реке Иордан до ефраимитов; и было так, что когда бе- жавшие ефраимиты просили разрешения пройти через брод, люди Джилида спрашивали у них, а не ефраимиты ли они? Если ответ был: “Нет” еТогда им приказывали произнести слово “Шибболет”. И они говорили “Сибболет”, ибо не могли выговорить этого слова правильно, тогда их хватали и умерщвляли прямо на переправах...” Книга Судей, глава 12 стихи 5 и 6. Все мы пользуемся аутентификацией по культурологическому признаку. Если новый знакомый говорит, что является другом друга, то большинство из нас бу- дет испытывать непреодолимое желание задать вопросы, ответ на которые спосо- бен дать только друг друга. Классической сценой из истории Второй мировой войны была ситуация, когда американским военным подразделениям приходи- лось сталкиваться с немецкими солдатами, переодетыми в американскую воен- ную форму: американцы проверяли гражданство друг друга, задавая вопросы о бейсболе и Мировой серии. В значительной степени полагаются на аутентифика- цию по культурологическому признаку и компании, эмитирующие кредитные карточки, когда, проверяя карточкодержателя, обращаются по телефону с просьбой о содействии: “Благодарю вас, сэр. Не могли бы вы подтвердить ваш адрес? А номер вашей карточки социального страхования? Назовите, пожалуй- ста, девичью фамилию вашей матери.” Аутентификация по культурологическому признаку является хорошо знако- мой и широко распространенной техникой. Ее основное преимущество состоит в том, что большинство людей понимают процесс, и она основана на знаниях и возможностях, являющихся характерными для каждого отдельно взятого чело- века. Эта техника блокирует многих потенциальных взломщиков, так как имеет в основе информацию, которая может существенно изменяться от одного челове- ка к другому, исключая, может быть, случай людей, которые хорошо знают друг друга. Однако эта методика страдает двумя недостатками. Во-первых, базовая секретная информация не обязательно является секретной. И, во-вторых, часто базовую секретную информацию невозможно изменить. Аутентификация по культурологическому признаку вводит различие между членами различных групп. Внутри семейной ячейки родители часто знают номера карточек социального страхования детей, а супруги иногда знают девичьи фами- лии матерей друг друга. В приведенной в начале этой главы цитате из Ветхого За- вета говорится об армии ефраимитов, отступавшей после поражения, нанесенного ей джилидами. От беженцев, добравшихся до переправы через реку Иордан, для 52 2.2. АУТЕНТИФИКАЦИЯ И БАЗОВАЯ СЕКРЕТНАЯ ИНФОРМАЦИЯ
получения разрешения прохода через брод требовали, чтобы те произнесли пароль “Шибболет”. К сожалению, диалект ефраимитов не имел звука “ш”, и тех, кто произносил пароль неправильно, убивали. В этом случае базовая секретная ин- формация заключалась в различии местных диалектов, и процедура зависела от способности людей произносить слова так, как их произносили джилиды. Сегодня при аутентификации по культурологическому признаку используется информация, которую могут знать друзья, члены семьи, знакомые или коллеги по бизнесу, а все остальные вряд ли. Некоторая секретная информация культуроло- гического плана похожа на биометрику, как, например, дата рождения или родо- словная. Однако часто такая информация общедоступна. Скажем, в свидетельстве о рождении приводится девичья фамилия матери. Но тем не менее многие считают такие данные “секретными” и известными только конкретному лицу. В некоторых случаях сведения личного характера таки обеспечивают страте- гию для практической аутентификации. Хотя на многих Web-сайтах использу- ются имена пользователей и пароли, на некоторых для контроля за теми, кто ими пользуется, также могут применяться своего рода опросники. Например, есть семья, в которой большой дачный дом коллективно используется несколь- кими поколениями. Естественно, вся информация о доме: график отпусков на лето, контактная информация и сделанные прошлым летом фотографии, разме- щаются на семейном Web-сервере. Сервер разрешает доступ только членам семьи и выполняет их аутентификацию, запрашивая информацию, которая вряд ли будет известна другим людям (скажем задаются вопросы типа: “Как мы налива- ли молоко на завтрак?” или “Куда улетел орел?”). Иногда подобная методика может оказаться несостоятельной в результате удачного предположения или из- за нарушений гостей, не являющихся членами семьи. Но тем не менее метод ус- пешно справляется с основной задачей, обеспечивая доступ членам семьи и од- новременно в большинстве случаев защищая семейную личную жизнь. Существенным недостатком аутентификации по культурологическому прин- ципу является то, что она полагается на базовую секретную информацию, кото- рую нельзя изменить, даже если атакующая сторона узнала как ей пользоваться. Хотя библейская история из Книги Судей дальше и говорит о том, что на бере- гах Иордана погибли тысячи ефраимитов, многим, вероятно, были знакомы раз- личные диалекты, и им удалось обмануть джилидов. Аналогично, компании, об- служивающие кредитные карточки, могут быть неоднократно обманутыми целе- устремленными взломщиками, собирающими подробные сведения о своих жертвах. Современная проблема с подделкой личности во многом определяется тем способом, с помощью которого финансовые компании используют секретную информацию культурологического плана для идентификации своих клиентов. Одни постоянно придерживаются использования девичьей фамилии матери, хотя не намного легче изменить, скажем, номер карточки социального страхования или номер водительских прав. Секретная информация, выбираемая по случайному принципу Устройства аутентификации и пароли обладают существенным преимуществом перед аутентификацией по культурологическому признаку, если они содержат случайные секретные данные, которые играют роль базовой секретной информа- ции для аутентификации. Пользователи могут менять свою секретную информа- ция, выбираемую по случайному принципу, если предыдущая теряется, крадется или становится уязвимой для атаки иным образом. Система аутентификации свя- зывает конкретную секретную информацию с каждым именем пользователя и предполагает, что правильную базовую секретную информацию может предоста- вить только авторизованное лицо. Например, пароль представляет собой базовую секретную информацию, которая известна только авторизованным людям. ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 53
Другим примером являются карточки с магнитной полосой. Многие организа- ции выпускают подобные карточки для своих сотрудников и устанавливают в две- рях замки, которые отпираются только такими карточками. Хранимая на магнит- ной полосе последовательность данных и представляет собой базовую секретную информацию. Самое ценное спрятано от глаз, и третья сторона не имеет возможно- сти изготовить дубликат карточки, не зная содержания последовательности дан- ных. Единственными способом извлечения содержания последовательности дан- ных является его получение либо путем считывания с самой карточки, либо путем перехвата данных на пути их перемещения от считывающего устройства. Если владелец теряет карточку или полагает, что она была скопирована, то он может заменить ее новой, содержащей другую базовую секретную информацию. Часто в качестве секретной информации с выбором по случайному принципу выступают номера счетов. Предприятие, выдающее номер, затем использует его для аутентификации легального держателя счета, поскольку никому другому не . известно, какой номер соответствует какому человеку. Большинство сталкивает- ( ся с подобным процессом при получении кредитных карточек. Если владелец j счета боится, что его номер был поставлен под угрозу или кем-то использован без его ведома, то он может связаться с компанией и получить другой номер сче- ; та. Компания же дезавуирует старый номер, предотвращая любое его дальней- шее неправомерное использование. Практическая проблема с секретной информацией, выбираемой по случайно- му принципу, состоит в необходимости ее синхронизации между механизмами аутентификации и пользователями. В отличие от секретных данных, выбирае- мых по культурологическому признаку, здесь не существует способа для взаимо- действующих людей предсказать, какие секретные данные выберет другая сто- рона. В компьютерных системах часто полагаются на физический обмен такими секретными данными. Например, новый пользователь компьютера в компании может получать исходное имя пользователя и пароль на передаваемом из рук в руки листке бумаги, или открытие учетного формуляра будет производится сис- темным администратором в присутствии самого пользователя. 2.3. Паролевая система ОС UNIX Шестидесятые и семидесятые годы стали свидетелями разработки многочис- ленных систем с разделением времени. Раздел 1.3 знакомит с паролевыми функ- циями двух систем: CTSS и RAX, но это были всего лишь примеры таких сис- тем. Паролевые средства защиты породили ряд проблем, которые послужили по- водом для нововведений в многочисленных системах, таких, например, как Мичиганская терминальная система (Michigan Terminal System — MTS), Испол- нительная система для машин PDP-10 (PDP-10 Executive — TENEX), Опция разделения времени компании IBM (Time Sharing Option — TSO) и во многих, многих других. Система UNIX была рождена в конце 1960-х годов в компании Bell Laborato- ries, являвшейся исследовательской ветвью старой империи Bell Telephone. Ее многопользовательские возможности, включая процесс регистрации в системе, были разработаны в начале 1970-х. ОС UNIX начиналась как практичное под- множество системы Multics, представлявшей собой значительно более амбициоз- ный проект, который был попыткой создания многофункциональной, высоко- производительной, надежной и общей по характеру утилиты разделения време- ни. UNIX преследовала более скромные цели, но она вобрала в себя несколько таких важных функциональных особенностей системы Multics, как иерархиче- ская файловая система, управление доступом к файлам на основе имен пользо- вателей и групп и, наконец, хеширование файла паролей (см. примечание 4). 54 2.3. ПАРОЛЕВАЯ СИСТЕМА ОС UNIX
Другой существенной особенностью было то, что как Multics, так и UNIX бы- ли написаны на языках программирования высокого уровня, и в обоих случаях исходный код был сделан достоянием сообщества компьютерщиков. Для систе- мы Multics доступность исходного кода сыграла сравнительно незначительную роль в ее развитии, продвижении на рынке и использовании, что, вероятно, объяснялось использованием в ней очень специальных аппаратно реализуемых функций (см. примечание 5). С другой стороны, ОС UNIX основывалась на типовых функциях существо- вавших на то время архитектур компьютеров, и оказалось, что ее было относи- тельно легко адаптировать для выполнения на вычислительной технике разных типов. Компания AT&T, владелец прав на ОС UNIX, повела разумную лицензи- онную политику в отношении академических пользователей, что вдохновило ис- следователей и студентов на изучение исходного кода ОС UNIX и перенос ее на еще большее количество компьютеров. Преподаватель из Австралии Джон Лай- онз (John Lions) даже опубликовал брошюру, содержащую специально снабжен- ный комментариями исходный код ядра ОС UNIX с перекрестными ссылками на подробное описание. Исходный код ОС UNIX дал сообществу специалистов по операционным системам общий язык для обсуждения различных практических аспектов операционных систем, в том числе и средств работы с паролями. Это в свою очередь сделало эволюцию паролей в ОС UNIX главной темой для широко- го обсуждения, и эта паролевая система является наиболее подробно рассмот- ренной и задокументированной из всех систем того времени (см. примечание 6). Первоначально ОС UNUX работала в “клубной” среде, в которой пароли не использовались. По мере развития системы в нее вошла паролевая аутентифика- ция, и пароли хранились в виде открытого текста в текстовом файле с именем “etc/passwd/”. Доступ к файлу был ограничен и возможен только для пользова- теля “root”. В районе 1973 года в UNIX было введено хеширование паролей. Файл хешированных паролей принес свои выгоды и кроме увеличения степе- ни защищенности. Разработчики ОС UNIX осознали, что в многопользователь- ской вычислительной системе многим утилитам необходимо работать с описани- ем личности пользователя, так что файл паролей делался видимым, и защитные свойства паролей опирались исключительно на тот факт, что хранимые в файле значения паролей хешировались. В отличие от системы CTSS и даже Multics на то время в ОС UNIX использовался относительно сильный алгоритм шифрова- ния, не дававший возможности взломщикам провести обратное хеширование. Такая стратегия обеспечивала адекватный уровень безопасности практически до конца 1970-х годов, пока более быстрые процессоры не сделали устаревшую процедуру хеширования слишком уязвимой (см. примечание 7). Каждая строка текста в файле паролей представляла собой запись для одного пользователя. Каждая запись подразделялась на фиксированное количество тек- стовых полей, разделяемых двоеточием. “Классический” формат файла паролей ОС UNIX появился в продукте UNIX версии 7 и содержал следующие семь полей: jdoe:5YgkEo542mWvc:12:31:John Doe:/home/jdoe:/bin/csh Эти поля давали значительный объем информации для идентификации и ау- тентификации пользователя. Имя пользователя (jdoe) — имя пользователя в текстовом виде, связываемое с записью. Не все имена пользователя связывались с людьми. Был всесиль- ный административный пользователь “root”, а также специальные имена пользователей, связанные с конкретными службами (uucp, ftp и т.д.). Хешированный пароль (5YgkEo542mWvc) — хешированный пароль поль- зователя, снабженный префиксом, имеющим случайное значение (так на- зываемая “соль”. Прим, перев.). (На рис. 2.3 и рис. 2.5 показано, как ис- пользуются “соль” и хешированное значение). ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 55
Идентификационный номер пользователя “UID” (12) — номер, присваи- ваемый данному имени пользователя. Идентификационный номер группы “GID” (31) — номер группы пользова- телей, к которой приписывается этот пользователь. Поле GCOS (John Doe) — поле прочих значений, в котором обычно содер- жится личное имя пользователя. Названо по названию одной из коммерче- ских операционных систем, использовавшихся в Bell Laboratories. Основная рабочая директория(/Ьоше/)<1ое) — личная директория пользо- вателя. Программа оболочки (/bin/csh/) — предпочитаемая пользователем ко- мандная программа. На рис.2.3 показано, как работает процедура регистрации ОС UNIX. Хотя эта процедура и запускается системой с определенными привилегиями, ее среда точ- но такая же, как и у других программ, выполняемых под управлением ОС UNIX. В частности, другие программы не могут входить в используемую ею об- ласть ОЗУ и даже в ту область ОЗУ, через которую осуществляется обмен с внешними устройствами, например с терминалами пользователей. Это немедлен- но блокирует атаки на основе активной разведки, которые были описаны в пре- дыдущей главе. Работа процедуры входа в систему начинается с вывода на экран запроса имени пользователя. Если кто-либо вводит с клавиатуры имя пользова- теля, то процесс регистрации ищет это имя в файле паролей и, если находит, извлекает из файла хешированное значение пароля. Затем программа просит че- ловека ввести пароль. Традиционно длина паролей в ОС UNIX ограничивается восемью символами (их может быть и меньше), хотя в последних версиях допус- каются и более длинные пароли. Программа хеширует пароль и сравнивает ре- зультат с хешированным значением, хранящимся в файле паролей. Если они совпадают, то ОС UNIX регистрирует пользователя. Если процесс терпит неуда- чу, то во многих версиях ОС UNIX предпринимаются шаги, усложняющие жизнь атакующей стороне. Если в файле паролей не содержится записи, согласующейся с именем пользователя, программа выводит сообщение “Пароль неверен”, так что нельзя определить, имеется ли проблема с именем пользователя или с па- ролем. Это делает атаку со стороны посторонних людей более трудной, по- скольку им не дается информация о легальных именах пользователей. Программа регистрации всегда вычисляет хешированное значение для вве- денного пароля, даже если она не смогла найти имя пользователя в файле паролей. Это делается из-за того, что вычисление хешированного значения часто приводит к заметной задержке. И атакующий по отсутствию задержки мог бы сделать вывод, было или нет корректным имя пользователя. Обычно программа регистрации дает пользователю три попытки для ввода правильного пароля. После третьей попытки программа закрывает соеди- нение с пользователем и прекращает свое выполнение. Если посторонний пытается угадать пароль, то это вводит дополнительную задержку в про- цесс, так как ему понадобится время, чтобы восстановить соединение. Каждый раз, когда кто-либо пытается войти в систему, программа регистра- ции делает запись, содержащую данные о том, был ли вход пользователя успешным, или вводились неправильные пароли. Это дает администраторам способ идентификации и отслеживания попыток угадывания пароля. Кроме этих, “классических”, функциональных возможностей механизма па- ролевой защиты ОС UNIX, во многих современных UNIX-системах в процессе 56 2.3. ПАРОЛЕВАЯ СИСТЕМА ОС UNIX
jdoe:5YgkEo542mWvc:12: 31:John Doe:/home/jdoe:/bin/csh croe:14mo31bamRyr7:16:34:Cathy Roe:/home/croe:/bin/csh tdore:Z20Er7LYM8IhE:24:54:Tim Dore:/home/tdore/bin/csh Рис. 2.3. Проверка пароля в ОС UNIX. При попытке человека войти в систему ОС UNIX запускает программу /bin/login. Сначала программа регистрации считывает имя пользо- вателя и извлекает соответствующую запись из файла паролей /etc/passwd. Следующим шагом программа считывает пароль пользователя и хеширует его вместе со значением “соли”, хранящимся в паролевой записи. Если результат совпадает с хешированным зна- чением пароля, находящимся в файле паролей, то пользователь регистрируется в системе. регистрации выполняются дополнительные или совсем иные функции. Некото- рые системы имеют в паролевых записях дополнительные поля, которые раз- личным образом улучшают управление паролями. В большинстве современных UNIX-систем также используются теневые файлы паролей, которые позволяют прятать хешированные значения от взломщиков. Это было ответом на обост- ряющиеся угрозы, которые мы рассмотрим далее. 2.4. Атаки на файл паролей ОС UNIX Поскольку в программе регистрации ОС UNIX предпринимались различные шаги для сопротивления семантическому угадыванию паролей, как то ведение записей попыток входа в систему и введение задержки после неправильного предположения, взломщиками были разработаны стратегии, которые не предпо- лагали использования интерактивного угадывания. Эти стратегии обычно сосре- дотачивались на файле паролей ОС UNIX. Классическая атака всегда начиналась с извлечения копии файла паролей, который был всегда читаемым любым во- шедшим в систему пользователем UNIX. Затем взломщик обычно использовал различные программные средства для угадывания паролей и проверки предпо- ложений на записанных в файле хешированных значениях. ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 57
В отличие от интерактивного угадывания, эта атака не сталкивается напря- мую с таким активным программным механизмом защиты, как программа реги- страции или механизм защиты файла. Взломщику не надо пользоваться ресур- сами жертвы, и он может делать свою работу на любой машине, имеющей соот- ветствующее программное обеспечение для атаки. В первые годы существования World Wide Web поисковые процессоры не- вольно помогали подобным словарным атакам. Некоторые первые процессоры, в частности AltaVista, пытались индексировать каждую Web-страницу путем мо- ниторинга трафика и отслеживания ссылок в ранее проиндексированных стра- ницах. Некоторые первые Web-серверы непреднамеренно “публиковали” в Inter- net большинство своих читаемых файлов, включая и свои паролевые файлы ОС UNIX. Тогда практичные взломщики с помощью поискового механизма выводи- ли все файлы в Web-e с именем “etc/passwd” и получали сотни файлов паролей. Наиболее очевидная семантическая и простая атака на файл хе- шированных паролей заключается в попытке сгенерировать все до- А-13 Ф пустимые пароли и сравнить каждое получаемое в результате хеши- рованное значение с теми значениями, которые содержатся в файле паролей жертвы. Если все пользователи выбирают длинные пароли, то такая атака мето- дом проб и ошибок может закончится успехом только в том случае, если выпол- няются два условия. Во-первых, атака становится осуществимой, если взломщи- ки находят слабое место в шифровании, что уменьшает количество значений, которое им надо будет перепробовать. Во-вторых, атака может иметь успех при достаточно высоких скоростях вычисления. Хеширование по методу М-209 Когда в ОС UNIX впервые начало применяться хеширование паролей, оно выполнялось с использованием процедуры шифрования времен Второй мировой войны (рис. 2.4). Процедура была основана на конструкции шифровальной ма- шинки М-209: механическом устройстве, ранее использовавшемся в американ- ской армии. На вход процедуры поступал открытый текст и ключ, а на выходе получался зашифрованный текст. Разработчики быстро поняли, что они не могли просто шифровать пароль очевидным образом, рассматривая его в качестве открытого текста и используя секретный ключ. Чтобы сделать это, им бы понадобилось встроить ключ в про- грамму регистрации, а способа надежного укрытия такого ключа от взломщиков не было. Любой взломщик, который бы открыл значение ключа, имел бы воз- можность расшифровать весь файл паролей. С другой стороны, если использо- вать в качестве ключа пароль и шифровать какие-нибудь постоянные данные (для этой цели хорошо подходят нули), то тогда не надо хранить секретный ключ в системе. Первой угрозой, которая беспокоила разработчиков ОС UNIX, были неинте- рактивные атаки, заключавшиеся в систематическом вводе всех возможных па- ролей. Было относительно просто сконструировать такую атаку на UNIX- систему, так как необходимые функции (в частности, crypt() ) были легкодос- тупны через библиотеки процедур ОС UNIX. Все пароли имели восемь или менее символов в длину, и практические соображения ограничивали количество ис- пользуемых в пароле печатных ASCII-символов до 95. Это давало пространство поиска, содержащее чуть более 1015 паролей. Большинство UNIX-систем обычно работали на “миникомпьюте- pax”, которые в 1970-е годы были дорогостоящими и не очень рас- пространенными. Практически осуществимые атаки по методу проб 0-13 и ошибок должны были организовываться с одного компьютера. В 58 2.4. АТАКИ НА ФАЙЛ ПАРОЛЕЙ ОС UNIX
начале 1970-х годов самая быстрая UNIX-система была установлена на разрабо- танном компанией Digital Equipment Corporation компьютере PDP-11/70. Функ- ция crypt() была оттестирована на машине 11/70 и показала значение 1,25 мил- лисекунды. Таким образом, выполнение поиска по методу проб и ошибок по всем возможным 95 символьным паролям системы UNIX заняло бы 263 000 лет. К сожалению, большинство пользователей выбирают значительно более простые пароли. Более эффективной стратегией было структу- А-14 9 рирование поиска таким образом, чтобы сначала проверялись более короткие пароли, а более длинные пароли, состоящие из строчных букв, прове- рялись бы раньше более коротких паролей с другими типами символов. Хотя проверка всех возможных паролей из восьми строчных букв все равно может за- нять восемь лет, проверка шестисимвольных паролей займет только 106 часов, и всего 10 минут понадобится для проверки всех четырехсимвольных паролей. По мере совершенствования компьютеров, на которых ставилась система UNIX, проблема быстро становилась угрожающей. Вторая проблема заключалась в том, что сама процедура М-209 не обеспечивала достаточной защиты против атак. Хотя она проти- А-15 9 востояла простейшим атакам, выдержать более серьезные она не могла. После того как исследователи проверили процедуру и обсудили шифрова- ние, они осознали, что в процедуре шифрования была дырка. Взломщикам не надо было пробовать каждый возможный ключ шифрования, чтобы “сломать” шифр и расшифровать защищенные данные. В конце концов несколько студен- тов даже написали пакет для ОС UNIX под названием “Тест для проверки про- грамм-взломщиков функции crypt”, который позволял расшифровывать файлы, зашифрованные по методу М-209. Но к счастью к тому времени процедура рабо- ты с паролями в ОС UNIX уже была переделана и использовала другой метод шифрования (см. примечание 8). Хеширование в соответствии со стандартом DES В 1975 году Национальное бюро стандартов опубликовало стандарт шифрова- ния данных (Data Encryption Standard — DES) и рекомендовало его для шифро- вания важных коммерческих данных. Программно реализованный вариант алго- ритма DES вскоре нашел свой путь в ОС UNIX и стал заменой алгоритма М-209. В отличие от более старых алгоритмов, алгоритм DES использовал преимущества asdf Хранящийся в ОЗУ пароль (8 символов или меньше) Ввод ключа шифрования Ввод открытого текста Процедура crypt! на основе алгоритма М-209 Рис. 2.4. Хеширование паролей в ОС UNIX, первая реализация. Первоначально в ОС UNIX для генерации хешированных паролей использовалась программа шифрования, .основанная на принципе работы военной шифровальной машинки времен Второй миро- вой войны. Поскольку не надо было преобразовывать зашифрованные данные (хеширо- ванные пароли) обратно в открытый текст, то в качестве ключа шифрования использо- вался сам открытый текст пароля и проводилось шифрование постоянного значения (поля, содержащее одни нули). Выход в виде шифрованного текста gkEo542mWvc 0000 Хранящееся в ОЗУ хешированное значение пароля ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 59
почти двух десятков лет прогресса теории информации в приложении к проек- тированию и анализу алгоритмов шифрования. На практике главным преимуще- ством алгоритма DES при хешировании паролей являлось то, что его реализация в ОС UNIX была значительно медленнее, чем более старый алгоритм М-209. Чтобы обеспечить как можно более продолжительное выполнение шифрования пароля ( хотя и не настолько продолжительное, чтобы раздражать пользовате- лей, регистрирующихся в системе), алгоритм DES для выдачи окончательного варианта хешированного пароля выполнял 25 итераций,. Это увеличивало вре- мя, необходимое для атаки методом проб и ошибок, делая ее менее практичной. Чтобы еще больше затруднить атаки по методу проб и ошибок, ф DES-алгоритм был видоизменен с помощью усовершенствованной версии функции crypt(). Разработчики добавили в процедуру еще 0-14 Я один параметр, представляющий собой случайным образом выбираемое 12- разрядное двоичное значение, которое было названо “солью” (рис.2.5). Это зна- чение использовалось для изменения одной из внутренних таблиц (таблицы “Е”), что сделало невозможным использование традиционных реализаций DES- алгоритма для осуществления попыток взлома файлов паролей ОС UNIX. В ча- стности, это предотвратило применение аппаратных реализаций алгоритма DES и особенно тех из них, которые имели в основе специализированные коммерче- ские интегральные DES-схемы. Такая методика обороны с изменением типового алгоритма оказалась успеш- ной в случае ОС UNIX, но так происходит далеко не всегда. Криптографические алгоритмы исключительно сложны в проектировании. Они требуют чрезвычай- ной внимательности и глубокого знания математики, чтобы при модификации не внести фатального их ослабления. Даже квалифицированные криптографы и математики избегают делать подобные вещи, если только выгода явно не пере- вешивает риск (см. примечание 9). Выгоды от медленного нестандартного алгоритма DES ощущались всего не- сколько лет, пока более высокие скорости обработки и более эффективные проце- jdoe:5YgkE0542mWvc:12:31:John Doe:/home/jdoe:/bin/csh Puc. 2.5 Хеширование паролей в ОС UNIX: вторая реализация. В новой методике приме- нялся модифицированный вариант Стандарта шифрования данных (DES). Как и ранее, пароль использовался в качестве ключа шифрования. Однако теперь для осуществления перестановок во внутренней таблице DES-шифроваиия использовалось 12-разрядное дво- ичное число, что делало ее несовместимой со стандартными реализациями алгоритма DES, в частности с теми, где требовались высокие скорости шифрования. 60 2.4. АТАКИ НА ФАЙЛ ПАРОЛЕЙ ОС UNIX
дуры шифрования не возродили угрозу от атак по методу проб и ошибок снова. К концу 1980-х годов производительность UNIX-систем при выполнении DES-версии процедуры crypt() достигла 0,92 миллисекунд. В течение 1990-х годов доминантой в вычислительных средах стала мощь объединенных в сеть настольных компьюте- ров. Это дало в руки потенциальных взломщиков значительную вычислительную мощность, так как теперь они могли работать с неэффективной функцией crypt() одновременно на многих компьютерах сразу и взламывать пароли значительно бы- стрее (табл. 2.1). Однако реальной угрозой для метода хеширования паролей, как оказалось, стали привычки людей в выборе паролей и словарные атаки, которые использовали это слабое место (см. примечание 11). 2.5. Словарные атаки В разделе 2.1 рассказывалось, как взломщики сейфов используют списки наибо- лее вероятных комбинаций при угадывании комбинаций сейфов. Взломщики ком- пьютерных систем могут использовать такую же стратегию в отношении хеширован- ных паролей, пробуя длинный перечень наиболее вероятных паролей. Если речь идет о паролях, то подобная методика называется словарной атакой. Такой подход обеспечивает огромное снижение количества попыток угадывания паролей в сравне- нии с описанными в предыдущем разделе систематическими методами проб и оши- бок. В разделе 3.4 будет описан способ количественной оценки эффективности сло- варных атак. В общем случае такая атака трансформирует неподъемную вычисли- тельную задачу в достаточно несложную (см. примечание 12). Название атаки предполагает, что берется словарь, слова копируются в длин- ный список и затем по одному проверяются относительно хешированных паро- лей. Типовой словарь может содержать где-то от 150 000 до 200 000 слов. Если, как в описанных ранее примерах, каждая попытка занимает приблизительно од- ну миллисекунду, то все слова в большом словаре могут быть хешированны все- го за двести секунд. Если мы возьмем эти 200 000 слов и поменяем в каждом из них буквы наиболее очевидными способами (сделаем первую прописной, все прописными, выполним очевидные замены букв и т.п.), то в результате будем иметь 10 различных вариантов каждого слова. Но и в этом случае обработка все- го словаря все равно потребует чуть более получаса вычислительного времени. Файлы паролей с обыкновенным хешированием были уязвимы it для словарных атак с предварительным компилированием (рис. 2.6). А-16 Ф Чтобы провести такую атаку, взломщик делал один раз обсчет сло- варя и сохранял результаты в большом файле. После этого он мог итеративно работать с захваченным файлом паролей, извлекая хешированное значение из Таблица 2.1. Скорости обработки при угадывании хешированных паролей ОС UNIX (см. примечание 10) Темп обработки предположений в секунду Объект атаки Используемый ресурс Источник данных 0,23333 Программа регистрации 14 интерактивных предположений в минуту Руководство Министерства обороны США 800 Хеширование по алгоритму М-209 PDP-11/70 Моррис и Томпсон 1 092,8 DES-подобное хеширование Sun SPARCStation Фелдмейер и Карн 3 000 DES-подобное хеширование 4 DecStation 3100 Клейн ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 61
каждой записи и проводя поиск по хешированному словарю на совпадение. Если он находил такое совпадение, то по смещению в файле словаря он мог судить о слове из словаря, давшего совпадение с этой записью. Если взломщик использо- вал список кандидатов из 2 миллионов слов, то при 11 байтах хешированного значения на одну запись размер файла словаря получается равным 22 мегабай- там. Хотя в 1970-х годах дисковая память была значительно дороже, чем в на- ши дни, файл размером 22 Мбайт был вполне в пределах возможностей многих пользователей UNIX-систем. Была еще одна проблема, которая решалась благодаря вводу в W Процесс обработки паролей значения случайного числа или “соли”. D-J5 Как описывалось ранее, процесс обработки паролей использовал “соль” для таких перестановок в процедуре DES-шифрования, которые не позво- ляли использовать для взлома паролей UNIX-системы быстрые аппаратные реа- лизации стандартной процедуры. Но процесс имел еще одно положительное следствие, в результате которого существенным образом снижалась ценность предварительной компиляции словарей, а именно: он обеспечивал неоднознач- ность результата хеширования пароля, если использовались разные значения “соли”. Поэтому один и тот же пароль мог находиться в паролевом файле в лю- бом из 4096 вариантов. Случайным образом разнящиеся хешированные значения пароля при примене- нии “соли” получаются следующим образом. При создании нового пароля для пользователя ОС UNIX считывает показания часов реального времени, получая Индекс Открытый текст Индекс 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 D2XBkylVx6U creTWCYiJlg EQqcNFA4wFg EARdwleuBfk nFdGxqcz/B6 Хешированное значение effluvium effort effusive eft egalitarian egan egghead eggplant eggshell ego egocentric jdoe: Хеширование 14mo31bamRY i2uyj DwJDLQ Z7UukTqi862 hQGU8glIRYQ rSKVP9PWMIE cro<L14mo3IbamRy: tdore: c:12:31:John Doe:/home/jdoe:/bin/csh :34:Cathy Roe:/home/croe:/bin/csh : 24 ; 54:Tim Dore:/home/tdore:/bin/csh 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 Рис. 2.6. Атака с предварительной компиляцией словаря. Взломщик составляет словарь слов, которые могли быть использованы в качестве пароля. В данном примере в качестве словаря используется файл /usr/diet/words (справа вверху). Взломщик вычисляет хеши- рованное значение для каждого слова словаря и создает файл атаки (слева вверху). После этого он считывает файл паролей, извлекает по одной паролевые записи и выполняет по- иск в файле атаки совпадающего хешированного значения. В данном случае хеширован- ное значение для пользователя сгое совпадает с хешированным значением, имеющим в файле атаки индекс #7216. Соответствующий индекс в словаре дает значение пароля пользователя сгое (egg). 62 2.5. СЛОВАРНЫЕ АТАКИ
12-разрядное значение “соли”. Это значение передается процедуре crypt() (см. рис. 2.6). Получающееся в результате 11-символьное хешированное значение затем подсоединяется к 2-символьному значению “соли” и заносится в паролевую запись. “Приправленные солью” записи успешно противостоят угрозе, стоящей за ме- тодом предварительной компиляции словаря. Взломщик, конечно, может соз- дать словарь хешированных паролей с включенным значением “соли”, но такой словарь может быть использован только в отношении паролевых записей, в ко- торых использовалось зто конкретное значение “соли”. Полный решимости взломщик, имеющий в своем распоряжении огромные объемы памяти, мог бы составить словарь, содержащий 4096 “посоленых” варианта каждого слова сло- варя. Тогда словарь из 2 миллионов слов потребовал бы более 80 Гбайт памяти. А это значительно превосходило тот объем памяти, который на то время был обычно доступен взломщикам. Другим побочным эффектом от ввода в процесс “соли” было то, что в этом случае трудно выявить ситуации, когда два различных пользователя выбирают одинаковый пароль. Без “соли” конкретный пароль всегда будет давать одно и то же хешированное значение. Если два человека случайно выбирают одинаковые пароли, то другие могли бы обнаружить это, проведя в файле паролей поиск на совпадение хешированных значений. Такая же методика позволила бы выяс- нить, воспользовался ли пользователь тем же паролем с другим своим именем в системе или в других UNIX-системах. Однако благодаря вводу “соли” совпадение хешированных значений паролей маловероятно, так как значения их “соли” скорее всего были разными. 2.6. Интернетовский червь Один из наиболее драматичных инцидентов в предисторический период Inter- net (т.е. до возникновения Всемирной паутины) начался 2 ноября 1988 года примерно в 17:01:59, когда студент выпускного курса Корнуэльского универси- тета запустил программу на своей рабочей станции с ОС UNIX. Программа иска- ла адреса соседних UNIX-компьютеров и затем переходила к попыткам войти в них, используя интернетовские соединения. Не все такие попытки заканчива- лись успехом, но когда какая-нибудь из них удавалась, программа запускала се- бя на новом компьютере и начинала процесс прорыва снова. Это продолжалось до тех пор, пока копии этой программы не начали выполняться более чем на 3000 компьютеров. Программа стала известной под названием “интернетовский червь”, хотя иногда ее называют червь Морриса по имени ее автора Роберта Т. Морриса (Robert Т. Morris) (см. примечание 13). Понятно, что ни автор червя, ни само программное обеспечение не были ав- торизованы на использование большинства систем, которые они наводнили. И тем не менее червь ухитрился проникнуть приблизительно в 5% компьютеров Internet. Червь был успешен благодаря тому, что он автоматизировал основную стратегию, часто применяемую бывалыми взломщиками в атаках на компьютер- ные системы: использовать несколько методов внедрения, приспосабливаться к слабостям намеченной жертвы и быть настойчивым. В частности, червь исполь- зовал четыре метода внедрения (см. примечание 14). Черный ход — червь использовал “черный ход” популярного поч- тового сервера sendmail. Посторонние могли подключится к сер- А-17 W веру по сети, воспользовавшись командой отладки debug, и затем имели возможность выполнять на этой хост-машине произвольные команды. Эта функция была введена для помощи в отладке проблем с электронной по- чтой в узле, и предполагалось, что в более поздних версиях серверного про- граммного обеспечения она будет удалена. К сожалению, она осталась. ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 63
Переполнение буфера — червь использовал ошибку в про- граммном обеспечении сервера “отпечатков” (’’finger” server), А-18 9 существовавшую во многих версиях ОС UNIX. Переполнение буфера позволяло червю вставлять свою собственную процедуру в сервер отпечатков. Поскольку многие системы выполняют программное обеспече- ние сервера отпечатков в привилегированном режиме, то вставленная про- цедура могла затем отключить другие средства защиты и позволить червю войти в систему. Атака, использующая режим взаимного доверия — червь ис- пользовал команды г (см. раздел 8.6) для регистрации в дру- А-19 W гих UNIX-машинах или для выполнения на них других ко- манд. Это работает только в тех случаях, когда две машины или процеду- ры регистрации пользователя на них были сконфигурированы так, чтобы они доверяли друг другу. Такие доверительные отношения были обычным делом во многих вычислительных центрах, так что проникновение в одну машину центра обеспечивало доступ к большинству других машин, уста- новленных на этой площадке. Динамическая словарная атака — Эта атака делала попытку расколоть пароли по хешированным значениям и в букваль- А-20 “ ном смысле использовала словарь, чтобы уменьшить простран- ство поиска. В частности, червь использовал стандартный интерактивный словарь ОС UNIX, к которому был добавлен собственный словарь из 433 слов. В отличие от словарной атаки с предварительным компилированием, описанной в разделе 2.5, такая атака обычно извлекает из паролевых за- писей значение “соли” и использует затем для индивидуальной проверки записей быструю версию процедуры crypt(). Подобная методика позволила раскрыть в некоторых вычислительных центрах до 50% паролей. С подобным изощренным червем бороться очень трудно. Атаки имели успех в первую очередь благодаря тому, что червь программировался быть настойчивым. Уничтожение червя в одном компьютере мето что дает, так как этот компьютер вскоре будет заражен снова. Эффективные решения поистине разрушительны, особенно, если пользователи в значительной степени опираются на компьютер- ные сети. Поэтому первым делом необходимо изолировать уязвимые или инфи- цированные машины от сети. Затем персонал, занимающийся чисткой, должен убить червя на каждой инфицированной машине и поставить заплаты на неза- щищенные места во всех уязвимых компьютерах вне зависимости от того, были они инфицированы или нет (см. примечание 15). После того как интернетовский червь нанес свой удар, группа обороны относи- тельно быстро идентифицировала черный ход, который использовался в атаке. Проблема была в программе отсылки почты, которая стала легендарным источни- ком проблем с защитой в сети Internet. При компиляции этой программы из ис- ходного кода функция отладки debug могла быть включенной или отключенной. Большинство узлов оставили ее активированной, так как просто не знали, что она там есть. Теперь им надо было либо откорректировать программу и переименовать команду, либо перекомпилировать ее с отключенной командой отладки. К сожалению, как оказалось, дыра в утилите отсылки почтовых сообщений была не последней. В 1992 году на некоторых вычислительных центрах, исполь- зовавших систему VAX/VMS компании DEC, обнаружили, что для входа в сис- тему им вовсе необязательно вводить пароль. Достаточно было набрать на кла- виатуре пять произвольных алфавито-цифровых символов, и система регистри- ровала их. Дальнейшее расследование выявило, что взломщик заменил программу регистрации в системе, и новая версия содержала в себе эту дыру. Не 64 2.6. ИНТЕРНЕТОВСКИЙ ЧЕРВЬ
так давно было также обнаружено, что в нескольких коммерческих версиях ба- зы данных Interbase, исходный, над катарай был открыт, имелон встроенный, и код регистрационный формуляр специального пользователя и пароль. Люди, знавшие это имя пользователя и пароль, могли подключаться к любому серверу, на котором выполнялась инфицированная версия пакета Interbase, и иметь пол- ный доступ ко всем таким базам данных (см. примечание 16). Из этого следует вывод: полная нетерпимость по отношению чер- Ж ным ходам. Встроенные “секретные” команды или пароли для чер- В-16 ного хода несут в себе значительно больше риска, чем выгоды. Не- которые, похоже, полагают, что у программистов существует привычка остав- лять черный ход; эта мысль даже была воспета в кинематографе в сцене спора реалистично лохматых компьютерных спецов из кинофильма 1982 года “Воен- ные игры”. Проблема с черными ходами состоит в том, что они имеет неприят- ную привычку открываться в самый неподходящий момент. Специалисты по защите компьютеров считают достаточно заманчивой задачу проектирования системы, которая решает очевидную задачу предохранения от атак взлома. По- пытки же добавить безопасный, но скрытый ход, как правило, значительно уве- личивают сложность системы и общий риск нарушения безопасности. Самая безопасная стратегия — это исключить все черные ходы в существующих систе- мах и избегать продуктов, которые их имеют. Несколько больше времени заняло определение того, что интер- w нетовский червь использовал уязвимость сервера отпечатков. Но как 0-17^31 только это было выяснено, вычислительные центры блокировали эту уязвимость одним из двух способов. Одни приобрели исправленную версию сер- вера отпечатков, который правильно проверял входные данные, гарантируя, что они помещаются в буферы сервера. Другие просто полностью блокировали служ- бу отпечатков, так что взломщики уже не могли посылать в нее запросы. Эта вторая стратегия составляет основу современных Internet-брандмауеров. Хотя такой подход фактически не решает проблему переполнения буферов, он помога- ет контролировать величину риска для Internet-узла. Чем к меньшему количест- ву служб могут обращаться взломщики, тем менее вероятно, что они смогут выйти на такую, которая имеет внутреннюю дыру типа переполнения буферов. Установка брандмауэров также снижает риск, причиной которого являются “г”- комнады, так как брандмауэр способен блокировать такой трафик от внешних и, возможно, враждебных хост-машин. Блокирование посторонним доступа ко всем службам, кроме самых основных, делает узел менее открытым для атаки (см. примечание 17). Естественно, стратегия установки брандмауэров не помогает, если узлу дейст- вительно необходимо обеспечивать доступность уязвимых служб внешним пользо- вателям. Скажем, службы межсетевой электронной почты и сама Всемирная пау- тина теряют много из свой привлекательности, если запрещается такой трафик между компьютерами узла и компьютерами остальной части сети Internet. Однако, такие службы остаются уязвимыми к невыявленным способам нападения по мето- ду переполнения буферов или к другим слабым местам в защите только из-за того, что обе эти службы реализуются большими и сложными программами. В подобных случаях хорошей защитой является инкапсуляция сервера. Этот метод основан на использовании системных механиз- мов защиты для изоляции серверного процесса от остальной части D-18 системы. Сервер по-прежнему может обращаться ко всем файлам и другим необ- ходимым ему ресурсам, но инкапсуляция исключает его доступ к другим сис- темным ресурсам. Это ограничивает потенциальный вред от нападения, так как возможности взломщика будут ограничиваться тем, что может сам сервер. Для обеспечения инкапсуляции серверного процесса в ОС UNIX многие пытаются ис- ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 65
пользовать функцию “chroot()”, хотя такой подход не является защищенным от неумелых действий. Существуют лучшие методики инкапсуляции, но обычно, они недоступны для стандартных коммерческих операционных систем (см. при- мечание 18). У вычислительных центров, атакованных интернентовским чер- ф вем, практически не было средств для блокирования динамических словарных атак на пароли. Единственным быстрым и надежным способом устранения подобной уязвимости являлось бы немедленное изменение всех паролей на такие, которых нет ни в одном из словарей червя. Однако по- добный шаг скорее всего вызвал бы еще больший хаос, чем сам червь. Вместо этого общим решением было побуждение пользователей изменить свои пароли на более длинные и такие, которые труднее угадать. Некоторые организации экспе- риментировали с версиями программы регистрации в системе, которая с целью уменьшения риска словарных атак накладывала на пароли ограничения. В раз- деле 3.5 описываются специальные механизмы получения более сложных паро- лей. Обсуждению влияния выбора пароля на величину других рисков, связан- ных с системой защиты, посвящена глава 6. Другим методом защиты, который был описан ранее и тоже относился к про- блеме атак на пароли, являлось использование теневого файла паролей. Такой подход по сути предусматривал исключение из ОС UNIX классической ее осо- бенности: свободно читаемого файла паролей, содержащего хешированные паро- ли всех пользователей. Вместо этого UNIX-системы содержали два файла, один из которых представлял собой исходный файл паролей, но без хешированных значений паролей, а второй, “теневой” файл, содержал хеши паролей. Исходный файл по-прежнему мог читаться всеми пользователями. Теневая же его версия могла использоваться только такими привилегированными программами, как программа выполнения процедуры регистрации в системе, и системными адми- нистраторами при необходимости обновить информацию о пользователях. Теперь взломщики больше не имели возможности просто взять файл из системы. Для этого им надо было организовать специальную атаку, чтобы сначала обойти за- щиту чтения файла и только потом инициировать словарную атаку. Интернетовский червь оказался переломным моментом в истории средств за- щиты ОС UNIX и сети Internet, но он был не единственным событием, получив- шем резонанс в 1988 году. В ноябре неизвестный взломщик проник в два воен- ных компьютера, воспользовавшись дырой в службе пересылки файлов. Этот инцидент привел к тому, что управление связи Министерства обороны США временно отключило несекретные военные сети от остальной части Internet. Ра- нее в этом же году студент-выпускник астрономического факультета в Беркли Клиф Столл (Cliff Stoll) опубликовал свою статью с описанием преследования злоумышленника через континенты. В конце концов его подвиги были опубли- кованы в бестселлере “Яйцо кукушки". Главным результатом всех этих событий явилось образование команд реагирования на случаи взлома систем защиты. В частности, в университете Карнеги-Меллоуна была сформирована группа реаги- рования на нарушения компьютерной защиты в сети Internet (так называемая группа CERT — Computer Emergency Response Team), в задачи которой входило расследование всех случаев проникновения в частные и коммерческие компью- терные системы. Команды реагирования были также организованы правительст- венными и военными организациями. Например, в Министерстве энергетики США была сформирована консультативная группа по вопросам несанкциониро- ванного доступа в компьютерные системы CIAC (Computer Incident Advisory Ca- pability) (см. примечание 19). 66 2.6. ИНТЕРНЕТОВСКИЙ ЧЕРВЬ
2.7. Противостояние атакам угадывания Выполнение атак угадывания затрудняется, если дать взломщику более ши- рокий диапазон возможных значений базовой секретной информации. Если ка- ждое возможное значение равновероятно, то для успеха атаки угадывания в среднем надо перепробовать половину существующих возможностей. Частично диапазон возможных значений зависит от размера базовой секретной информа- ции. Однако более важно то, что он зависит от количества уникальных значе- ний, которые этот базовый секрет принимает на практике. Относительную ус- тойчивость различных реализаций базовой секретной информации можно оце- нить путем сопоставления среднего количества предположений, которые надо сделать взломщику, чтобы угадать секретное значение. Случайные значения и битовые пространства Устойчивость секретной информации можно оценить путем подсчета общего количества попыток, требующихся для выполнения атаки по методу проб и ошибок. Количество попыток отражает случайность или энтропию конкретной базовой секретной информации. Мы будем измерять энтропию базовой секретной информации по количеству различных значений, которые она может фактически принимать. Это соответствует количеству проб и ошибок, требующихся взлом- щику, пытающемуся угадать базовую секретную информацию, когда все его предположения неверны, исключая последнее. Например, многие модели чемоданов имеют комбинационные замки. Обычно количество цифр в комбинации три. Такие замки обеспечивают диапазон из 1000 различных комбинаций. Так как взломщику необходимо попробовать каждую возможную комбинацию из трех цифр, то мы говорим, что в данном случае энтро- пия равна 1000. Несколько более дорогие модели чемоданов имеют четырехцифро- вые комбинационные замки, что дает взломщикам для проработки 10 000 альтер- натив. Более высокая энтропия обеспечивает базовую секретную информацию большим запасом безопасности с точки зрения возможности угадывания. Хотя значения энтропии в этих примерах относительно малы, практическая базовая секретная информация обычно имеет довольна высокую энтропию. К примеру, используемый в алгоритме DES 56-разрядный ключ может принимать одно wa ^олее ч.ем ЧТ. к.'вадрилъоно'в вначенми, и но мнотих. приложениях, это вчи- тается самым маленьким значением энтропии базового секрета. В книге мы будем оперировать большими числами, поскольку действительно сильный механизм аутентификации часто опирается на числа, которые слишком велики для атаки угадывания по методу проб и ошибок. Поэтому вместо того, чтобы каждый раз спотыкаться на названиях огромных чисел, типа квадрильо- ны или квинтильоны, мы будем говорить о больших числах в терминах битового пространства, то есть количества двоичных битов, необходимых для представ- ления этого числа. Многие опытные программисты знакомы с таким подходом, так как он отражает объем ОЗУ, требующийся для запоминания числа. Таким образом, вместо того, чтобы говорить об энтропии “16 миллионов’’ мы можем сказать, что энтропия составляет “24 бита”, поскольку для запоминания числа 16 миллионов необходимо 24 двоичных бита. Количество битов, требующихся для представления числа можно вычислить, определив значение его логарифма по основанию 2. В нашем примере мы вычис- ляем log2 (16 миллионов) = 23,93. Чтобы учесть неполный бит, всегда следует округлять вверх, и, таким образом, наши вычисления дают 24 бита. На рис. 2.7 показано битовое пространство для четырехразрядного комбинационного замка чемодана: диапазон базовой секретной информации охватывает 10 000 возмож- ных значения, что требует в ОЗУ 14 бит. ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 67
Асимметрия базовой секретной информации Строго говоря, энтропия определяется не только размером базового секрета: она должна также отражать асимметрию или ограничения, существующие для значений базового секрета. Часто асимметрия возникает в результате того, что в действительности люди не ведут себя строго случайным образом, и их действия часто можно отнести к определенным категориям, количество которых вполне предсказуемо. Этот факт достаточно подробно проиллюстрирован в разделе 2.5 на примере словарных атак. Здесь мы обратимся к более простому примеру, не связанному с использова- нием больших чисел: мы исследуем случай четырехразрядных комбинационных замков для чемоданов. Многие владельцы чемоданов имеют привычку выбирать в качестве комбинации дату, а не произвольное четырехразрядное число. Справа на рис. 2.7 показан результат: для нахождения комбинации взломщик должен проверить значительно меньшее количество предположений. Датовая асимметрия значительно уменьшает энтропию для четырехразрядно- го комбинационного замка. Битовое пространство такой асимметричной базовой секретной информации равно количеству битов, необходимых для хранения в памяти одного из 366 возможных значений. Так как log2(366) = 8,23, то для представления диапазона возможных значений нам необходимо девять битов па- мяти. Таким образом, если для комбинации выбираются только даты, то мы имеем всего девять битов энтропии. Это приводит к тому, что четырехразрядный замок имеет меньшую энтропию, чем трехразрядный, если только владельцы по- следних тоже не выбирают в качестве комбинаций даты. Пароли несут в себе очевидный источник асимметрии: обычно они ограничи- ваются использованием печатного текста. Некоторые самые первые паролевые системы не воспринимали паролей, которые не состояли полностью из букв од- ного регистра. Это серьезно уменьшает энтропию базовой секретной информа- ции. Давайте рассчитаем энтропию пароля из четырех букв. S = А! х A2(i) х ... х An S = 264 S = An S = 26 х 26 х 26 х 26 S = 456926 Эти вычисления иллюстрируют типовой подход, используемый для нахожде- ния количества возможных паролей (S) при заданном количестве допустимых символов (А) и при заданной допустимой длине пароля в символах (п). Так что если мы разрешаем использование только 26 различных значений символов (ко- личество букв одного регистра), и все пароли имеют в длину четыре буквы, то количество альтернатив ограничивается числом менее полумиллиона. Для нахо- ждения энтропии снова вычислим логарифм по основанию два: В = log2(Ai х А2(1) х ... х А„) В = log2(456926) В = log2(An) В = 18,80 В = log2(S) В = 19 бит, округлено вверх Эти расчеты наглядно показывают, как асимметрия может повлиять на диапа- зон значений базовой секретной информации. Обычный компьютер будет хранить пароль из четырех букв в виде последовательности из четырех восьмибитовых бай- тов. Таким образом, мы имеем базовую секретную информацию, которая требует 32-битового пространства. Ранее мы определили, что в случае пароля из четырех букв энтропия составляет всего 19 бит. Остальные биты жертвуются, чтобы сде- лать пароли для пользователей более легкими в обращении и запоминании. 68 2.7. ПРОТИВОСТОЯНИЕ АТАКАМ УГАДЫВАНИЯ
Любое четырехразрядное число Только даты из 4 цифр 0 0 0 0 0 0 0 1 0 2 2 8 0 2 2 9 0 2 3 0 12 3 1 12 3 2 5 6 2 9 9 9 9 7 9 9 9 8 9 9 9 9 0 10 1 0 10 2 0 2 2 8 0 2 2 9 0 3 0 1 12 3 1 I1|о|1|1|о|1|1|1|о] Двоичное представление Битовое пространство = 9 бит I 1 |о|о|1|1|1|о|о|о|1|о|о|о|о~] Двоичное представление Битовое пространство = 14 бит Рис. 2.7. Энтропия и размер базовой секретной информации. Рассмотрим комбинацион- ный замок, который может оперировать четырехразрядным базовым секретом. 10 000 возможных комбинаций дают битовое пространство размером 14 бит. Мы можем гово- рить, что энтропия равна 14 битам, пока все возможные комбинации являются равнове- роятными. Но что если в качестве комбинаций выбираются даты? Базовый секрет по- прежнему имеет размер 14 бит, но поскольку он принимает меньшее количество значе- ний, его энтропия изменяется с 14 бит до 9. В известном смысле наши расчеты не учитывают количества возможных па- ролей. Паролевые системы традиционно ориентированы на слова и будут вос- принимать более короткие слова. Мы получили бы более точный результат, до- бавив еще и количество паролей меньшей длины. Однако эти вычисления верны, если система использует паролевые фразы, которые по сути являются такими же паролями, только допускающими наличие пробелов. В рассмотренном выше случае это даст 27 возможных символов вместо 26. Упрощенный способ учета игнорирования более коротких паролей был популярно изложен в Руководстве по управлению паролями, выпущенном Национальным центром компьютерной защиты (NCSC) для Министерства обороны США в 1985 году. Асимметричные сдвиги в распределении необязательно являются фатальным недостатком базовой секретной информации. Если энтропия базового секрета достаточно велика, то его абсолютный размер не оказывает прямого влияния на безопасность. Однако проблема может возникнуть, когда выбираются базовые секреты с относительно малой энтропией, что и показал успех словарных атак интернетовского червя. Дальнейшему рассмотрению влияния асимметрии рас- пределения на степень надежности базовой секретной информации посвящен раздел 3.4. Базовую секретную информацию сложно угадать, если она имеет вы- сокую энтропию. Причем это справедливо даже в том случае, когда энтропия ба- зового секрета значительно меньше самого базового секрета. Именно энтропия определяет его сопротивляемость атакам угадывания. Среднее пространство атаки Простой способ сравнения различных методик аутентификации заключается в том, чтобы посмотреть количество проб и ошибок, которое каждая из них застав- ляет делать взломщика. Например, взломщик, стоящий перед четырехразрядным ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 69
комбинационным замком, должен будет проделать в 10 раз более тяжелую работу, чем взломщик, столкнувшийся с трехразрядным замком. Чтобы сравнить, на- сколько хорошо эти замки противостоят атакам по методу проб и ошибок и опре- делить какова их устойчивость по сравнению с устойчивостью других, мы можем оценить среднее количество проб, которое должен сделать взломщик для выясне- ния базовой секретной информации. Будем называть эту представленную битовым пространством метрику средним пространством атаки. Многим экспертам нравится выполнять такие сравнения, вычисляя продолжи- тельность среднего времени, требующегося для угадывания значения базового сек- рета. Проблема с подобными оценками в том, что они быстро морально стареют. С течением времени компьютеры становятся более быстродействующими, темп про- верки предположений увеличивается, и время угадывания базовой секретной ин- формации уменьшается (см. раздел 5.3). Среднее же пространство атаки, как пока- затель, не включает в себя временной фактор, позволяя сравнивать лежащие в ос- новы механизмы, а не вычислительную технику, используемую в атаке. Каждый элемент, учитываемый в среднем пространстве атаки, представляет одну вычислительную операцию с конечным и до некоторой степени прогнози- руемым временем выполнения, например, это может быть хеширование одного пароля или выполнение одной попытки входа в систему. Когда мы определяем значения границ запаса прочности и при этом речь идет о миллионах или боль- ше, то можно пренебречь различием во времени выполнения двух фиксирован- ных операций, подобных этим. Если все возможные значения базового секрета равновероятны, то тогда в ходе атаки по методу проб и ошибок в среднем необходимо проверить половину этил возможных значений. Таким образом, среднее пространство атаки отражает необ- ходимость поиска в половине возможных значений базового секрета, а не всех. На практике часто распределение выборов людьми паролей в той или иной степени асимметрично. Раз так, то среднее пространство атаки должно отражать то множество паролей, из которого наиболее вероятно будет делаться выбор людьми. В случае четырехразрядных замков чемоданов, нам, вероятно, рассматривать количество возможных вариантов выбора из множества дат учитывать комбинации, использующиеся не так часто. Если мы решаем определять количество вероятных комбинаций, то нам же следует принимать во внимание и вероятность того, что для использов на чемодане будет выбрана одна из этих комбинаций. Тогда величина среднего пространства атаки не дает оценки количества предположений, которые могут понадобиться для угадывания конкретного пароля или другой секретной инфор- мации. Вместо этого она дает оценку вероятности того, что мы можем угадать какую-нибудь секретную информацию, делая случайную выборку для некоторого сообщества людей. Для иллюстрации сказанного, рассмотрим снова четырехразрядный комбина- ционный замок. В идеале это дает 10 000 возможных комбинаций. Но давайте на секунду предположим, что кто-то провел исследование комбинаций замков нг чемоданах людей и выяснил, что 50% всех владельцев чемоданов выбирают е качестве комбинации замка дату. Зная, что существует 366 легальных комбина- ций, представляющих даты (обозначим это количество буквой S), поделим это количество на 2, чтобы отразить факт необходимости проведения поиска в сред- нем только в половине таких комбинаций. Однако в нашем примере нам надо будет сделать в среднем 366 попыток, чтобы учесть еще и половинную вероят- ность того, что владелец использовал в качестве комбинации именно дату (обо- значим эту вероятность буквой L). Тогда среднее пространство атаки (обозначим его буквой V) вычисляется следующим образом: надо и не так 70 2.7. ПРОТИВОСТОЯНИЕ АТАКАМ УГАДЫВАНИЯ
i S V = logj -—- V4.3Ha4Hbli} 3aMOK = log2(366/(2x0,5)) \2xLj ^4-значный замок log2(366) ^4-аначный замок 8,23 Округлив до целого числа, получим величину среднего пространства атаки равную 9 битам. Таким образом, если мы находимся в подвальном помещении аэропорта, то это означает, что нам надо проверить в среднем приблизительно 512 (то есть 29) комбинаций на случайным образом выбираемых чемоданах, что- бы успешно угадать одну из них. С точки зрения оценки среднего пространства атаки вероятность не зависит от того, пытается ли взломщик пробовать последовательность комбинаций на не- скольких чемоданах или каждый раз пытается угадать комбинацию нового че- модана. Пока чемоданы выбираются случайным образом, вероятностная оценка должна быть точной. Единственным случаем, когда это в действительности не работает, является ситуация, когда делается попытка угадать комбинацию для конкретного чемодана. Тут мы сталкиваемся с возможностью того, что конкрет- ный человек мог выбрать комбинацию, не являющейся датой. Среднее пространство атаки позволяет оценить устойчивость паролевой сис- темы по отношению к угрозе словарных атак и в условиях измеряемого поведе- ния людей при выборе пароля. Подробно это обсуждается в разделе 3.4. Потом мы сравним устойчивость паролей для случаев применения других механизмов, например, устройств аутентификации с одноразовыми паролями или открытых ключей. Хотя мы также обсудим среднее пространство атаки и для биометриче- ских устройств, эти цифры не могут сравниваться напрямую с цифрами для па- ролей, так как атаки по методу проб и ошибок в случае биометрики значительно сложнее. Хотя фактор времени был исключен из нашего способа оценки сопротивляе- мости атакам, часто необходимо знать, сколько времени в среднем может зани- мать успешная атака. Выполним оценку среднего времени атаки (обозначим его буквой Г), используя понятие темпа, с которым может делаться отдельное пред- положение. Примеры значений темпа выдачи предположений значений паролей для UNIX-систем были приведены в конце раздела 2.4 в табл. 2.1, так что, без сомнения, можно делать 1000 отдельных предположений в секунду (обозначим этот темп буквой R). Если взять среднее пространство атаки для четырехбуквен- ных паролей 19 бит (обозначим его буквой V), то расчет среднего времени атаки будет выглядеть следующим образом: 2V 2" Т =— Т=------ R 1000 т _524288 1000 Т = 524,3 секунды Вообще, выбор соответствующего метода оценки скорости атаки сродни чер- ной магии. Правильный выбор должен учитывать объем вычислений, который будет доступен взломщику либо на данный момент, либо в какой-нибудь момент в недалеком будущем, когда эта система все еще будет использоваться. Мы вер- немся к этой проблеме в главе 5. ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 71
2.8. Сводные таблицы Таблица 2.2. Сводная таблица атак Атака Проблема системы защиты Характер атаки Описание атаки А-13 Поиск паролей в Восстановление пароля Физическая, Атака методом проб и ошибок, при выполнении автономном режиме пользователя сложная которой генерируется легальный пароль, хеши- руется и сравнивается с хешированным значе- нием пароля жертвы А-14 Структурирован- ный поиск паролей Восстановление пароля пользователя Обычная Упорядоченный поиск по методу проб и ошибок, когда сначала проверяются короткие пароли из строчных букв, затем подставляются прописные буквы, затем проверяются более длинные паро- ли и т.д. А-15 Слабая процеду- Восстанавливается за- Обычная, Находится или строится процедура, которая ис- ра шифрования крытая информация сложная пользует скрытые короткие проходы для взлома слабой процедуры шифрования А-16 Словарная атака с предкомпиляцией Восстановление пароля пользователя Обычная Вычисляются хешированные значения для всех слов словаря. В файле паролей осуществляется поиск хешированных значений, которые совпа- дают с каким-либо хешированным значением из словарного списка А-17 Черный ход Обход средств защиты хост-машины и запуск отобранных программ Простейшая Выполняется “секретная" команда сервера, ко- торая позволяет удаленное выполнение команд А-18 Переполнение Обход средств защиты Обычная, Используется ошибка в серверном программ- буферов хост-машины и запуск отобранных программ сложная ном обеспечении, чтобы заставить сервер вы- полнить некоторый загружаемый код А-19 Атака с исполь- зованием взаимного доверия Маскировка под другого пользователя Простейшая После проникновения в первую хост-машину на- ходится другая хост-машина, которая доверяет ей и позволяет пользователям первой хост- машины иметь доступ без аутентификации А-20 Динамическая словарная атака Восстановление пароля пользователя Обычная Атака по методу проб и ошибок, когда выбира- ется слово из словаря, хешируется с учетом значения “соли" намеченного пароля жертвы и сравнивается с хешированным значением паро- ля жертвы 72 2.8. СВОДНЫЕ ТАБЛИЦЫ
Таблица 2.3. Сводная таблица методов защиты Защита V "3 Срываемые атаки Описание D-13 Увеличение продолжи- А-13 Поиск паролей в автономном режиме Система строится таким образом, чтобы ка- тельности выполнения пробы А-14 Структурированный поиск паролей ждая попытка в атаке методом проб и оши- бок занимала как можно больше времени. D-14 Нестандартные А-13 Поиск паролей в автономном режиме Стандартные алгоритмы осторожно модифи- алгоритмы А-14 Структурированный поиск паролей цируются так, чтобы нельзя было использо- вать для атаки на систему стандартные продукты. Это также может ввести уязвимые места. D-15 Паролевые записи с “солью" А-16 Словарная атака с предкомпиляцией При хешировании к каждому паролю добав- ляется “соль” (случайные данные) и это зна- чение соли сохраняется в соответствующей паролевой записи D-16 Устранение черных ходов А-17 Черный ход Деактивация известных черных ходов и избе- гание продуктов с черными ходами, которые не могут быть деактивированы. D-17 Установка брандмау- А-18 Переполнение буферов Блокирование сетевых служб, так что эров на службы А-19 Атака с использованием взаимного доверия посторонние могут связываться только с теми службами, доступ к которым крайне необходим. D-18 Инкапсуляция сервера А-18 Переполнение буферов Выполнение серверного программного обес- печения в специальной среде, которая огра- ничивает его доступ к остальной части сис- темы. Если взломщик проникает в сервер, то его доступ к остальной части системы огра- ничивается. D-19 Увеличение энтропии А-13 Поиск паролей в автономном режиме Реализуются процедуры, которые базового секрета А-14 Структурированный поиск паролей А-20 Динамическая словарная атака максимизируют величину энтропии базового секрета, используемого для аутентификации. Примеры: увеличение размера базового сек- рета, установление правил, не поощряющих выбор секретной информации из категорий с низкой энтропией (паролей из словарей) D-20 Теневой файл паролей А-13 Поиск паролей в автономном режиме А-14 Структурированный поиск паролей А-20 Динамическая словарная атака Хранение фактических хешированных паро- лей в файле, который защищен от чтения обыкновенными пользователями системы. Предоставление права доступа только при- вилегированным программам, которые в нем нуждаются, например, программам регист- рации в системе или администрирования пользователей Атаки, от которых нет защиты А-15 Слабая процедура шифрования — решение состоит в замене слабой процедуры более сильной. Обсуждение проблемы устойчивости шифрования приводится в разделе 5.3. ГЛАВА 2. ЭВОЛЮЦИЯ ПАРОЛЕЙ МНОГОКРАТНОГО ИСПОЛЬЗОВАНИЯ 73
ГЛАВА 3 Интеграция людей Inter oves locum praesta, Помести меня среди агнцев Et ab hoedis те sequestra И отдели от козлищ Джузеппе Верди, Заупокойная месса, часть II (Судный день) В этой главе... Глава посвящена административным аспектам отношений между людьми и системами аутентификации, в частности между людьми и паролевыми системами. Различные роли людей в вычислительных системах Регистрация пользователей в системе аутентификации Влияние асимметрии выбора паролей Механизмы, налагающие ограничения на выбор паролей 3.1. Роли людей Если посмотреть с точки зрения систем аутентификации, то людей в зависи- мости от их роли можно разделить на три категории. Во-первых, людей можно классифицировать по их отношению к владельцу вычислительной системы. По- том можно выделить людей, которым разрешен доступ к рассматриваемой сис- теме. И наконец, можно выделить людей, которые имеют доступ к информации в тот момент, когда она находится вне контроля со стороны владельца, напри- мер при перемещении по коммерческим линиям связи. Все это позволяет выде- лить следующие группы людей. Свои и чужие — население мира делится на тех, кому владелец в опреде- ленной степени доверяет, и тех, кому он не доверяет совсем. Пользователи и администраторы — люди, которые имеют доступ к ком- пьютеру, делятся на тех, кто пользуется им, и тех, кто поддерживает его работоспособность. Операторы связи и взломщики — к ним относятся люди, имеющие доступ к данным в процессе перемещения. Они делятся на тех, чья работа заклю- чается в перемещении данных между рабочими площадками, и тех, кто при этом осуществляет несанкционированный доступ к данным. Вообще-то существует множество способов классификации людей. Приведен- ный набор критериев соответствует нашей теме обсуждения различных систем аутентификации и позволяет не уклониться в сторону проблем, связанных с управлением доступом. Кроме того, они также отражают способы защиты ин- формации, которые используются на практике предприятиями и организациями.
и чужие Это наиболее общая классификация людей, могущих в принципе иметь доступ к вычислительной системе (рис. 3.1). Свои — это люди, имеющие определенные отношения с владельцем системы. Типичными представителями своих являются наемные сотрудники принадлежащей владельцу организации. К категории своих могут также относиться подрядчики, консультанты или деловые партнеры. Харак- терной чертой, свойственной людям из категории своих, является то, что у них имеется прямая заинтересованность в успешной деятельности организации, т.е. веские основания стараться не нанести вред организации путем кражи, вандализма или шпионажа. Более того, владелец должен полагаться на своих в процессе дея- тельности организации, а те, в свою очередь, используют для выполнения работы активы организации. Таким образом, владелец должен доверять таким людям ак- тивы, а свои большей частью работают на благо организации. Чужие — это люди, которые не имеют подобных отношений с организацией. Чужими могут быть произвольно взятые члены общества, случайные клиенты организации или люди, активно ищущие пути нанесения вреда организации. Подобные взаимосвязи могут достаточно четко прослеживаться в сфере част- ной жизни или в деловых и профессиональных отношениях. Дома, например, своими являются члены семьи и, возможно, прислуга. Для добровольных орга- низации своими будут люди, имеющие в послужном списке работу на благо це- лей такой организации. Однако не всегда так легко провести различие между своими и чужими. В школах, например, ученики часто должны рассматриваться в качестве чужих, так как их цели и мотивы отличны от целей и мотивов преподавательского состава. На предприятиях для обеспечения лучшей защиты особенно привлекательных объектов тоже может осуществляться деление на своих и чужих между теми со- трудниками, которые связаны с выполнением особо чувствительных операций, как, например, начисление заработной платы, и всеми остальными. Наличие различия свой/чужой не гарантирует безопасности. Дан- ные исследования, выполненные Федеральным бюро расследований А-21 9 США показывают, что именно свои несут ответственность за значи- ? тельную часть финансовых преступлений: в 1980-х годах до 60% таких преступ- лений было совершено своими. 31% участников финансируемого ФБР и Инсти- тутом защиты информации в компьютерных системах (Computer Security Insti- tute, CSI) ежегодного опроса по поводу инцидентов, связанных с попытками взлома защиты компьютерных систем, указали, что источником атак, которым они подверглись, были их собственные внутренние системы (см. примечание 1). Все хакеры, атаковавшие систему CTSS Массачусетского технологического ин- ститута (см. раздел 1.3), были из категории своих, хотя большинство обозревате- лей согласны, что их цели не были злонамеренны или деструктивны. В отчете за 1966 год администраторы системы CTSS указали, что, несмотря на несколько до- вольно успешных атак на средства защиты системы CTSS, предпринятых второ- курсниками, серьезных случаев мошенничества или разрушительных действий не было. Хотя их поведение и не отличалось корректностью, хакерам того времени было присуще чувство принадлежности к когорте своих (см. примечание 2). Атаки от своих представляют собой особенно серьезную проблему, так как компьютерные механизмы защиты не могут обеспечить прямой защиты от по- добных атак. Эффективные средства защиты должны быть заложены в сами сис- темы предприятия и приложения. Существует два принципа проектирования, которые обычно играют роль таких средств защиты: принцип разделения обя- занностей и принцип наименьшего количества привилегий. L ГЛАВА 3. ИНТЕГРАЦИЯ ЛЮДЕЙ 75
Чужие По умолчанию чужими являются все, кто не связан с предприятием Свои Рис. 3.1. Свои и чужие. Свои обычно имеют прямой физический доступ к ресурсам пред- приятия, включая компьютеры. Предприятие наделяет отдельных людей доступом для выполнения своей работы или других ролей в рамках предприятия. Чужие не имеют та- кой роли или производственных заданий и, соответственно, имеют весьма ограниченный доступ или ие имеют его вообще. Разделение обязанностей означает, что процесс проектируется > таким образом, чтобы отдельные шаги выполнялись отдельными п 21 людьми. В конце главы 1 мы уже упоминали о роли этого принципа в снижении риска ядерной катастрофы: ни один человек в одиночку не сможет привести в действие ядерное оружие, поскольку механизм активируется дейст- виями нескольких человек, которые работают независимо друг от друга. Во мно- гом похожий, хотя и менее драматичный пример, можно найти на крупных предприятиях: в бухгалтерии процесс осуществления платежей обычно органи- зуется в виде двух или более операций, которые выполняются разными людьми. Например, требующие оплаты товары могут обрабатываться одним человеком, чеки выписываться другим, а сверку аннулированных чеков делать третий. Это снижает риск случаев незаметных выплат людьми средств из фондов компании самим себе. Принцип разделения обязанностей в компьютерных системах часто реализуется на уровне прикладных программ: автоматическая система генерации закупочных заказов, как правило, требует, чтобы различные этапы этого про- цесса выполнялись различными людьми. Принцип наименьшего объема привилегий означает, что людям > выдаются разрешения и привилегии в объеме, необходимом им для выполнения производственного задания, не больше и не меньше. Ес- ли обратиться к примеру с бухгалтерией, то это означает, что человек, который занимается сверкой аннулированных чеков не имеет доступа к чистым бланкам чеков. В вычислительной системе это обычно означает, что люди, работающие над проектом А, не имеют права доступа к файлам проекта Б. Пользователи и администраторы Идентифицировав людей в качестве своих и тех, что являются авторизован- ными пользователями компьютеров, далее мы их разделяем в соответствии с их обязанностями по отношению к этим компьютерам (рис. 3.2). Пользователи — это люди, которым компьютерные системы помогают выполнять полезную рабо- ту для владельца. Компьютерная система для пользователей является тем инст- рументом, который обеспечивает выполнение работ. Часто для ограничения того, что отдельный пользователь может делать на компьютере, используются меха- низмы управления доступом. Система дает пользователям разрешение на ис- пользование тех компонентов, которые требуются для выполнения обычной ра- боты, и запрещает доступ к другим компонентам, в частности к тем, которые поддерживают целостность системы. 76 3.1. РОЛИ ЛЮДЕЙ
Администраторами называются люди, которые несут ответственность за ра- ботоспособность и целостность компьютерной системы. Владелец системы назна- чает зту роль администраторам и те выполняют ее от имени владельца. Как пра- вило, администраторы имеют неограниченный доступ к некоторым или всем элементам компьютерной системы, так что они имеют возможность устранять любые возникающие проблемы. Во времена централизованных мэйнфреймов это давало админи- л* страторам полный доступ, позволяя им быть соучастниками в махи- А-22 9 нациях или присвоении чужих средств, и подобное иногда случа- лось. Дон Паркер (Donn Parker) описал один случай из 1960-х годов, когда бух- галтер основал собственное вычислительное бюро и продавал его услуги своему же работодателю. Бухгалтер создал целую систему с явной целью присвоения денег этого клиента и для реализации этой схемы использовал свое положение администратора и владельца бюро. В конце концов расхитителя поймали, но только благодаря тому, что он захотел уволиться и мог прекратить работу схе- мы, только засветив ее (см. примечание 3). Риск от коррумпированности администраторов может быть уменьшен не- сколькими способами. Одним из очевидных подходов является разделение обя- занностей: выполнение критически важных для предприятия функций делится между двумя или более компьютерами, и различным компьютерам назначаются разные администраторы. Если при этом воплотить еще и концепцию наименьше- го количества привилегий, то администраторы будут иметь доступ только к тем системам, которые назначены им непосредственно. Это приводит к ситуации, ко- гда злоупотребление требует сговора двух или более людей, что значительно снижает степень риска. Снизить риск можно также за счет организации хорошего прото- > колирования. Всякий раз при выполнении компьютерной системой р важного шага в чувствительной области она должна заносить это со- бытие в журнал проверки. Например, когда бухгалтер сообщает системе о необ- ходимости осуществить платеж поставщику, журнал проверки должен иденти- фицировать транзакцию и выполняющего ее бухгалтера. Позднее аудиторы ком- пании смогут просмотреть журнал и сопоставить отдельные транзакции, обеспе- чивая тем самым их аутентичность. Учет действий людей снижает риск. Хотя ситуация меняется в зависимости от времени и места, но администраторы часто слишком заняты, чтобы способствовать прибыльным растратам и полностью за- метать их следы. Рис. 3.2. Роли пользователя и администратора. Пользователями называются люди, кото- рые имеют доступ к вычислительным системам для выполнения работ, отвечающих це- лям предприятия. Администраторы же обслуживают компьютерные системы. Объедине- ние ролей приведет к возникновению конфликта интересов и обделению ресурсами других пользователей компьютерной системы. ГЛАВА 3. ИНТЕГРАЦИЯ ЛЮДЕЙ 77
В компьютерных системах пользователи и администраторы играют совершенно различные роли. Владельцы должны избегать перекрытия Д-23 9 этих ролей насколько это возможно, так как подобное перекрытие может привести к перекосу административных приоритетов. Например, админист- ратор, который делает для компании дополнительную работу, может соблазниться и отдать более высокий приоритет неадминистративной работе, так как админист- рирование представляет собой накладные расходы, тогда как другая работа может приносить доход. У менеджеров наступают тяжелые времена, когда им приходится выслушивать жалобы на администраторов, которые сосредотачиваются на работе, приносящей доход, вместо того, чтобы тратить больше времени на сопутствующие работы. К сожалению, в этом случае администраторы начинают пренебрегать зада- чей поддержания целостности системы, чтобы удовлетворить более срочные цели. Например, объединенный в одном лице пользователь/администратор может под- вергнуться искушению отключить или обойти средства управления защитой ин- формации при выполнении “более важных задач”, а такие действия могут под- вергнуть риску другие компьютерные активы. Поэтому безопаснее избегать созда- ния подобных соблазнов на пути администраторов. Операторы связи и взломщики Здесь мы проводим различие внутри определенной группы чужих: людей, ко- торые имеют доступ к частным данным организации при их перемещении по коммерческим каналам связи от одной рабочей площадки к другой. Оператора- ми связи являются люди, которые обеспечивают услуги связи; к подобным ком- паниям могут относиться телефонные компании, провайдеры Internet-услуг (ISP), кабельные компании или другие подобные организации. Обычно операто- ры — это профессиональные сотрудники, которые имеют доотуп к данным орга- низации в момент их перемещения из одного места в другое. Взломщиками называются люди, которые имеют несанкционированный дос- туп к информации в коммерческих каналах связи. Вторжение и перехват дан- ных приняли массовый характер с первых дней возникновения Internet. Это да- же дало повод некоторым обозревателям заявить, что передача данных по Inter- net равнозначна их опубликованию в газете. Реальность, конечно, не настолько мрачна, но все равно обмен данными по Internet остается весьма уязвимым. По- сле известного инцидента 1994 года стали публиковаться регулярные отчеты о взломщиках, инсталлирующих программное обеспечение для определения паро- лей в основных узлах ISP (см. примечание 4). Традиционные средства связи тоже не защищены от проникновения взлом- щиков. Люди, проникающие в международную телефонную систему и называе- мые телефонными взломщиками (phone phreaks), обсуждаются в разделе 8.2. Хотя крупномасштабные проникновения, возможно, впервые были осуществле- ны через телефонную систему, более ранние технологии связи тоже не были сво- бодны от риска. Во времена телеграфа чужие обычно не пытались проникать пу- тем взлома, поскольку те, кто был знаком с технологией, всегда могли найти хорошо оплачиваемую работу в качестве своего, но это означало, что подслуши- вание и мошенничества должны были делаться сотрудниками оператора связи. Примеры мошенничества с помощью средств связи восходят еще к оптическому телеграфу 1830-х годов. В одном случае биржевые игроки заставили операторов вставлять определенные комбинации ошибок передачи, которые бы показывали направление движения цен на Парижской фондовой бирже ( что было первым до- казанным случаем “скрытого канала” в цифровой связи). Естественно, сегодня с появлением Internet, когда почти каждый может стать провайдером Internet- услуг, проблема проявляется еще ярче. В конце 1999 года агентство Associated 78 3.1. РОЛИ ЛЮДЕЙ
Press сообщило о книготорговце, пойманном на просматривании электронной поч- ты конкурентов: книготорговец организовал поставку другим книготорговцам про- вайдерских услуг и пользовался своей ролью оператора связи (см. примечание 5). Роли людей не дают прогноза поведения: они только идентифицируют их ве- роятное поведение. И тем не менее роли важны, так как они часто отражают подлинные нужды людей в доступе к компьютерной системе. 3.2. Регистрация пользователей Первым шагом в превращении системы аутентификации в действительно ра- : ботающую систему является назначение авторизованным пользователям имен ' пользователей и отличительных характеристик. Для большинства владельцев назначение имен пользователей проблемы не составляет: это могут быть некие инициалы и фамилии или алфавитно-цифровые идентификаторы, назначаемые последовательно или случайным образом. Более сложной проблемой является назначение каждому авторизованному пользователю отличительной характери- стики. Владелец всегда хочет зарегистрировать каждого авторизованного пользо- вателя с минимумом неудобств и при этом избежать выдачи по ошибке доступа неавторизованным лицам. Если владельцу системы необходимо раздать пароли , или другие базовые секреты, то эти секретные данные не должны попасть в руки ! взломщиков. Процесс регистрации всегда представляет собой балансирование между безопасностью и удобством. В процессе регистрации для нового пользователя создается учетная запись. Существует база данных, в которой содержится учетная информация, относя- ; щаяся к этому пользователю и включающая в себя имя пользователя, пароль, । разрешения, статистику использования им ресурсов и т.д. Система должна огра- > ничивать использование этого файла, чтобы гарантировать наличие в нем только тех записей, которые авторизованы владельцем. Широкий круг пользователей может иметь ограниченный доступ к такому файлу для внесения изменений пер- сонального характера, как, например, конфигурационные предпочтения. Как , дань традиции в ОС UNIX широкому кругу пользователей разрешено выполне- ние программ, осуществляющих поиск в файле учетных записей с целью под- тверждения имен пользователей (см. раздел 2.3). Обычно ОС UNIX предоставля- ет подобный сервис, используя специальную копию файла, в которой отсутствует такая чувствительная информация, как хешированные пароли. Но, как правило, никто не может добавлять пользователей или обновлять произвольную инфор- . мацию в пользовательских записях, кроме администраторов, которые специаль- но авторизованы на выполнение таких операций. Существует три общих подхода к осуществлению регистрации пользователей: , самоаутентификация, регистрация с личным присутствием и назначение началь- ных базовых секретов. Первые два подхода будут рассмотрены в данном разделе, sa подход с назначением начальных базовых секретов будет рассматриваться в ; разделе 3.3. Все это будет проиллюстрировано на примере того, что должно про- ' исходить с пользователем по имени Тим при установлении для него имени поль- зователя и отличительной характеристики. Самоаутентификация Самоаутенификация предусматривает, что отличительные характеристики ‘ для своей аутентификации люди устанавливают себе сами. Имеется два общих ' подхода к начальному конфигурированию учетных записей пользователей при самоаутентификации; без установления начального пароля и с установлением ! начального пароля по умолчанию. i ГЛАВА 3. ИНТЕГРАЦИЯ ЛЮДЕЙ 79
Подход без установления начального пароля Можно сказать, что это самый простой подход. Владелец регистрирует Ти- ма в качестве нового пользователя, назначив ему имя пользователя. Тим может войти в систему в любое время, когда пожелает. Его учетная запись не защищена, но у него есть выбор создания для нее пароля в любое вре- мя. Такой подход имеет длинную историю, поскольку использовался еще в системе “Титан” — одной из первых систем с разделением времени в Кем- бриджском университете. Очевидной проблемой подобного подхода, в частности, в боль- ших по размеру средах, является то, что он облегчает непра- А-24 W вомерное использование учетной записи. Всегда существует множество людей, которые не будут использовать пароли до тех пор, пока этого от них не потребуют. А чтобы воспользоваться такими учетными за- писями, взломщикам необходимо знать только имя пользователя жертвы. Если Тим не устанавливает на свою учетную запись пароля, то он никак не узнает, просматривал ли или видоизменял кто-нибудь его файлы. В об- разовательном учреждении это вызывает очевидную проблему списывания домашних заданий и другие формы плагиата или проделок. Еще хуже то, что взломщик может украсть учетную запись Тима, установив пароль, который будет неизвестен Тиму. Он, А-25 W конечно, сможет забрать свою учетную запись у взломщика, связавшись с владельцем системы или администратором, но все это время компьютером пользоваться Тим не сможет. Подобный подход, вероятно, приемлем в “клубной” атмосфере заслужи- вающих доверия людей, особенно если в системе содержится мало такого, что может вызвать интерес у взломщиков. Он может быть также пригоден в ситуациях, когда физические средства безопасности защищают систему от несанкционированных или просто необученных пользователей. Подход на основе пароля по умолчанию Устанавливая пароль по умолчанию, владелец усложняет жизнь > взломщикам и может предотвратить некоторые случаи кражи учетной записи. Если взломщик не знаком с местными проце- 4 дурами, то ему не известен пароль по умолчанию. Это снижает риск неправомерного использования или кражи учетной записи. Эффективность паролей по умолчанию в действительности зависит от того, кто атакует систему. Если взломщики — люди из коллектива (как это обычно бывает в случае систем в образовательных учреждениях), то им уже скорее всего известен пароль по умолчанию, Такой пароль может обеспечить достаточный уровень защиты в среде не очень сложного бизне- са, когда вычислительная система не управляет дорогостоящими ресурса- ми. В таких средах основная угроза исходит от чужих, для которых веро- ятность узнать пароль по умолчанию невелика. Наиболее широко распространенным и практичным применением паролей по умолчанию является их использование в новом оборудовании. Вместо предварительной регистрации пользователей изготовители вводят встроен- ные имена пользователей, подобно тому как на серверах с ОС UNIX вво- дится имя “root” или имя “Administrator” в серверах с ОС Windows. С це- лью обеспечения некоторой секретности такие учетные записи могут иметь заранее определенные пароли по умолчанию, описанные в документации по инсталлированию. Владелец избегает кражи таких учетных записей пу- тем изменения соответствующих паролей перед постановкой системы в он- лайновый режим. 80 3.2. РЕГИСТРАЦИЯ ПОЛЬЗОВАТЕЛЕЙ
Типичная проблема подхода на основе паролей по умолчанию описывалась в разделе 2.1: слишком часто оставляют пароль А-26 по умолчанию, не меняя его. Если пароль по умолчанию не изменяется, то у взломщиком имеется легкий путь для проникновения в систему. Подобные пароли достаточно хорошо известны среди тех, кто за- < нимается атаками на системы, аналогично тому, как взломщикам сейфов хорошо известны списки “комбинаций-кандидатов”. В хорошо спроектированной системе процедура начальной настройки I должна вынуждать выполняющего инсталляцию человека (Тима, напри- мер) заменить все пароли по умолчанию, поставленные вместе с системой, f Она даже могла бы заставлять его убирать предварительно заданные имена ! пользователей и заменять их своим собственным (или именами для его • персонала или коллег), но такое встречается редко. Хотя самоаутентификация слабенько работает в ситуациях, связанных с Г коллективным использованием базовых секретов, она имеет сходные чер- j ты с процедурой регистрации в случае использования систем с открытым i' ключом, описание которых приводится в главе 13. В системе с открытым ключом Тим может самостоятельно сгенерировать секретную часть откры- j того ключа и сообщить открытый ключ владельцу системы в процессе ре- [ гистрации в качестве пользователя. Открытый ключ играет роль отличи- k тельной характеристики, которая не зависит от секретности. Однако этот I, процесс не является защищенным от неправильного использования, и сама процедура регистрации открытого ключа связана с определенным риском. Регистрация с личным присутствием [ В соответствии с этим подходом люди при начальном конфигури- W б ровании учетной записи пользователя должны встречаться с вла- 25 F дельцем или администратором системы. Это исключает риск непра- | вомерного использования и кражи учетной записи, а также снимает необходи- I мость в паролях по умолчанию. Тим при регистрации может представлять свою I отличительную характеристику непосредственно системе аутентификации, не I раскрывая ее администратору. । Регистрацию с личным присутствием часто используют биометрические сис- | темы. Здесь регистрация подобна получению пропуска с фотокарточкой: Тим I должен представить себя соответствующему оборудованию, чтобы снять соответ- I ствующие биометрические показатели. Затем эти показатели обрабатываются с I целью создания отличительной характеристики для системы аутентификации. I С точки зрения безопасности принципиальным преимуществом является то, I что регистрация связана с физическим присутствием настоящих людей, а не с передачей листков бумаги или обменом электронными данными. Администратор I может лично видеть Тима и сравнить его с другой информацией, которая из- I вестна о нем, чтобы убедиться в идентичности. Осмотрительный администратор I даже может попросить предъявить какой-нибудь удостоверяющий личность до- I кумент, например, водительские права, если бэйджик сотрудника компании по- I кажется ему не достаточно авторитетным. I Единственный риск может возникнуть в том случае, если у взломщика доста- I нет смелости попытаться физически выдать себя за сотрудника. Не многие лю- ди, которые занимаются атаками на компьютеры, решаются на подобное, так I как они не очень уютно себя чувствуют, имея дело с людьми лицом к лицу, и I поэтому этот подход отпугнет таких взломщиков. С другой стороны, взломщики со склонностью к социальному инжинирингу, возможно, будут совсем не против принять вызов, и такие люди, вероятно, представляют наибольшую угрозу. I ГЛАВА 3. ИНТЕГРАЦИЯ ЛЮДЕЙ 81
3.3. Назначение начального секрета Рассмотренные ранее случаи часто приводят к крайностям с точ- ки зрения безопасности и удобства: самоаутентификация удобна, но 2g небезопасна, тогда как регистрация с личным присутствием безопас- на, но неудобна. Наиболее часто встречающийся компромисс состоит в том, что владелец назначает пользователям начальные секретные значения. Владельцы могут назначать либо секреты, выбираемые случайным образом, либо использо- вать в качестве таковых культурологическую информацию. Давайте рассмотрим обе эти альтернативы. Секрет, выбираемый случайным образом Чтобы зарегистрировать Тима в качестве нового пользователя, владелец соз- дает для него имя пользователя и базовый секрет. Затем владелец сообщает ему эту информацию, принимая меры предосторожности, чтобы не произошло утеч- ки секретных данных потенциальным взломщикам. Подобный подход весьма популярен в среде бизнеса. Будучи новым сотрудни- ком, Тим заполняет формы с запросом на использование корпоративных систем. Информационное подразделение посылает ему имя пользователя и начальный пароль, которые обычно запечатываются в непрозрачный конверт с пометкой “Лично в руки и конфиденциально”. Конверт должен препятствовать возможно- сти подмены, а Тим обязан немедленно сообщить, если конверт был вскрыт до того, как он его получил. Такая технология используется банками при доставке значений случайным образом генерируемых персональных идентификационных номеров (PIN-кодов) для новых кредитных карточек. Такой подход также часто используется в образовательных учреждениях, ко- гда студентам открываются временные учетные формуляры в системе с разделе- нием времени для использования конкретной учебной группой. Системные ад- министраторы обычно генерируют пакет учетных формуляров для группы и рас- печатывают на карточках имена пользователей и пароли. Затем преподаватель раздает их студентам группы. Даже если эти данные попадут в руки людей, не входящих в группу, они все равно теряют срок годности с окончанием семестра, чем снижается потенциальная угроза потери или использования не по назначе- нию. Однако в подобных случаях редко возможна организация учета на персо- нальном уровне, так как преподаватель обычно не ведет записей о том, какое имя пользователя оказалось в конечном итоге у какого студента. Хотя такой подход популярен при применении паролей, он также является обычной процедурой и в случае аутентификации с использованием устройств ау- тентификации. Устройство аутентификации содержит в себе базовый секрет пользователя, и владелец должен доставить это конкретное устройство нужному пользователю. Однако, в отличие от пароля, в этом случае взломщику значи- тельно сложнее разведать базовый секрет. Обычно ему надо будет украсть само устройство аутентификации. Культурологический секрет В соответствии с этим подходом владелец берет какую-нибудь секретную ин-' формацию о Тиме и использует ее в качестве секретных данных для аутентифика-J ции. Например, владелец может использовать в качестве начального пароля та-] бельный номер Тима или девичью фамилию его матери. При первой попытке вос- пользоваться системой инструктор может сообщить ему, какая информация была, использована для начального пароля, не называя самого пароля как такового. 82 3.3. НАЗНАЧЕНИЕ НАЧАЛЬНОГО СЕКРЕТА
Если владелец особенно озабочен возможностью имперсонификации, то сис- тема аутентификации наложит ограничения на начальный пароль Тима. При первой регистрации в системе с этим паролем она заставит его выбрать другой пароль, поскольку культурологические секреты слишком легко раскрываются. Кроме того, система также установит Тиму временной предел изменения пароля. Если он вовремя не изменит пароль, то она заблокирует учетную запись и потре- бует пройти процесс регистрации в качестве пользователя снова. Риск кражи учетной записи Тима будет возрастать, если она будет оставаться без применения защищенной только культурологическим секретом Тима. Культурологические данные широко используются при регистрации пользо- вателей и аутентификации в Web-ориентированных системах. Перед завершени- ем сделки купли-продажи коммерческие Web-серверы обычно запрашивают дан- ные о фамилии покупателя, номере кредитной карточки, сроке ее действия, ад- ресе, на который следует выставлять счет и номере телефона. В основе теории лежит предположение, что взломщик может собрать часть этих данных, но ма- ловероятно, что ему удастся получить их все. Например, тот, кто украл кредит- ную карточку, может не знать адреса выставления счета жертвы или знать его, но не иметь телефонного номера. Если вору удастся перехватить отчет о движе- нии средств на кредитной карточке, то такой отчет не содержит сведений о дате истечения срока действия карточки или телефонном номере. Более того, недоб- росовестные Web-продавцы не смогут выдать себя за клиента, поскольку компа- нии, обслуживающие кредитные карточки, настаивают на предоставлении до- полнительных данных, когда им самим приходится аутентифицировать клиента через Internet или по телефону. Регистрация новых пользователей с применением Web-технологии была также приспособлена и для создания учетных записей в корпоративных системах. Такие системы используют культурологические секретные данные о сотруднике для на- чальной аутентификации в порядке, описанном выше. Но вместо простого исполь- зования базового секрета в качестве начального пароля, первый применяется для защиты более сложного процесса регистрации, который позволяет устанавливать пароли и задавать другие отличительные характеристики для разных систем. Изменение начального пароля Обычно необходимо менять начальный пароль, особенно если это пароль по умолчанию или пароль, основанный на культурологическом секрете. Система с повышенным уровнем безопасности будет требовать изменения практически всех начальных паролей, просто исходя из предположения, что их касалось значи- тельно больше людей, чем пользователи думают. Кроме того, пароли иногда ме- няют и из других соображений, так что важно исследовать, как это обычно де- лается и что стоит за этим. Изменение пароля штука хитрая. Обычно процесс изменения пароля отража- ет наихудший вариант среды с точки зрения безопасности: подглядывание через плечо, разведка с использованием излучения ван Эка и предвидеотерминалы, ре- гистрирующие все в бумажных распечатках. Как правило, процесс просит поль- зователя, например, Тима, ввести сначала текущее значение пароля. Если па- роль правильный, то его приглашают дважды набрать на клавиатуре новый па- роль. Система принимает пароли, старый и новый, таким образом, что они остаются невидимыми кому бы то ни было, включая Тима. Ниже показан при- мер процедуры изменения пароля, типичной для UNIX-систем: tpasswd Enter old password: old-password Enter new password: new-password ГЛАВА 3. ИНТЕГРАЦИЯ ЛЮДЕЙ 83
Retype new password: new-password Password successfully changed. % Ни старый пароль old-password, ни новый — new-password на экран н выводятся. В UNIX-системах вывод символов на экран при получении пароле просто блокируется. В других системах, как, например, Windows или Macintosl реально набираемые символы замещаются одинаковыми значками х или черны ми точками. Очень немногие системы выводят на экран набираемый пароль, хс тя в некоторых ситуациях это даже имеет свои положительные стороны (сл раздел 6.3). Процесс скрытия пароля имеет в своей основе древнюю традицию, восходящу, к началу использования принципа разделения времени, когда люди пользовалис печатными терминалами. Почти все, что пользователь набирал во время сеанса разделением времени, появлялось в виде кучи бумаги, распечатываемой термин» , лом. Когда система запрашивала пароль (новый или измененный), она печатал либо “маску” из символов (рис. 1.4 в разделе 1.3 дает пример этого), либо отклк чала режим эхо-вывода для каждого символа, набираемого человеком. Кроме тоге точки подключения к системе с разделением времени обычно размещались в пере полненных терминальных залах и компьютерных лабораториях. Понятно, чт подглядывание через плечо и выброшенные копии распечаток, содержащих проце дуру входа пользователя в систему, представляли собой реальную проблему. Процедура изменения пароля просит Тима ввести новый пароль дважды п той причине, что ему не видно что он печатает. Благодаря вводу пароля второ: раз снижается риск набора Тимом пароля с ошибками, которых ему не видно Более того, двойной набор пароля дает Тиму немного более высокий шанс за помнить выбранное им значение. Однако, как обсуждается в разделе 6.1, это вс равно создает реальную проблему для памяти большинства людей. 3.4. Энтропия и выбор пароля пользователя В разделе 2.7 мы рассматривали, как асимметрия в выборе базовых секрета может уменьшать их энтропию. Если в качестве секрета люди всегда использую состоящие из четырех цифр даты, то среднее пространство атаки падает с 14 д 9 бит. Подобной асимметрией часто заражены и пароли, поскольку люди знача тельно чаще выбирают и запоминают слова, чем менее прогнозируемые последо вательности символов. Многочисленные исследования поведения пользователе) показали, что большинство выбирает в качестве пароля запоминающиеся слова. Если выбор паролей особенно неудачен, то взломщики могут угадывать их вполне приемлемой скоростью. Существует легенда об университетской системе разделением времени, администратор которой провел исследование выбора пароле) пользователями и по какой-то неведомой причине оказалось, что наиболее част< встречающимся паролем было слово “raquel”. Когда потом студент жаловался, чт кто-то проник в его учетный формуляр, системный администратор делал непрони цаемое лицо и говорил: “Это невозможно, если только, конечно, ваш пароль и “raquel”. У студента отвисала челюсть, и он восклицал: “А как вы узнали?” Недавно кто-то в Internet заявил, что раскрыл пароль, проконсультировав шись по телефону с экстрасенсом. Может быть эта история и чистый вымысел, но она несет в себе зерно правды. В прошлом медиумы процветали за счет того: что проводили очень простенькое исследование своих объектов и затем делал» выбор на основе собранной информации. Любой может угадать несколько паро лей, объединив информацию частного характера с умело сделанным» предположениями (см. примечание 6). 84 3.4. ЭНТРОПИЯ И ВЫБОР ПАРОЛЯ ПОЛЬЗОВАТЕЛ)
Под соответствующим руководством обычные пользователи компьютеров смо- гут выбрать хороший пароль. Однако это не гарантирует, что все пользователи выберут хорошие пароли. Выполненное Евгением Спаффордом (Eugene Spafford) в университете Пердью (Purdue University) исследование показало, что 1% паро- лей, которые встречались за девятимесячный период проведения этой работы, состояли всего из одного или двух символов и 5% были четырехсимвольными или менее. В ходе выполненного десятью годами ранее компанией AT&T иссле- дования обнаружилось, что 31% паролей были из четырех символов и менее. И длина пароля не единственная проблема. Некоторые пользователи выбирают в качестве пароля свои пользовательские имена. Это явление настолько широко распространено, что такие учетные формуляры даже получили свое название: “Формуляры Джо”. Проведенное в Пердью исследование показало, что 3,9% проверенных учетных формуляров были формулярами Джо. Более поздние ис- следования дали сходные результаты. В разделе 2.7 в качестве способа для сравнения атак методом проб и ошибок было введено понятие среднего пространства атаки. Точная оценка величины сред- него пространства атаки должна отражать известные асимметрии в поведении лю- дей. Если люди с большей долей вероятности выбирают пароли из конкретного множества значений (то есть, используемых ими слов), то для взломщиков более эффективно проводить поиск паролей именно в этом подмножестве. И мы должны уловить эту асимметрию, вычисляя величину среднего пространства атаки, как это было сделано в случае комбинаций дат для чемоданных замков. Существует три общих подхода для учета асимметрии. Первый заключается в исследовании статистических свойств языков, в нашем случае это английский язык, и вычислении оценок на основе энтропии лингвистических особенностей произношения. Второй, более точный, подход заключается в просмотре слова- рей, используемых в асимметричных атаках, и вычислении времени атак на ос- нове предполагаемого пространства паролей. Третий подход состоит в анализе экспериментальных результатов асимметричных атак. Ниже мы рассмотрим все три эти подхода. Статистическая асимметрия в тексте , Для начала мы можем попытаться оценить, сколько случайных непредска- , зуемых бит может в действительности существовать в пароле, принимая, что па- роль, вероятно, представляет собой слово или какой-либо текстовый элемент из родного языка жертвы. Хотя это не обязательно укажет способ атаки на пароли, это дает нам теоретическую меру того, насколько сильным (или, скорее, на- сколько слабым) может быть пароль. Начнем с рассмотрения асимметрии, которая вводится за счет использования конкретного алфавита. Если пароли представляют собой произвольную последо- вательность из 26 букв, то энтропия вычисляется умножением количества букв в .. слове на количество бит в букве. Если любая из 26 букв алфавита равновероят- на, то энтропия в пересчете на одну букву равна log2(26) или приблизительно 4,76 бит на букву. Конечно, не все буквы равновероятны. Этот факт играл известную роль при взламывании кодов. Многие знакомы с тем, что определенные буквы (а именно Е, Т и А) значительно чаще встречаются в английском тексте, чем другие, и эта информация широко используется при разгадывании зашифрованных головоло- мок. Если перед нами оказывается текст на английском языке, то мы сразу зна- ем, что в нем существует асимметрия в сторону наличия наиболее употребитель- , ных букв. И если учесть вероятность отдельных букв, то получится, что энтро- пия английского текста в действительности ближе к значению 4,19 бит на ГЛАВА 3. ИНТЕГРАЦИЯ ЛЮДЕЙ 85
букву. Хотя данный пример относится к английскому языку, подобное явление существует во всех языках (см. примечание 8). Для раскрытия более хитроумных кодов дешифровальщики выполняют сложный статистический анализ текста в попытке выявить закономерности. На- пример, дешифровальщиками анализировались встречающиеся в тексте дигра- фы, то есть вероятность использования в языке определенных пар букв. По- скольку в некоторых языках определенные диграфы никогда не встречаются, как, например, в английском языке после буквы Q никогда не стоит другая бук- ва, кроме U, то существуют явные смещения в сторону определенных диграфов. Если в нашей оценке учесть асимметрию диграфов английского языка, то вели- чина энтропии уменьшится еще, давая приблизительно 3,9 бит на букву. Посчитав статистику для последовательностей из двух букв, можно пойти дальше и оценить статистику для последовательностей из трех букв (триграфов), четырех и так далее. Ухудшение энтропии продолжается, если мы рассматрива- ем английский текст произвольной длины. По экспериментальным оценкам зна- чение общей энтропии текста на английском языке лежит в пределах между 1 и 1,5 бита на букву. Таким образом, мы резко уменьшаем размер среднего про- странства атаки, зная, что пароли являются словами английского языка. Хотя статистические детали могут отличаться, базовая концепция, без сомнения, справедлива и для других естественных языков. Ниже показана оценка среднего пространства атаки на 10-символьные пароли в предположении, что 25% насе- ления пользователей выбирают в качестве пароля английское слово. VaHr. яз = logo ---- 2 х L V * англ.яз = log2 2 х 0,25 V * англ.яз V. = 16,0 Если отдельные символы пароля хранятся в виде содержащего восемь бит байта, то выходит, что 80-битовый базовый секрет обеспечивает всего 16-битовое среднее пространство атаки. Однако эти вычисления носят чисто теоретический характер. Хотя они и гово- рят, что есть 32768 вероятных английских слов, которые могут быть использова- ны в качестве 10-символьных паролей, они не отражают существования некоторо- го списка из 32768 слов. Нет известной процедуры, позволяющей на основе ис- пользования значения энтропии английского языка сгенерировать словарь слов, использующихся в паролях для подобной атаки. Самое большое, о чем говорит данный пример, это то, что атакующая сторона может с успехом использовать сло- варь из 32768 слов, чтобы угадывать пароли, содержащие 10 букв и менее. Отметим также влияние условия 25-процентной вероятности. Размер простран- ства паролей в 32768 слов соответствует 15 битам. Это отражает факт существова- ния некого списка легко угадываемых паролей. Если бы вероятность была 100%, то все выбрали бы легко угадываемый пароль. В этом случае атака по методу проб и ошибок должна была бы в среднем проводить поиск в половине этого простран- ства, так что размер среднего пространства атаки был бы равен половине исходно- го размера или 14 битам. Если бы вероятность была бы равна 50%, то для нахож- дения совпадения нам пришлось бы искать в два раза больше, так как половина пользователей выбрала бы пароли, которые известно, как угадывать. Это вернуло, бы размер среднего пространства атаки к 15 битам. Если же вероятность снижает-, ся до 25%, то пространство атаки удваивается, что и дает результат 16 бит. 86 3.4. ЭНТРОПИЯ И ВЫБОР ПАРОЛЯ ПОЛЬЗОВАТЕЛЯ
Словарные атаки Конечно, мы не ограничены только теоретическими оценками силы паролей. Можно также оценить силу асимметричных паролей, если исследовать практи- ческие свойства словарных атак. В частности, можно посмотреть размеры слова- рей и статистику показателей успешного попадания словарных атак. На рис. 3.3 показаны выдержки из словарей, которые либо использовались, либо могут быть использованы для выполнения словарных атак. Интернетовский червь успешно пытался взламывать пароли, работая с целым рядом списков слов. Прежде всего он строил индивидуальный словарь слов, со- держащий имя пользователя и имя человека (взятые из файла паролей ОС UNIX) и пяти перестановок из них. Если этот список не давал результата, то он использовал внутренний словарь из 432 общеупотребительных Internet- ориентированных жаргонных слов. Если и этот список слов не давал результата, он переходил к использованию интерактивного словаря UNIX из 24 474 слов. Также червь проверял “нулевой” пароль. Некоторые из Web-сайтов сообщали, что с использованием такой стратегии были взломаны до 50% их паролей. Если свести все вместе, то получается, что червь проводил поиск в пространстве из 24 914 паролей, что дает следующее значение среднего пространства атаки (см. примечание 10): V ’ червя V * червя 10g2 24914 2 х 0,5 J V ’ червя 14,6 Это говорит о том, что традиционный запоминаемый пароль обеспечивает среднее пространство атаки размером 14,6 бита, независимо от фактически до- пускаемого системой размера пароля. Если взять упомянутую раннее скорость ^угадывания на процессоре Pentium Pl00, то словарная атака червя выполняется по всему словарю менее чем за полсекунды. edges edinburgh edwin edwina egghead eiderdown eileen einstein elephant elizabeth ellen emerald diddle dike dragon dwim epsilon exch excl f eep fencepost f ine flagday flakey effluvium effort ef fusive eft egalitarian Egan egg egghead eggplant eggshel1 ego egocentric eggplant eggshell eggy egilops egipto eglandular eglandulose eglantine eglatere eglestonite egma ego Словарь интернетовского ервя (433 записи) Файл ARPANET/ Internet-жаргона (221 запись) Файл /user/dict/words из ОС UNIX (24482 записи) Справочник Web- страниц 1994 года (234 489 записей) 'ис. 3.3. Выдержки из списков слов, использованных для выполнения словарных атак. ю примеры четырех списков слов, чаще всего использующихся в словарных атаках. И это лько четыре из десятков потенциально возможных списков слов. Другие списки могут со- ржать слова из кино, литературы, спорта, подходящие имена, названия мест и т.д. Спи- ;и слов существуют также для разных языков и культур (см. примечание 9). 1АВА 3. ИНТЕГРАЦИЯ ЛЮДЕЙ 87
Оценка асимметрии в выборе пароля Цифра вероятности 50% в предыдущих рассуждениях отражает критическси свойство асимметричных паролей: пользователей не заставляют выбирать па роли из словарей, но они статистически поступают именно так. Пятидесятипро рентная оценка основана на реальных данных по интернетовскому червю. Бола 1 реалистичные модели учитывают результаты экспериментов по количественно! оценке поведения людей. В начале этого раздела приводятся результаты не скольких таких исследований, но первое полное исследование было выполнено 1 1990 году Дэниелом В. Кляйном (Daniel V. Klien). Кляйн, благодаря своим друзьям и коллегам из США и Англии, собрал фай лы с зашифрованными паролями из многочисленных UNIX-систем. Эта коллек ция дала приблизительно 15 000 различных записей учетных формуляров поль зователей, каждая со своим паролем. Затем он сконструировал набор словаре! паролей и набор механизмов для системной перестановки словарей с целью по лучения вероятных вариаций. Когда он применил свой инструментарий в отно; шении паролевых файлов, то ему быстро удалось взломать 368 паролей (2,7°/« подборки) просто ища формуляры Джо. Программа взлома паролей Кляйна использовала шесть общих стратегий. Kai и интернетовский червь, он начинал с перестановок имени пользователя и сооТ ветствующей фамилии пользователя, но в подходе Кляйна для заданного учетнО го формуляра путем изменения порядка букв, введения заглавных букв и т.д генерировалось до 130 различных вариантов. Во-вторых, он использовал словар! имен, географических мест, литературных названий, имен персонажей, мифолб гические ссылки, числа, библейские термины романизированные слова китай ского языка и т.д. Это дало приблизительно 60 000 слов. В-третьих, он сгенери ровал около 17 вариаций этих словарных слов путем замены букв сходно выгля и дящими цифрами, изменяя окончания и т.д. Это дало дополнительный миллио слов. В четвертых, Кляйн пробовал вариации из строчных и прописных бук! что давало еще почти два миллиона слов. Кляйн обнаружил, что он может реа лизовывать эти четыре стратегии поиска за приемлемое с практической точк! зрения время, и они давали значительный успех. Еще две стратегии вырабатывали потенциальные пароли путем комбинирова ния других элементов. Пятая стратегия генерировала двусложные романизиро ванные китайские слова; их проверка в качестве паролей осуществлялась дл людей, фамилии которых были похожи на китайские. В качестве шестого по/ хода Кляйн испытывал пары слов, составленные из трех- и четырехбуквенны слов словаря ОС UNIX. (| Стратегии Кляйна приводили к образованию базового словаря, содержащее более 60 000 элементов. Список включал имена людей, названия мест, литера турные ссылки, мифологические ссылки, специализированные термины, библей ские термины, слова из Шекспира, еврейского языка, мнемонику и т.д. Поел наложения стратегий перестановок он получил пространство паролей, содержу щее свыше 3 миллионов вариантов. Выполнив систематический поиск в это! — пространстве, Кляйну удалось взломать 24,2% всех паролей в его коллекция И учетных формуляров. Это дает следующее значение среднего пространства атак! > (см. примечание 12): 1 1 1 а 1 г т в Ч е в п л к 31 о _ ( 3321261 кляйн og2^2 о,242 Vkhhhh = 22,71 Hi Hi И< О, Ис 88 3.4. ЭНТРОПИЯ И ВЫБОР ПАРОЛЯ ПОЛЬЗОВАТЕЛ
е й В В I [- 1 я >• в й I >- I >- I '° I к I г- 1 )- 1 V I и I э- I 1- I I-' I т- ] >н 1 в, 1 a- i Результаты Кляйна говорят о том, что сообщенные свидетельства по интерне- товскому червю приводят к недооценке среднего пространства атаки паролей в > ОС UNIX примерно на 8 бит. И все же 22- или 23-битовое пространство атаки не ^является серьезным препятствием для средне оснащенного взломщика, атакую- щего файлы с зашифрованными паролями. Скорость угадывания на машине с процессором Pentium Р100 позволяет осуществлять поиск в этом среднем про- странстве атаки менее чем за две минуты. I Вероятностная статистика показывает, насколько часто люди выбирают легко [угадываемые пароли. В табл. 3.1 сведены результаты нескольких примеров, в [которых подборки паролей подвергались словарным атакам или другим методам [системного поиска. Исследование Спаффорда в Пердью проводилось с 1991 по [1992 год и имело результатом статистические данные относительно выбора па- [ралей людьми. В ходе исследования пароли сравнивались с несколькими слова- [рями и простыми списками слов, и, как оказалось, 20% паролей входили в эти [списки (см. примечание 13). I Полученные CERT статистические данные основаны на зарегистрированной в [1998 году деятельности по взлому паролей. Взломщик собрал 186126 пользова- тельских записей и успешно угадал 47647 паролей из них. В 2000 году группа исследователей из Кембриджского университета выполнила ряд экспериментов По применению паролей, которые были построены в соответствии со стандартами прикладной психологии. Хотя основное внимание в эксперименте было сосредо- точено на методиках усиления паролей, в нем также проверялись 195 хеширо- ванных паролей, выбранных студентами из контрольной группы эксперимента и кленами общего населения пользователей: 35% этих паролей были взломаны. И если статистические данные по червю могут иметь в основе много конъюнктур- ного, другие данные показывают, что в реальном мире преобладают взламывав- шее пароли. Как бы то ни было, преобладание слабых паролей будет увеличи- ваться по мере увеличения количества людей, пользующихся компьютерами (см. примечание 14). :и : В.5. Ограничение вариантов выбора пароля а- £ °” И '-Поскольку люди склонны к выбору слабых паролей, некоторые эксперты по- 1Я В^ают, что можно поднять уровень безопасности, введя ограничения на пароли, Д' Вторыми люди могут пользоваться. Есть три общих стратегии заставить людей 1Х Вбирать более сильные пароли. Во-первых, на некоторых сайтах используются Врограммы взлома, с помощью которых выявляются слабые пароли. Файлы с г0 ЖЙпифрованными паролями прогоняются через такую программу взлома, и если 'а' В^ взламывает какой-нибудь из паролей, то администратор предупреждает й- И'-’ ле « В^лица 3.1. Процент паролей, раскрытых при систематическом поиске ИИ Всмчник Дата ки Ж Выборка паролей, в которой Процент нахождения осуществлялся поиск В^Ривтовский червь 1988 Вжчование Кляйна 1990 ВслЗД°вание Спаффорда 1992 Вет по инцидентам CERT IN-98-03 1998 В^пание Иена и др. 2000 тысячи = 50% 15 000 24,2% 13787 20% 186 126 25,6% 195 35% :ЛЯ ФАЗ. ИНТЕГРАЦИЯ ЛЮДЕЙ 89
пользователя о необходимости выбора более надежного пароля. Вторая стратегия состоит в том, что используются программы, которые автоматически генерируют пароли. Как только кому-либо нужен новый пароль, система его генерирует и назначает этому человеку. Третий подход заключается в активной проверке па- ролей. В тот момент, когда люди меняют свой пароль, система осуществляет проверку каждого нового пароля на соответствие различным правилам построе- ния паролей, чтобы гарантировать его достаточную силу. Последние две стратегии относятся к тому типу, который часто называют функциями принуждения, так как они заставляют людей предпринимать конкрет- ные действия. Подобными вещами следует пользоваться осторожно, поскольку они воспринимаются удивительным и часто опасным образом. Как будет рассматри- ваться в главе 6, люди, как правило, испытывают значительные трудности при за- поминании случайных данных. Если функция принуждения мешает человеку пользоваться важной системой, то человек найдет способ обойти эту функцию и может приспособиться к ней таким образом, что поставит под угрозу безопасность системы. Лучше всего ограничить применение подобных механизмов только в от- ношении особо важных паролей, как, например, паролей администраторов. Терапевтический взлом паролей В соответствии с этим подходом администратор сервера использует программу взлома для поиска слабых паролей в файле зашифрованных паролей. Программа взлома, или программа crack, представляет собой классический взломщик паро- лей в UNIX-мире: она воспринимает специализированные словари кандидатов £ пароли, поддерживает распределенный взлом, так что над одной задачей могут работать сразу несколько машин, и может выполняться на нескольких платфор- мах кроме UNIX. Самым известным взломщиком для систем на основе Windows является программа lOphtcrack, которая атакует хешированные пароли, извле- ченные из SAM-файла реестра Windows NT (Windows NT Registry). Некоторые из программ эволюционировали в общецелевые утилиты, предназначенные для сканирования уязвимых мест компьютера: программа Дэна Фармера (Dai Farmer) SATAN была одной из первых программ этого типа (см. примечание 15) Когда администратор использует программу взлома, его целью является выяв ление пользователей со слабыми паролями. Фактически администратору не нуже! пароль, хотя для некоторых пользователей аргументы администратора могут пока заться более убедительными, если им показать реально взломанный пароль. I большинстве же случаев администратору просто надо найти тех пользователей, ко торым необходимы дополнительные указания по выбору сильного пароля. Программы взлома паролей отражают двойственность средств защиты 1 средств атаки. Те, кто занимается разработкой или продвижением на рынк средств для взлома паролей, делают упор на их ценность в качестве инструмен тов для увеличения безопасности сайтов. Однако базовый механизм, обеспечи вающий нахождение слабых паролей, может стать известен и взломщикам. Подобная двойственность может иметь неприятные побочные эффекты. В 199 году Рэндел Шварц (Randall Schwartz), известный специалист в области ОС UNE и программирования на языке Perl, работал администратором на сайте корпора ции Intel в штате Орегон. Как-то он по собстйенной инициативе запустил с г act программу и обнаружил десятки слабых паролей. Хотя не было никаких свид( тельств о намерениях Шварца нанести ущерб, ему не удалось доказать, что кто либо из компании Intel дал добро на подобные действия. Руководство компани выдвинуло против него обвинение за нарушение закона о компьютерных престу! лениях штата Орегон, и жюри признало Шварца виновным (см. примечание 16). 90 3.5. ОГРАНИЧЕНИЕ ВАРИАНТОВ ВЫБОРА ПАРОЙ
Автоматическая генерация паролей Автоматический генератор паролей представляет собой программу, которая вырабатывает случайные пароли. В своей простейшей форме она может просто генерировать случайное цифровое значение и кодировать его в виде последова- тельности печатных символов. Если программа использует хороший генератор случайных чисел, она может давать пароли, которые будут и относительно ко- роткими и трудными для угадывания. К сожалению, такие пароли чрезвычайно трудно запомнить. Чтобы сделать пароли более запоминаемыми, большинство генераторов паро- лей вырабатывает “произносимые” пароли. Часто подобные генераторы создают пароли, просто чередуя гласные и согласные. Более сложные генераторы способ- ны производить легко запоминаемые пароли. Один из таких подходов задан стандартом правительства США FIPS 181 (см. примечание 17). В определенном смысле генератор паролей вводит в пространство паролей асимметрию. Если система аутентификации воспринимает пароли из десяти букв одного регистра, то существует свыше 141 триллиона легальных паролей. Но если используются только “произносимые” пароли, то пространство паролей не будет содержать произвольные последовательности букв. Например, генератор произно- симых паролей, отвечающий стандарту FIPS 181, будет генерировать примерно 1,6 триллиона различных 10-символьных паролей, что дает размер среднего простран- ства атаки в 39 бит. Однако в отличие от смещения в сторону хорошо известных слов, вводимых людьми, подобная асимметрия является жестко устанавливаемой. Пользователи не могут выбрать более или менее случайные пароли. Они должны использовать только те, что были сгенерированы автоматически. Случается, что генераторы паролей страдают от проблем с практической реа- лизацией. В одном из случаев (часто его связывают с одной из версий системы Multic) программа генератора паролей использовала дефектный генератор слу- чайных чисел. Эта программа была сконфигурирована на выдачу восьмисим- вольных паролей, состоящих из букв одного регистра и цифр. Это должно было бы давать пространство паролей с 2,8 триллионов вариантов (среднее простран- ство атаки 40 бит). К сожалению, генератор случайных чисел всегда использовал 15-битовое начальное значение и поэтому не мог сгенерировать более 32 768 раз- ‘ личных паролей (среднее пространство атаки 14 бит) (см. примечание 18). Появление на свет высокоэффективных атак на шифрованные пароли в авто- номном режиме по сути убило генераторы произносимых паролей. Прежде всего просто нет достаточно коротких произносимых паролей, которые бы устояли против атаки грубой силой. Генерируемые по стандарту FIPS 181 10-символьные пароли не выдержат атаки хорошо оснащенного взломщика. Некоторыми иссле- дователями даже были разработаны специальные атаки, направленные на про- износимые пароли (см. примечание 19). Активная проверка паролей Подобный подход имеет целью не допустить использования слабых паролей за счет тщательной проверки каждого выбираемого пользователем пароля. В момент, когда человек пытается изменить свой пароль, система проверяет раз- личные свойства вновь выбранного пароля, чтобы отсеять уязвимый выбор. Ино- I гда это приводит к “гонке вооружений” между сообществом пользователей и те- I ми, кто несет ответственность за соблюдение правил выбора паролей. Пользова- I тели постоянно ищут короткие пути и используют мнемонику, а проекти- ГЛАВА 3. ИНТЕГРАЦИЯ ЛЮДЕЙ 91
ровщики программного обеспечения проверки паролей усиливают ограничения на приемлемые варианты паролей. В ходе исследования выбираемых пользователями паролей Кляйн выработал несколько рекомендаций по проектированию активных проверок паролей. Для выявления важных свойств трудно угадываемых паролей он использовал меха- низмы перестановок из своей программы взломщика паролей. Им было выдви- нуто утверждение, что система должна отвергать пароль, обладающий одним из приведенных ниже свойств (см. примечание 20). Короче шести символов. Содержит имя учетной записи пользователя, его фамилию или инициалы. Точно совпадает со словом из словаря, словом, в котором несколько букв заменены заглавными, словом в обратном порядке, словом в обратном по- рядке с несколькими буквами, замененными заглавными, словом с не- сколькими буквами, замененными символами управления, словом с заме- ной букв очевидной цифрой. Является простым соединением слов из словаря. Является словом, содержащим буквы одного регистра (все верхнего или все нижнего). Не содержит смеси из букв и цифр или букв и знаков пунктуации. Согласуется с расположением клавиш на клавиатуре. Сдержит только цифры или имеет вид автомобильного номерного знака штата. Хотя сейчас имеется много программ для активной проверки паролей, ни одна из них не делает проверки всех этих свойств. Подобный уровень фильтрации, ве- роятно, был бы неприемлем во многих средах. Без углубленного обучения люди вряд ли бы знали, как конструировать легальные пароли, и не понимали бы, по- чему отвергаются выбранные ими варианты. В таких обстоятельствах сообщество пользователей с большей вероятностью примет генерируемые машиной пароли, так как драконовские правила превращают идею личного выбора в пародию. Одним из примеров менее драконовской системы была UNIX- ориентированная “Системная утилита контроля очевидных паролей” (Obvious Password Utility System, OPUS), разработанная Спаффордом в Пердью. Система OPUS главное внимание уделяла исключению паролей, которые входят в состав словаря. Она была спроектирована для быстрой и точной проверки каждого сло- ва, предназначенного для пароля, на его наличие в словаре, а также проверяла некоторые основные перестановки — введение заглавных букв, изменение по- рядка на обратный и простые замены букв (см. примечание 21). Компания Microsoft тоже ввела в ОС Windows NT и Windows 2000 базовые механизмы для проактивной проверки паролей. Местный администратор имеет возможность установить максимальную и минимальную длину пароля, макси- мальное время жизни пароля и может не дать пользователю повторно использо- вать те пароли, срок действия которых истек ранее. Microsoft также предостав- ляет дополнительный пакет, который способен заставить пользователей выби- рать “сложные” пароли, удовлетворяющие условиям Кляйна. В частности, пароль должен содержать по крайней мере шесть символов, состоять из смеси символов различных типов и не включать в себя части личного имени пользователя или имени пользователя в системе (см. примечание 22). 92 3.5. ОГРАНИЧЕНИЕ ВАРИАНТОВ ВЫБОРА ПАРОЛЯ
Ограничения на силу пароля В табл. 3.2 сведены значения среднего пространства атаки, которые обсужда- лись ранее в данной главе. Успокаивает тот факт, что алгоритм DES был взло- ман, а у него самое большое значение среднего пространства атаки из приведен- ных в таблице (алгоритм DES рассматривается в разделе 5.3). Однако урок со- стоит в том, что некоторые пароли будут уязвимы всегда, но не все пароли являются уязвимыми. В ходе исследования в 1990 году Кляйну удалось взло- мать менее 25% имеющихся у него паролей, а это означает, что свыше 75% вы- держали его атаки. Однако статистические данные Кляйна выглядят несколько оптимистичными по сравнению с более свежими данными. Как было показано в табл. 3.1, более поздние исследования поведения при выборе паролей заставляют предположить, что выбираемые пароли в среднем становятся слабее. И это неудивительно. Количество пользователей в начале 1990-х годов было совершенно другим, чем десять лет спустя. В этот период наблюдался бурный рост Internet и, соот- ветственно, рост числа установленных компьютеров. Новые владельцы компью- теров были значительно менее знающими, чем те, что были десять лет назад, и проявляли меньше осторожности в отношении паролей, чем это имело место в сообществе, которое исследовал Кляйн. Беседы автора этой книги с пользователями и администраторами привели его к мысли, что людей больше беспокоит доступность и удобство пользования ком- чьютером, чем возможность взлома пароля. Это подтверждает и опубликованный ! 2000 году отчет по ядерным лабораториям в США. Генерал в отставке, назна- ченный ответственным за защиту компьютерных систем в Министерстве энерге- гики, говорил, что многие сотрудники используют в качестве паролей свои име- ча или инициалы, а некоторые просто используют слово “пароль”. Если бы экс- черименты Кляйна были повторены сегодня, то его процедура взлома имела бы начительно более высокий показатель успешности (см. примечание 23). аблица 3.2. Сравнение средних пространств атаки 1ример Теоретическое пространство паролей Пространство асимметричных паролей Среднее пространство атаки ;лучайный 10-буквенный екст на английском языке 141 триллион 32 тысячи 16 бит злом паролей интернетовским ервем 54 триллиона 24 тысячи 15 бит ^следование паролей ияйна 54 триллиона 3 миллиона 23 бита енератор 10-буквенных июлей в стандарте FIPS 181 141 триллион 1,6 триллиона 40 бит Еломанный" автоматический 2,8 триллиона 32 тысячи 16 бит рератор паролей «-разрядный стандарт цифрования данных (DES) 72 квадрильона 72 квадрильона 54 бита I ЗАВА 3. ИНТЕГРАЦИЯ ЛЮДЕЙ 93
3.6. Сводные таблицы Таблица 3.3. Сводная таблица атак Атака Проблема системы защиты Характер атаки Описание атаки А-21 Злоупотребления своего Обход системы защиты хост-машины и выполнение отобранных программ Обычная Авторизованный пользователь использует привилегии для доступа ' к неавторизованным ресурсам А-22 Злоупотребления администратора Обход системы защиты хост-машины и выполнение отобранных программ Обычная Ацминистратор использует привилегии для выполнения несанкционированных действий А-23 Разделение лояльности Обход системы защиты хост-машины и выполнение отобранных программ Простейшая Администратор использует привилегии для оптимизации других производственных обязанностей в ущерб общей работе системы А-24 Злоупотребление учетной записью Маскировка под легального пользователя Простейшая Атакующая сторона использует отсутствие защиты учетной записи ; жертвы ; А-25 Кража учетной записи Маскировка под легального пользователя Простейшая Взломщик задает новый пароль для i учетной записи, который j неизвестен легальному \ пользователю А-26 Пароль по умолчанию Маскировка под легального пользователя Простейшая Атакующая сторона использует для । доступа к учетной записи хорошо ? известный пароль по умолчанию ! I i 94 3.6. СВОДНЫЕ ТАБЛИЦ
Таблица 3.4. Сводная таблица методов защиты Защита Срываемые атаки Описание D-21 Разделение А-21 Злоупотребление своим Критически важная деятельность разбивается на два обязанностей А-22 Злоупотребление администратором или более этапов, которые не могут выполняться одним человеком D-22 Наименьший А-21 Злоупотребление своим Доступ пользователя ограничивается таким образом, объем привилегий А-22 Злоупотребление администратором что он может пользоваться только теми ресурсами, которые действительно необходимы для выполнения им своей работы D-23 Протоколирование А-21 Злоупотребление своим Обеспечиваются условия, когда все прикладные всех критически важных А-22 Злоупотребление производственные программы и системное событий администратором А-23 Разделение лояльности программное обеспечение делают запись в журнал проверки всякий раз при выполнении критически важных действий с идентификацией персоны, выполняющей эти действия D-24 Пароли по умолчанию А-24 Злоупотребление учетной записью А-25 Кража учетной записи Задание паролей по умолчанию для всех учетных записей, чтобы снизить риск кражи или злонаме- ренного использования чужими учетных записей D-25 Регистрация новых А-24 Злоупотребление учетной Вводится требование личного присутствия новых пользователей с личным записью пользователей при регистрации и предоставления присутствием А-25 Кража учетной записи А-26 Пароль по умолчанию отличительных характеристик непосредственно системе аутентификации D-26 Назначение А-24 Злоупотребление учетной Владелец выбирает начальный секрет и доводит его до начального секрета записью А-25 Кража учетной записи А-26 Пароль по умолчанию пользователя ГЛАВА 3. ИНТЕГРАЦИЯ ЛЮДЕЙ 95
ГЛАВА 4 Типовые проектные шаблоны Каждый шаблон описывает проблему, которая в нашем окружении повторя- ется снова и снова, и затем описывает основную идею решения этой проблемы, причем делает это таким образом, что вы можете использовать решение мил- лион раз подряд, никогда не делая этого одинаково дважды. Кристофер Александер и др. Язык шаблонов В этой главе... Глава посвящена архитектурным проектным шаблонам, которые часто можно видеть в реализациях систем аутентификации. Наличие шаблонов обусловлено участвующими в процессе людьми и физическим распределением компонентов системы аутентификации. Физические средства защиты в аутентификации Идентификация административных требований Четыре типовых модели: локальная, прямая, непрямая и автономная Применение шаблонов 4.1. Шаблоны в системах аутентификации В конце 1960-х годов архитектор и строитель Кристофер Александр разработал понятие повторяющихся паттернов, которые обеспечивали успешные решения об- щих задач архитектурного проектирования. Работа Александра послужила пово- дом принять аналогичную идею “проектных шаблонов” в архитектурных решени- ях программного обеспечения. В этой главе как раз и рассматриваются проектные шаблоны, встречающиеся в системах аутентификации (см. примечание 1). В некотором роде описываемые здесь шаблоны напоминают больше ориги- нальные архитектурные паттерны Александра, чем шаблоны объектно- ориентированного программирования. Эти шаблоны анализируют проблемы в терминах пространства и людей, а не данных и обработки. Подобно факторам аутентификации (нечто, что мы знаем, имеем или представляем собой) эти раз- личные шаблоны предлагают смесь сильных и слабых сторон; лучший выбор для конкретного предприятия обеспечит необходимый уровень защиты при мини- мальной административной и операционной стоимости. В данной главе, начиная с раздела 4.4, будут рассмотрены четыре модели-шаблона (см. примечание 2). Локальная аутентификация, которую можно видеть в переносных или от- дельно стоящих настольных системах. Вся система, включая механизм ау- тентификации и управления доступом, размещается внутри одного физиче- ского периметра безопасности. Владелец системы и/или пользователь ведут и обновляют базу аутентификационных данных внутри этого периметра.
Прямая аутентификация, которую можно видеть в старых серверных сис- темах, стоящих в локальных вычислительных сетях (ЛВС), и в системах с разделением времени. Системой могут коллективно пользоваться удален- ным образом много различных пользователей. Механизмы аутентифика- ции и контроля доступом системы по-прежнему размещаются внутри од- ного физического периметра. Владелец ведет и поддерживает актуальной базу аутентификационных данных внутри каждой системы. Непрямая аутентификация, которую можно видеть в современных сетевых серверных системах и которая может быть реализована через протоколы RADIUS, Kerberos и протокол регистрации в домене ОС Windows. Система содержит несколько точек обслуживания, которые требуют управления доступом и могут размещаться в различных местах. При необходимости пользователи обращаются к службам системы удаленным образом. Владе- лец ведет и поддерживает актуальной одну базу аутентификационных данных для всей системы. Автономная аутентификация, которую можно видеть в системах с инфра- структурой открытого ключа, содержащих многочисленные автономные компоненты, которые способны принимать точные решения по управлению доступом даже в том случае, когда они не могут связываться с другими сис- темами для получения авторитетных решений об аутентификации. Владелец соглашается с риском того, что такие решения могут иногда приниматься с использованием устаревших данных по управлению доступом или аутенти- фикации, а раз так, то могут давать неправильные результаты. Эти шаблоны грубо делятся на две категории: предназначенные для отдель- ных автономных компьютеров и для удаленного доступа. Как очевидно, локаль- ная модель связана с индивидуальным устройством. Модели прямой и непрямой аутентификации представляют собой различные стратегии для реализации уда- ленного доступа. Модель автономной аутентификации обеспечивает способ при- менения некоторых административных функций удаленной аутентификации в системах, которые не всегда могут установить удаленное соединение. Перед рассмотрением этих четырех шаблонов мы рассмотрим два мотиви- рующих фактора, стоящих за выбором того или иного шаблона: физическая за- щита вычислительной системы и административные требования, которые могут оказывать влияние на выбор шаблонов. Затем следующие четыре раздела будут посвящены каждому шаблону по отдельности. В последнем разделе обсуждаются выбор и применение шаблонов. 4.2. Роль физической защиты Физическая защита является фундаментом любой системы компьютерной безо- пасности. В системах аутентификации физическая защита обеспечивает целост- ность механизма принятия решений и защищает базовый секрет. В плане физиче- ской защиты есть два аспекта: защита программного обеспечения и защита аппа- ратного обеспечения. Первый случай касается программного обеспечения, выполняемого на обычном готовом компьютерном оборудовании, которое не имеет совсем или имеет слабые механизмы защиты от воровства. Последний случай ка- сается аппаратных устройств, используемых чужими или другими потенциально ненадежными людьми: эти устройства часто построены с учетом устойчивости к воровству. Эти два случая сходятся в проблеме защиты отдельных рабочих стан- ций или переносных компьютеров, которые могут быть предметом атаки. ГЛАВА 4. ТИПОВЫЕ ПРОЕКТНЫЕ ШАБЛОНЫ 97
Существенным вопросом является идентификация периметра безопасности устройства или системы. Механизм принятия решений и все конфиденциальные данные должны размещаться внутри этого периметра. Единственными людьми, которые могут проникать внутрь периметра, должны быть администраторы, на- значенные для выполнения этой роли владельцем системы. На механизм аутен- тификации можно полагаться только до тех пор, пока его периметр безопасности могут пересекать только люди, заслуживающие доверия. Защита программного обеспечения аутентификации Современные серверные системы объединяют в целях собственной защиты две стратегии. Во-первых, сами компьютеры размещаются внутри многоуровневой системы физической защиты (рис. 4.1). Во-вторых, серверное программное обес- печение, выполняемое на хост-машине, использует для защиты программного обеспечения в системе от атак защитные механизмы, которые встроены в цен- тральное процессорное устройство (ЦПУ). Во времена классических систем с разделением времени сервер обеспечивал всю вычислительную мощность. Люди взаимодействовали с системами через тек- стово-ориентированные терминалы, которые представляли собой не что иное, как печатные машинки. В современных сетевых системах для выполнения большой части работы в интересах пользователя используется вычислительная мощность настольной системы. Каждая настольная система имеет специальное клиентское программное обеспечение, которое для предоставления полезных ус- луг обменивается данными с сервером с помощью набора протоколов. Большин- ство таких систем также обеспечивает специальные протоколы аутентификации, которые гарантируют диалог сервера с авторизованным пользователем. Хорошо спроектированный серверный центр представляет собой классический пример многоуровневой физической защиты (см. рис. 4.1). На каждом уровне определяются классы людей и тип доступа, который они имеют. На самом внешнем уровне проводится различие между своими и чужими, описанными в разделе 3.1. Внутри серверного сообщества также проводится различие между i Чужие Помещения организации, пользующейся службами локальной сети Рис. 4.1. Физическая организация локальной сети вычислительного центра. Все рабочие станции вычислительного центра и серверы находятся внутри физических помещений владельца системы. Серверы размещаются в запираемом машинном зале, так как реально работать с ними необходимо только административному персоналу. Точки подключения к сети и разводка размещаются внутри помещений компании. 98 4.2. РОЛЬ ФИЗИЧЕСКОЙ ЗАЩИТЫ
пользователями и администраторами. Свои могут пересекать первый периметр, но не обязательно второй. Администраторы должны проходить через первый пе- риметр, прежде чем им будет разрешено пройти через второй. Отношения рабо- тают следующим образом. Чужие и свои Классификация на своих и чужих отражает базовый элемент физической защиты: своим разрешен свободный вход в помещения владельца, а чу- жим — нет. Организации в некоторой степени доверяют своим сотрудни- кам и могут делать это до тех пор, пока способны надежно ограничить доступ только для сотрудников. Обычно рабочие станции сотрудников и линии связи имеют некоторую защиту благодаря тому, что размещаются внутри помещений предприятия. Для гарантии того, что чужие остаются снаружи, исключая случай, когда их приглашают, предприятие использу- ет средства физической защиты, как, например, замки, сигнализацию, ох- рану и т.д. Запираемые помещения предприятия представляют собой пе- риметр безопасности по отношению к своим и чужим. Пользователи и администраторы Системы коллективного пользования с удаленным доступом, как, напри- мер, серверы или мэйнфреймы, в обеспечении защиты полагаются на раз- личие между пользователями и администраторами. Пользователям не ну- жен прямой физический доступ к таким системам, так что сами компью- теры в общем случае запираются машинном зале. Вход в машинный зал разрешен только администраторам. Это увеличивает уверенность в целост- ности системы. Машинный зал представляет собой периметр безопасности для вычислительной аппаратуры и программного обеспечения. Не все предприятия вводят такое различие, но большинство осознает, что это важный элемент защиты. Наличие двух различных периметров безопасности отражает наличие двух раз- личных ситуаций с управлением доступом. В обоих случаях периметр играет роль фильтра, выделяющего тех людей из населения, которые могут физически рабо- тать с компьютерным оборудованием. Внешний фильтр, обеспечиваемый помеще- ниями компании, предотвращает доступ чужих к рабочим станциям корпоратив- ной локальной сети. Внутренний фильтр, обеспечиваемый запираемым машинным залом, не дает работать с серверными системами никому, кроме авторизованных администраторов. Разграничение между своими и пользователями вводится самой серверной системой, использующей программно реализованные механизмы защи- ты. Программные механизмы обычно вводят еще дополнительное разграничение между пользователями и администраторами, так что администраторы имеют воз- можность делать фундаментальные изменения, а пользователи — нет. Впервые механизмы защиты программного обеспечения были разработаны в конце 1950-х годов для компьютера Ферранти (Ferranti) Атлас, чтобы поддер- живать мультипрограммирование, т.е. способность выполнять на одном ЦПУ практически одновременно сразу несколько программ. Большинство современ- ных операционных систем (ОС) поддерживают ту или иную форму мультипро- граммирования, особенно те, что поддерживают серверные системы. В общем случае мультипрограммирование опирается на встроенные в ЦПУ механизмы защиты, которые ограничивают действия программ пользователя. Таким обра- зом, защита фактически обеспечивается не программным обеспечением, а специ- альными функциями, которые формируют периметр безопасности внутри самого компьютера (см. примечание 3). ГЛАВА 4. ТИПОВЫЕ ПРОЕКТНЫЕ ШАБЛОНЫ 99
Рис. 4.2. Защита программного обеспечения внутри самого компьютера. Механизмы за- щиты в ЦПУ позволяют программному обеспечению ядра управлять работой программ пользователей и других приложений. Эти механизмы не дают прикладным программам мешать друг другу или работе коллективно используемых ресурсов, например накопителю на жестком диске и программному обеспечению ядра. Как правило, реализованные в ЦПУ механизмы защиты предоставляют ре- жим ядра, используемый ОС или системой с разделением времени, и ограничен- ный пользовательский режим выполнения прикладных программ (см. рис. 4.2). Кроме того, существует еще механизм защиты памяти, подобный описанному в разделе 1.5 при рассмотрении способов разведывания паролей. Выполняемое в режиме ядра программное обеспечение отвечает за безопасное и защищенное вы- полнение всего остального программного обеспечения (см. примечание 4). Защита рабочих станций Наилучшей защитой отдельных рабочих станций является их размещение в физически защищенных местах, предотвращающих доступ к ним потенциаль- ных взломщиков. Как отмечалось в предыдущем разделе, в большинстве органи- заций рабочие станции размещаются внутри своих физических периметров. Ра- бочие станции чрезвычайно уязвимы для атак. Даже если атакующая сторона не имеет намерения украсть рабочую станцию, остаются другие риски, так как взломщики могут украсть чувствительные данные или модифицировать крити- чески важную информацию. И даже если программное обеспечение на рабочей станции не допускает несанкционированного использования, все равно присутст- вуют следующие угрозы. Атака с заменой ОС Большинство рабочих станций позволяет загружать операци- онную систему с другого диска, например с CD-ROM или с А 27 W дискеты. Эта возможность обеспечивается в целях админист- рирования или технического сопровождения. Атакующая сторона может воспользоваться этим свойством для загрузки операционной системы, ко- торая сконфигурирована с отключенными функциями защиты системы управления доступом. После этого взломщик может читать и модифициро- вать файлы в рабочей станции, даже если стандартная операционная сис- тема поставила на них защиту. 100 4.2. РОЛЬ ФИЗИЧЕСКОЙ ЗАЩИТЫ
В некоторых рабочих станциях для защиты от таких атак реа- лизован пароль BIOS. Этот пароль хранится в конфигурации запуска рабочей станции вместе с командами всегда выполнять В-27 Н начальную загрузку с конкретного жесткого диска. Взломщики могут пе- ренаправить операцию начальной загрузки только в том случае, если им известен пароль. К сожалению, функция пароля BIOS не защищена от непра- вильного использования. Большинство систем поставляется с А-28 W предварительно заданным паролем BIOS, и многие администра- торы не заботятся о том, чтобы изменить его на новый и трудно прогнози- руемый. Как и в случае с комбинационными замками, которые описывались в разделе 2.1, инсталлированные изготовителем пароли дают благодатную основу для интерактивной атаки угадывания пароля. Популярные варианты включают в себя значения “bios”, “j262”, “setup”, “emos”, вводимые полно- стью либо в верхнем, либо в нижнем регистре, либо это может быть какой- нибудь вариант названия компании-изготовителя (см. примечание 5). Очевидной защитой от такой атаки угадывания является из- Ж менение пароля BIOS на какой-нибудь трудно предсказуемый пароль. Однако это все равно не предотвращает возможность успешной атаки. Пароль BIOS хранится в специальном ОЗУ, электропита- ние на которое подается от батарейки. У взломщика есть несколько способов вытереть пароль. На- пример, если компьютер работает, взломщик может устано- А-29 W вить и исполнить программу, которая очищает ОЗУ BIOS. Или может обнулить ОЗУ (и хранящийся в нем пароль), лишив его питания, удалив батарейку, либо закоротив ее. Атака на шину ввода/вывода В атаках этого типа взломщики снимают кожух компьютера и атакуют на аппаратном уровне. В общем случае это требует А-30 W дополнительного оборудования в виде второго компьютера и соответствующих кабелей для перекоммутации различных периферийных устройств. По сути, взломщик может снять полные копии жестких дисков рабочей станции. Имея более сложное оборудование, взломщик способен модифицировать файлы. В ходе подобной атаки программное обеспечение и BIOS обходятся полностью. ведь для защите. Самой лучшей физической защитой от таких атак было бы Ж поймать злоумышленника на горячем. Предприятие также может, например, приобрести специальные корпуса для ком- ’ у пьютеров, реализовав вариант защиты, используемой в банкоматах. Ко- нечно, подобный подход только слегка видоизменяет проблему: корпуса должен быть замок, ключ от которого также нуждается в Менее дорогостоящей альтернативой является установка на корпус компьютера трудно поддающейся подделке печати. Это не предотвратит атаку, но может удержать от нее, сделав ее обнаруживаемой. Третьим способом защиты является размещение всех критиче- ски важных функций в одной интегральной схеме. Хотя, воз- можно, проведение “обратного проектирования” определенных функций интегральной схемы путем послойного снятия топологии ее сло- ев, изготовитель может сделать такую операцию чрезвычайно дорогостоя- щей и очень непростой. D-30 *3 ГЛАВА 4. ТИПОВЫЕ ПРОЕКТНЫЕ ШАБЛОНЫ 101
Риск атаки на шину ввода/вывода был основным мотивом для проведения расследования в отношении Джона М. Дойтша (John М. Duetsch), бывшего ди- ректора ЦРУ США, который хранил совершенно секретную правительственную информацию на своем персональном компьютере дома. Разведывательные агент- ства всегда были озабочены сохранением секретности своих данных, так как их раскрытие может показать противнику способ перекрыть утечку информации. Следователи обнаружили, что Дойтш писал сверхсекретные справки на том же компьютере, который использовал для вхождения в Internet и выполнения ин- терактивных банковских операций. Однако, несмотря на хорошо известный риск атак через Internet, технические эксперты ЦРУ пришли к выводу, что наиболь- ший риск представляло проникновение в помещение и копирование содержимо- го жесткого диска. Эксперты сомневались, что могут с уверенностью сказать, имело ли место в действительности такое проникновение, так как квалифициро- ванная группа способна не оставить никаких явных следов (см. примечание 6). Ранее мы отмечали, что самой простой и наиболее эффективной стратегией является запирание рабочих станций на площадях офиса, где добраться до них могут только авторизованные пользователи. К В-32 сожалению, это не всегда практичный выбор. Организации иногда не могут раз- местить сотрудников в отдельных запираемых помещениях по нескольку человек в каждом. Студенческие вычислительные лаборатории в высших учебных заведени- ях имеют достаточно средств физической защиты, чтобы отпугнуть от кражи, но этого бывает недостаточно, чтобы не допустить простейших или обычных по сложности атак со стороны злонамеренных студентов. По мере усложнения совре- менных операционных систем атаки с заменой ОС становятся все менее практич- ными. А наиболее надежным методом защиты рабочих станций остается физиче- ская защита и мониторинг, выполняемый доверенными людьми. Аппаратная защита аутентификации Аппаратная защита является попыткой установления периметра безопасности в отсутствие людей, охраняющих этот периметр. Примером могут быть банкома- ты. Многие банкоматы имеют усиленный корпус, образующий периметр безо- пасности. Люди могут работать с клавиатурой и дисплеем, набирая свои запро- сы, а банкоматы имеют возможность принимать вклады и выдавать наличность через тщательно сконструированные порты. Специально обученная охрана может проникать через периметр безопасности банкомата, чтобы добавлять наличные деньги и забирать сделанные вклады Однако большую часть времени машина находится без охраны и подвергается атакам со стороны воров. В системе аутентификации аппаратная защита обычно служит двум целям. Во-первых, она защищает от кражи, модификации или другого воздействия ба- зовый секрет, блокируя прямой доступ к нему. А во-вторых, она выявляет атаки на саму себя, так что такая защита способна предпринимать шаги для защиты базового секрета от раскрытия. Паролевые устройства аутентификации (подробно рассматриваемые в разделе 9.1) как раз и являются иллюстрацией защиты в виде практичных в пользова- нии готовых приборов для выполнения аутентификации. На рис.4.3 показано, как устройство аутентификации использует внешнее соединение или дисплей для взаимодействия с владельцем устройства или рабочей станцией, и это един- ственный путь к содержимому устройства аутентификации. Атакующая сторона, пытающаяся непосредственно воспользоваться устройством, должна быть знако- ма с его встроенными функциями и не может просто извлечь базовый секрет, ес- ли оно не содержит специальной функции для этого. Подобные устройства часто требуют выполнения дополнительного шага “отпирания”, например ввода запо- 102 4.2. РОЛЬ ФИЗИЧЕСКОЙ ЗАЩИТЫ
Устройство аутентификации с одноразовым паролем Рис. 4.3. Устройство аутентификации защищает механизм аутентификации аппа- ратным образом. Каждое из этих устройств содержит базовый секрет и использует его для выполнения аутентификации или других защитных процедур. Каждое устройство ус- танавливает периметр безопасности для защиты базового секрета и обеспечивает некото- рую степень защиты от атак для периметра безопасности. (Карточки воспроизводятся с разрешения Secure Computing Corp, и American Biometrics Corp.). Соединение или дисплей минаемого персонального идентификационного номера, чтобы разрешить ис- пользование базового секрета. Устройство считается подвергнувшимся атаке, ес- ли его пытаются использовать без ввода правильного персонального идентифи- кационного номера. Повторные атаки в некоторых устройствах приводят к сти- ранию базового секрета, тогда как в других вводится все увеличивающаяся задержка обработки. В дополнение к процедурным средствам защиты устройства аутентификации несут в себе и физическую защиту. Обычно электронные цепи устройства впрес- сованы в пластмассу, что исключает возможность контакта с проводниками раз- водки между компонентами. Некоторые системы реализованы таким образом, что механизмы аутентификации, обнаружения атаки и сам базовый секрет реа- лизуются в виде одной интегральной схемы. Это делает аппаратные атаки еще более затрудненными. Высокотехнологичные устройства могут также содержать крошечные датчики для определения удаления постоянного внешнего покрытия и стирают базовый секрет, если это происходит. Однако такие механизмы также снижают надежность отличительного знака, поскольку есть риск случайного срабатывания механизма, что делает устройство бесполезным. Хотя аппаратная защита обеспечивает наличие существенных л. преимуществ, она не является надежной на 100%. Решительно на- А-31 9 строенный взломщик может соскоблить пластмассовое покрытие. Имея нужное оборудование он может даже проникнуть во внутренности инте- гральной схемы. Эксперименты показали, как можно воспользоваться некото- рыми несуразностями кражеустойчивых конструкций и извлекать данные непо- средственно из самих кристаллов микросхем (см. примечание 7). В некоторых случаях можно сделать вывод о содержании базового зь секрета, анализируя работу отличительного знака. Для выполнения А-32 ^9 атаки на базовые секреты, хранящиеся в смарт-картах исследователи экспериментировали с дифференциальным анализом мощности. В соответствии с этой технологией измеряется потребление электрического тока устройством, что в свою очередь зависит от значения базового секрета. Другим эффективным подхо- ГЛАВА 4. ТИПОВЫЕ ПРОЕКТНЫЕ ШАБЛОНЫ 103
дом является манипуляция тактовыми сигналами устройства или использование другой временной информации. В некоторых случаях это дает атакующей стороне достаточно информации для осуществления атаки (см. примечание 8). К счастью, большинство атак на аппаратные устройства требуют высокого уровня знаний, не говоря уже о времени и оборудовании. Следует помнить о це- ли любой защиты от физических атак: большинство средств защиты только дают возможность выиграть время, пока не подоспеет помощь. В случае устройства аутентификации оно должно сопротивляться ровно столько, чтобы владелец по- нял, что устройство потеряно, и сообщил об этой потере. 4.3. Административные требования Хотя часто существует искушение сразу окунуться в проектирование инте- ресной системы, лучше прежде всего определить для себя потребности. Выбор проектного шаблона должен удовлетворять конкретным требованиям вычисли- тельных систем владельца. В данном разделе рассматривается несколько типов требований, которые должны быть учтены перед выбором конкретного шаблона. Рассматриваемые здесь требования являются дополнением к очевидному тре- бованию точности аутентификации, то есть необходимость последовательно отсе- кать все попытки неавторизованных людей, не отсекая попытки аутентифика- ции авторизованных. Требования надежности в основном зависят от применяе- мых факторов аутентификации: что мы знаем, имеем и представляем собой (см. раздел 1.6). Суть данного раздела состоит не в том, чтобы задать набор требований. На- оборот, здесь рассматриваются определенные характеристики, которые изменя- ются от одной вычислительной системы к другой. Имеющиеся характеристики и определят требования для конкретного предприятия, вычислительного центра и владельца. Вот краткое описание тех характеристик, которые будут здесь рас- сматриваться. Физическая защита — механизм аутентификации должен опираться на уже имеющееся физическое оборудование и реальное его пополнение с учетом того, как система установлена и используется. Эффективное администрирование — механизм должен позволять легко добавлять или забирать права у пользователей. Легкость аутентификации — механизм должен обеспечивать взаимодейст- вие с пользователем как можно более простым и надежным способом. Поддержка пунктов обслуживания — механизм должен эффективно под- держивать весь диапазон имеющихся у владельца систем, которые требуют выполнения аутентификации. Ниже обсуждается каждая из этих характеристики по очереди. Физическая защита Для физической защиты необходимо рассматривать объем защиты, который будет целесообразен и вместе с тем обеспечит желаемую ошибкоустойчивость ре- зультирующей системы. Различные архитектуры имеют разные требования по защите; важно выбрать такую, которая не требует большей защиты, чем владе- лец реально может обеспечить. Аналогично, различные архитектуры могут вы- держивать различные типы отказов, сохраняя надежность работы службы аутен- тификации. Ниже сведены эти компромиссные варианты. 104 4.3. АДМИНИСТРАТИВНЫЕ ТРЕБОВАНИЯ
Какие части системы должны защищаться По существу есть четыре части системы, нуждающиеся в физической за- щите: клиентские настольные системы, серверы, линии связи между ними и сам механизм аутентификации. Хотя в некоторых случаях возможно за- пирание под замок всей системы целиком, это не всегда целесообразно. К счастью, владелец часто может достичь разумного уровня защиты без того, чтобы помещать под замок все эти элементы. Иногда владелец имеет распределенную систему и не может гарантировать безопасность связи между всеми пользователями и всеми компьютерными системами. Владелец, вероятно, мог бы физически защитить все клиент- ские и серверные системы или только серверные системы. Однако совер- шенно неразумно предполагать, что клиенты могут быть защищены, если пользователи перемещаются в пространстве или если клиенты подключа- ются из помещений, которые не находятся под контролем владельца, на- пример из домашнего офиса. Риск перехвата Если владелец не может физически защитить линии связи, которые соеди- няют клиентские части с сервером, то архитектура должна принимать во внимание риск перехвата. Если игнорировать это, то перехват нейтрализу- ет выгоды биометрической аутентификации (см. раздел 7.7). Если существует риск перехвата, то должны использоваться различные методы шифрования (криптометоды). В предыдущих главах мы уже по- знакомились с хешированием и шифрованием паролей, которые тоже от- носятся к криптометодам. Различные задачи защиты требуют разных криптометодов (например, секретные ключи и открытые ключи), и это часто влияет на выбор проектного шаблона. Устойчивость к отказам Многие эксперты в области компьютерной безопасности свято верят в “принцип корзины”, в соответствии с которым все яйца кладутся в одну корзину, которую затем очень тщательно охраняют. Хотя такой подход и может обеспечить эффективную защиту, он также вводит точку критиче- ского отказа: уронив корзину, вы можете потерять все яйца. Если посмотреть на это с точки зрения архитектуры аутентификации, то “стратегия корзины” заключается в том, что при аутентификации все на- дежды возлагаются на единственное устройство. Но, хотя можно сосредо- точить все усилия по защите на этой корзине, подобный подход приводит к возникновению проблемы с надежностью: если устройство отказывает, то пройти аутентификацию не может никто. Более высокой надежности можно достичь, используя системы, которые обеспечивают распределенные механизмы аутентификации или механизмы с резервным дублированием. Легкость аутентификации Легкость аутентификации определяется тем, как люди аутентифицируют себя и как часто они должны это делать. В других главах этой книги описывается проблема “как”, что зависит от выбора фактора аутентификации и того, как сис- тема работает с этими факторами. Здесь же мы рассмотрим вопрос, как часто человеку надо проходить процедуру аутентификации. Священной чашей Грааля аутентификации является однократность входа в систему, что минимизирует количество регистраций, которые люди должны делать, находясь в пределах од- ной рабочей площадки, или количество необходимых характеристик аутентифи- ГЛАВА 4. ТИПОВЫЕ ПРОЕКТНЫЕ ШАБЛОНЫ 105
кации (обычно, паролей) или и то и другое одновременно. Ниже приведены три стратегии реализации однократности входа в систему. Характеристики коллективного пользования Эта стратегия пытается облегчить жизнь пользователям, обеспечивая воз- можность использования одной и той же отличительной характеристики во всех случаях, когда какая-либо составляющая системы требует выполнения аутентификации. Хотя такой подход, возможно, не уменьшает количество раз, которое люди должны набирать на клавиатуре сбой пароль, он все же делает жизнь легче, уменьшая количество паролей, которое они должны за- поминать. Распространены две методики реализации этого подхода. Синхронизация паролей. — механизм, который обновляет пароли, храня- щиеся в отдельных системах, так что каждый пользователь имеет одина- ковый пароль на каждой отдельно взятой системе в пределах рабочей площадки или сети предприятия. ОС UNIX обеспечивает вариант такой функции посредством своей “Службы сетевой информации”, которая опи- сывается в разделе 8.6. Применение сервера аутентификации также обеспечивает использование одной характеристики всеми аутентификационными проверками, переад- ресовывая все запросы на аутентификацию серверу с всеобъемлющей базой данных. Такие системы будут рассмотрены в главе 11. Объединение характеристик в пачку Второй подход реализации однократности входа в систему состоит в том, что принадлежащие одному человеку отличительные характеристики хранятся в виде защищенной шифром пачки. Когда программная компонента запраши- вает пароль, программа управления пачками перехватывает этот запрос, из- влекает из пачки соответствующий пароль и поставляет его компоненте. Обычно владелец должен предоставить пароль, чтобы дешифровать пачку и получить доступ к находящимся в ней паролям, так что проблема запоми- нания (или записывания) нескольких паролей заменяется запоминанием па- роля пачки. Этот механизм будет рассмотрен дальше в разделе 6.6. Прокси-аутентификация Подобный подход обеспечивает наиболее полное решение задачи однократ- ности входа в систему: система предоставляет механизм, с помощью кото- рого программная компонента может запрашивать у клиентской части ау- тентификационные данные, связанные с оператором рабочей станции. Это более тонкая технология по сравнению с описанным выше механизмом объединения в пачки, поскольку аутентификация часто использует крип- тографические методы, которые усложняют атаку. Такой функцией обла- дают современные сетевые серверные системы, так что пользователю не надо вводить пароль, чтобы открывать новые файлы или выводить на пе- чать другие. Эффективное администрирование Кроме слежения за системой на предмет наличия признаков катастрофы, адми- нистраторы имеют две основные задачи по аутентификации: добавление записей для новых пользователей и удаление устаревших записей. Обычно это простая и незамысловатая повседневная работа, особенно если ее не приходится очень часто делать. Однако плохое согласование между расположением служб на рабочей пло- щадке и проектным шаблоном ее системы аутентификации увеличивает нагрузку 106 4.3. АДМИНИСТРАТИВНЫЕ ТРЕБОВАНИЯ
администратора. Здесь важно учитывать, как предприятие организовало вычисли- тельные службы в своей сети, и надо ли или нет, чтобы решения по аутентифика- ции охватывали все предприятие. Это дает следующие возможности. Одна точка обслуживания Подобная ситуация имеет место, когда владелец держит все службы на од- ной хост-машине. Это представляет собой относительно простую проблему для администрирования, так как все находится в одном месте. Раньше это было распространенной ситуацией, поскольку немногие вычислительные центры могли себе позволить эксплуатировать несколько серверов. Несколько точек обслуживания Такая ситуация возникает, когда владелец имеет службы, выполняемые на нескольких компьютерах. Она стала типичной, когда стоимость аппаратной части компьютеров резко упала. Службы часто устанавливаются на разных хост-машинах по многим причинам, которые не связаны с защитой или ау- тентификацией, и многие обнаруживают, что пользуются службами на не- скольких компьютерах. Аутентификация должна работать между отдельны- ми компьютерами надежно и прозрачно. В идеале схема должна делать это легко как для администраторов, так и для пользователей. Несколько предприятий Это ситуация, когда нескольким предприятиям надо коллективно пользо- ваться вычислительными ресурсами друг друга. Данная ситуация похожа на задачу с управлением несколькими точками обслуживания, но здесь еще добавляется наличие нескольких владельцев. Для более старых систем аутентификации это является настоящим испытанием. 4.4. Локальная аутентификация Этот первый типовой шаблон охватывает простейшие ситуации, когда люди работают с системой напрямую, а не удаленно. Очевидные примеры включают портативные или карманные устройства, хотя сюда же можно отнести и авто- номные рабочие станции. Суть шаблона локальной аутентификации (рис.4.4) заключается в том, что весь механизм аутентификации и управления доступом размещается внутри од- ного периметра безопасности. Люди пользуются компьютером или другой защи- щенной системой через интерфейс, который “сидит верхом” на периметре безо- пасности. Пользователи не взламывают периметр, но вводимая ими информация проходит через него внутрь, а выдаваемый компьютером результат выходит че- рез него назад. Система аутентификации работает правильно только до тех пор, пока атакующая сторона не взломает физический периметр безопасности. Этот шаблон рассматривается в главе 5. Примером шаблона локальной аутентификации являются переносные компь- ютеры. Многие такие компьютеры, например PowerBook компании Apple, под- держивают функцию своего рода паролевого замка: система не будет загружать- ся до тех пор, пока пользователь не предоставит правильный пароль. Хотя замок и обеспечивает определенную защиту от несанкционированного использования, он не остановит взломщика, который получит физическое обладание компьюте- ром. Решительный вор обычно быстро вскрывает компьютер (взламывая его фи- зический периметр безопасности) и извлекает данные непосредственно из жест- кого диска. Во многих случаях вору даже не надо пользоваться отверткой, по- скольку существуют трюки, позволяющие отключить паролевое запирание, даже не вскрывая корпус. ГЛАВА 4. ТИПОВЫЕ ПРОЕКТНЫЕ ШАБЛОНЫ 107
Боб вводит свою отличительную характеристику Владелец и/или лицо устанавливают аутентификационные данные (базовые секретные данные, отличительные характеристики) Механизм аутентификации Механизм управления доступом Физический периметр безопасности Рис. 4.4. Модель локальной аутентификации. В этой модели вся система целиком разме- щается внутри одного физического периметра безопасности. Люди вводят базовые секреты или другие отличительные характеристики непосредственно в систему. Обрабатываемые системой данные полностью находятся внутри. Примеры включают автономные рабочие станции и персональные устройства-секретари, наподобие изделий компании Palm. Если разработчик системы доверяет физическому периметру безопасности, то это значительно упрощает ее конструкцию и работу. Пользователи могут исполь- зовать легкие для запоминания пароли или даже персональные идентификаци- онные номера (PIN-кода), так как атакующая сторона будет привязана к инте- рактивному угадыванию пароля методом проб и ошибок, как к единственному доступному режиму атаки. Если взломщики не могут взломать периметр, то они и не могут извлечь пароли, хранящиеся в системе, будь то в зашифрованном ви- де или нет. Действительно, надежный периметр исключает необходимость хеши- рования паролей или шифрования в какой-либо другой форме. Удобность поль- зования системой можно увеличить, реализовав в качестве метода аутентифика- ции биометрику. Хотя активная разведка и воспроизведение представляют собой основной риск для биометрических систем, надежный физический периметр безопасности исключает возможность проведения таких атак. На практике, конечно, очень сложно гарантировать неприступность физиче- ского периметра. Это заставляет многих практиков в области защиты компью- терных систем использовать дополнительные меры, например шифрование, что- бы обеспечить многоуровневую защиту. Скажем, можно усилить защиту пере- носной системы путем шифрования содержимого ее жесткого диска. Это не дает взломщику возможности извлечь данные, если предположить, что для шифрова- ния жесткого диска используется качественный алгоритм и что ключ шифра со- ответствующим образом защищен (см. раздел 5.2). Однако решения, основанные на этом шаблоне, все же в некоторой степени полагаются на периметр безопасно- сти: действительно целеустремленный взломщик может установить программное обеспечение активной разведки, чтобы получить ключ шифрования жесткого диска, т.е. еще до того, как произойдет кража. Хотя это и требует определенного мастерства, которого нет у большинства воров переносных систем, ФБР исполь- зовало такой трюк для получения запоминаемого ключа шифрования по край- ней мере в одном уголовном расследовании (см. примечание 9). Для многих предприятий основным недостатком локальной аутентификации является ее администрирование. Каждое устройство представляет собой отдель- ный пункт обслуживания, который должен администрироваться индивидуально. 108 4.4. ЛОКАЛЬНАЯ АУТЕНТИФИКАЦИЯ
Если двум людям необходимо иметь доступ к одному защищенному компьютеру, то обоим необходимы аутентификационные данные, например коллективный па- роль. Нет другого способа отозвать право доступа пользователя к конкретному устройству, кроме как завладеть им, изменить необходимые аутентификацион- ные данные и (если это необходимо) передать в коллективное пользование изме- ненные данные остальным пользователям. Этот процесс усложняется если коли- чество пользователей и устройств растет. 4.5. Прямая аутентификация Типовой шаблон прямой аутентификации в итоге дает самую простую архи- тектуру системы аутентификации удаленных пользователей. Схема работает лучше всего, если каждый владелец обеспечивает наличие единственной точки обслуживания или если каждая точка обслуживания имеет отдельное сообщест- во пользователей. Обычно владелец каждой точки обслуживания знает заранее, кому следует разрешить им пользоваться. Если у владельца более одной систе- мы, то каждая из них имеет свою группу пользователей. Механизм паролей ОС UNIX, с которым мы познакомились в главе 2, как раз и обеспечивает прямую аутентификацию. Другими примерами являются одноточечные сетевые серверы, аналогичные первоначальному варианту сетевого менеджера LAN Manager ком- пании Microsoft, и сервер Novel NetWare 3 (см. примечание 10). Суть модели прямой аутентификации (см. рис. 4.5) состоит в том, что вычис- лительные службы размещаются в одном физически защищенном месте, тогда как точки использования (клиенты) не обязательно защищены. Этот шаблон на- зывается “прямым”, поскольку точка обслуживания сама принимает решение об аутентификации. Механизм аутентификации, механизмы управления доступом и сами службы находятся в одном устройстве. Администраторы поддерживают ба- зу данных авторизованных пользователей в каждой системе. Изменение в базе данных пользователей имеет мгновенный эффект, так как, если кто-то пытается войти в систему, она обращается к своей собственной базе данных пользовате- Администратор устанавливает и поддерживает пользовательские записи с отличительными характеристиками, базовыми секретными данными и т.д. с клавиатуры свою отличительную характеристику Клиентская система посылает системе подтверждающую информацию Боба по каналу передачи данных Механизм аутентификации Механизм управления доступом X________с Ресурсы Физический периметр безопасности Рис. 4.5. Шаблон развертывания прямой аутентификации. Согласно этой модели люди не используют систему непосредственно. Они используют систему, вводя идентифици- рующие данные в удаленного клиента. Информация посылается (часто в зашифрованном виде) в базу данных авторизованных пользователей системы. Положительный результат сравнения приводит к наделению правом доступа; механизмы аутентификации и управле- ния доступом размещаются в одном устройстве. ГЛАВА 4. ТИПОВЫЕ ПРОЕКТНЫЕ ШАБЛОНЫ 109
лей. Очевидным недостатком прямой модели является недостаточная устойчи- вость к сбоям, поскольку все централизовано. Так как пользователям не обязательно взаимодействовать с системой из за- щищенного места, то взломщики могут выбрать в качестве своей мишени уда- | ленные пользовательские рабочие станции или их линии связи. Это делает био- ; метрические методы нецелесообразными: взломщик может перехватить удален- i ные биометрические показатели авторизованного пользователя и впоследствии ' воспроизвести их, выдав себя за этого пользователя. Аналогичные проблемы : свойственны и для секретных паролей многократного использования. Из-за риска активной разведки и воспроизведения системы, построенные на основе этого шаблона, обычно требует криптозащиты. Это необязательно шифро- вание всего трафика; зашифрованных паролей может быть достаточно для обес- печения аутентификации соответствующего уровня. Например, отличительные знаки с одноразовым паролем используют секретный ключ для шифрования : внутреннего значения, что дает пароль, который работает только один раз (см. главу 9). Другие отличительные знаки используют метод “запрос-ответ”: шифру- ется запрос, в результате которого генерируется одноразовый пароль (см. главу 10). Хотя такие системы могут использовать шифрование с открытым или сек- ретным ключом, в большинстве продуктов этого типа используется шифрование с секретным ключом. Решения на основе шаблона прямой аутентификации работают лучше всего в том случае, когда владелец управляет одной системой или группой систем с неза- висимыми пользователями. В противном случае владелец может получить значи- тельные административные неудобства, так как необходимость быть заведенным в несколько различных баз данных может возникнуть у каждого пользователя. Про- блема обостряется, когда владелец устанавливает хост-машину для обеспечения дополнительной точки обслуживания Чтобы решить эту проблему, сохранив тра- диционный механизм прямой аутентификации ОС UNIX, компания Sun Microsys- tems разработала систему сетевой информации Network Information system. 4.6. Непрямая аутентификация Решения на основе непрямой аутентификации позволяют справляться с про- блемой масштабируемости на вычислительных центрах, у которых одна группа пользователей, но несколько точек обслуживания (рис. 4.6). Даже на той пло- щадке, где всего два сервера, будет затруднительно поддерживать совместимость двух отдельных баз данных аутентификации. Если другие проектные шаблоны предусматривают объединение механизмов аутентификации и управления доступом, то шаблон непрямой аутентификации (рис. 4.7) перемещает механизм аутентификации из точки обслуживания в от- дельный аутентификационный сервер. Все другие компоненты предоставляют услуги или управляют доступом к ресурсам, но не принимают решений об ау- тентификации. Вместо этого они аутентифицируют людей непрямым образом, связываясь с аутентификационным сервером всякий раз, когда кто-то пытается зарегистрироваться в системе. Более подробно непрямая аутентификация обсуж- дается в главе 11. Протоколы аутентификации Каждый раз, когда два или более компьютеров общаются друг с другом, мы обнаруживаем присутствие протокола, который идентифицирует сообщения, их содержимое и последовательность событий. На рис. 4.7 показана ситуация, ко- 110 4.6. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ
Удаленные соединения Рис. 4.6. Непрямая аутентификация: проблема. Если владелец держит “серверную фер- му” для обслуживания сообщества пользователей, то прямая аутентификация является хлопотным решением. Если каждый сервер является независимой удаленной системой с собственным механизмом аутентификации, то администраторам необходимо решать зада- чу сопровождения аутентификации (т.е. добавлять или удалять учетные записи пользова- телей) индивидуально на каждом сервере. Компонента, которая обеспечивает обслуживание или управляет доступом к другим ресурсам Клиентская система, которая пользуется службой или ресурсом Владелец устанавливает и поддерживает аутентификационные данные Механизм управления доступом Механизм аутентификации Ресурсы Рис. 4.7. Непрямая аутентификация: шаблон. В случае использования непрямой модели механизм аутентификации размещается в стороне от других серверов системы, которые связываются с ним, когда пользователь запрашивает доступ. Подобное использование отдельного аутентификационного сервера, который требует выполнения только одного обновления данных для каждого пользователя, на практике осуществляется прозрач- ным образом. Аутентификационный сервер воспринимает запросы на аутентификацию от других серверов гда Тим вводит данные в своего клиента, который посылает его запрос на реги- страцию в системе серверу, а тот, в свою очередь, посылает аутентификационно- му серверу. Протокол определяет формат данных, пересылаемых между различ- ными хост-машинами, и указывает, как эти данные интерпретировать. Если клиент Тима не будет работать в соответствии с протоколом, то сервер не распо- знает его запрос и не пустит его в систему (см. примечание 11). Простейшими протоколами аутентификации являются те, что работают по принципу выдачи пароля в ответ на запрос; они описаны в главе 10. Когда Тим пытается зарегистрироваться на сервере, использующем процедуру запрос-ответ, он должен обменяться сообщениями, чтобы аутентифицировать себя. Обычно протокол работает следующим образом. ГЛАВА 4. ТИПОВЫЕ ПРОЕКТНЫЕ ШАБЛОНЫ 111
Тим посылает свое имя пользователя серверу. Сервер возвращает случайное число, “вызов”. После этого Тим определяет правильный “ответ” на этот вызов и посылает его для использования в качестве своего пароля. Сервер проверяет правильность посланного Тимом ответа на этот конкрет- ный вызов и регистрирует Тима, если ответ верен. Чтобы правильно зарегистрироваться, либо Тим, либо программное обеспече- ние его рабочей станции должны понимать протокол сервера. Он должен знать, какой ответ будет правильным на какой запрос. В этом процессе может быть за- действована тем или иным образом и секретная информация, хотя на практике в системах используется функция шифрования, которая объединяет вызов с базо- вым секретом. Протоколы непрямой аутентификации Протоколы непрямой аутентификации следуют подобному шаблону обмена сообщениями, но только обмен носит более сложный характер. Многие широко известные сегодня системы обеспечивают непрямую аутентификацию с помощью специально разработанных протоколов. Отрытым стандартом для реализации непрямой аутентификации является протокол RADIUS. Такую же роль играет и протокол Kerberos, вариант которого имеется в ОС Windows 2000 компании Mi- crosoft и в средствах регистрации в домене ОС Windows NT 4.0. Поставщики систем одноразовых паролей, например SafeWord компании Secure Computing и SecurelD компании RCA Security, обычно в дополнение к одному или несколь- ким протоколам непрямой аутентификации собственной разработки поддержи- вают и протокол RADIUS. Эти протоколы описываются в главах 11 и 12. В общем случае протокол непрямой аутентификации начинает свою работу, когда кто-нибудь пытается зарегистрироваться в точке обслуживания с удален- ного места, которым может быть, например, рабочая станция. Когда точка об- служивания принимает запрос на регистрацию, она пересылает имя пользовате- ля и пароль, биометрические показания или другую отличительную характери- стику аутентификационному серверу. Часто для пересылки данных таких сообщений используется внутренний протокол типа RADIUS или протокол, раз- работанный изготовителем. Если сервер подтверждает аутентификацию, то он посылает в точку обслуживания подтверждение, сформатированное в соответст- вии с этим внутренним протоколом. Получив его, точка обслуживания принима- ет к исполнению попытку пользователя зарегистрироваться. Если сервер посы- лает отказ, то точка обслуживания отвергает запрос. Этот процесс проиллюстри- рован на рис. 4.8. Кроме отделения служб от механизма аутентификации, шаблоны решений с прямой и непрямой аутентификацией имеют и другие общие свойства: биомет- рика является рискованной, тогда как шифрование может играть важную роль, хотя оно немного важнее в случае непрямой аутентификации. Поскольку аутен- тификационные запросы перенаправляются аутентификационному серверу, име- ется риск, что взломщик будет подделывать сообщение “аутентификация под- тверждена”, чтобы обмануть сервер; поэтому для аутентификации двусторонних сообщений между точкой обслуживания и аутентификационным сервером долж- но использоваться шифрование. Некоторые системы, использующие непрямую аутентификацию, могут иметь высокий уровень устойчивости к отказам, поддерживая автоматическую репли- кацию базы данных для распределения аутентификационной нагрузки между несколькими географически отдаленными системами. Если какой-либо из серве- 112 4.6. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ
Рис. 4.8. Трафик сообщений при непрямой аутентификации. Когда пользователь дает указа- ние клиенту зарегистрироваться в какой-либо компоненте, тот посылает сообщение с запро- сом на регистрацию, которое идентифицирует пользователя и содержит подтверждающую информацию. Компонента преобразовывает это сообщение в аутентификационный запрос, пересылая имя пользователя и подтверждающую информацию аутентификационному серве- ру. Сервер сравнивает имя пользователя и подтверждающую информацию с записью пользо- вателя и возвращает компоненте ответ. Компонента отвечает пользователю. ров теряет работоспособность, то запросы на аутентификацию могут направлять- ся на альтернативный сервер, содержащий копию всей аутентификационной ба- зы данных. Это позволяет предприятию реплицировать свои службы на несколь- ко хост-машин и реализовать аутентификацию на нескольких аутентификацион- ных серверах, исключая тем самым появление точки критического отказа. Важным положительным свойством непрямых решений является их хорошая масштабируемость — как географическая, так и по количеству поддерживаемых хост-машин — по мере роста объема вычислительной среды предприятия при сохранении быстрой оборачиваемости в плане добавления новых пользователей или удаления старых. Такие системы проявляют свои недостатки только в тех случаях, когда пользователи являются работниками нескольких предприятий. Хотя подобное коллективное использование технически осуществимо, оно добав- ляет ряд административных проблем и проблем, связанных с безопасностью, что обычно делает его непрактичным. 4.7. Автономная аутентификация Автономная реализация предназначена для разрешения внутреннего противо- речия, свойственного распределенной аутентификации: владелец не может дове- рять каждому устройству, нуждающемуся в аутентификации. Некоторые при- ложения настолько велики или являются настолько распределенными (или изо- лированными), что они не могут полагаться на централизованный сервер в плане аутентификации в реальном времени. Но тем не менее владелец хочет сохранить централизованное управление аутентификацией. Наиболее известные примеры таких проблем можно найти в сфере электрон- ной коммерции, ориентированной на потребительский рынок. Каждый постав- щик хочет гарантировать клиентам, что они действительно общаются с его ком- пьютером. Но одновременно поставщики не могут автоматически доверять своим клиентам или компьютерам клиентов. С подобной дилеммой сталкивается и процедура защищенной пересылки пакетов электронной почты. ГЛАВА 4. ТИПОВЫЕ ПРОЕКТНЫЕ ШАБЛОНЫ 113
В некотором смысле проблема электронной коммерции противоположна тому, । что мы делали в случае прямой или непрямой аутентификации. Здесь клиент ' пытается аутентифицировать сервер, а не наоборот. Миллионы клиентов высту- ! пают в роли многочисленных “точек обслуживания”, которые пытаются аутен- > тифицировать один из тысячи серверов. Владелец представляет собой независи- мую организацию (“орган сертификации”), которая способствует электронной коммерции, обеспечивая заслуживающую доверия аутентификацию серверов для клиентских настольных систем. Решения на основе модели автономной аутентификации (рис. 4.9) объедини- ют особенности первых трех моделей. Как и в случае реализации локального подхода, аутентификация может выполняться на автономной системе без созда- ния сетевого соединения реального времени. Как и в решениях на основе ло- ' кального или прямого подхода, механизм аутентификации размещается на том , же устройстве, что и механизм управления доступом. И подобно непрямым ре- < шениям владелец может поддерживать один централизованный список автори- : зованных пользователей. 1 Инфраструктуры с открытым ключом реализуют автономные решения путем ; использования относительно небольшого количества заданных открытых ключей ' для подтверждения аутентификационных данных отдельных пользователей или I других объектов. Заданные ключи принадлежат органам сертифицирования, ко- | торые выдают сертификаты открытого ключа, содержащие аутентификационные [ данные для пользователей или других объектов. Аутентификация осуществляет- ; ся в два этапа. Например, если Боб хочет аутентифицировать свой банковский сервер, то сначала его рабочая станция получает сертификат открытого ключа банка и затем аутентифицирует его с помощью заданного открытого ключа. Вто- рой шаг заключается в использовании открытого ключа с сертификатом банка, как часть другого протокола, например протокола безопасных соединений Secure Sockets Layer (SSL), для аутентификации банка в качестве основного владельца частного (секретного) ключа, который математически связан с открытым клю- чом сертификата. В главе 13 описывается технология использования открытого ключа, а главе 14 разъясняются свойства сертификатов открытого ключа. Особенно интересной особенностью решений на основе автономной модели яв- ляется то, что владелец не должен создавать, поддерживать и администрировать записи о пользователях с помощью интерактивно доступной системы. Про- граммное обеспечение управления выдачей сертификатов, может работать авто- Рис. 4.9. Автономная аутентификация. Программное обеспечение сертифицирования с открытым ключом явилось следствием появления модели автономной аутентификации и выполняет распознавание авторизованных пользователей; оно хранится в нескольких мес- тах, и к нему можно обращаться в автономном режиме. Однако введение новых пользова- телей проходит быстрее и проще, чем их удаление. 114 4.7. АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ
номно и пересылать сертификаты в открытый каталог с помощью удаляемого носителя. Взломщики не могут проникнуть непосредственно в механизм регист- рации, так как он недоступен в интерактивном режиме. Как и в случае решений на основе моделей с прямой и непрямой аутентифи- кацией, автономная аутентификация не может использовать биометрику в чис- том виде. Биометрические методы не могут быть реализованы путем шифрова- ния с использованием секретного ключа: в данном случае все основывается на шифровании с помощью открытого ключа. Другой важной особенностью автономной аутентификации является ее отка- зоустойчивость. Получая копию соответствующего сертификата, устройство ау- тентификации может аутентифицировать любой объект. Устройство может обес- печить гарантированный доступ к необходимым сертификатам путем поиска в разных каталогах, поддерживая свой локальный кэш сертификатов или извле- кая сертификаты из того объекта, который аутентифицируется. (Последний ме- ханизм используется в протоколе SSL). Автономная модель может также обеспе- чивать отказоустойчивость за счет поддержки многочисленных реплик каталогов сертификатов, так что те могут быть найдены даже в случае широкомасштабных отказов обслуживающих каталоги хост-машин и сети. Однако автономная и распределенная природа этой модели является обоюдо- острым мечом. Владельцы могут легко добавлять людей и устройства в систему, раздавая сертификаты открытого ключа, выпускаемые признанным органом сер- тифицирования. Если сертификат уже существует, то он может быть немедленно признан всеми хост-машинами предприятия — процесс быстр и надежен, как непрямая аутентификация. К сожалению, значительно сложнее осуществляется лишение пользователя полномочий, так как каждый сертификат является само- подтверждающимся. 4.8. Применение шаблонов Следует четко представлять, что шаблона, который был бы идеален для всех случаев, не существует. Проектировщики и конструкторы должны принимать осознанные компромиссные решения между сопротивляемостью атакам, легкостью администрирования и величиной потенциальных потерь в случае сбоев аутентифи- кации. Каждый проектный шаблон обладает сильными и слабыми сторонами, и выбор между ними требует тщательной оценки потребностей владельца. В табл. 4.1 сведены наиболее общие черты четырех шаблонов. В первой стро- ке показывается часть системы, которая должна быть физически защищена вла- дельцем во избежание широко распространенных ошибок аутентификации. Во второй строке указывается, насколько безопасно каждая из моделей может рабо- тать с биометрикой. Третья строка идентифицирует типы алгоритмов шифрова- ния, требующиеся для решений в соответствии с каждым из шаблонов. В чет- вертой строке проводится сравнение отказоустойчивости различных шаблонов. Слово “низкая” означает, что шаблон имеет точку критического отказа. Из табл. 4.1 следует очевидный вывод, что для изощренных моделей требуется менее сильная физическая защита; при этом их отказоустойчивость выше. За эти выгоды приходится платить повышенной сложностью: практическая реализация решений на основе непрямой и автономной модели как правило тяжелее, чем реа- лизация решений на основе локальной или прямой модели. Что касается отказо- устойчивости, то непрямое решение может обеспечивать высокую отказоустойчи- вость, если практическая реализация предусматривает наличие резервного аутен- тификационного сервера. Иначе мы опять имеем все яйца в одной корзине, так как аутентификационный сервер представляет собой точку критического отказа. ГЛАВА 4. ТИПОВЫЕ ПРОЕКТНЫЕ ШАБЛОНЫ 115
Таблица 4.1. Свойства шаблонов аутентификации Свойство Локальный Прямой Непрямой Автономный Части системы, Вся система Только точки Только аутентифика- Только органы нуждающиеся в обслуживания ционные серверы сертифицирования защите Безопасность Да Нет сама по себе Нет сама по себе Нет сама по себе биометрики Тип используемого Не используется Секретный или Секретный или от- Только открытый ключ шифрования Отказоустойчи- Низкая открытый ключ Низкая крытый ключ Высокая/низкая Высокая вость В табл. 4.2 сравниваются скорости реакции на административные запросы решений на основе различных моделей. Значение “высокая” указывает на то, что запрос прост в выполнении и имеет мгновенное действие, тогда как значение “низкая” говорит о том, что запрос либо требует нескольких шагов, либо может сталкиваться со значительной задержкой вступления в действие. В отдельных строках сравнивается скорость реакции на запросы по добавлению новых поль- зователей (строка “Добавить пользователя”) и по деактивации существующего пользователя (строка “Убрать пользователя”) в системах различного размера. Наименьшая система обеспечивает наличие только одной точки обслуживания, которой может быть, например, отдельный компьютер или один централизован- ный сетевой сервер. Следующий, более крупный сценарий рассматривает ситуа- цию с несколькими коллективно используемыми точками обслуживания. В са- мом крупном сценарии рассматривается ситуация, когда пользователями явля- ются работники нескольких предприятий или организаций. В административной реактивности в общем случае преимущество имеет не- прямая модель, за которой идет автономная аутентификация. Единственной проблемой непрямой модели являются ее шероховатости с работой механизма аутентификации при наличии нескольких предприятий; некоторые системы, на- подобие Kerberos, обладают возможностью работы в таких условиях. Автоном- ная модель является наилучшим подходом для аутентификации пользователей нескольких предприятий, хотя эта модель плохо справляется с задачей лишения привилегий. Прямая модель, конечно, является наиболее эффективной при ра- Таблица 4.2. Реакционная способность моделей аутентификации в плане администрирования пользователей Административный сервис Локальная модель Прямая модель Непрямая модель Автономная модель Одна точка об- Добавить пользователя Средняя Высокая Высокая Высокая служивания Удалить пользователя Низкая Высокая Высокая Средняя/низкая Несколько точек Добавить пользователя Низкая Низкая Высокая Высокая обслуживания Удалить пользователя Низкая Низкая Высокая Средняя/низкая Несколько Добавить пользователя Низкая Низкая Высокая/низкая Высокая предприятий Удалить пользователя Низкая Низкая Низкая Средняя/низкая 116 4.8. ПРИМЕНЕНИЕ ШАБЛОНОВ
боте с единственным удаленным сервером, а локальная аутентификация может быть использована с автономными устройствами и в некоторых обстоятельствах представляет собой наилучший выбор. На практике некоторые системы могут объединять два или более шаблона во многоуровневой системе защиты. Обычно это связано с использованием локаль- ной модели совместно с удаленной моделью. Например, локальное устройство воспринимает PIN-код для аутентификации своего владельца и “отпирает” кли- ента для использования с прямой или непрямой аутентификацией. 4.9. Сводные таблицы Таблица 4.3. Сводная таблица атак Атака к Проблема системы защиты Характер атаки Описание атаки А-27 Замена ОС Восстановление или модификация скрытой информации Физическая Загрузка на рабочую станцию вместо ОС на жестком диске другой ОС, которая игнорирует ограничения по доступу А-28 Угадывание пароля по умолчанию Восстановление пароля пользователя Простейшая Угадывание по методу проб и ошибок на основе списка паролей, обычно устанавливаемых поставщиком в процессе производства А-29 Стирание пароля Восстановление пароля устройства Обычная или физическая Либо выполняется программное обеспечение, которое стирает в памяти пароль, либо прерывается подача питания, поддерживающего память с паролем А-30 Атака на шину ввода/вывода Восстановление скрытой информации Физическая Подключение жесткого диска рабочей станции к другому устройству, которое может скопировать его содержимое для последующего анализа А-31 Проникновение в Восстановление скрытой Сложная или Удаление покрытия с модуля устройства аппаратуру устройства аутентификации информации, например базового секрета инновационная аутентификации и зондирование его электронной части с целью извлечения секретных данных А-32 Неразрушающий анализ Восстановление скрытой информации, например базового секрета Инновационная Измерение вариаций потребления мощности устройством аутентификации или временной анализ функций шифрования с целью установления значения базового секрета ГЛАВА 4. ТИПОВЫЕ ПРОЕКТНЫЕ ШАБЛОНЫ 117
Таблица 3.4. Сводная таблица методов защиты Защита "3 Срываемые атаки Описание D-27 Пароль на BIOS А-27 Замена ОС Требуется ввод пароля для замены дискового привада, с которого рабочая станция осуществляет начальную загрузку ОС D-28 Переустановка А-28 Угадывание пароля по Изменяется начальный пароль, установленный в системе пароля поставщика умолчанию во время изготовления, на трудноугадываемый пароль D-29 Специальные корпуса для компьютеров А-30 Атака на шину ввода/вывода Установка на компьютеры защитных корпусов, которые не позволят взломщику атаковать периферийные устройства D-30 Печати А-30 Атака на шину ввода/вывода Создание условий, когда проникновение внутрь компьютера становится заметным благодаря размещению на гранях корпуса трудноподделываемых печатей D-31 Реализация в виде интегральной схемы А-30 Атака на шину ввода/вывода Размещение всех чувствительных функций внутри одной интегральной схемы D-32 Запирание рабочих А-27 Замена ОС Установка рабочих станций на площадях, куда имеет станций А-29 стирание пароля А-30 Атака на шину ввода/вывода А-31 Проникновение в аппаратуру устройства аутентификации доступ небольшое количество людей, включая тех, что авторизованы на использование этих рабочих станций Атака, от которой нет защиты А-32. Неразрушающий анализ — принципиальной защитой против такой атаки является построение такого механизма шифрования, который бы защищал от нее. Эта проблема учитывалась при разработке усовершенствованного стан- дарта шифрования (Advanced Encryption Standards, AES) в Соединенных Шта- тах. В более ранних криптосистемах подобная атака не рассматривалась вообще. К счастью, она требует физического доступа к устройству, в котором находится атакуемый базовый секрет, а также сложной организации атаки. 118 4.9. СВОДНЫЕ ТАБЛИЦЫ
ГЛАВА 5 Локальная аутентификация ...действуя по принципу, что обладание являлось на девять десятых законом... — Аарон Сокольский В этой главе... Глава посвящена основам локальной аутентификации и фундаментальным методам, используемым при ее реализации. Аутентификация рабочих станций и запираемые экраны Шифрование файлов и диска Выбор и использование эффективного шифрования Вопросы обращения с ключами 5.1. Переносные компьютеры и рабочие станции История часто повторяется, особенно в случае компьютеров. Многое из того, что происходило с большими машинами (большими по размеру и стоимости, а не по вычислительной мощности), также происходило с “миникомпьютерами”, кото- рые начали появляться в 1960-х годах, а затем — и с персональными компьюте- рами настоящего времени. Каждое поколение начинало с применения новых ком- пьютеров для решения весьма специализированных задач, и в начале брало на вооружение только простейшие средства программирования: программирование в машинных кодах и язык ассемблер. По мере улучшения машин программисты на- чинали спорить об относительных выгодах лучших средств программирования и языков, пока несколько пионеров не реализовывали эффективные языки програм- мирования для новых компьютеров. Когда новые системы входили в пору зрело- сти, их начинали использовать для решения тех же задач, что и компьютеры, появившиеся до них. Сходство настолько поразительное, что некоторые обозрева- тели назвали это явление “колесом реинкарнации” (см. примечание 1). Параллельными путями эволюционировали также принципы коллективного пользования и управления доступом. Когда настольные компьютеры впервые появились в офисах, они часто находились в коллективном пользовании. Любой, у кого был физический доступ к компьютеру, мог делать на нем свою работу, точно так же, как исследователи, пользовавшиеся компьютерами в 1950-х. В 1960-е годы персональные компьютеры стали дополнением к столу и картотеч- ному шкафчику офисного работника, и коллективное пользование стало менее распространенным. Чтобы защитить неприкосновенность своей текущей работы, а также чувствительную информацию компании, начали использовать про- граммное обеспечение, схожее по функциям с замками на ящиках стола.
Индивидуальным персональным компьютерам угрожает две опасности: слу- чайные взломщики и сознательные взломщики. Случайными взломщиками бы- вают сотрудники, которые способны без разрешения залезть в стол коллеге, те, кто готов воспользоваться легкостью доступа, даже если это нарушает социаль- ные и этические нормы поведения. Таких людей обычно останавливают относи- тельно простые меры защиты. Случайные взломщики как правило не считают свое поведение аморальным или неэтичным. Некоторые даже могут считать от- сутствие защиты приглашением: “Если бы там действительно было что-то сек- ретно, то они бы поставили замок на дверь или защитили бы это паролем или как-нибудь еще.” Механизмы защиты в самых первых персональных компьютерах (кроме зам- ка на двери офиса) были спроектированы так, чтобы препятствовать случайным атакам. Наиболее широко известный механизм, так называемый запираемый эк- ран, возник из программного решения аппаратной проблемы. Экраны старых компьютеров страдали от проблемы, называемой “выгоранием” и заключавшейся в том, что люминесцентное покрытие экрана неравномерно изнашивалось в ответ на показываемое изображение. Например, дисплеи компьютеров Macintosh, страдавшие от выгорания, обычно несли слабое изображение строки меню с “яб- лочком” в левом углу, даже если компьютер и дисплей были выключены. Про- граммное обеспечение для предохранения экрана обнаруживало, когда компью- тер какое-то время не использовался, и затем изменяло картинку на экране, чтобы предотвратить выгорание какого-нибудь одного изображения. Запираемый экран представлял собой защитную функцию, которая была при- вита к программе предохранения экрана. Работало все таким образом, что про- грамма предохранения экрана, или хранитель экрана, по сути “перехватывала” на себя экран компьютера, клавиатуру и мышку, когда те оставались без упот- ребления, и оставляла управление ими за собой до тех пор, пока владелец не ка- сался клавиатуры или мыши. При добавлении пароля экранный хранитель мог “запереть” экран и не допускать к работе никого, кроме того человека, которому был известен пароль, — это и составляло механизм запираемого экрана. Очень скоро программы запирания экрана были вовлечены в эволюцию мето- дов атаки и способов защиты. Сначала хранители экрана с паролями могли быть побеждены простой перезагрузкой компьютера. Некоторые ориентированные на защиту, привязанные к операционной системе хранители экрана не допускали этого, сохраняя управление за собой, даже если компьютер перезапускался. В конечном итоге технология запираемого экрана была встроена в операционные системы настольных систем. Хотя это предотвращало очевидные атаки, но даже сложные программы запирания экрана оставались уязвимыми к основным ата- кам на аппаратную часть персонального компьютера (см. атаку А-27 “Атака с заменой ОС” и атаку А-30 “Атака на шину ввода/вывода” в разделе 4.2). Решительных взломщиков редко останавливают только одни запираемые эк- раны. Такой взломщик уже принял для себя решение сделать нечто неэтичное и незаконное и потратить на это определенные усилия. Единственным способом оказать сопротивление решительному взломщику является создание такой защи- ты, которая была бы слишком рискованной и дорогостоящей для взлома. Во многих случаях атакующую сторону можно отпугнуть, сделав атаку видимой или обеспечить, чтобы после нее оставались явные следы. В некоторых случаях достаточно просто обнаружить и зарегистрировать факт совершения атаки, даже если сам взломщик при этом не идентифицируется. Некоторые более сложно организованные настольные системы, например UNIX и Microsoft Windows NT или 2000, отвечали на боле сложные атаки более сложным механизмом управления доступом. Первоначально ОС UNIX проекти- ровалась как многопользовательская операционная система, так что в нее уже 120 5.1. ПЕРЕНОСНЫЕ КОМПЬЮТЕРЫ И РАБОЧИЕ СТАНЦИИ
были введены защитные механизмы, основанные на встроенных в аппаратную часть центрального процессора функциях, рассмотренных в разделе 4.2. Хотя сначала ОС Windows NT проектировалась как операционная система для персо- нальных компьютеров, разработчики быстро осознали, что наличие многополь- зовательских защитных функций очень важно, чтобы привлечь основного поку- пателя компьютеров — правительства США. Эти функции были введены и опе- рационную систему Windows 2000 (см. примечание 2). С появлением версий ОС Mac OS 9 и Mac OS X даже в систему Apple Macin- tosh было введено управление доступом. ОС Mac OS 9 имела в своем составе ори- ентированные на пользователя механизмы аутентификации и управления досту- пом, так что различные пользователи коллективно используемого настольного компьютера могли держать свои файлы отдельно, т.е. обеспечивалась конфиден- циальность. ОС Mac OS X развилась из системы Mach, которая сама эволюцио- нировала из ОС UNIX и унаследовала UNIX-подобный механизм управления доступом (см. примечание 3). Ориентированное на пользователя управление доступом, хотя и является важной функцией, само по себе не идеально. Действительно мотивированный взломщик обычно может обойти его с помощью атаки по методу Троянского ко- ня (атака А-3 в разделе 1.3). Более того, ориентированный на пользователя ме- ханизм управления доступом на одной отдельной рабочей станции уязвим по от- ношению к тем же физическим атакам, что и запираемые экраны. Защита рабочих станций достигла лучших результатов, когда появились ориен- тированное на сеть управление доступом и шифрование. В случае ориентированно- го на сеть управления доступом наиболее важные данные рабочей станции разме- щаются на сервере, и оператор рабочей станции может использовать эти данные только после того, как пройдет аутентификацию. Если же данные размещаются на рабочей станции, то единственным надежным методом их защиты является шиф- рование, так как в этом случае защита основывается на знании базового секрета (ключа шифрования) а не на программных методах защиты, которые атакующая сторона может обойти. В последующей части главы рассматриваются криптогра- фические методики, в частности шифрование, и обеспечение с их помощью стро- гой аутентификации и управления доступом к данным рабочей станции. 5.2. Шифрование в рабочей станции Шифрование является единственным действительно сильным и практичным способом защиты информации в тех случаях, когда она физически не контроли- руется ее владельцем. Эта методика может использоваться для защиты данных в малогабаритных или трудно защищаемых компьютерах. Подобно классическому шифрованию, используемому при передаче секретных сообщений, шифрование может трансформировать хранимые данные в нечитаемую форму, называемую шифротекстом, на основе секретного ключа. Каждый, кому известен ключ, может извлечь информацию, т.е. преобразовать ее в открытый текст. Как и в случае любого базового секрета, атакующая сторона тоже может извлечь инфор- мацию, если ей удастся вычислить секретный ключ. В общем случае хороший механизм шифрования обеспечивает определенную защиту независимо от того, встроен ли он в операционную систему или ком- плектуется в виде отдельного продукта: Алгоритм шифрования, сила которого и доверительность были проверены и одобрены открытым сообществом криптографов. Это положение обсуж- дается в разделе 5.3 ГЛАВА 5. ЛОКАЛЬНАЯ АУТЕНТИФИКАЦИЯ 121
Достаточно большая длина ключа шифрования, делающая атаку грубой силой трудно реализуемой. Это также рассматривается в разделе 5.3. Возможность ввода секретного ключа в виде паролевой фразы, содержа- щей по крайней мере столько букв, сколько бит в секретном ключе. Это рассматривается в разделе 5.4. Отсутствие “черного хода” или другого механизма “аварийного восстанов- ления данных”, если только этот механизм не является просто дополни- тельным ключом шифрования, который может меняться пользователем или владельцем системы. Это также обсуждается в разделе 5.4. Существуют две стратегии применения шифрования в отношении данных, хранящихся в компьютерах: шифрование файлов и шифрование диска. Шифро- вание файлов работает на пофайловой основе по усмотрению оператора рабочей станции. Шифрование диска предусматривает автоматическое шифрование всего, что находится на диске. Обе эти методики могут обеспечивать хорошие резуль- таты в определенных обстоятельствах. И обе они могут давать сильные результа- ты, но только в том случае, если ими используется сильное шифрование. Шифрование файлов Шифрование файлов является самым легким способом обеспечения шифрова- ния для пользователя рабочей станции. Шифрование файлов обеспечивается многочисленными приложениями либо как основная функция, либо в качестве дополнительной нагрузки. Программа PKZIP, например, дает печально извест- ное слабое шифрование, но тем не менее она еще широко используется. Весьма многообещающей для шифрования сообщений электронной почты является про- грамма Pretty Good Privacy (PGP), но многие используют ее просто для шифро- вания файлов. Метод шифрования файлов лучше всего применять для защиты файлов, коллективно используемых в сети с использованием механизмов пере- сылки файлов или электронной почты (см. примечание 4). На рис. 5.1 показано, как работает шифрование файлов. Владелец файла вы- бирает файл, подлежащий шифрованию, и секретный ключ, обычно в форме па- роля или паролевой фразы. Другие не могут прочитать зашифрованный файл, если не имеют секретного ключа. Чтобы дешифровать файл, владелец (или лю- бой, кто знает секретный ключ) вызывает программу дешифрования и вводит секретный ключ. ОС Mac OS 9 компании Apple интегрирует эту функцию в на- стольную систему: когда пользователь открывает зашифрованный файл, система автоматически запрашивает секретный ключ, дешифрует файл и затем открыва- ет его в соответствующем приложении. Шифрование файлов не обеспечивает надежную защиту данных л от других пользователей рабочей станции. Рис. 5.1 также подсказы- А-33 9 вает потенциальный источник неприятностей: шифрованный файл и файл с открытым текстом используют разные пространства на диске. Взломщик может просто извлечь копию файла с открытым текстом, если приложение не предпринимает специальных шагов для ее стирания. Первые программы шифро- вания файлов просто удаляли файл. Такая стратегия сносно работала в системах с разделением времени, хотя и не предотвращала возможности получения от- крытого текста администратором. Однако многие рабочие станции имеют про- граммы “отката операции удаления”, предназначенные для восстановления слу- чайно удаленных файлов; такие программы способны с такой же легкостью вос- становить “удаленный” файл с открытым текстом. Специалисты называют это проблемой повторного использования объекта, так как повторное использование стертого дискового пространства позволяет неавторизованным людям повторно использовать содержимое “объекта” (файла). 122 5.2. ШИФРОВАНИЕ В РАБОЧЕЙ СТАНЦИИ
Рис. 5.1. Защита файлов рабочих станций шифрованием. Владелец файла выбирает сек- рет для использования в качестве ключа и затем шифрует файл, чтобы скрыть его содер- жание от других. Функция шифрования должна писать нули поверх данных открытого текста после формирования шифрованного файла с тем, чтобы взломщики не могли вос- становить зашифрованные данные, выполняя поиск исходного файла. Дешифровать дан- ные может каждый, кто знает секретный ключ. Эффективные программы шифрования файлов перед удалением файла с открытым текстом затирают его новой записью. Для боль- шинства целей достаточно поверх исходных данных записать новые. D-33 Н Это не дает взломщикам возможности извлечь удаленный файл, ко- пируя его в другое место для последующего просмотра. Подобная защита не предотвращает сложные, проводимые в ла- ль бораторных условиях атаки. Жесткие диски хранят данные магнит- А-34 9 ным образом, и все данные оставляют слабую остаточную намагни- ченность. Тщательный лабораторный анализ магнитной картины на поверхности диска дает возможность получить данные с диска, даже если поверх них был за- писан другой слой данных. К счастью, есть относительно простая защита от лабораторных W атак, которая заключается в использовании трехэтапного процесса & перезаписи поверх данных по крайней мере один раз. Процесс требу- ет наложения трех комбинаций данных: случайной комбинации битов (напри- мер, ООН 0101), дополняющей комбинации (1100 1010) и комбинации, пред- ставляющей собой смесь битов двух предыдущих комбинаций (например, 1001 0111). Хотя это не предотвращает все лабораторные атаки, но такой процедуры достаточно, чтобы сделать большинство атак практически нереализуемыми (см. примечание 5). Однако даже наилучшие программы шифрования файлов должны ль использоваться только для шифрования файлов, коллективно ис- А-35 *9 пользуемых в сети. Шифрование файлов может снизить, но не ис- ключить риск восстановления информации взломщиками, имеющими физиче- ский доступ к рабочей станции. Основной риск составляют даже не сложная ла- бораторная атака или проблема, связанная с хранением, хотя они остаются. Ос- новной риск состоит в том, что взломщик может получить чувствительные дан- ные, роясь в других местах на том же жестком диске. Мало кто создает документ или другой чувствительный файл с нуля. Информация в файл часто собирается из других файлов, которые могут представлять собой первоначальные ГЛАВА 5. ЛОКАЛЬНАЯ АУТЕНТИФИКАЦИЯ 123
наброски этого же документа или базы данных или электронные таблицы, в ко- торых содержатся исходные сырые данные. И если атакующая сторона не может извлечь в виде открытого текста сам отчет, она может получить черновые мате- риалы, поскольку владелец не шифровал каждый файл в отдельности. Более того, большинство программ для создания документов, например FrameMaker и текстовые процессоры типа Microsoft Word, создают временные файлы и файлы резервных копий, которые могут содержать часть или весь до- кумент в виде открытого текста. А у программ шифрования файлов нет способа, с помощью которого они могли бы отслеживать такие файлы и затирать их пе- резаписыванием. Однако достаточно мотивированный взломщик может извлечь удаленные временные файлы или просканировать содержимое резервных копий с открытым текстом. Взломщики могут даже искать удаленные буферные фай- лы, с помощью которых документ в открытом виде передавался в принтер. Хо- рошо подготовленный и знающий взломщик может выполнить поиск секторов диска, помеченных как плохие; такие сектора недоступны для большинства про- грамм затирания старых данных записью поверх них новых. Таким образом, шифрование файлов нецелесообразно для защиты данных от мотивированных взломщиков, имеющих физический доступ к рабочей станции. Массовое шифрование Как подразумевает название, при массовом шифровании все со- W держимое жесткого диска преобразовывается в шифротекст. Это ис- & ключает для взломщиков возможность восстановления данных пу- тем просеивания мусора на диске, так как зашифрованными являются все дан- ные. Пользователям не надо беспокоиться о том, зашифровали ли они критиче- ский файл или нет, поскольку все шифруется автоматически, даже временные и буферные файлы. У атакующей стороны нет возможности восстановить чувстви- тельные данные, роясь на жестком диске, так как зашифровано все, включая поврежденные участки дискового пространства, удаленные и временные файлы. Единственным недостатком является то, что такое шифрование требует большо- го количества вычислений, и это либо увеличивает стоимость, либо снижает производительность защищенного компьютера. Рис. 5.2. Защита жесткого диска методом массового шифрования. Массовое шифрование защищает все находящееся на диске за счет шифрования каждого блока данных перед его записью. Такой подход в значительной степени облегчает пользование, так как шифрова- ние происходит автоматически. Пользователю никогда не надо принимать решения о не- обходимости шифрования того или иного файла. Все, что от пользователя требуется, — ввести правильный секретный ключ, чтобы работать с жестким диском. 124 5.2. ШИФРОВАНИЕ В РАБОЧЕЙ СТАНЦИИ
Как показано на рис. 5.2, в общем случае шифрование осуществляется между жестким диском и другими компонентами рабочей станции. Операция почти полностью прозрачна, так что центральный процессор рабочей станции, память и стандартное готовое программное обеспечение не знает, что шифрование имеет место. Наиболее ясным отличием может быть присутствие специальной про- граммы, которая воспринимает секретный ключ в виде пароля или паролевой фразы в момент загрузки компьютера. Продукты для массового шифрования могут иметь в основе либо программное обеспечение, либо аппаратуру. Продукты на основе программного обеспечения обычно устанавливаются в виде специального драйвера устройства. Они часто уменьшают общую производительность компьютера, так как шифрование делит время центрального процессора с прикладными программами. Аппаратно реализо- ванные продукты обычно устанавливаются в рабочую станцию либо в виде заказ- ной интерфейсной платы, либо в виде устройства, включаемого между жестким диском и точкой его подключения к рабочей станции. Системы с аппаратурой шифрования обычно показывают лучшую производительность, что достигается за счет переноса нагрузки вычислений процедуры шифрования на специальную элек- тронику. Для обеспечения наивысших показателей практической производитель- ности в некоторых продуктах используются заказные микросхемы шифрования. В тех случаях, когда потенциальные взломщики могут иметь физический доступ к жесткому диску, метод массового шифрования обеспечивает лучшую защиту, чем метод шифрования файлов. Как показано на рис. 5.3, в соответст- вии с этим методом шифруются все данные, постоянно хранимые на компьюте- ре. Потенциально чувствительные данные в виде открытого текста размещаются только в ОЗУ, исключая случаи, когда они набираются на клавиатуре или ото- бражаются на дисплее. Таким образом, данные в виде открытого текста исчеза- ют как только компьютер выключается, при этом остаются только зашифрован- ные данные на жестком диске. Это особенно привлекательно для пользователей переносных систем, так как такие системы всегда сталкиваются с серьезным риском быть украденными. Как говорят, воры поняли, что данные в переносных компьютерах могут стоить больше, чем сами компьютеры. Было одно сообщение о премии в 10 000 долла- ров за переносной компьютер, украденный в аэропорту Вашингтона. Массовое шифрование не дает ворам возможности извлечь какую-либо информацию с же- сткого диска (см. примечание 6). Рис. 5.3. Как работает массовое шифрование. Механизм массового шифрования устанавли- вается прозрачно между жестким диском и остальной частью рабочей станции либо в виде драйвера устройства, либо в виде отдельной интерфейсной схемы. Чувствительные данные по-прежнему находятся в ОЗУ рабочей станции в открытом виде, но они всегда шифруются перед записью на жесткий диск. Все данные, считываемые с жесткого диска, автоматически дешифрируются перед их передачей программному обеспечению рабочей станции. ГЛАВА 5. ЛОКАЛЬНАЯ АУТЕНТИФИКАЦИЯ 125
Взломщики ничего не добьются и атакуя зашифрованный массив, используя замену ОС или атаку на шину ввода/вывода: они даже не смогут работать с шифрованным жестким диском. Операционная система рассматривает зашифро- ванный массив как несформатированный диск, поскольку у нее нет возможности прочитать данные описания массива. Невозможно вывести список файлов, так как директория зашифрована. Зашифровано даже дисковое пространство, при- надлежащее удаленным файлам или плохим блокам, так что поиск среди мусора тоже ничего не даст. Системы для массового шифрования должны быть в высшей степени надеж- ными, так как определенные отказы приведут к потере всех данных. Критиче- ски важным моментом является и правильная обработка ключа: между владель- цем и программным обеспечением должно быть полное взаимопонимание отно- сительно пароля или паролевой фразы, защищающей данные. Если паролевая фраза теряется, то данные тоже должны считаться потерянными. Не должно также быть ситуации, когда введенная правильная паролевая фраза не распозна- ется в качестве таковой. Любой механизм защиты, полагающийся на некие секретные данные, должен обеспечивать способ их периодической смены. Что касается массового шифрова- ния, то продукт должен обеспечивать механизм для изменения секретного клю- ча или паролевой фразы. Это требует, чтобы продукт систематически дешифро- вал весь диск и затем шифровал его снова с новым секретом. При больших объ- емах такой процесс может отнимать много времени, но это должно делаться, когда массив данных меняет своего владельца. Итак, продукт для шифрования диска должен обеспечивать следующие функциональные характеристики. Все функциональные характеристики хороших систем шифрования, пере- численные в начале данного раздела. Пуленепробиваемую надежность, так как если что-то пойдет не так с обра- боткой данных, управлением ключом или шифрованием, будут потеряны все данные. Позволять пользователям перезапирать массив, существенно меняя паро- левую фразу, используемую для его дешифрования. Хотя массовое шифрование и обеспечивает высокую степень безопасности, оно также обладает некоторыми свойствами, которые иногда становятся недостатка- ми. Прежде всего оно не дает способа для распространения шифрованных фай- лов. Так как шифрование происходит прозрачным образом, то рабочая станция не может читать с диска ничего кроме дешифрированного открытого текста. Ес- ли пользователям необходимо обмениваться зашифрованными файлами по элек- тронной почте, то им понадобится отдельная программа для шифрования фай- лов. Вторым недостатком является то, что каждый массив может иметь только один секрет, и все пользователи, работающие с этим массивом, должны делить эти секретные данные между собой. Таким образом, массовое шифрование не может обеспечивать персональной собственности данных среди пользователей одного массива данных. В некоторых случаях считается недостатком, что массовое шифрование за- щищает все без разбора. Это особенно относится к системам, которые использу- ют для шифрования программное обеспечение, поскольку оно замедляет общую производительность системы. И если пользователи еще могут терпеть задержки, когда система выполняет шифрование секретного меморандума, они менее тер- пимы, ожидая пока система дешифрует Microsoft Office, копии которого скорее всего уже есть у взломшиков. Но единственный способ гарантировать, что за- шифрована вся чувствительная информация, это шифровать все. 126 5.2, ШИФРОВАНИЕ В РАБОЧЕЙ СТАНЦИИ
Хотя массовое шифрование обеспечивает очень сильную защиту от некоторых видов атак, оно не защищает от всех атак. У криптоаналитиков есть старое вы- ражение относительно расшифровки данных: “Прежде всего ищи открытый текст”. Это означает, что хорошая атака ставит западню на данные, которые на- ходятся в виде открытого текста, а не пытается преодолеть криптографическую защиту. Это справедливо и в отношении атак на зашифрованный массив. Прак- тичные атаки будут использовать программы типа Троянского коня и стараться тайком переправить открытый текст на нешифруемую дискету или предать его по сетевому соединению на другие компьютеры. В конце 1990-х годов, напри- мер, ходили слухи о вирусном макросе для редактора Microsoft Word, который отправлял по почте зараженный документ в систему новостей Usenet news, по сути публикуя его всему миру через Internet. Против такой атаки массовое шифрование защитить не может. 5.3. Шифрование для защиты данных В разделе 5.2 были представлены требования к качественным продуктам шифрования, которые, в частности, рекомендуют использование сильного шиф- рования с трудноугадываемыми секретными ключами. Может быть, это и вы- глядит как очевидный совет, но часто достичь этого сложно. Сильное шифрование начинается с сильного алгоритма шифрования: вычис- лительной процедуры, которая либо шифрует данные в виде открытого текста, либо преобразует зашифрованные данные обратно в открытый текст. Для управ- ления шифрованием эти алгоритмы используют секретный ключ. Хорошо спро- ектированный алгоритм обеспечивают отсутствие способа расшифровки зашиф- рованных данных без правильного значения ключа. Единственное исключение составляет поиск по методу проб и ошибок. Но если секретный ключ достаточно велик, то такой поиск с практической точки зрения бесполезен. Комбинация этих двух свойств — сильный алгоритм и длинный ключ — дает в результате вычислительно безопасное шифрование, т.е., шифр, который прак- тически невозможно взломать. Хорошие коммерческие продукты для шифрова- ния основываются на вычислительно безопасном шифровании. Чтобы понять, что означает хорошее шифрование, мы кратко рассмотрим проблему плохого шифрования, роль длины ключа в криптографической силе и время атаки на криптографический ключ. Алгоритмы шифрования подразделяются на две общие категории: алгоритмы с потоковым шифрованием и алгоритмы с блочным шифрованием. Большинство из современных широко используемых алгоритмов являются блоковыми: старый алгоритм по стандарту шифрования данных (DES), новый алгоритм в соответст- вии с усовершенствованным стандартом шифрования (AES), международный ал- горитм шифрования данных (IDEA), алгоритм Blowfish и алгоритм CAST, соз- данный Карлайслом Адамсом (Carlisle Adams) и Стаффордом Наваресом (Staf- ford Navares) (см. примечание 7). Потоковые шифры использовались в электромеханических машинах с сере- дины 20-го века, включая Вторую мировую войну. Наиболее известным совре- менным потоковым шифром является шифр Rivest Cipher #4 (RC4), который используется в Web-броузерах для защиты транзакций в электронной коммер- ции. Хотя потоковое шифрование не имеет фундаментально слабых мест, его безопасное использование обеспечить трудно. Компания Microsoft выбрала алго- ритм RC4 для шифрования в защищенных каналах доменов Windows NT, а также в протоколе двухточечной связи с туннелированием (РРТР) и столкнулась с проблемами его безопасного использования (см. раздел 11.4). ГЛАВА 5. ЛОКАЛЬНАЯ АУТЕНТИФИКАЦИЯ 127
На рис. 5.4 проиллюстрировано различие между блочным и потоковым шиф- рованием. Блочный шифр шифрует данные блоками фиксированного размера. Для получения шифротекста в таком шифре используется ключ шифрования, с помощью которого осуществляется тщательное скремблирование битов блока от- крытого текста. Если изменить один бит в открытом тексте, то это может при- вести к изменению нескольких битов в шифротексте, и наоборот. Потоковые шифры шифруют поток данных. Механические шифровальные ма- шинки шифровали поток букв, составляющих секретные сообщения. Современные компьютерные шифры шифруют поток битов. Такие шифры работают в два этапа. На первом этапе алгоритм использует секретный ключ для генерации потока слу- чайных битов. На втором этапе, алгоритм шифрует биты данных, объединяя их по одному с потоком случайных битов, используя операцию “исключающее или”. Ес- ли изменить один бит в открытом тексте, то это повлияет только на тот же бит в шифротексте. В протоколах, использующих потоковое шифрование, это может приводить к ослаблению целостности; пример приводится в разделе 11.4. Атаки на шифрование через сокращенные процедуры Алгоритмы сильного шифрования построить не просто. Будучи заместителем директора Агентства национальной безопасности США, Уильям Кроуэл (William Crowell) в своем докладе Конгрессу говорил, что созданная во времена Второй мировой войны в Германии шифровальная машинка “Энигма” давала такой шифр, сломать которой нельзя было бы и сегодня, даже с помощью современ- ных компьютеров, и успех союзников в расшифровке шифра “Энигмы” объяс- нялся исключительно ошибками немцев и высокой сообразительностью дешиф- ровальщиков союзников. У немцев были все исходные материалы, чтобы добить- ся получения сильного шифрования, но они просто не смогли правильно сложить их. Их ошибки вскрыли сокращенные процедуры, которыми смогли воспользоваться союзники, чтобы расшифровать сообщения (см. примечание 8). Во время войны немцы были до конца убеждены, что код “Энигмы” расшиф- ровать невозможно, и показания Кроуэла говорят, что они не так уж и обманы- вались в своей вере. “Энигма” была побеждена благодаря неожиданному стече- нию обстоятельств: союзникам удалось построить машины, выполнявшие поиск по методу проб и ошибок с беспрецедентно высокими скоростями, а в процеду- рах кодирования немцев имелись слабые места, которые делали такой поиск по Рис. 5.4. Блоковое и потоковое шифрование. При блочном шифровании, как показано сле- ва, шифрование выполняется поблочно. Потоковое шифрование, как показано справа, предусматривает шифрование данных побитово. Потоковый шифр генерирует поток-ключ, который шифрует данные путем выполнения операции “исключающее или” между соот- ветствующими битами потока-ключа и битами открытого текста. 128 5.3. ШИФРОВАНИЕ ДЛЯ ЗАЩИТЫ ДАННЫХ
методу проб и ошибок имеющим смысл. Эти слабые места позволяли вводить в процесс дешифровки сокращенные процедуры, поскольку надо было рассматри- вать не все возможные ключи шифрования. И хотя со времен Второй мировой войны технология шифрования значительно продвинулась вперед, слабое шиф- рование по-прежнему проявляется в коммерческих продуктах. Фатальным недостатком большинства программ шифрования явля- ется то, что лучше всего определяется древнегреческим словом hubris, А-36 Ф означающим гордыню и высокомерие, из-за которых умный человек совершает глупые поступки. Со стороны разработчиков программного обеспечения таким глупым поступком является попытка создания собственных алгоритмов шифрования. Построить вычислительно безопасный алгоритм очень сложно. К до- морощенным алгоритмам, пусть даже созданным крупными и процветающими компаниями, следует относиться с подозрением. Два особенно интересных примера этому появились в конце 1990-х годов. Первым примером было вскрытие крипто- графами слабых мест в алгоритмах шифрования, использовавшихся в цифровых мобильных телефонах. Вторым было опубликование в Internet программного обес- печения для взлома шифра, используемого с целью контроля просмотра видео- фильмов, продаваемых на DVD-дисках. Ни в одной из этих систем не использовал- ся хорошо известный и зарекомендовавший себя алгоритм. В обоих случаях алго- ритмы были доморощенными и держались в секрете в тщетной попытке не дать взломщикам возможности справиться с шифром (см. примечание 9). Простым решением этой проблемы является использование сильно- ъ го хорошо изученного криптографического алгоритма. Подобные про- р цедуры хорошо известны и их легко найти. Первым кандидатом мож- но считать алгоритм AES: новый “усовершенствованный” алгоритм, одобренный правительством США для шифрования чувствительной информации в правитель- ственных и коммерческих приложениях. На момент написания этой книги AES еще не был формально принят в качестве Федерального стандарта обработки ин- формации (FIPS), но это, как полагают, наверняка произойдет в недалеком буду- щем. Кроме новизны, алгоритм AES обеспечивает быстроту шифрования и высо- кую степень защиты, что позволяет рекомендовать его почти для любого приложе- ния. В алгоритме AES используется 128-разрядный ключ, что ставит взломщиков перед средним пространством атаки в 127 бит. К моменту написания этих строк единственным принципиальным недостатком AES было то, что пока еще он вне- дрен в очень небольшом количестве продуктов (см. примечание 10). Конечно, на практике имеющиеся программные продукты не всегда обеспечи- вают именно то, что хотелось бы, но есть альтернативные варианты, которые могут дать приемлемый уровень защиты. Первым является тройной DES- алгоритм, представляющий собой вариант DES-алгоритма, использующий сек- ретный ключ удвоенной или утроенной длины. Хотя DES-алгоритм относительно медленен, особенно когда выполняется три раза в варианте тройного DES- алгоритма, но его безопасность заслуживает доверия и прошла испытание вре- менем. И в самом деле, единственным его слабым местом, которое в свое время атаковали с успехом, является относительно малая длина его 56-разрядного ключа. Другими заслуживающими доверия алгоритмами являются IDEA, RC4, Blowfish и CAST (см. примечание 11). Интересным моментом, связанным с DES-алгоритмом, является то, что в нем содержится одна известная, хотя и незначительная, возможность для сокраще- ния процедуры дешифровки. Алгоритм DES обладает свойством, называемым комплиментарное тью. Это означает, что при выполнении атаки методом проб и ошибок можно проверять фактически два DES-ключа одновременно. Каждый раз, когда для проверки выбирается ключ, после прогона DES-алгоритма можно одновременно проверять как выбранный ключ, так и его побитовую инверсию. ГЛАВА 5. ЛОКАЛЬНАЯ АУТЕНТИФИКАЦИЯ 129
Таким образом, при поиске по методу проб и ошибок алгоритм надо прогонять только половину необходимого количества раз. Чтобы вычислить размер средне- го пространства атаки для DES-алгоритма, мы, как обычно, вычитаем один бит, чтобы учесть поиск в среднем только среди половины ключей, и второй бит, чтобы учесть комплиментарность. Отсюда, среднее пространство атаки для DES- алгоритма составляет 54 бита (см. примечание 12). Атаки на шифрование по методу проб и ошибок Кроме проведенных в военное время успешных атак на немецкие коды, DES- алгоритм является самым известным примером взлома современного кода мето- дом проб и ошибок. Скептицизм относительно его 56-разрядного ключа возник сразу же после того, как он был представлен. Вскоре после публичного объявле- ния о DES-алгоритме специалисты в области дешифровки Уайтфилд Диффи (Whitfield Diffie) и Мартин Хеллман (Martin Hellman) описали конструкцию машины, которая могла бы взламывать одно зашифрованное с помощью DES- алгоритма сообщение в день. Хотя такая машина реально построена не была, ученые показали, как она может быть сделана с использованием существовав- шей на 1975 год технологии за 20 миллионов долларов. И если для большинства предприятий такая машина была нереальной, несомненно, существовали не- сколько крупных корпораций, национальных и криминальных организаций, ко- торые могли бы себе позволить подобную технику. Но на то время реально ни- кто так и не продемонстрировал жизненность попыток взлома сообщений, за- шифрованных с помощью DES-алгоритма (см. примечание 13). Однако скептики имели время и новые доказательства обоснованности своих опасений. В 1960-е годы Гордон Э. Мур (Gordon Е. Moore) исследовал наметив- шиеся тенденции в развитии компьютерных микросхем и заметил, что их стои- мость, размеры и время выполнения команд уменьшались приблизительно на 50% в год. Эту общую тенденцию назвали законом Мура. Прогнозы закона не- точны, но общая тенденция сохранилась до сегодняшних дней. В более совре- менном изложении закон Мура гласит, что объем вычислений, доступный за данную цену, удваивается каждые 18 месяцев. Со временем вычисления стано- вятся все быстрее и дешевле (см. примечание 14). В разделе 2.4 были рассмотрены атаки на пароли по методу проб и ошибок: очевидно, что к концу 1970-х закон Мура вдохновлял атакующих на риск. Но только в 1990-е годы общественность начала серьезно говорить о слабости алго- ритма DES. В 1993 году Майкл Вайнер (Michael Wiener) представил детальный и убедительный проект машины для взлома DES-алгоритма стоимостью 1 миллион долларов, которая в теории могла бы взламывать один ключ каждые 3,5 часа. В 1996 году группа специалистов в области шифрования и других заинтересован- ных в компьютерной безопасности лиц сделала доклад, суммирующий тенденции в технологии взлома грубой силой, и показала, что алгоритм DES больше не яв- ляется безопасным для коммерческих приложений. Но взлом DES оставался в теории до 1997 года, когда свободная конфедерация добровольцев в Internet взломала DES-сообщение за 5 месяцев, используя для этого заимствованное ма- шинное время. На следующий год значительно более крупная группа доброволь- цев взломала DES-сообщение за 39 дней (см. примечание 15). Однако это достижение было превзойдено летом 1998 года, когда Фонд элек- тронных границ (Electronic Frontier Foundation) обнародовал данные о своем взломщике DES-алгоритма DES Cracker. DES Crecker представлял собой специа- лизированную вычислительную машину, стоимостью 250 000 долларов, которая демонстрировала скорость 88 миллиардов угадываний в секунду. Во время своей первой публичной демонстрации он взломал зашифрованное по алгоритму DES 130 5.3. ШИФРОВАНИЕ ДЛЯ ЗАЩИТЫ ДАННЫХ
сообщение за три дня. Хотя вполне возможно, что у Агентство национальной безопасности США (АНБ) имеется и более быстрое устройство для взлома клю- чей, DES Cracker показал наивысшую скорость угадывания среди всех открыто продемонстрированных устройств (см. примечание 16). Теоретические границы величины скорости угадывания Успешные атаки на алгоритм DES оставляют нас с неразрешенным вопросом: какую же энтропию в битах должен иметь базовый секрет, чтобы сопротивлять- ся атакам грубой силой продолжительное время? В середине 1990-х годов АНБ представило в качестве кандидата для защиты “чувствительной, но несекретной” правительственной информации алгоритм шифрования Skipjack с 80-разрядными ключами. Отмечая озабоченность общественности относительно 56-разрядных ключей алгоритма DES, АНБ предложило Skipjack для неправительственного использования в качестве части своего неудачного стандарта условного шифро- вания Escrowed Encryption Standard. Однако алгоритм Skipjack так и не был принят из-за возмущения общественности самим насильственным введением ус- ловного шифрования; кроме того, имелось беспокойство относительно того, что с учетом прогресса вычислительной техники 80 бит больше не давали достаточно- го зазора безопасности. Уже широко использовались другие коммерческие алго- ритмы шифрования, как, например, IDEA и RC4, которые имели в основе 128- разрядные ключи. Финансовые же организации, которые по-прежнему использо- вали DES-алгоритм, использовали его в тройном варианте со 112-разрядными или даже 168-разрядными ключами. Сам по себе закон Мура не указывает на конечную точку: уравнение не схо- дится на каком-то максимальном значении. Действительно, исследования в об- ласти квантовой вычислительной техники заставляют предположить, что когда- нибудь можно будет построить компьютер, использующий в качестве логических элементов отдельные частицы. В таком мире только квантовая физика может дать убедительную верхнюю границу для атак методом проб и ошибок. Физик Сет Ллойд (Seth Lloyd) убедительно доказал, что на этом уровне скорости вычислений ограничиваются количеством энергии, потребляемой вычислительной системой. Если когда-нибудь мы сможем построить квантовый компьютер такого уровня, то он сможет достичь скоростей порядка 1033 переключений в секунду, по- требляя при этом всего один ватт мощности (скажем, 32-разрядный процессор, рабо- тающий на частоте 1 ГГц, дает где-то около 1011 переключений в секунду). При по- добной скорости работы одноваттный квантовый компьютер смог бы каждую секун- ду накрывать пространство, содержащее 113 бит (см. примечание 17). Конечно, это все теоретический идеал: в действительности нет таких машин, которые приближаются к подобному быстродействию или эффективности, даже экспериментальные квантовые компьютеры. Но интересно рассмотреть, насколько мощным может быть квантовый компьютер для поиска ключей. Эту информацию можно использовать для того, чтобы решить вопрос, какое количество бит должен иметь секретный ключ, чтобы защититься от самых невообразимых атак. Например, представим себе, что мы имеем возможность перенаправлять всю солнечную энергию в процесс угадывания. Предположим идеальные условия, при которых вся поставляемая энергия тратится на выполнение переключений, соответствующих отдельным угадываниям по методу проб и ошибок. Используя всю солнечную энергию, можно поддерживать скорость 2,33 х 106° угадываний в секунду, что позволит накрывать каждую секунду 201-разрядное пространство । поиска. Учитывая, что для представления количества секунд в году достаточно 25 бит, мы видим, что производимая за весь год солнечная энергия будет исчер- пана 226-разрядным пространством поиска. Если быть менее жадным и исполь- ГЛАВА 5. ЛОКАЛЬНАЯ АУТЕНТИФИКАЦИЯ 131
зовать только ту энергию, которая попадает на Землю, то можно взламывать каждую секунду пространство поиска в 175 бит. Для некоторых этого достаточно, чтобы предположить, что базовый секрет с парой сотен бит будет сопротивляться атакам по методу проб и ошибок все обо- зримое будущее. Однако физика вычисления является относительно новой обла- стью и продолжает развиваться как теоретически, так и практически. Некото- рые теоретики находят такую оценку правдоподобной, но необходимо, чтобы она еще выдержала испытание временем. 5.4. Обращение с ключами Вне зависимости от силы алгоритма шифрования, защита зашифрованных данных хороша ровно настолько, насколько защищен секретный ключ. Мы должны выбирать ключи, которые трудно угадать и держать их в защищенном от взломщиков месте. С другой стороны, если мы забудем или потеряем секрет- ный ключ, с помощью которого были зашифрованы критически важные данные, произойдет катастрофа. Проблема может быть не только личной, особенно если зашифрованная информация принадлежит работодателю или другому владельцу. Шифрование также включает в себя политические моменты, если учесть его роль во время Второй мировой войны и холодной войны. Запоминаемые ключи Сильное шифрование бессмысленно, если секретный ключ легко угадать. Ес- ли данные имеют высокую ценность, а взломщик — достаточно сильные моти- вы, то для ключа шифрования рабочей станции используйте длинную паролевую фразу, которую трудно угадать. Например, можно использовать короткий кусок текста прозаического произведения, вероятность угадывания которого взломщи- ком невелика. Хорошую паролевую фразу взломщик не угадает, даже используя словарную атаку. Сопутствующей проблемой, особенно в случае использования массового шифро- вания, является то, что с потерей ключа пользователи теряют данные. Сильное шифрование имеет целью противостоять попыткам извлечения данных методом проб и ошибок. Если зашифрованные данные могут быть восстановлены законным пользователем несмотря на забытый пароль, то и другие смогут сделать это. Разумной стратегией шифрования файлов является использование одной па- ролевой фразы для шифрования всех файлов, которые, вероятно, будут коллек- тивно использоваться группой людей. Например, пользователь может писать от- четы по нескольким проектам, шифруя отчеты по одному проекту одной пароле- вой фразой, а отчеты по другому — другой. Тогда пользователь делит соответствующую паролевую фразу с людьми, связанными с конкретным проек- том. Такой подход минимизирует нагрузку на всех, снижая количество коллек- тивно используемых секретов. Автор же сохраняет секретность информации, ис- пользуя отдельные секретные ключи. Шифрование также приводит к ситуации, когда может понадобиться иметь письменную копию запоминаемых базовых секретов. В других системах контро- ля доступа и аутентификации пользователи обычно имеют возможность попро- сить администратора заменить утерянный или забытый пароль. Не так все про- сто в случае шифрования. Если пользователь забывает паролевую фразу для за- шифрованных сильным алгоритмом данных, то они теряются. По этой причине целесообразно и даже необходимо записывать паролевые фразы для зашифро- ванных данных. Однако, как только паролевая фраза записывается, содержащая ее бумага должна очень тщательно охраняться. 132 5.4. ОБРАЩЕНИЕ С КЛЮЧАМИ
Методы работы с ключами Ключи шифрования приводят к возникновению дилеммы, так как их роль состоит не только в аутентификации авторизованного пользователя: знание клю- ча также дает доступ к зашифрованным данным. Это приводит некоторых вла- дельцев и других ответственных лиц к выводу о необходимости работать с клю- чами шифрования не так, как с паролями. Если владелец в аутентификации полагается на пароли, то существует правило, запрещающее раскрытие пароля кому бы то ни было. В этом случае владелец име- ет возможность вести учет всего сделанного тем человеком, которому принадлежит пароль, если он был использован. Более того, строгое правило запрета раскрытия пароля также уменьшает риск атак по методу социального инжиниринга (см. раз- дел 1.4). Пользователи вряд ли попадутся на удочку, если будут знать наверняка, что администратор никогда не попросит их назвать свой пароль. С другой стороны, пароли, используемые в качестве ключей шифрования, управляют доступностью информации и несомненно играют вторичную роль, ес- ли речь идет об учете действий. Любой, кому необходимы данные, должен знать пароль, с помощью которого они были зашифрованы. И несущественно, кто ис- пользует пароль, поскольку предполагается, что он должен его знать. Поэтому владельцы систем требуют, чтобы ключи шифрования сообщались администра- тору, что гарантирует доступность зашифрованных данных. Поскольку запоминаемые ключи шифрования для большинства пользовате- лей неотличимы от паролей, это приводит к очевидному противоречию в поли- тике. Для владельцев одним из способов справиться с этим является обучение: необходимо четко объяснить, почему одни пароли должны сообщаться, а другие нет. А это достаточно сложно, так как для большинства непонятен сам меха- низм. Если пользователи знают, что надо сообщать пароли шифрования, то взломщик сможет убедить их, что пароли для регистрации в системе на самом деле являются и паролями для шифрования. Условные ключи и разные политики шифрования Другой путь обеспечения раздельного доступа к зашифрованным данным за- ключается в использовании технологии условных ключей или ключей восста- новления. Некоторые продукты для шифрования предоставляют владельцу воз- можность давать дополнительный ключ шифрования. Этот ключ позволит вла- дельцу дешифрировать данные, не зная ключа, выбранного создателем данных. Таким образом, создатель может держать ключ в секрете, но владелец все равно будет иметь доступ к данным. Условные ключи имеют плохую репутацию в сфере компьютерной безопасно- сти, поскольку они возникли в результате политических споров вокруг коммер- ческих технологий шифрования. До появления алгоритма DES не существовало сильного механизма шифрования для защиты коммерческого или частного тра- фика в каналах связи. DES позволил осуществить электронное выполнение фи- нансовых транзакций, защитив их от активной разведки и подделок. Однако DES также мешал следственным действиям АНБ и ФБР. В Соединенных Штатах, согласно принятым после Второй мировой войны законам о контроле за экспортом, технология шифрования была отнесена к категории “военной техноло- гии”. Официально эти законы имели целью ограничить разработку и продажу про- дуктов для шифрования военного назначения, но они действовали также и в отно- шении коммерческих продуктов. Аппаратные и программные системы, использую- щие алгоритм DES, могли быть проданы заокеанским клиентам только после получения специальной лицензии, выдаваемой Государственным департаментом. ГЛАВА 5. ЛОКАЛЬНАЯ АУТЕНТИФИКАЦИЯ 133
С бурным расцветом цифровой связи после появления Internet экспортные ограничения на технологию шифрования стали основным политическим момен- том. В середине 1990-х АНБ разработало стандарт условного шифрования Es- crowed Encryption Standard (EES), который стал федеральным стандартом FIPS 185. Стандарт EES вводил секретные ключи шифрования, которые позволяли бы следственным агентствам США анализировать зашифрованные сообщения. Наи- более широко известная реализация этого алгоритма была воплощена в инте- гральной схеме под названием Clipper (“Клиппер”). Поставщики и зарубежные клиенты интереса к технологии не проявили. Правительство попыталось прину- дить изготовителей заняться внедрением алгоритма EES, оказав давление через экспортные правила, но большинство производителей все же отказались. К кон- цу 1990-х годов экспортные ограничения на продукты шифрования были боль- шей частью сняты, и от алгоритма EES отказались. Но отвращение к ключам условного шифрования остается до сих пор (см. примечание 18). С практической точки зрения условные ключи могут дать ценный механизм, с помощью которого владельцы устанавливают резервные ключи для зашифро- ванных файлов или массивов. Это снижает риск потери данных при утере персо- нально выбранных ключей шифрования, особенно если файлы хранятся в за- шифрованном виде продолжительное время. Не многие знают, как гарантиро- вать секретность ключа шифрования и при этом не потерять его в течение нескольких лет. Резервные ключи, подобные тем, что обеспечиваются механиз- мами условных ключей, могут снизить риск потери данных при потере ключа (см. примечание 19). С другой стороны, условное шифрование имеет мало смысла в телекоммуни- кационных системах. Данные в канале связи носят эфемерный характер; ценной является информация, появляющаяся на концах связи в результате обмена. Ес- ли владелец хочет заниматься подслушиванием на линиях связи, то существует множество значительно более простых способов делать это. Более того, механизм условных ключей, предложенный правительством, был связан с необходимостью делиться этими данными со сторонними организациями — агентствами, имею- щими право вести расследования. Но риск для ключей сильно растет, когда мы делим их со все большими группами людей. 5.5. Сводные таблицы Таблица 5.1. Сводная таблица атак Атака •* Проблема системы защиты Характер атаки Описание атаки А-33 Извлечение исходного открытого текста Восстановление скрытой информации Простейшая Извлекается файл с открытым текстом, который использовался для получения шифрованного файла А-34 Извлечение магнитных данных Восстановление скрытой информации Сложная Для извлечения затертых данных с магнитной поверхности применяются лабораторные методы А-35 Копание в диске Восстановление скрытой информации Простая Используется программное обеспечение для восстановления после случайного удаления (“undelete") для обнару- жения местонахождения чувствительных данных в виде открытого текста 134 5.5. СВОДНЫЕ ТАБЛИЦЫ
Окончание табл. 5.1 Атака Проблема системы защиты Характер атаки Описание атаки А-36 Доморощенный Восстановление скрытой алгоритм шифрования информации Сложная Обнаруживаются и используются слабые места в алгоритме шифрования для расшифровки данных за приемлемое с практической точки зрения время Таблица 5.2. Сводная таблица методов защиты Защита "3 Срываемые атаки Описание D-33 Затирание исходного открытого текста А-33 Извлечение исходного открытого текста Поверх данных файла с открытым текстом, который должен быть защищен шифрованием, записываются другие данные D-34 Трехэтапное затирание А-34 Извлечение магнитных данных Используется трехэтапный процесс затирания данных в файле с открытым текстом с целью затруднения восстановления информации D-35 Массовое шифрование А-35 Копание в диске Шифруется вся информация на дисковом массиве D-36 Открытое рецензирование алгоритмов шифрования А-36 Доморощенный алгоритм шифрования Применение алгоритмов, возможности которых были тщательно проанализированы и обсуждены специалистами в области шифрования ГЛАВА 5. ЛОКАЛЬНАЯ АУТЕНТИФИКАЦИЯ 135
ГЛАВА б Выбор PIN-кодов и паролей Я плутую и заставляю все мои компьютерные учетные записи использовать один и тот же пароль. — Дональд А. Норман, Конструирование повседневных вещей В этой главе... Паролевые системы часто ограничены, поскольку слишком легко определить сами пароли. Это затрудняет нахождение баланса между теми паролями, кото- рые легко запомнить, и теми, которые легко угадать. Внутренние и внешние пароли Защита паролей Коллективное использование паролей Группы и последовательности паролей 6.1. Сложность паролей Так как пароли были введены в обиход в 1960-х годах, то понятие эффектив- ного пароля эволюционировало вместе с атаками. Сначала для паролей не было никаких правил, кроме того, что они должны легко запоминаться и держаться в секрете. С увеличением изощренности атак на пароли то же самое происходило и с правилами их выбора. Каждое новое правило имело свое оправдание и в опре- деленном контексте несло в себе смысл. Люди редко имели проблемы с каким- нибудь конкретным правилом; проблемой был их объединенный эффект. Цитата в начале главы иллюстрирует хорошо известное положение относи- тельно правильного использования пароля: применение одного пароля для не- скольких вещей — плутовство. Объясняется это тем, что пароли могут быть пе- рехвачены или угаданы. Если люди все время используют один пароль для все- го, то взломщики получают огромную выгоду, перехватив его. Поэтому первое правило выбора паролей таково: 1. Каждый вновь выбираемый пароль должен отличаться от предыдущих. Одним из первых и важным источником правил выбора паролей было Руко- водство по управлению паролями Министерства обороны (МО) США. Опубли- кованное в 1985 году Руководство систематизировало практику работы с паро- лями на то время. В дополнение к различным техническим рекомендациям, рас- сматриваемым в других главах, оно давало рекомендации относительно того, как человек должен выбирать и обращаться с паролями. В частности, эти рекомен- дации в итоге давали следующее правило: 2. Пароли должны быть запоминаемыми. Если пароль записывается, то он должен запираться на замок.
Правила выбора паролей в Руководстве МО основывались на простом сооб- ражении, что взломщики могут искать пароль, пытаясь воспользоваться любой возможностью. Некоторые руководящие материалы МО формулировались исходя из того, чтобы предотвратить успешные атаки, основанные на систематизиро- ванном угадывании по методу проб и ошибок. В Руководстве излагалась простая модель атаки угадывания, которая устанавливала параметры длины пароля и времени действия. Все это привело к появлению еще двух правил: 3. Пароли должны иметь не менее шести символов; возможна большая дли- на, в зависимости от размера паролевого набора символов. 4. Пароли должны периодически меняться. Руководство МО также включало подробный пример, основанный на цели снижения риска угадывания пароля до одного шанса на миллион в течение од- ного года. Отсюда вытекала рекомендация об изменении пароля по крайней мере раз в год. Пароль должен состоять из девяти символов, если в нем содержаться буквы только одного регистра, и из восьми символов, если в нем содержатся еще и цифры. Более короткие пароли увеличивали бы риск угадывания до величины, большей, чем один на миллион, но это все еще обеспечивало бы хорошую защи- ту для приложений. Реально Руководство МО не вводило обязательного требо- вания восьмисимвольных паролей или уровня риска один на миллион; эти ре- шения оставлялись за отдельными рабочими площадками и системами. В действительности вероятность угадывания была значительно больше, чем один на миллион, даже если пароли имели восемь или девять символов в длину. Объясняется это тем, что люди стремятся выбирать в качестве паролей слова — ведь им говорят, что надо выбрать слово, а не секретный числовой код или ка- кое-нибудь произвольное значение. А количество слов, которые обычно выбира- ют люди, весьма и весьма ограничено. Эту тенденцию как раз и используют сло- варные атаки (см. раздел 2.5). В конце 1980-х годов словарные атаки послужили причиной такого количества неприятностей, что появилось еще одно правило выбора паролей: 5. Пароли должны содержать буквы (как верхнего, так и нижнего регистра), цифры и символы пунктуации. Теперь, зная все эти пять правил, самое время посмотреть на рис. 6.1. Эво- люция паролей и соответствующее увеличение их сложности оставили пользова- телей где-то на заднем плане. Только человек с маниакальными наклонностями может в точности выполнять эти правила. В конечном итоге классический набор правил работы с паролями можно суммировать следующим образом: Пароль должен быть таким, чтобы его нельзя было запомнить, и его ни в коем случае нельзя записывать. И дело не в том, что эти правила ошибочны. Каждое из них выполняет соот- ветствующую роль, но они должны рассматриваться в свете практического пове- дения людей и их мотиваций. Большинство людей используют компьютеры для выполнения производственных задач или для развлечения. А в запоминании не- понятных паролей нет ничего производительного или развлекательного. Удобство использования паролей Традиционные паролевые системы содержат множество конструктивных осо- бенностей, предназначенных для возможно большего затруднения атак. К сожа- лению, эти особенности также делают паролевые системы трудными в использо- вании. Фактически они нарушают требования принятых стандартов по обеспече- нию удобства пользования для компьютерных систем. Из восьми “Золотых ГЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 137
правил” проектирования интерфейса пользователя, предложенных Беном Шнай- дерманом (Ben Shneiderman), взаимодействие с паролевой системой нарушает по крайней мере шесть из них (см. табл. 6.1). Люди не могут использовать сокра- щенные процедуры: система не ищет совпадения по нескольким первым введен- ным буквам и не дополняет остальное. Большинство систем сообщает только об успешности или неуспешности попытки: они не говорят, насколько близко было сделанное предложение пароля и не различают, что введено неправильно — имя пользователя или пароль. Многие системы ведут учет количества неправильных предположений и, если их слишком много, предпринимают необратимые дейст- вия (например, блокируют учетную запись). В довершение картины пользовате- ли редко имеют возможность видеть вводимый ими пароль: они не могут обна- ружить повторно введенные буквы или случайные орфографические ошибки. Чтобы разобраться в другой фундаментальной проблеме, связанной с пароля- ми, давайте рассмотрим, что происходит при изменении пароля. Представим, что Тиму надо изменить пароль и он хочет следовать всем правилам. Возможно, у него уже заготовлен пароль на случай, когда появится такая потребность, но многие (вероятно, большинство) не думают о паролях до тех пор, пока им реаль- но не понадобиться сделать выбор. Например, ОС Windows NT может заставить каждой системы использовать различные пароли. Изменять раз "визжит как недорезанный! в месяц. Ничего . не записывать". Рис. 6.1. Мешают ли работе информационных служб инструкции по работе с паролями? Инструкции по работе с паролями не начинались с таких сложных правил; правила видо- изменялись в ответ на видоизменение атак. Каждое добавочное требование (минимальная длина, ежемесячное изменение и т.д.) делало жизнь немного труднее, пока не сложилась ситуация, когда пользователи уже не могли их выполнять. Использовано с разрешения DILBERT© 1998 United Feature Syndicate. Таблица 6.1. Паролевые системы недружественны по отношению к пользователю Золотые правила проектирования интерфейса пользователя (из работы Шнайдермана, см. примечание 2) Справедливо ли для паролей? 1. Стремление к целостности Да 2. Обычные пользователи могут пользоваться укороченными процедурами Нет 3. Обеспечивается информативная обратная связь Нет 4. Диалоги должны приводить к закрытию вопроса Да 5. Предупреждение ошибок и обеспечение простых приемов их исправлений Нет 6. Легкий откат любых действий Нет 7. Всем руководит пользователь Нет 8. Снижение нагрузки на кратковременную память Нет 138 6.1. СЛОЖНОСТЬ ПАРОЛЕЙ
своего пользователя немедленно изменить пароль в ходе процедуры регистрации в системе, что происходит обычно в тех случаях, когда существующий пароль стал “слишком старым”. Если Тим не думал заранее о другом хорошем пароле, то ему надо будет его придумать, постараться запомнить и дважды ввести с кла- виатуры, даже не видя его, так сказать, в письменном виде. Это представляет собой значительную умственную нагрузку, особенно если Тим пытается следовать классическим правилам выбора пароля. Ему надо помнить и применить правила в отношении длины, повторности использования и содержа- ния. Затем ему надо запомнить выбранный им пароль. А это особенно сложно, так как система не выводит на экран выбранный им пароль: Тим должен запомнить его без дополнительной помощи в виде визуального представления пароля. Кратковременная память человека может в среднем запоминать * от пяти до девяти вещей: буквы, цифры, слова или объекты других А-37 ^9 категорий. Руководство МО говорит о восьми- или девятисимволь- ных паролях, что лежит в области оптимистических оценок способностей людей к запоминанию. Более того, кратковременная память Тима будет хранить этот новый пароль, может быть, с полминуты, так что он должен немедленно порабо- тать над его запоминанием. Исследования показывают, что если Тим прервется до полного запоминания пароля, то пароль выпадет из рабочей памяти и будет потерян. Если в момент, когда система потребовала новый пароль, Тим спешил, то ему придется пожертвовать либо концентрацией на той критической задаче, которая перед ним стояла, либо воспоминаниями о новом пароле. Или он может, нарушив правило, записать пароль на листке бумаги (см. примечание 3). Первоначально паролями были слова, поскольку людям значительно легче запоминать слова, чем произвольные последовательности символов. Тим, воз- можно, никогда бы и не запомнил пароль “rgbmrhuea”, но он легко запомнит те же самые буквы, если они будут произноситься как “hamburger”. Тиму значи- тельно легче запомнить в качестве пароля слово, поскольку оно представляет со- бой один объект в его памяти. Если Тим выбирает в качестве пароля последова- тельность произвольных символов такой же длины, то ему для запоминания на- до в уме преобразовать эту последовательность в объект. Для людей надежное выполнение этого приема затруднительно. Хотя и существуют техники для улуч- шения памяти, они трудны в изучении и требуют постоянной практики. Силь- ные пароли просто непрактичны, если они требуют специальной тренировки для правильного использования. Чуть дальше в этой в главе будут рассмотрены простые и удобные методы получения запоминаемых паролей. Методы, возмож- но, дают не самые сильные из возможных базовые секреты, но зато они в преде- лах способностей большинства людей (см. примечание 4). Функции принуждения и коврики для мышки Если защита зависит от сильных паролей, то одной из стратегий w достижения надежной защиты является реализация механизмов, по- р добных представленным в разделе 3.5, которые заставляют исполь- зовать сильные пароли. Механизмы либо генерируют подходящие пароли авто- матически, либо критически оценивают пароли, выбранные пользователями. Хо- тя у таких подходов имеются определенные преимущества, существуют и огра- ничения. В терминах пользовательского интерфейса такие механизмы работают как функции принуждения, которые пытаются контролировать выбор пароля пользователем (см. примечание 5). К сожалению, функции принуждения не обязательно решают проблему, по- служившую причиной их реализации. В книге Эдварда Теннера (Edward Tenner) Почему вещи кусаются в ответ (Why Things Bite Back) исследуются неожидан- ГЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 139
ные последствия всевозможных технологических механизмов. В частности, в книге показываются различные ситуации, когда технология мстит человеку. Общий случай, например, при технологическом решении, состоит в том, что происходит просто “перестановка”, а исходная проблема остается, но принимает другой вид (см. примечание 6). Функции принуждения чаще всего приводят именно к подобной перестанов- ке. Например, в случае принуждения к выбору сильного пароля мы активируем трудно устранимые силы, приводящие к конфликту. Можно сделать программ- ное обеспечение, которое будет требовать введения сложного труднозапоминае- мого пароля, но мы не в силах изменить способность конкретного человека к за- поминанию. Когда людям надо, чтобы компьютер делал работу, они переиначат проблему сами, чтобы примирить ограниченность своей памяти с требованиями механизма выбора паролей. Как некоторые прячут ключи от дома под дверной коврик, так Ж другие прячут под коврик для мыши пароль (рис. 6.2). Автору тоже случалось проводить “подковриковые” инспекции в компаниях, ис- пользующих компьютерные системы. Такие инспекции предусматривали про- смотр того, что находится под ковриком для мышки, и среди бумаг рядом с ра- бочей станцией. И в огромном количестве случаев поиск был успешен — нахо- дились записанные пароли. Люди редко могут объяснить, почему они решили спрятать пароль, а не за- помнить его. В некоторых случаях несколько человек совместно пользуются од- ним паролем, и наличие письменной копии является простейшим способом ин- формировать об изменениях всех пользователей. Хотя в большинстве компью- терных центров отрицательно относятся к подобному коллективному пользованию паролями, оно имеет место, что будет рассматриваться в разделе 6.5. Но значительно чаще люди записывают пароли, поскольку испытывают значительные проблемы с их запоминанием. Если задать вопрос о записанных паролях, то типичным оправданием является ссылка на плохую память. В ходе подобных проверок была обнаружена интересная закономерность. Пользователи чаще прячут записанные пароли рядом с рабочими станциями в тех случаях, когда система требует их периодической замены. Исходя из лично- го опыта автора, вероятность обнаружения записанного пароля, когда требуется его периодическая замена, лежит в пределах от 16% до 39% в разных вычисли- тельных центрах. Однако в этих же вычислительных центрах для рабочих стан- ций, где не предусматривались периодические изменения пароля, эта вероят- ность составляла от 4% до 9%. В некоторых случаях более трети пользователей системы видоизменяли проблему паролей в попытке приспособить ее к своей не- способности постоянно запоминать новые пароли. Эти инспекционные проверки также подсказывают очевидную * атаку: взломщик может просто поискать рядом с рабочими станция- А-38 ^9 ми в помещении офиса записанные пароли. Эта стратегия была изо- _________________________________ ___Z ...... _____.___________________________ ----- ~ d Рис. 6.2. Пароли, спрятанные под ковриком для мышки. Этот написанный от руки список паролей был обнаружен под ковриком для мышки. Каждый раз, когда система требовала новый пароль, пользователь выбирал его, записывал на листочке бумаги и приклеивал его под коврик для мышки. И подобным образом поступает каждый третий. 140 6.1. СЛОЖНОСТЬ ПАРОЛЕЙ
бражена в кинофильме Военные игры (WarGames), в сцене, когда главный герой нашел пароль входа в институтский компьютер, обыскав стол. Интересно, что паролем была именно последняя запись в списке, где все предыдущие записи были перечеркнуты. Вероятнее всего, институт требовал периодического измене- ния пароля (в целях безопасности, конечно), и пользователи вели этот список, чтобы не забыть последний вариант пароля. Используя статистические данные результатов поиска под ковриком для мышки, можно оценить величину среднего пространства атаки. В табл. 6.2 срав- ниваются результаты с другими средними пространствами атак. В лучшем слу- чае вероятность составляет 4% или 1 из 25, так что атакующей стороне необхо- димо в среднем обыскать 12 или 13 столов, чтобы найти пароль. Это дает сред- нее пространство атаки размером в 4 бита. Худший случай — 39%, что составляет менее одного из трех. Таким образом, атакующей стороне необходимо просмотреть один или два стола, чтобы найти записанный пароль. Так что в худшем случае среднее пространство атаки путем поиска под ковриком для мышки составляет всего один бит. Проблема коврика показывает, что не всегда можно увеличивать среднее про- странство атаки, просто усложняя пароли. Если перегрузить память людей, то риск определенных атак не уменьшится, а наоборот увеличится. Причина, по которой не одобряются пароли из одного слова, заключается в их уязвимости к автономно выполняемым словарным атакам. В табл. 6.2 показано, что в этом случае пространство атаки составляет 22,7 бита. Но мы не увеличиваем среднее пространство атаки, если незапоминаемые пароли перекочевывают на обратную сторону коврика для мышки. 6.2. Различные секреты для различных пользователей Для многих людей наиболее важным запоминаемым секретом является PIN-код банковской кредитной карточки. Почему банки удовлетворяются четрехразрядным PIN-кодом, который обеспечивает жалкие 13 бит среднего пространства атаки? И, если пароли должны представлять хоть какую-нибудь ценность, как найти баланс между потребностью в безопасности и риском поиска под ковриком для мышки? Ответ состоит в том, что необходимо идентифицировать рабочую среду паро- левой системы и затем подогнать под нее правила использования паролей. Для целей нашего обсуждения рассмотрим четыре паролевых среды. Таблица 6.2. Поиск под ковриком для мышки и средние пространства атаки Пример Стиль атаки Среднее пространство атаки Атака методом проб и ошибок на 56-разрядные ключи шифрования по алгоритму DES Автономный 54 бита Атака на автоматически генерируемые пароли Автономный 39,5 бита Словарная атака на восьмисимвольные пароли ОС UNIX Автономный 22,7 бита Атака на биометрическую систему с коэффициентом ошибочных опознаний 1 к 100 000 Интерактивный 16 бит Атака методом проб и ошибок на 4-значные PIN-ы Интерактивный 13 бит Поиск под ковриком для мышки, лучший случай Интерактивный 4 бита Поиск под ковриком для мышки, худший случай Интерактивный 1 бит ГЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 141
Пароли, поддающиеся анализу — запоминаемые секретные сведения, ко- торые защищают малоценную информацию. Удаленное соединение может путешествовать по ненадежным каналам связи, например в сети Internet. Владельцев не беспокоит существующая угроза, так как информационные ресурсы не оправдывают затраты на более изощренную защиту. Такие па- роли защищают только от наименее мотивированных взломщиков. PIN-коды — запоминаемые секретные сведения, часто содержащие четыре цифры, которые используются в устройствах аутентификации типа бан- ковских кредитных карточек. В большинстве случаев взломщик может угадать PIN-код, только представляя вариант серверу, занятому обслужи- ванием карточек. Внутренние пароли — секретные сведения, которые используются только в пределах физических границ относительно безопасной рабочей площад- ки. Рабочая площадка считается безопасной, если свои не составляют зна- чительной угрозы друг для друга. Внешние пароли — секретные сведения, которые используются для уста- новления удаленного соединения с вычислительным центром, который может содержать ценные информационные ресурсы. Удаленное соединение может осуществляться по не заслуживающим доверия каналам связи, на- пример по сети Internet, и взломщики имеют возможность перехвата трафика аутентификации. В общем случае пароли защищены шифром. Часто атакующая сторона может строить атаки на такие зашифрованные пароли путем угадывания по методу проб и ошибок. Технически все эти случаи отличают две вещи: режим секретности и словар- ные атаки. Режим секретности, устанавливаемый посредством физической защи- ты или шифрованием, определяет, имеют ли представляющие собой потенциаль- ную угрозу люди доступ к паролям или к защищаемым ими машинам. Словар- ные атаки досаждают внешним паролям, но не представляет никакой угрозы в остальных случаях. Поскольку взломщики часто используют словарные атаки против внешних паролей, они должны выбираться так, чтобы оказывать сопротивление таким атакам. Внутренние пароли тоже могут предоставлять возможности для органи- зации словарных атак, но только тем людям, которые уже имеют физический доступ к защищаемым компьютерам. Таким образом, внешние пароли должны выбираться из условия необходимости противостояния словарным атакам, тогда как внутренние пароли — нет. Если необходимо использовать запоминаемые секреты во всех этих случаях, то надо использовать различные стратегии выбора различных секретов и работы с ними. Конечно, лучше иметь отдельные пароли для каждого случая, чтобы легкие в применении внутренние пароли не использовались бы для удаленного доступа, когда они могут быть легко взломаны. Пароли, поддающиеся анализу Взломщик может проанализировать значение пароля, если имеется возмож- ность его перехвата в незащищенной форме. Ярким примером таких паролей может быть пароль, посылаемый незащищенным по сети Internet. Взломщик, находящийся где угодно на пути его маршрута, может сделать копию и восполь- зоваться ею позже (см. раздел 1.5). Многие Internet-приложения используют па- роли, поддающиеся анализу. Собственно говоря, все пароли в Internet поддаются анализу, если только приложение не включает какую-либо форму аутентифика- 142 6.2. РАЗЛИЧНЫЕ СЕКРЕТЫ ДЛЯ РАЗЛИЧНЫХ ПОЛЬЗОВАТЕЛЕЙ
ции типа запрос-ответ (см. главу 10) или функцию шифрования, например SSL (см. раздел 13.6). Без дополнительной защиты почти все процессы Web- аутентификации и аутентификации в системах электронной почты могут пере- хватываться и анализироваться взломщиками. Учитывая, что атакующая сторона может просто прослушивать эти пароли и затем использовать их, почти не имеет значения, какие пароли выбирает жерт- ва. Пароли, противостоящие словарным атакам так же легко перехватить, как и любые другие. Имеет смысл выбирать трудно угадываемый пароль, но совер- шенно бессмысленно выбирать такой, что труден для запоминания. Приложения, использующие PIN-коды Состоящий из четырех цифр PIN-код дает взломщику среднее пространство атаки всего в 13 бит, но этого достаточно, если система может всегда обнару- жить и помешать проведению атаки угадыванием по методу проб и ошибок. На- пример, системы, конструкция которых реализует “локальную” модель аутенти- фикации (см. раздел 4.4), могут быть построены так, что будут обнаруживать атаки методом проб и ошибок. То же самое справедливо и в отношении систем, которые не допускают попадания поддающегося проверке открытого текста к взломщику. Такие системы могут делать это путем использования дополнитель- ного механизма шифрования; обычно так работают с PIN-кодами банкоматы. Другой подход заключается в использовании протокола аутентификации, кото- рый, строя правильное протокольное сообщение для отсылки, объединяет PIN- код с более длинным базовым секретом. Примеры реализации такого подхода описываются в разделе 9.5. Внутренние пароли Внутренним паролем является запоминаемый пароль, который используется внутри рабочей площадки, где исключено присутствие чужих, но обеспечивается слабая физическая защита от своих. Такой пароль используется для аутентифи- кации людей в пределах одной рабочей площадки. Внешние соединения, если допускаются вообще, должны использовать другие пароли или совершенно дру- гой механизм аутентификации. Самые первые сетевые паролевые системы использовались преимущественно в локальных сетях с минимальным внешним доступом или вообще без такового. Сюда относятся ранние версии сетевых рабочих UNIX-станций, ОС NetWare компании Novel, Microsoft LAN Manager и AppleTalk компании Apple. В боль- шинстве случаев внешний доступ (например, модемные соединения по коммути- руемым каналам или Internet-соединения) появился позже и потребовал нали- чия отдельного программного пакета. Существенной особенностью внутреннего пароля является то, что взломщик должен физически присутствовать в помещении вычислительного центра, чтобы воспользоваться им (см. рис. 6.3). Чужие должны физически проникнуть в рабо- чую зону, чтобы иметь возможность использовать внутренний пароль. Как опи- сывалось в разделе 4.2, у взломщика, имеющего физический доступ к компью- теру, есть в распоряжении несколько эффективных способов атаки, которые не требуют знания паролей. Таким образом, пароль может быть для взломщика просто “украшательством”. Более того, взломщик из своих может не отказать себе в удовольствии по- рыться под ковриками для мышки, что, вероятно, даст ему несколько паролей. Если в локальной сети вычислительного центра для доступа к серверу использу- ется более старый вариант паролевой системы ОС UNIX, то взломщик из своих ГЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 143
Рис. 6.3. Внутренние пароли для компьютеров, используемых локально. Если чужие не допускаются к компьютерам и удаленные соединения запрещены, то риск атак на пароле- вую систему уменьшается. Атака может совершаться только своими, которые физически присутствуют в рабочей зоне. В качестве внутренних паролей не нужны сильные и труд- ные для запоминания пароли, так как взломщикам не нужен пароль, если они могут иметь физический доступ к компьютерам, которые решили атаковать. может установить в сети программное обеспечение для анализа пакетов; если нет, то он может установить на рабочей станции жертвы программу перехвата набора с клавиатуры. Такая программа легко устанавливается на традиционных настольных системах без защиты, например, на станциях, работающих под управлением ОС Windows 95 или 98, или в традиционных системах Macintosh. Взломщики из своих имеют в распоряжении такое количество разнообразных атак, что совершенно бессмысленно обременять локальных пользователей слож- ными требованиями по выбору паролей и работы. Все вышесказанное позволяет сформулировать следующие рекомендации для систем защиты на основе внут- ренних паролей. Следует поощрять пользователей в выборе запоминаемых, но трудно уга- дываемых паролей. Рекомендации по выбору внутренних паролей приво- дятся в разделе 6.4. Такие пароли уязвимы для словарных атак, но подоб- ные атаки представляют собой меньшую угрозу, чем поиск под ковриками для мышки или другие локальные вмешательства. Отключите функции установления срока действия пароля, так как они за- ставляют некоторых пользователей записывать пароли вместо того, чтобы запоминать их. Предлагайте пользователям изменять пароли в случае ка- кого-нибудь важного события. Например, предлагайте пользователям ме- нять пароли, когда существенно обновляется аппаратная часть или про- граммное обеспечение рабочей станции. Пользователям также следует ме- нять пароли в случае, если какой-либо инцидент с системой защиты заставляет предположить, что “местные” взломщики получили в свое распоряжение пароли пользователей. Серверы вычислительного центра должны, конечно, размещаться в запи- раемом машинном зале. В это помещение должен быть закрыт доступ всем, кроме администраторов, назначенных для их обслуживания. Рабочие станции, выделенные под критически важные приложения, напри- мер, для начисления заработной платы, должны размещаться в отдельном офисном помещении. Вход в это помещение должен быть запрещен всем, кроме тех, кто там непосредственно работает. Внутренние пароли для таких компьютеров должны использоваться только внутри этого помещения. 144 6.2. РАЗЛИЧНЫЕ СЕКРЕТЫ ДЛЯ РАЗЛИЧНЫХ ПОЛЬЗОВАТЕЛЕЙ
Некоторые системы, а именно, те, которые обеспечивают режим работы с однократной регистрацией, всегда используют один и тот же пароль как для внутреннего, так и для внешнего доступа. В таких обстоятельствах просто нет “внутренних” паролей: все пароли являются существенно “внешними” и должны удовлетворять рекомендациям для таких паролей. Это ограничение может быть менее жестким для конкретных пользовате- лей, если возможно запретить удаленный доступ к их учетным записям. Необходимо, чтобы административные пароли были сильнее, чем другие внутренние пароли, поскольку они представляют собой более ценную ми- шень для взломщиков. Кое-кто из числа работающих на вычислительном центре может соблазниться попыткой угадать административные пароли, воспринимая это просто как технический вызов своим способностям и не обращая внимания на этическую сторону вопроса. Более сильные пароли снижают риск таких атак и, вероятно, стоит мириться с неудобствами до тех пор, пока администраторы работают с ними, соблюдая осторожность. Предложения касательно выбора таких паролей описываются в разделе 6.4 в подразделе, посвященном административным паролям. Суть этих рекомендаций состоит в том, чтобы добиться эффективного баланса между удобством пользования и безопасностью. Попытки пожертвовать удобством пользования в пользу безопасности могут привести к потере и того и другого. Внешние пароли Внешним паролем называется пароль, который при использовании защища- ется криптографически, но уязвим для словарных атак со стороны чужих. В ча- стности, к таким паролям относятся те, что используются в сетевых протоколах компании Microsoft (см. главы 10 и 11) и в протоколе Kerberos (см. главу 13). Внешние соединения несут в себе значительно больше риска, чем внутренние, так как в этом случае к потенциальным взломщикам относятся и чужие, и свои. История показала, что всегда существует значительная группа чужих, обладаю- щих средствами и мотивацией для атак на удаленные соединения. Предусмотрительное руководство вычислительных центров часто строит свою сеть таким образом, чтобы удаленные соединения обрабатывались иначе, чем внутренние. Обычно внешнее соединение должно проходить через специальное устройство, например “сервер доступа к сети” (СДС) или брандмауэр, которое до установления удаленного соединения выполняет аутентификацию. Как правило, в вычислительных центрах СДС используется для управления соединениями по коммутируемым каналам связи (см. главу 11), тогда как брандмауэры контро- лируют входящие соединения из сети Internet. Такие устройства отвечают за ау- тентифицирование входящих удаленных соединений. В идеале внешние пароли должны оказывать сопротивление словарным ата- кам. Обычно это достигается за счет выбора сложных паролей, а также их пе- риодического изменения. Словарные атаки требуют времени, и при их проведе- нии часто используются промежутки, свободные от основных вычислений, так что проверка паролей может длиться достаточно долго. Если пароли меняются быстрее, чем происходит словарный поиск, то атака никогда не увенчается успе- хом. Таким образом, вычислительные центры могут снизить риск взлома за счет использования сложных паролей и периодического их изменения. Однако такая практика будет побуждать многих записывать свои пароли. Те, кто не может запомнить пароль, должны защищать его от поиска под ковриком для мышки в соответствии с рекомендациями, описанными в разделе 6.6. Если удаленная система защищает действительно ценный ресурс (например, систему начисления заработной платы, систему ввода заказов или другие системы, ГЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 145
оперирующие ценными активами), то она требует более сильной защиты, чем, ве- роятно, могут дать пароли. В таких системах должны использоваться более силь- ные, основанные на аппаратных ключах альтернативные варианты. Эти варианты представлены в главе 9 и включают в себя устройства аутентификации с одноразо- выми паролями, смарт-карты и появившиеся недавно такие устройства, как USB- ключ. Подобные устройства обеспечивают большее среднее пространство атаки, чем можно получить от любого запоминаемого пароля, и атакующей стороне зна- чительно сложнее взломать или украсть базовый секрет карточки. Таким образом, рекомендации для обеспечения безопасности систем с внеш- ними паролями таковы. Если внешний пароль защищает систему, которая оперирует действитель- но ценными активами, то владельцу не следует полагаться в защите на за- поминаемые пароли. Вместо них система должна использовать устройства аутентификации с одноразовыми паролями или смарт-карты. К сожале- нию, такие системы дорогостоящи. Некоторым предприятиям сначала на- до понести значительные финансовые убытки, прежде чем они решаться заплатить за такую защиту (см. пример в разделе 9.3). Внешние соединения должны использовать протоколы, которые противо- стоят перемаршрутизации. Внешние пароли должны противостоять словарным атакам. Предложения по этому поводу смотрите в разделе 6.4 в подразделе, посвященном внеш- ним паролям. Внешние пароли должны периодически меняться. Если внешний пароль записывается на бумагу, он должен быть физически защищен от атак со стороны своих, если такие атаки расцениваются как вероятные. Подобная оценка должна основываться на ценности удаленной системы и уровне мотивации своих сотрудников атаковать ее. Если внешние пароли используются в переносных системах или других малогабаритных компьютерах, то они не должны храниться вблизи самого компьютера. Аетя и справедливо, что люди должны проявлять осторожность при выборе внешних паролей, некоторые всегда будут выбирать пароли легкие для угадыва- ния. И от этого нет стопроцентного лекарства. Хотя можно научить людей вы- бирать сильные пароли, исследования и практический опыт заставляют прийти к выводу, что это дает только умеренное улучшение ситуации. Исследователи из Кембриджского университета провели эксперимент, изучив влияние обучения пользователей выбору паролей, и обнаружили, что частота выбора плохих паро- лей снижается с 30% до 10%. Однако исследователи также признали, что для некоторых вычислительных центров недопустимо и наличие “всего” 10% слабых паролей. Если же организовать принудительный выбор сложных паролей, то следует примириться с тем, что некоторые пользователи будут держать их пись- менные копии (см. примечание 7). 6.3. Улучшение процедуры ввода внутренних паролей Если посмотреть на общие недостатки большинства паролевых систем, то можно увидеть несколько очевидных путей улучшения удобства пользования па-0 ролями без необходимости жертвовать безопасностью. Это особенно справедливов в случае работы с внутренними паролями на рабочих площадках с низким уров-д 146 6.3. УЛУЧШЕНИЕ ПРОЦЕДУРЫ ВВОДА ВНУТРЕННИХ ПАРОЛЕЙ
sm риска. Паролевые системы часто проектируются исходя из наихудшей воз- ожной ситуации с точки зрения безопасности, тогда как система может исполь- эваться в довольно дружественной среде. При организации работы с внутренними паролями мелкие неудобства типово- ) взаимодействия с паролями не обязательно улучшают качество защиты. В та- их средах люди часто знают имена пользователей друг друга. Рабочие станции, ак правило, работают в обстановке, когда подглядывание через плечо или ак- авная разведка по методу ван Эка либо маловероятны, либо бессмысленны. И зли воспользоваться этими обстоятельствами, то пользование паролевой аутен- тификацией можно сделать более легким. Список возможных улучшений выгля- ит следующим образом: управляемый оператором эхо-режим; вывод сообщения о неправильном имени пользователя; возможность множества попыток ввода пароля; вывод сообщения о попытке неправильного ввода пароля; отказ от режима периодической замены пароля. Стратегия улучшения состоит в том, чтобы обеспечить лучшую обратную вязь, когда это не приводит к значительным проблемам с безопасностью. Чтобы добиться наивысшей безопасности и практичности, люди должны иметь возмож- ость включать или отключать конкретные функции по своему выбору в соот- этствии с непосредственной ситуацией. Например, переносные компьютеры мо- уг использоваться и в переполненном авиалайнере, и в личном номере гостини- ы. Либо компьютерный центр, либо каждый отдельно взятый человек должны меть возможность конфигурирования паролевого диалога с целью достижения разумного баланса между безопасностью и удобством пользования. Никогда не следует исходить из посылки, что “один размер подходит всем”. Управляемый оператором вывод пароля на экран дисплея Пусть оператор сам решает, выводить во время паролевого диалога на экран реальный вид символов при наборе пароля с клавиатуры или нет. Набрать па- оль правильно значительно легче, если видеть, что набирается. Это особенно ажно при выборе нового пароля. Всегда легче запомнить какой-нибудь текст, когда его можно видеть, а не только представлять в уме. Большинство систем “забивает” символы пароля при его наборе с клавиату- ы. Это очень старая традиция, оставшаяся еще от систем с разделением време- и. Подобная техника работы с паролями защищает от заглядывания через пле- о и от некоторых простых форм активной разведки по методу ван Эка. Обычно набираемый пароль не выводится на экран даже тогда, когда идет прием нового выбранного значения. Это усложняет запоминание нового пароля. Сегодня многие системы размещаются в достаточно защищенных “внутренних” помещениях. Заглядывание через плечо и активная разведка по методу ван Эка маловероятны, поскольку все потенциальные взломщики уже и так относятся к категории своих. Любой, у кого есть средства и мотивы для атаки на компьютер, южет просто физически атаковать интересующую его машину. Если же взломщик звне ухитрится разведать пароль, то ему еще надо будет проникнуть в помещение омпании, чтобы воспользоваться добытой информацией. При таких обстоятельст- ах с точки зрения безопасности от забивки символов пароля проку мало. Интересно, что у людей больше шансов заметить атаку троянского систему, если они видят набираемый пароль. Как описывалось в разделе таку А-11), программа троянского входа в систему имитирует процесс ации, имея целью получить значение пароля. Например, Кэти садится входа в 1.5 (см. регист- за свою 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 147
рабочую станцию, видит на экране приглашение зарегистрироваться и немед- ленно набирает свое имя пользователя и пароль. Если в действительности при- глашение к регистрации приходит от программы троянского входа в систему, то программа просто сохранит ее имя пользователя и пароль, чтобы передать взломщику, и объявит, что “Пароль неправилен”. Однако, если у Кэти был ак- тилуирован режллзл эхо-отображения пароля, то она сможет сказать, что она вв&аг* правильный пароль, но программа регистрации не узнала его, а это верный при- знак работы программ троянского входа в систему. Но если в одних ситуациях эхо-режим отображения пароля может включать- ся, в других его надо отключать. К примеру, люди, которые пользуются пере- носными компьютерами в самолетах или в общественных местах, больше уже не находятся во “внутренней” среде и должны отключить эхо. Аналогично, при вводе своего пароля регулярно должны отключать эхо-режим администраторы, так как такие пароли защищают более ценные активы, чем обычный пароль пользователя. Вывод сообщения о неправильном имени пользователя Если в ходе регистрации оператор делает ошибку, то система должна сооб- щить ему, была ли проблема с паролем или с именем пользователя. Это помогает оператору исправить ошибку при следующей попытке входа в систему. Традиция генерации безличного ответа подразумевает, что этим увеличивает- ся объем работы удаленному взломщику, угадывающему как легальное имя пользователя, так и пароль. Сегодня многие пользователи работают в среде, где они знакомы с именами пользователей других людей. Некоторые системы, на- пример аукционный сервер eBay, публикует легальные имена пользователей как элемент своего обычного функционирования, и пользователи обычно и не ожи- дают, что их имена пользователей будут держаться в секрете. В таких условиях система не снижает безопасность своей процедуры регистрации, сообщая о не- правильном вводе имени пользователя. Просто так удобней пользователю. Функция вывода сообщения о вводе некорректного имени пользователя должна включаться или отключаться в зависимости от среды. Обычно сообще- ния о неправильном имени пользователя являются безопасными в средах с внут- ренними паролями или в тех случаях, когда система обычно публикует имена пользователей в ходе нормальной работы. Если же — нет, то система не должна делать различий между вводом неправильного имени пользователя и неправиль- ного пароля. Возможность множества попыток ввода пароля Многие операционные системы, включая Windows NT, позволяют так скон- фигурировать систему аутентификации, что определенное количество непра- вильных предложений пароля “запрет” учетную запись. После этого владельцу учетной записи придется найти NT-администратора, чтобы “отпереть” свою учетную запись и снова попытаться войти в систему. Количество попыток часто устанавливается равным пяти или даже еще меньшим. Хотя подобная функция оправданна для удаленных соединений, пользователям внутренних паролей она просто мешает. Часто законные пользователи ошибаются при вводе паролей, особенно если они вынуждены запоминать большое количество паролей и их за- ставляют регулярно менять свои пароли. Если у системы относительно недружественный к пользователю интерфейс за- проса ввода пароля (например, не выдает сообщения о неправильном вводе имени пользователя или не дает эха вводимых с клавиатуры символов пароля), то систе- 148 6.3. УЛУЧШЕНИЕ ПРОЦЕДУРЫ ВВОДА ВНУТРЕННИХ ПАРОЛЕЙ
ма должна принимать значительно большее количество неправильных предложе- ний, возможно, до 20, и только потом блокировать учетную запись. Если у систе- мы более дружественная паролевая подсказка, то она должна работать с меньшим уровнем терпимости по отношению к количеству неправильных вводов пароля. В любом случае существует более простой механизм, который не приводит к блокированию законного пользователя, но затрудняет атаки. Паролевая система может вводить временную задержку каждый раз, когда пользователь вводит не- правильный пароль, и увеличивать эту задержку с каждым последующим не- удачным паролем. Подобный механизм дает владельцу способ сделать угадыва- ние паролей непривлекательным и вместе с тем не блокировать забывчивых пользователей. Вывод сообщения о попытке неправильного ввода пароля Паролевая система обязана вести запись попыток ввода неправильного паро- ля. В противном случае не было бы способа для выявления интерактивных атак угадывания по методу проб и ошибок. Если система просто игнорирует ввод не- правильных паролей, то взломщик будет вынужден создать более длинный спи- сок вариантов и перепробовать их по одному. Это особенно справедливо, если система допускает большое количество попыток ввода неправильных паролей. Система должна сообщать администратору о случае многочисленных попыток ввода неправильных паролей. Система также должна сообщать пользователю о количестве попыток ввода неправильного пароля на его учетную запись с момента последней успешной по- пытки регистрации в системе. Каждый пользователь знает, сколько раз он не- правильно вводил пароль. И если система говорит ему, что она приняла много- численные попытки ввода неправильного пароля, а пользователь этого не делал, то он сам может обнаружить атаку по методу проб и ошибок. Исключение режима периодической замены пароля Хотя сама по себе идея периодической замены пароля неплоха, не существует подходящего момента, чтобы заставить пользователей поменять свои пароли. Наихудший выбор, вероятно, требовать замену пароля во время регистрации в системе, когда пользователю, возможно, необходимо завершить какую-нибудь важную задачу. Это часто случается, когда система, подобная Windows NT, за- ставляет людей менять пароли через жестко заданные периоды времени, напри- мер через каждые два или три месяца. Если система прерывает работу пользователя, требуя замены пароля, тот, ве- роятно, будет в наихудшем расположении духа для выбора и запоминания хо- рошего пароля. Человек скорее всего либо запишет пароль, либо выберет оче- видный. Если для системы записанные пароли угрозы не представляют, то, воз- можно, не нужно и устанавливать для них срок действия. В последних версиях Windows NT и Windows 2000 сделана попытка уменьшить влияние изменений пароля, давая пользователям некоторые предупреждения. Вместо того чтобы требовать немедленной замены пароля, система объявляет , что срок действия пароля скоро истечет, и спрашивает, не подходящее ли сейчас вре- мя для его изменения. В идеале пользователь может подчиниться и придумать удачный пароль. Однако некоторые пользователи, без сомнения, будут игнориро- вать просьбу о замене пароля до тех пор, пока система не заставит их это сделать. Лучшим временем, чтобы изменить пароль, является обновление аппаратной Или программной части. Люди все равно планируют перерыв в работе в такой период. Более того, административный персонал может поговорить с пользовате- ТЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 149
лями о замене пароля, рассказывая о других изменениях в их компьютере. Ус- пешная замена пароля требует, чтобы у пользователя было время придумать но- вый пароль и чтобы при этом ему не мешали другие занятия. 6.4. Выбор пароля В этом разделе описываются простые методики выбора локальных и внешних паролей. Эти методики, конечно, не являются единственными для выбора соот- ветствующих паролей. В любом случае, главной целью является сопротивление атакам. Постарайтесь приспособить эти рекомендации, чтобы отразить конкрет- ные требования или ограничения компьютерного центра или сервера. Внутренние пароли Как описывалось в разделе 6.2, внутренние пароли подразумевают, что они должны быть запоминаемыми, но не обязательно должны противостоять словар- ным атакам. В некотором смысле такие пароли “слабые”, так как словарные атаки могут их взломать. Однако их преимущество состоит в том, что такие пароли лег- ко запоминаются. Многие не имеют ни способностей, ни мотивации для запомина- ния более сильных паролей. Но используя такие более слабые пароли мы одновре- менно снижаем риск, связанный с хранением записи под ковриком для мышки. Хотя такие пароли могут содержаться в словарях, они тем не менее должны противостоять обыкновенным атакам угадывания. Хороший пароль не должен прийти на ум взломщику, даже если он знаком с сотрудниками компьютерного центра. Не должны выбираться пароли, которые другие могут легко ассоцииро- вать с человеком, его семьей или профессиональной деятельностью. Выбирая в качестве паролей имена детей, клички домашних животных, фамилии любимых спортсменов, названия предпочитаемых блюд и т.д., люди делают себя уязви- мыми для атак типа “Телефонная линия срочной психологической помощи”, ко- гда искусно поставленные личные вопросы дают правильную подсказку. В каче- стве нескольких примеров плохих паролей можно привести те, что показаны на рис. 6.2 (имена членов семьи и сослуживцев), пароль “Джошуа” из фильма Во- енные игры (имя сына ученого) и пароль смарт-карты “Бадди”, который исполь- зовался президентом Клинтоном для первой “электронной” подписи законода- тельных актов (кличка его собаки) — см. примечание 8. Хорошим паролем является слово, которое никогда не обсуждалось с другими людьми. Не надо ограничивать себя именами, географическими названиями и т.д.; стоит рассмотреть слова, которые связаны с какими-либо событиями. Для начала следует подумать над следующим. Люди, которых вы знали давно и не упоминавшиеся в ваших разговорах. Малоизвестные города, которые вы редко посещали и никогда не обсуждали. Особые вещи, которых вы избегаете и о которых никогда не рассказывали (малоизвестные антипатии в еде, песнях, местах, развлекательных про- граммах и телевизионных шоу и т.д.). Старые технические профессионалы могут выбирать малоизвестные акро- нимы или необычным образом построенные имена переменных, которые' использовались в уже снятых с производства системах. Подробности какого-либо личного случая, о котором неловко вспоминать:^ имя связанного с этим случаем человека, места или что-нибудь другое, чтот имеет отношение к данному происшествию. Такие пароли вряд ли добро-11 вольно будут раскрыты другим людям. н 150 6.4. ВЫБОР ПАРОЛЯ
Существует также несколько простых способов, с помощью которых можно вводить в запоминаемые пароли цифры. Это делает пароль немного более слож- ным, хотя хорошо спроектированная словарная атака может приспособиться и к [ этому. Одним из популярных методов является замена цифрами сходных по ви- I ду букв: ноль вместо буквы “о” или единица вместо букв “i” или “1”. Подобный : подход имеет и другие направления: например, вместо слога слова ставится I цифра, схожая с ним по произношению, скажем, использование “gr8est” вместо t “greatest”. (Цифра 8 в английском языке произносится как “ейт”, поэтому эти L два слова звучат в английском одинаково. Прим, перев.). Единственным недос- | татком таких паролей является то, что владелец должен запомнить правильную | замену букв цифрами, а это требует дополнительных усилий при запоминании. | Следует помнить, что такие пароли не относятся к категории сильных: они не |. выдержат хорошо спроектированной словарной атаки. Однако они представляют I собой разумный выбор для паролей, которые запоминаются, никогда не исполь- I зуются коллективно и никогда не записываются на бумагу. Такие пароли могут I быть приспособлены и под другие потребности: если от паролей требуется, чтобы I в них содержалась комбинация букв и цифр или знаков препинания, то допол- I нительный символ вполне удобным и запоминаемым образом может быть раз- I мещен между слогами. Простые и продуманные стратегии могут сделать пароли I запоминаемыми и достаточно сложными для угадывания. Внешние и административные пароли Когда Кляйн выполнял свои эксперименты по взлому паролей и ухитрился раскрыть более 24% зашифрованных паролей в ОС UNIX из имевшихся в его рас- Iпоражении, он выяснил, что не стоит пытаться взламывать пароли, состоящие из пары слов, следующих друг за другом. В этом и лежит стратегия конструирования сильных паролей, которые не так сложно запоминать (см. примечание 9). I В словарных атаках используется наше стремление выбрать в качестве паро- ля запоминаемые слова и использовать довольно простые трюки для того, чтобы сделать их запутаннее. Сложно организованная словарная атака Кляйна показа- ла, что подобные стратегии дают среднее пространство атаки в 22,7 бита, что не остановит решительного взломщика. Сильные пароли должны обеспечивать зна- чительно большее среднее пространство атаки. Это заставляет предположить, что сильные и запоминаемые пароли могут строиться следующим образом. Первый Второй пароль пароль eggsheH5hamburger Промежуточный символ Среднее пространство атаки: 22,7 бит + 4 бита т 1 + 22,7 бита = 50,4 бита ’ис. 6.4. Конструирование сильного пароля. Можно построить сильный пароль, который |удет противостоять словарным атакам, путем объединения двух паролей. Выбираются |ва пароля и цифра или знак пунктуации, который ставится между ними. Сильный па- х>ль строится путем размещения дополнительных символов между двумя паролями. Зо- ям результат используется как одно паролевое слово. Такой пароль должен давать сред- не пространство атаки свыше 50 бит, если отдельные пароли и символ в середине никак к связаны между собой и являются действительно случайным выбором. ГЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 151
1. Используя инструкции, приведенные в предыдущем разделе для внутрен- них паролей, случайным образом выбирается один пароль. 2. Таким же случайным образом выбирается второй, предпочтительно отли- чающийся, пароль. 3. В качестве промежуточного символа случайным образом выбирается цифра или знак препинания. 4. Сильный пароль строится путем объединения в последовательную цепочку первого пароля, промежуточного символа и второго пароля. 5. Глядя на результирующий пароль, надо попытаться найти в нем какой- нибудь образ, ритм или “смысл”. Это ключ к его запоминанию. Такой пароль показан на рис. 6.4. Если паролевая система работает правиль- но, то эта процедура должна в результате дать пароль со средним пространством атаки свыше 50 бит. Взломщику придется попробовать каждое слово словаря, объединив его с каждым другим словом из словаря, и повторить это для каждо- го возможного промежуточного символа. Сам по себе каждый пароль обеспечи- вает среднее пространство атаки в 22,7 бита. Поскольку каждое пространство атаки представляет только половину пространства поиска, то в двоичной системе счисления к одному из пространств атаки следует добавить один бит. Таким об- разом, объединенное пространство атаки будет более чем вдвое больше, а про- межуточный символ должен добавить еще четыре бита. Если промежуточным символом является цифра или знак пунктуации, но не дефис, то полученный пароль никогда не встретится в словаре как таковой, и однословная словарная атака никогда не будет успешной. Однако существуют определенные опасности, которых следует избегать при выбо- ре паролей подобным образом. В частности, следует избегать выбора слов и чисел, намеренно строя шаблон. Например, легко запоминается пароль, который звучит как фраза, в которой промежуточная цифра похожа по произношению на слово. Фразы с предлогами типа “to” (2) и “for” (4) дают пароли вида “hard2guess”. К сожалению, такие пароли более легки для поиска, чем те, в которых нет взаимо- связи между отдельными частями, например, пароли вида “catfood%engine”. Са- мый безопасный путь для выбора случайных слов заключается в использовании разумного случайного процесса. Например, слова выбираются путем случайного отбора на случайно выбранных страницах случайно выбранной книги. Промежу- точный символ можно выбирать, бросив две или три раза игральные кости: ре- зультат больше 10 поможет выбрать символ знака пунктуации на клавиатуре (но только не дефис, который может дать законное существующее слово). Принципиальное слабое место этой стратегии кроется не в самих паролях, а лежащих в основе системах. Классические восьмисимвольные пароли ОС UNIX, описанные в разделе 2.3, просто не содержат достаточно символов, чтобы позво- лить ввести весь пароль, особенно когда отдельные слова имеют длину более,: чем три или четыре буквы. Хотя это и уменьшает практическое среднее про- странство атаки, тем не менее в 1990 году это стало непреодолимой вычисли-1 тельной проблемой для Кляйна. Пароли системы на основе Microsoft LAN Man-1 ager могут взламываться по частям (см. раздел 10.4), что позволит взломщику эффективно ломать часть из двухсловного пароля. Самые защищенные методики используют в качестве части интегрированной операции шифрования 14 симво-1 лов или более. Примерами могут быть описанная в разделе 10.6 процедура xe-,J ширования ОС Windows NT и SSL-шифрование, описанное в разделе 13.6. 1 152 6.4. ВЫБОР ПАРОЛЯ.
Суммируя, можно дать следующие рекомендации по выбору сильных, но за- поминаемых паролей. Следуйте пяти этапам, перечисленным ранее в этом разделе. Выбирайте два пароля случайным образом, возможно, путем случайного выбора слов из двух различных книг. Выбирайте промежуточный символ случайно, например, бросая кости. Не используйте в качестве промежуточного символа дефис или что-либо иное, что может дать в итоге составное слово. Если вы пытаетесь выбирать случайные слова в уме, не стройте пароль в виде фразы, типа “easy2recall” (“легко вспомнить”). Таких фраз относи- тельно немного, и взломщик может с легкостью построить словарную ата- ку на них. Запоминайте пароль, находя в нем какой-нибудь образ. Люди способны находить образ во всем, даже в абстрактной конструкции. Обязательно ищите образ после выбора пароля. В противном случае вы жертвуете неко- торой частью его непредсказуемости. Иногда пользователю необходимо работать с несколькими внешними или ад- министративными паролями. В разделе 6.7 приводятся стратегии, помогающие генерировать группы запоминаемых паролей. 6.5. Коллективно используемые пароли Есть два случая применения коллективно используемых паролей. Первый — это когда один человек использует один и тот же пароль в нескольких системах: так называемый случай, многократно используемого пароля. Второй случай за- ключается в использовании пароля несколькими людьми, пользующимися одной системой: так называемый случай делегированного пароля. Многократно используемые пароли Многие повторно используют знакомый пароль, особенно сегодня, когда каж- дый сервер электронной коммерции в Web требует уникального имени пользова- теля и пароля. Вероятно, можно было бы записать на сервере имя пользователя, скажем, Amazon, но пароль все равно держится в секрете. Использование одного пароля с одинаковой целью на нескольких различных системах составляет меньшую проблему для человеческой памяти. Однако отрицательная сторона этого состоит в том, что никогда ль не известно, насколько осторожно сервер может обращаться с паро- А-39 W лями. Если Джон, например, пользуется пятью или шестью серве- рами электронной торговли и на одном из них слабая защита, то взломщики мо- гут восстановить значение его пароля на этом слабейшем сервере. К примеру, не все серверы электронной торговли являются “безопасными серверами”, т.е. та- кими, которые используют SSL-протокол для защиты данных, пересылаемых между сервером и броузерами посетителей. Тогда взломщик имеет возможность дерехватывать пароли или номера кредитных карточек, посылаемые на такие серверы. Если взломщики перехватывают пароль Джона и им известны другие ‘Серверы, которыми он пользуется, то они могут выдать себя за него на этих сер- верах. Таким образом, для Джона это может закончиться заказом непредусмот- ренных “подарков” для взломщиков. 1ГЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 153
Кроме традиционного правила различных паролей для несколь- w ких серверов, Джон также может распределять пароли по серверам в D 39 зависимости от уровня риска и степени доверия к различным серве- рам. Для этого Джон классифицирует серверы в соответствии с потенциальным риском раскрытия его пароля конкретным сервером и добавляет риск того, что кто-то выдаст себя за него на этом сервере. Такой подход можно назвать группи- рованием рисков. Различные серверы разносятся по различным группам риска в зависимости от предполагаемого уровня риска. После этого Джон использует одинаковые пароли для серверов, относящихся к одной группе риска. Например, Джон может использовать пароль на работе для защиты принад- лежащей его компании информации, дома — для защиты личных финансовых данных, получения новостей и информации по Internet с информационных сер- веров, скажем, New York Times, и пароли для серверов электронной торговли, например Amazon.com. Кроме того, он покупает по Internet книги у букинистов, большинство которых понятия не имеют, как пользоваться шифрованием или другими формами обеспечения безопасности транзакций. Работа с такими серве- рами может привести к следующему группированию по степени риска. Удаленный доступ к собственной информации компании Джон имеет профессиональные обязательства по защите компании от атак. При удаленном доступе к сети компании Джону надо выбирать уникаль- ный пароль. Ему не хочется, чтобы успешный взломщик сервера элек- тронной коммерции вычислил способ проникновения на сервер его компа- нии с помощью пароля для электронной торговли. Если у Джона только локальный доступ к компьютерам компании, то ему можно и не выделять эту отдельную группу риска. Личные финансовые данные Джон использует программное обеспечение для управления личными фи- нансами, которое защищено паролем. Он имеет совместные банковские и брокерские счета со своей женой, и они совместно используют пароль для этих счетов. Коллективно используемый ими пароль защищает файлы фи- нансового программного обеспечения и счета с удаленным доступом для выполнения банковских и брокерских операций. Однако Джону следует проявлять осторожность и использовать этот пароль только на “безопас- ных серверах”, где применяется криптографическая защита. Следует иметь в виду, что не все финансовые серверы используют крипто- графическую защиту. Существуют и такие серверы (например, quicken.com на момент написания этой книги), которые обеспечивают криптографиче- скую защиту финансовых данных, посылаемых в одну часть сервера, но не обеспечивают ее в другой части. Пользователи должны внимательно следить за линейкой URL с указателем “htpps”, свидетельствующим о защищенном соединении, или значком замка или другим визуальным индикатором на экране броузера, которые тоже говорят о защищенности соединения. Подписка на информацию, доставляемую по Internet Джон использует один пароль для доступа на сервер New York Times и другие серверы подписки. Если информационный сервер допустит “утечку" пароля, то в самом худшем случае он даст бесплатный доступ нескольким хакерам. Такие серверы будут относиться к одной группе риска до тех пор, пока потерянный пароль не поставит Джона перед более высокой платой за подписку или не создаст определенные неудобства. 154 6.5. КОЛЛЕКТИВНО ИСПОЛЬЗУЕМЫЕ ПАРОЛИ
Признанные серверы электронной торговли Сюда входят хорошо известные серверы, принадлежащие успешным ком- паниям, если они используют криптографическую защиту (в линейке URL стоит индикатор “https”) при получении паролей, номеров кредитных кар- точек и других чувствительных данных персонального характера. Компа- нии заинтересованы в защите конфиденциальности идентификационных данных клиентов: им надо поддерживать свою репутацию, избегать обви- нений в небрежности и удерживать конкурентов от перехвата своих кли- ентов. Таким образом, маловероятно, хотя и возможно, что на признанном сервере произойдет утечка пароля клиента. Рискованных серверов достаточно много, и сложно разбить их на группы риска. Аукционные серверы не всегда шифруют паролевый трафик, что может позволить взломщикам перехватывать пароли клиентов и отзывать результаты торгов или наносить вред репутации. Хотя, возможно, Джону и стоило бы иметь группу риска “аукционные серверы”, но ему также надо выбирать между удоб- ством и возможностью атаки. Если Джон имеет на серверах различные имена пользователей, то это может обеспечить некоторую защиту, но интеллектуаль- ный анализатор способен с легкостью вскрыть такую уловку. Делегирование паролей Секрет —это нечто, что однажды рассказывается всем. — Автор неизвестен Системы аутентификации стараются идентифицировать отдельного человека. Обычно каждое имя пользователя принадлежит одному лицу. Предполагается, что любое действие, связанное с этим именем пользователя, выполняется соот- ветствующим человеком. Но это не всегда так, особенно если речь идет о пароле- вых системах, поскольку они допускают коллективное пользование паролями, как узаконенное, так и непреднамеренное. Однако коллективное использование паролей не всегда обусловлено мошенни- чеством или иным злым умыслом. Некоторые старшие руководители делят свои пароли со своими личными секретарями. Хотя это разрушает принцип учетности действий, подобное явление отражает уровень доверия, что не является необыч- ным в подобных профессиональных взаимоотношениях. В некоторых организа- циях установлены дорогостоящие или сложные процедуры предоставления вы- числительных услуг, и счастливые обладатели доступа к компьютерам иногда чувствуют себя обязанными поделиться своими паролями с менее удачливыми сотрудниками, которые тоже нуждаются в вычислительных услугах для выпол- 'нения своей работы. Коллективное использование паролей почти неизбежно. ! Фундаментальной проблемой коллективно используемых паролей л- является отсутствие способа контроля за степенью, так сказать, кол- А-40 ^9 лективности его использования. Любой, кто знает пароль, может с легкостью разделить его с кем-нибудь другим. Это называется транзитивным, делегированием: если мы делегировали кому-нибудь право использования ком- пьютера, то это лицо может разрешить это другим. Хотя большинство людей стараются держать свои личные пароли в секрете, всегда легче разделить па- роль, который уже используется другими. В подобных случаях снижается чувст- во персонального владения, так как использование пароля не связывается с кон- кретным человеком, которому он известен. ГЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 155
6.6. Хранение записанных паролей Бывают случаи, когда просто нецелесообразно избегать наличия записанных паролей. Некоторые люди являются владельцами слишком большого количества паролей, выданных множеству организаций, чтобы запомнить их все и держать в порядке. В рамках некоторых проектов имеющие низкую ценность пароли распро- страняются по электронной почте, и это означает, что они уже “записаны”. Часто системным администраторам необходимо хранить запись определенных критиче- ски важных паролей, чтобы другие администраторы могли подхватить управление, если обычные администраторы по той или иной причине окажутся недоступными. Естественно, подобный список требует высокоэффективной защиты, так как будет представлять собой огромную ценность для любого атакующего. В некотором смысле при записывании пароля на бумагу мы превращаем его в физическое средство аутентификации. В этом случае аутентификация зависит от листка бумаги с записанным на нем паролем. Однако это не очень безопасное средство аутентификации, поскольку каждый, кто увидит пароль, может “изго- товить дубликат”. Безопасность по-прежнему зависит от того, насколько удается удержать написанный список вдали от любопытных глаз. Точно так же, как существуют различные риски, связанные с записанными паролями, существуют и различные стратегии их защиты. Существуют три об- щих стратегии: физическая охрана, хранение в запираемом месте и компьютер- ное хранение. Далее мы рассмотрим каждую из них. Физическая охрана В подобных случаях люди держат список паролей под рукой. Одна из край- ностей такого подхода, когда список паролей прячется под ковриком для мыш- ки: список, возможно, в безопасности по отношению к чужим, но не по отноше- нию к сотрудникам, работающим в этом же компьютерном центре. Другой крайностью является ситуация, когда пользователь носит ювелирное украшение, в котором и держится список. В идеале список всегда должен быть в распоряже- нии владельца, чтобы никто не мог посмотреть на него без ведома владельца. Владелец также может изменить перечисленные в списке пароли, если список теряется или каким-либо иным образом попадает в руки взломщиков. С точки зрения безопасности “ювелирный” подход является наилучшим. На- пример, Кэти может иметь старинный медальон, в котором вместо миниатюрно- го портрета и содержится список. Маловероятно, чтобы она оставила медальон или какое-либо другое ювелирное украшение на столе, так что список всегда на- ходится в ее распоряжении. Она носит его большую часть времени и только из- редка оставляет без присмотра, может быть, дома. Таким образом, маловероят- но, что у кого-нибудь будет возможность открыть медальон и посмотреть пароли так, чтобы она этого не знала. Однако Кэти никогда не узнает, заглядывал ли кто-либо под ее коврик для мышки, пока она отсутствовала в офисе. 1 Хотя у Тима может не быть медальона, у него наверняка есть бумажник, в: котором он держит разные ценные мелочи, например, наличность и кредитные карточки. Бумажники представляют собой приемлемо безопасное место для хра-1 нения списка паролей, в частности, для людей, которые всегда носят их в кар-' мане. По культурной традиции люди никогда не передают бумажник кому-либо другому, чтобы тот проверил его содержимое; самое большее владелец может'1 вытащить из него необходимые вещи (скажем, в ответ на просьбу полицейского: “Разрешите мне посмотреть ваши права и технический паспорт”). Бумажник на-5 столько ценен, что Тим очень быстро узнает, что он потерялся, и сможет поме-1 нять пароли. 1 156 6.6. ХРАНЕНИЕ ЗАПИСАННЫХ ПАРОЛЕЙ
Местом для хранения списка паролей может быть и сумочка. В отличие от бумажника, сумочки обычно слишком велики по размеру, чтобы поместиться в кармане, так что они не всегда находятся под охраной владельца. В некоторых офисах вполне обычное явление, когда в течение рабочего дня сумочки оставля- ются в ящике стола. А это дает решительному взломщику богатые возможности провести поиск пароля незамеченным. Однако обыск сумочек других людей яв- ляется уголовно наказуемым действием или близким к тому. Некоторых взлом- щиков это может остановить. Другие места хранения, как, например, среди страниц книг, в картотечных ящиках или даже под ковриком для мышки, могут просматриваться сослужив- цами, имеющими доступ в рабочее помещение владельца списка. Такие места обеспечивают приемлемый режим хранения только в том случае, если вероят- ность, что коллеги, получив пароли, могут нанести вред, мала. Никогда не стоит предполагать, что хитроумное, но незапираемое место хранения безопасно, и не важно, насколько незаметным и трудным для обнаружения оно может казаться. Тщательный обыск офиса, даже заваленного кучами бумаг, занимает значитель- но меньше времени, чем любой поиск пароля по методу проб и ошибок. Хранение в запираемом месте Не всегда целесообразно обеспечивать физическую охрану списка паролей: время от времени мы должны менять одежду, принимать ванну и т.д., оставляя наши бумажники, сумочки и ювелирные украшения без присмотра. Классиче- ская стратегия в подобных ситуациях заключается в запирании вещей в доста- точно прочном шкафу со сравнительно сильным замком. Например, многие отделы по обслуживанию информационных систем имеют в своем распоряжении по крайней мере один небольшой сейф, в котором дер- жаться письменные копии основных паролей. Даже самый простой промышлен- но выпускаемый сейф способен препятствовать попыткам проникновения. Если же атакующий просто крадет сейф (широко распространенная практика среди взломщиков сейфов), то у персонала имеется явное свидетельство того, что спи- сок паролей поставлен под угрозу. Запираемые шкафчики обычно менее эффективны просто потому, что боль- шинство офисных шкафов не могут противостоять хорошо осведомленному взломщику, вооруженному бумажной скрепкой, и еще меньше, если у него в ру- ках ломик. Более того, скрепкой можно открыть дешевый замок, не оставив свидетельства, что список паролей просматривался. Запирающиеся же шкафы, которые оснащены хорошим со сложным в подборе ключа замком не очень рас- пространены. Обычно более широкое распространение находят дешевые сейфы с комбинационными замками. В любом случае, мы снова оказываемся в ситуации выбора компромисса ме- жду двумя проблемами с обеспечением защиты. Если используется сейф, то не- обходим компромисс между необходимостью запоминания длинного списка па- ролей и необходимостью запоминания одной комбинации для сейфа, а также от- крывания и запирания этого сейфа, чтобы воспользоваться списком паролей. Если используется шкаф с замком, отпираемым ключом, то приходится выби- рать между ношением при себе списка паролей и ношением ключа от шкафчика. Фактически запираемый на ключ замок теряет почти всю свою ценность, если и ключ, и замок часто оставляют без должного присмотра в одном помещении. С целью дополнительной защиты списка паролей или даже отдельных запи- санных паролей можно заклеивать их в конверт. Так часто поступает админист- ративный персонал: каждый важный пароль заклеивается в свой конверт. Если Джону нужен конкретный пароль, он берет из сейфа конверт с этим паролем. ГЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 157
Открыв его и воспользовавшись паролем, он помещает его в новый конверт, по- меченный его личной подписью, возможно, еще и заверенной подписью другого члена персонала. При таком подходе сотрудники из состава персонала могут ска- зать, какой пароль брался и кем, а также у них есть возможность посчитать конверты и убедиться, что ни один из паролей не был потерян. Хотя и сущест- вуют разработанные за века способы вскрытия и повторного запечатывания кон- вертов, обычно они требуют времени и определенного мастерства, чтобы обеспе- чить незаметность перлюстрации. Электронное хранение Существует по крайней мере три средства для электронного хранения паролей: полностью автономные электронные секретари, синхронизируемые электронные секретари и вычислительные системы общего назначения. Каждый из них как безопасное средство для хранения паролей имеет свои сильные и слабые стороны. Автономные электронные секретари в общем случае обеспечивают наличие простых средств для хранения списка адресов и календарных дат. Электронный секретарь имеет в своем составе простую клавиатуру для набора слов и чисел. Чтобы хранить пароли, можно рассматривать имена систем в качестве “фами- лий” в списке адресов и вводить собственно пароли под видом дополнительной информации, скажем, данных об адресе или городе. Многие подобные электрон- ные секретари имеют функцию “защиты”, которая будет блокировать возмож- ность просмотра записей из списка адресов, пока оператор не введет секретный код или пароль. Эта функция обеспечивает дополнительную меру защиты при хранении такой чувствительной информации, как пароли. Подобный механизм, вероятно, достаточно безопасен для обычных коммерче- ских приложений. Взломщику понадобится физический доступ к электронному секретарю, который, как правило, находится под физической защитой своего вла- дельца. Если владелец еще использует и функцию секретного кода, то случайный взломщик вряд ли будет иметь возможность извлечь пароли из такого устройства. Однако подобные электронные секретари не проектируются для противостояния сложным атакам. Имея нужную аппаратуру, взломщик способен обойти секретный код и извлечь все данные, находящиеся в электронном секретаре. Существует также риск, что изготовители могут вводить коды черного входа, чтобы снимать блокировку данных для клиентов, которые забыли секретный код своего элек- тронного секретаря. Знающие такой код взломщики смогут читать заблокирован- ные данные в любом электронном секретаре этого изготовителя. Синхронизируемые электронные секретари похожи на другие устройства это- го типа, только изготовители снабжают их еще механизмом для совместного ис- пользования данных с ПК владельца. Широко известными примерами подобных устройств являются изделия на основе ОС Palm и Pocket PC. Многие более про- стые электронные секретари, изготавливаемые такими производителями, как Sharp, тоже имеют функцию синхронизации с ПК. К сожалению, взломщики могут украсть такое устройство и извлечь его содержимое, синхронизировав его со своим собственным ПК. При этом в распоряжении взломщика оказываются копии всех файлов электронного секретаря, включая заблокированные или за- щищенные иным образом файлы (см. примечание 10). Чтобы предотвратить подобную атаку, можно установить в электронного сек- ретаря программное обеспечение для шифрования и зашифровать список паро- лей. По крайней мере один изготовитель поставляет пакет, который позволяет шифровать записи в секретарях на основе ОС Palm с использованием 128- разрядного ключа шифрования. Это может обеспечить хорошую защиту списков паролей, если только электронный секретарь не страдает от других проблем, 158 6.6. ХРАНЕНИЕ ЗАПИСАННЫХ ПАРОЛЕЙ
связанных с качеством защиты. Например, владелец может установить про- граммное обеспечение со свойствами троянского коня, которое будет извлекать значение ключа шифрования или копировать данные до их шифрования. Еще один риск состоит в том, что владелец устройства может выбрать легко угады- ваемый ключ шифрования и взломщик сможет провести успешную словарную атаку (см. примечание 11). При использовании в качестве средства для хранения списка паролей стан- дартных рабочих станций возникает дилемма. Как обсуждалось в разделе 5.2, довольно сложно надежно защитить отдельный файл, хранящийся в рабочей станции или в переносном компьютере, даже если используется шифрование. Для безопасного хранения паролей в рабочей станции лучше всего использовать приложение, которое специально спроектировано для хранения паролей. Одним из подходов является применение специальной программы создания файлов по типу утилиты Password Safe. Второй подход заключается в интегрировании функции хранения паролей с другим программным обеспечением, использую- щим пароли: тогда это программное обеспечение сможет автоматически извле- кать пароли, не заставляя владельца каждый раз набирать их с клавиатуры. Это так называемый подход на основе создания “пачки” паролей, который рассмат- ривался в разделе 4.3. Password Safe представляет собой бесплатно распространяемую утилиту от компании Counterpane Internet Security, которая обеспечивает хранение паролей в виде зашифрованного файла. Если Тим заносит свои пароли в файл, форми- руемый утилитой Password Safe, то он должен выбрать определенный пароль, которой генерирует ключ шифрования. Файл автоматически шифруется при со- хранении на жестком диске, и Тиму надо будет ввести свой пароль, чтобы впо- следствии его открыть. Для удобства каждый пароль хранится с соответствую- щим ему именем пользователя и другой идентифицирующей информацией. Обычно информация, выводимая утилитой Password Safe на экран монитора, не содержит хранящихся паролей; выводится только идентифицирующая информа- ция. Если Тиму надо воспользоваться каким-либо паролем, он может выбрать его на основе имени, “вырезать” его в буфер обмена и вставить оттуда в пароле- вый диалог, фактически, даже не видя самого пароля (см. примечание 12). Программы, подобные Password Safe, могут снять некоторые из рисков, свой- ственных применению для работы со списками файлов программ словарных про- цессоров: паролевой утилите не надо создавать временные файлы, которые могут содержать части документа после его завершения. Если для создания списка паролей используется программа словарного процессора, то нет такого способа, который позволил бы узнать, имеются ли где-либо на жестком диске отра- ботанные временные файлы, содержащие еще одну копию списка паролей. Соот- .ветствующим образом спроектированная программа шифрования файлов 'Систематически стирает содержимое исходного файла с открытым текстом, но юна не способна отследить все соответствующие временные файлы и вычистить (Занимаемое ими дисковое пространство. г: Объединение паролей в пачки делает списки паролей более удобными в рабо- те за счет автоматизации некоторых операций, связанных с их обработкой. Со- временные Web-броузеры, например Netscape Navigator 6 и Microsoft Internet Explorer, могут хранить связанные с Web-серверами пароли и поставлять их ав- томатически, не заставляя человека набирать их с клавиатуры. Компанией Apple компьютерах Macintosh использовался еще более амбициозный подход на ос- нове “ключевых цепочек” (keychaine), который был повторно реализован в ОС 3Мас OS 9 и более поздних системах. Основные элементы работы этого механизма выглядят следующим образом (см. примечание 13). ГЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 159
Система Macintosh имеет определенные функции, которые требуют паролей, в частности это шифрование файлов и коллективное использование файлов в сети. Ключевая цепочка функционально подобна файлу, создаваемому утилитой Pass- word Safe, за исключением только того, что она интегрирует операции работы с паролями операционной системы Mac OS. Файл содержит список ресурсов вместе с паролями для каждого из них, и этот файл хранится в зашифрованном виде, защищенный запоминаемым паролем. Если, скажем, у Тима есть сформирован- ная им ключевая цепочка, то он может активировать ее, набрав соответствую- щий пароль. После этого, запрашивая для какого-нибудь ресурса пароль, систе- ма дает Тиму возможность сохранить этот пароль в ключевой цепочке после его ввода с клавиатуры. Теперь, если системе в будущем понадобится пароль, она воспользуется соответствующим паролем из ключевой цепочки, если такой будет существовать. Первоначально в ОС Mac OS 9 функцией ключевой цепочки использовалось от- носительно слабое шифрование с 56-разрядным ключом, и это не вызывало боль- шого энтузиазма у тех, кто был заинтересован в использовании средств защиты компьютеров Macintosh. В более поздних версиях ОС, начиная с Mac OS 9.1, для шифрования уже использовались 128-разрядные ключи (см. примечание 14). Общая проблема, касающаяся пачек паролей, состоит в том, что они имеют смысл только для тех паролей, которые целесообразно хранить в подобном виде. Пачки паролей для Web-серверов выгодны в пользовании, поскольку многие та- кие серверы используют для обмена паролями хорошо известные механизмы, реализованные в Web-протоколах. Однако не на всех Web-серверах такие меха- низмы реализованы, так что пароли не всех Web-серверов выгодно хранить по- добным образом. Если пользователь броузера не посещает серверы, использую- щие пароли в правильном формате, то нет смысла запоминать еще один пароль только для того, чтобы использовать функцию работы с пачками паролей. Хотя с развитием и улучшением стандартных интерфейсов, использование паролевых пачек должно приобрести большую практическую ценность. 6.7. Последовательности и группы паролей У многих людей нет проблем с выбором одного пароля, но им не удается справиться с ситуацией, когда приходится работать с группами или последова- тельностями запоминаемых паролей. В данном разделе мы рассмотрим некото- рые стратегии, которые упрощают задачу. Группы обычно содержат индивиду- альные пароли для различных систем, хотя входящие в их состав пароли могут использоваться и последовательно на одной системе, если она требует периодиче- ской замены паролей. Хорошая группа паролей должна обеспечивать легкость запоминания и так называемую перспективную секретность. В предыдущих разделах основное внимание обращалось на запоминание нескольких сложных слов, а не множест- ва случайных символов. Люди запоминают некоторые образы, а не случайные последовательности. Поэтому необходимо искать легкие для запоминания обра- зы, которые в то же время будет трудно угадать взломщику. Стоит запомнить образ, и сразу можно вспомнить пароли. Концепция перспективной секретности возникла из задачи В управления ключами шифрования. Задача безопасной передачи сек- р ретного ключа может быть достаточно сложной, и она еще больше усложняется, если надо распространять секретные ключи на регулярной основе. Каждый новый ключ должен представлять собой для взломщика совершенно но- вую проблему. Если новые ключи не будут в этом плане безопасны, то ранее ис- 160 6.7. ПОСЛЕДОВАТЕЛЬНОСТИ И ГРУППЫ ПАРОЛЕЙ
пользуемые ключи будут служить прозрачным намеком на возможные значения новых. “Идеальная” перспективная секретность достигается в том случае, если старые ключи не дают никакой подсказки относительно значений новых клю- чей. В паролях не стремятся добиться идеальной перспективной секретности. Здесь достаточно, чтобы атакующая сторона не смогла легко угадать остальные пароли из группы, даже если ей удалось перехватить один из них. Как и индивидуальные пароли, различные группы паролей служат различ- ным целям. Поэтому для противостояния различным угрозам можно использо- вать различные стратегии. Простые последовательности могут быть хороши для ситуаций, характеризующихся низким уровнем риска, т.е., когда риск атаки или риск существенных убытков невелик. Ситуации с более высоким уровнем риска требуют более сложных стратегий, например применения слов-тем или использования строчек из стихотворений или песен. Последовательности паролей Простейшая последовательность паролей представляет собой ряд паролей, об- разующихся в соответствии с каким-нибудь простым правилом ряда. Самым легким является простое добавление в конец пароля каких-нибудь цифр или словарных представлений чисел. Но такой подход очевиден и для взломщиков. Более сложный подход заключается в использовании для генерации последо- вательностей стратегии выбора внешних паролей, описанной в разделе 6.4. Ска- жем, можно легко сгенерировать последовательность из 10 паролей, если в каче- стве промежуточного символа использовать цифру. Последовательность можно генерировать, увеличивая или уменьшая на единицу значение цифры. Если не- обходимо иметь более 10 паролей и система допускает длинные пароли, то вме- сто одного промежуточного символа можно использовать несколько цифр. Подобная стратегия обеспечивает получение довольно сильных паролей, но не обеспечивает перспективной секретности. Самое большее, можно ввести некото- рые вариации, чтобы другие пароли не были столь очевидными. Один из подхо- дов заключается в произвольном или на основе какого-нибудь неочевидного пра- вила выбора промежуточных цифр вместо последовательного их использования. Например, цифры можно выбирать в том порядке, в котором они стоят в теле- фонном номере или в номере карточки социального страхования. Однако такие последовательности, возможно, не устоят перед современными атаками по мето- ду проб и ошибок. Обеспечение перспективной секретности с помощью слов-тем Определенная степень перспективной секретности достигается в том случае, когда произвольно взятый из группы пароль дает минимально возможное коли- чество намеков на то, как он был выбран. Истинной перспективной секретности в группах запоминаемых паролей, вероятно, достигнуть невозможно, так как всегда существует некий образ, связывающий пароли. Однако существует, не- сколько методик, которые минимизируют это явление. Один из подходов, который дает минимальную помощь взломщику, основыва- ется на так называемых “словах-темах”. Предположим, что Яну, администратору из отдела внутренней безопасности, необходимо назначить надежные комбинации для шкафов с несколькими комбинационными замками и при этом ухитриться за- помнить их все. Тогда он выбирает для каждого шкафа слово-“тему” и использует каждую букву этого слова, чтобы придумать пример, соответствующий этой теме. Если в качестве темы выбирается слово “songs” (“песни”), то можно образовать пять паролей, каждый из которых будет начинаться с одной из букв слова “songs” ГЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 161
и иметь с ним смысловую связь. Например, этими пятью паролями могут быть слова “SwaneeRiver, OldFolks, NoelNoel, Greensleeves и Schubert. Однако, посмотрев на эту группу паролей, нельзя увидеть перспективной сек- ретности. Взломщик, перехвативший одно название песни Greensleeves, может попробовать и другие названия. Важно выбирать название темы, которое могло бы семантически связывать различные части речи: существительные, глаголы, прилагательные, предлоги и т.д. Одним из вариантов может быть подход, когда в качестве темы выбирается прилагательное, а в качестве паролей — существи- тельные, или наоборот. Этот подход продемонстрирован на рис. 6.5, где в каче- стве темы используется слово “happy” (“счастливый”). Каждый полученный па- роль имеет первую букву, совпадающую с одной из букв слова-темы, и (по край- ней мере для некоторых людей) здесь просматривается связь между каждым паролем и темой. К сожалению, в этом случае мы, похоже, жертвуем некоторой силой пароля, поскольку наши пароли содержат пары слов, которые естественным образом звучат как часть какого-нибудь текста: возьмем, например, пару “party favors” (“сувениры с вечеринки”). Стоит отметить, что взятые вместе два слова в приме- ре пароля на рис. 6.4 бессмысленны. Случайно выбираемые слова обычно не должны составлять часть фразы. Тот факт, что наши полученные на основе темы пароли имеют смысловое значение, заставляет предположить, что они имеют менее высокую энтропию. Теоретически это делает их слабее, но на сегодня не известна атака, которая смогла бы воспользоваться подобной слабостью. Пароли из песен и стихотворений Группы паролей можно также генерировать из стихотворений или текстов пе- сен. Во время Второй мировой войны британские шпионы широко пользовались стихотворениями в качестве основы секретных кодов, поскольку они легко за- поминаются и несут в себе большое количество информации. Эти же свойства можно использовать и для генерирования паролей. Есть две методики. Использование пар слов из песен или стихотворений. Например, известная баллада Стефана Фостера (Stephan Foster) дала бы группу паролей, вклю- чающую такие пары слов: “waydown”, “uponthe” и “swaneeriver”. При же- лании можно между словами в паре ввести еще промежуточные символы (см. примечание 15). Использование букв, выбираемых по определенному правилу из слов песни или стихотворения. Например, можно брать первую букву из каждого сло- ва в строчке избранного стихотворения и повторять это до тех пор, пока не получится пароль достаточной длины. Скажем, строчка “Twas brillig, in the slithy toves, did gyre and gimble in the wabes” даст пароль “tbitst- dgagitw”. Следующий пароль из группы получится из следующей строчки или двух стихотворения и т.д. (см. примечание 16). Слово-тема: Пароли: HAPPY Hoe#down Animalttcrackers Party# favors Pretty#house Yuleftgreetings Рис. 6.5. Группа паролей на основе слова-темы. Выбирается тема в виде слова или фразы, которые запоминаемы и достаточно длинны, чтобы обеспечить необходимое количество паролей. После на каждую букву темы придумывается слово. 162 6.7. ПОСЛЕДОВАТЕЛЬНОСТИ И ГРУППЫ ПАРОЛЕЙ
Такие пароли обычно противостоят классическим словарным атакам, так как они строятся из пар слов или выстроенных в цепочку букв. Пары слов, конечно, более уязвимы для атаки, так как слова в действительности стоят в таком по- рядке в тексте. Теоретически возможно, что взломщики способны построить “словари” стихотворений и песенных текстов для использования при поиске пар слов или стоящих в определенном порядке букв. Однако это кажется маловеро- ятным, если только подобную систему явно не избирает большое количество пользователей. Относительно перспективной секретности, то эти методики “сдают” как толь- ко взломщик поймет принцип. Очевидно, что игра проиграна, если атакующая сторона знает песню или стихотворение, которые используются. Если взломщик угадывает песню, то он может быстро построить небольшую подборку вероятных паролей для проверки. Это делает стратегию использования пар слов менее при- влекательной, поскольку взломщик может увидеть пароль типа “ravennevermore” или “swaneeriver”. Подход на основе выбора букв менее очеви- ден для обнаружения при простом взгляде на один или два пароля. Реальным недостатком такой технологии является то, что люди не всегда точно помнят песни и стихотворения. Это приводило к многочисленным пробле- мам у британцев, когда они использовали коды на основе стихов. Хотя развед- чиков тренировали и проверяли на предмет точного знания своих стихотворе- ний, было так легко переставить букву или заменить одно слово другим, а ре- зультатом оказывалось нерасшифровываемое сообщение. В случае паролей мы всегда найдем людей, которые при установке последнего пароля помнят строфу в одном изложении, но при попытке аутентифицировать себя вспоминают ее в другом. Для британских разведчиков шифрование было утомительной, но очень важной задачей. Чтобы быть эффективными, пароли должны быть удобными (см. примечание 17). 6.8. Сводные таблицы Таблица 6.3. Сводная таблица атак Атака ¥ Проблема системы защиты Характер атаки Описание атаки А-37 Забьгтый пароль Отказ в обслуживании Простейшая В действительности это не атака, но имеет эффект последней А-38 Поиск под ковриком для мышки Маскировка под другого Простейшая Взломщик осуществляет поиск записанного на бумагу пароля в окрестностях рабочей станции А-39 Многократное использование пароля Маскировка под другого Простейшая Взломщик получает пароль жертвы на одной системе и использует его на других А-40 Транзитивное делегирование Маскировка под другого Простейшая Коллективно используемый пароль попадает к тому, кто использует его для совершения атаки ГЛАВА 6. ВЫБОР PIN-КОДОВ И ПАРОЛЕЙ 163
Таблица 6.4. Сводная таблица методов защиты Защита Срываемые атаки Описание D-37 Принудительный выбор хорошего пароля А-16 Словарная атака с предкомпилированием А-20 Динамическая словарная атака Реализуются процедуры, которые не дают пользователям выбирать легкие для взлома пароли и заставляют их периодически менять пароли D-38 Записываемый пароль А-37 Забытый пароль Записывается копия секретного пароля и хранится в безопасном месте D-39 Распределение паролей по группам риска А-39 Многократное использование пароля Одинаковый пароль устанавливается на тех серверах, пользование которыми связанное одинаковым риском D-40 Перспективная секретность А-39 Многократное использование пароля Пароли в группе выбираются таким образом, чтобы взломщики не имели очевидных подсказок относительно значений других паролей Атаки, от которых нет защиты А-38 Поиск под ковриком для мышки — как указывалось в тексте главы, в компьютерном центре следует исключить использование сложных для запоми- нания паролей, чтобы избежать их записывания. А-40 Транзитивное делегирование — как указывалось в тексте главы, ком- пьютерный центр может защититься от таких атак путем использования аппа- ратных устройств аутентификации или смарт-карточек. 164 6.8. СВОДНЫЕ ТАБЛИЦЫ
ГЛАВА 7 Биометрика У меня заныли кости. Значит, жди дурного гостя. Крюк с петли слети, Пришельца впусти. — Вильям Шекспир, Леди Макбет, акт IV, сцена I В этой главе... Биометрика — это использование для аутентификации индивидуальных при- знаков человека. Существует множество биометрических методик, каждая из которых предусматривает измерение различных характерных признаков челове- ка. Биометрика способна обеспечить невероятно удобный способ аутентифика- ции, но ей также свойственно множество недостатков. Применение биометрики и основные ограничения Краткий обзор наиболее распространенных биометрических методов Как работает биометрическая аутентификация Измерение точности биометрики Улучшение безопасности биометрических методов с помощью криптографии 7.1. Биометрика: то, чем мы являемся В биометрике для аутентификации человека используются его персональные характерные черты, а не факты. Если отойти от компьютерных технологий, то можно увидеть, что биометрическая аутентификация в той или иной форме ис- пользовалась уже на протяжении нескольких столетий. Почти всегда паспорта содержали физическое описание своих владельцев, а несколько десятилетий на- зад в них появились фотокарточки. Пропуска с фотографиями начали использо- ваться по крайней мере с 1930-х годов; во время Второй мировой войны они ис- пользовались в различных совершенно секретных проектах. Хотя при этом не шла речь о какой-либо автоматизации, но эти паспорта и пропуска служили в качестве удостоверений личности. Можно было проверить удостоверение лично- сти и получить подтверждение аутентичности его владельца. Конечно, непрактично в компьютерной аутентификации полагаться на людей, которые бы вручную проверяли и подтверждали биометрические показатели. В компьютерных системах для считывания биометрических показателей использу- ются специальные устройства (рис. 7.1), а для подтверждения личности пользова- теля применяются вычислительные процедуры. Эти процедуры сравнивают изме- ренные биометрические показатели с соответствующими показателями, хранящи- мися в записи пользователя. Если эти показатели совпадают, то система аутенти- фицирует человека. В противном случае система отказывается узнать данное лицо.
В отличие от паролей и других базовых секретов, биометрические данные редко совпадают идеальным образом. Механизм аутентификации измеряет сте- пень близости последних показателей с показателями из записи пользователя. Предполагается, что показатели для одного и того же человека совпадают близ- ко, тогда как показатели других людей близко совпадать не должны. Обещания и реальность Многие с энтузиазмом воспринимают перспективы, которые обещает биометри- ка в аутентификации. Подобное отношение выражено в популярном лозунге, имеющем хождение в среде приверженцев биометрики: “Мое тело — мой про- пуск”. При использовании биометрики люди не будут блокироваться забытыми или автоматически измененными паролями. Биометрика вызывает энтузиазм так- же и потому, что создает впечатление вершины в аутентификации личности. По- скольку биометрика основана на уникальных характерных особенностях личности, некоторые аналитики полагают, что подобные методики обеспечивают наивысшую возможную достоверность в установлении личности человека (см. примечание 1). Но внешний вид может быть обманчив. Во-первых, существует проблема с со- вмещением биометрических показателей. Обычно процесс берет картину отличи- тельной характеристики человека и пытается совместить ее. Если биометриче- ские показатели изменились или были повреждены, представлены необычным образом или грязь или шум проявили себя в системе, то совмещение может ока- заться неудачным и привести к отказу в аутентификации законного пользовате- ля. Другими словами, пользователь может страдать из-за ошибочного отказа системы в аутентификации. Если отрегулировать систему таким образом, чтобы увеличить ее порог терпимости к шуму или слабому совпадению, то увеличива- ется риск аутентификации пользователя на основе биометрических отличитель- ных характеристик другого человека. Другими словами, появляется риск оши- бочного принятия одного человека за другого, то есть, это та же проблема, кото- рую мы имеем, когда взломщик угадывает правильный пароль. Другой проблемой является угроза атак с воспроизведением. Взломщик мо- жет получить биометрические показатели жертвы либо с помощью внешнего за- писывающего устройства, либо путем копирования представления показателей в виде двоичного данных. Очень часто атакующая сторона может обмануть био- метрическую систему, представив ей копию биометрических показателей. Неко- торые биометрические системы достаточно хитроумно устроены, чтобы отличить живые измерения от подделки (например, они способны уловить разницу между отпечатком, снимаемым с реального пальца, и его воспроизведением на бумаге, резине или каком-нибудь пластике). Но такие сложные датчики всегда более до- рогостоящи. Более того, атакующая сторона может сгенерировать правдоподоб- ную двоичную версию биометрических показателей и использовать такие данные для атак воспроизведения по сети. Средств борьбы против подобных атак нет. Исключение составляет применение дополнительных мер по аутентификации, которые, как правило, требуют наличия базового секрета (см. раздел 7.7). Биометрику безопаснее всего использовать в рамках модели локальной аутен- тификации, описанной в главах 4 и 5. Локальная модель предусматривает раз- мещение всего механизма аутентификации в пределах периметра физической безопасности. Это исключает риск перехвата и воспроизведения цифрового пред- ставления биометрических показателей законного пользователя. Однако это не исключает подделок или записи оригинальных биометрических показателей; устройство считывания биометрических показателей должно быть спроектирова- но так, чтобы выявлять факт воспроизведения показателей. Как описывается в разделе 7.7, биометрика может безопасно использоваться совместно со случайно 166 7.1. БИОМЕТРИКА: ТО, ЧЕМ МЫ ЯВЛЯЕМСЯ
выбираемыми базовыми секретами. Хотя стоимость биометрической системы может перевесить выгоды от ее применения, если она будет требовать управле- ния базовыми секретами. Применение биометрики Так как биометрика имеет в основе уникальные личные характеристики, то ее можно использовать в трех различных, но связанных приложениях. Аутентификация Эта задача решается с помощью других механизмов, описываемых в на- стоящей книге: можно ли подтвердить, что имя пользователя относится к тому человеку, который его представил? Биометрические показатели в данном случае играют роль базового секрета или средства верификации, и они должны близко совпадать с записью в формуляре соответствующего пользователя. Идентификация Сюда относится классический случай использования отпечатков пальцев правоохранительными органами: имея образец биометрических показате- лей, можно ли связать их с уникальным человеком или, в худшем случае, с меньшим количеством подозреваемых? Подобное приложение требует наличия обширной базы данных образцов биометрических показателей, которая, предположительно, содержит и искомый образец. Наиболее эф- фективными системами идентификации являются те, что имеют наиболь- шие базы данных образцов биометрических показателей. Федеральное бю- ро расследований США (ФБР) систематически собирает отпечатки пальцев с начала 20-го столетия, и эта коллекция является центральным элемен- том автоматизированной системы идентификации по отпечаткам пальцев, AFIS (Automated Fingerprint Identification System). Определение уникальности Этот вариант прикладной задачи идентификации приобрел практический смысл с появлением дешевых компьютерных способов реализации биомет- рических методов: можно ли, имея образец биометрических показателей, определить, находится ли их владелец в базе данных. Эта технология ис- пользуется финансируемыми правительством организациями по выдаче пособий для проверки того, не регистрировался ли заявитель на получение пособия несколько раз. Различие между задачей идентификации и определения уникальности незна- чительно, но важно. Оба приложения используют одинаковую методику, но служат различным целям. Приложения, решающие задачу идентификации, ста- раются добиться полноты: идеальная база данных содержит данные по каждому живому человеку или по крайней мере по каждому из конкретной группы. При- ложения же, связанные с решением задачи уникальности, касаются людей, вступающих в отношения с организацией или предприятием, и используют био- метрику, чтобы гарантировать, что каждое физическое лицо зарегистрировано не более одного раза. Системам идентификации свойственно стремление к полноте, которое обычно отсутствует у систем определения уникальности. Важное техни- ческое различие между этими приложениями состоит в их масштабе: совмеще- ние биометрических элементов значительно усложняется с ростом их количест- ва. Системы идентификации могут расти до произвольно больших размеров (см. примечание 2). ГЛАВА 7. БИОМЕТРИКА 167
В 1990 году в округе Лос-Анджелес был развернут пилотный проект, который предусматривал аутентификацию получателей пособия по безработице на основе отпечатков пальцев и проверку разовости обращения. В трех регионах, исполь- зующих эту систему, было замечено снижение количества поступающих заявок на выплату пособий, тогда как в окружающих регионах продолжал наблюдаться их рост. Это было расценено как многообещающий результат, и проект был рас- пространен на другие регионы. К концу 1998 года изменения в процессе регист- рации претендентов на пособие по безработице в округе дали возможность зая- вить, что система стоимостью 42,4 миллиона долларов позволила сэкономить 87,8 миллиона долларов. Подобные системы со схожими результатами были раз- вернуты и другими органами государственного управления (см. примечание 3). Использование подобных приложений поставило вопрос конфиденциальности информации о личной жизни. Так как биометрические измерения уникальны для каждого отдельно взятого человека, становится возможным отслеживание пере- движения людей путем отслеживания их биометрических показателей. Например, каждый, кто когда-либо посещал место преступления, может быть приглашен на допрос только по той простой причине, что его отпечаток пальца или другой био- метрический показатель похож на тот, что был обнаружен на месте преступления. Если бы занимающиеся электронной торговлей компании включили в используе- мую ими процедуру сбор биометрических показателей, то могли бы было следить за человеком, проводя поиск по записям онлайновых транзакций, сделанных с ис- пользованием его биометрического образа. Некоторых беспокоит, что отпечатки пальцев, собранные биометрическими приложениями, могут попасть в идентифи- кационную базу данных, подобную системе AFIS ФБР (см. примечание 4). В нестоящее время немногие компании, занимающиеся продвижением на рынке биометрических систем, сосредоточены на решении проблемы покушения на частную жизнь. Собственно, общественная озабоченность этой проблемой за- ставляет многих производителей биометрических систем делать ударение на безопасности и обеспечении конфиденциальности личной информации в их сис- темах, чтобы те были признаны потребителями. Но это не всегда удовлетворяет критиков. Всегда есть риск “функциональной ползучести”, когда биометриче- ская информация с развитием системы может оказаться используемой в совер- шенно другом качестве. Хотя можно лишить систему определенных функций (например, просмотра отпечатков пальцев с места преступления), нет никаких гарантий, что такая функция не появится позднее. Как только организация ста- новится обладательницей биометрических показателей, нет никаких способов предотвратить их использование в других целях. Системы знают, как совмещать биометрические показатели с имеющимися у них образцами, но они не понима- ют, для чего им были представлены те или иные показатели. 7.2. Биометрические методики Почти все устройства, созданные для измерений уникальных характеристик человека, были поставлены на службу биометрической аутентификации. Некото- рые из таких устройств стоят десятки и сотни тысяч долларов, тогда как в других делается попытка использовать оборудование, доступное в составе обыкновенного персонального компьютера, например клавиатуру или, может быть, микрофон. В последней книге, посвященной биометрической технологии, называется 14 раз- личных типов биометрических методик, которые экспериментально или на прак- тике применены в аутентификации. Но все эти различные методики можно разде- лить на две категории: те, что измеряют поведенческие характеристики, и те, что измеряют отличительные физические параметры человека (см. примечание 5). 168 7.2. БИОМЕТРИЧЕСКИЕ МЕТОДИКИ
Измерение физических отличительных черт Подобные методики предусматривают измерение физических характеристик человеческого тела, которые должны быть уникальными для большей части или всего населения. В идеале на измеряемую характеристику не должно оказывать воздействие нормальное поведение человека или косметика, и она не должна претерпевать существенных изменений в течение дней или недель. Ниже описа- ны пять основных методик. Отпечатки пальцев В таких системах для снятия отпечатков пальцев обычно используются небольшие сканеры изображений (см. рис. 7.1 и 7.2). Технология перенята от систем, которые использовались правоохранительными органами для совмещения отпечатков пальцев. Современные биометрические системы для работы с отпечатками пальцев обеспечивают весьма удачное объедине- ние стоимости и надежности. Однако у небольшой части населения отпе- чатки пальцев не обладают достаточно хорошим качеством, чтобы их можно было снять сканером и надежно обработать. Аппаратуру и про- граммное обеспечение для аутентификации по отпечаткам пальцев произ- водит большое количество компаний, включая такие (см. примечание 6): American Biometric AuthenTec Biometric Access Compaq CrossCheck DigitalPersona Identix Informer Systems Mytec Technologies Sony Puc. 7.2. Сканеры для снятия отпечатков пальцев. Как и в случае компьютерной аппара- туры, их размеры и стоимость с течением времени значительно уменьшились. Крайнее слева — устройство Model 250 Verifier от компании Cross Match Technologies. Далее — оригинальный прибор Bio-Mouse, производимый компанией American Biometric. Справа — последняя модель сканера отпечатков пальцев, созданная в компании Compaq. ГЛАВА 7. БИОМЕТРИКА 169
Геометрия руки В этих системах используются специальные считывающие устройства, ко- торые воспринимают размер пальцев пользователя, толщину и геометрию руки. Механические системы этого типа были впервые разработаны в 1970-е годы для управления физическим допуском. Одно из приложений обеспечивало управление допуском членов семьи в квартиру. Система ус- пешно адаптировалась к изменению размера рук детей в течение несколь- ких лет. Выпускает эти системы компания Recognition Systems, Inc. Характеристики глаз: сетчатка В таких системах используется ретинальная камера, размещаемая позади специального окуляра. Пользователь размещает глаз напротив окуляра, и камера записывает картину кровеносных сосудов сетчатки глаза человека. Подобные системы используются в нескольких совершенно секретных пра- вительственных и военных приложениях. Некоторые пользователи счита- ют процесс неудобным и даже опасным, хотя, конечно, он не может по- вредить глаз. Характеристики глаз: радужная оболочка В этих системах используется специальная камера, которая исследует с расстояния нескольких футов радужную оболочку глаза и фиксирует ее характерный образ. Как и в случае отпечатков пальцев, люди имеют уни- кальные радужные оболочки, даже если у них сходные или идентичные гены (т.е., они — однояйцевые близнецы). Коммерческим выпуском сис- тем аутентификации, использующих для распознавания радужную обо- лочку глаза, занимаются следующие компании: IriScan Sensar Лицо Такие системы распознают людей по чертам лица. В аутентификационных приложениях, система снабжается камерой, которая сканирует лицо чело- века и совмещает полученное изображение с изображением лица, храня- щимся в записи этого пользователя. Технология широко используется правоохранительными органами при поиске в файлах фотографий, сделан- ных при задержании преступников. Недостатком аутентификации по чер- там лица является то, что она не позволяет отличить двойников. Коммер- ческие системы распознавания по изображению лица производятся сле- дующими компаниями: Miros Visionics Кроме этих методик, исследователи изучали несколько других, включая тер- мографию частей тела человека, использование формы ушей, запаха и ДНК. Термограммы предусматривают использование дорогостоящих инфракрасных устройств, с помощью которых выявляют внутренние физиологические характе- ристики, уникальные для человека. По форме ушей определяются довольно сложные структуры, которые значительно разнятся у разных людей. Системы, основанные на анализе запаха, используют чувствительные (и довольно неустой- чиво работающие) датчики, которые измеряют химический состав воздуха с це- лью обнаружения отличительных запахов человека. Анализ ДНК широко ис- пользуется в уголовных расследованиях, чтобы определять связь лица с генети- ческим материалом, найденным на месте преступления. Подобные методики 170 7.2. БИОМЕТРИЧЕСКИЕ МЕТОДИКИ
скорее всего останутся в пределах лабораторий до тех пор, пока не будут разра- ботаны практичные и приемлемые по стоимости методы измерения конкретной физической характеристики. Измерение поведенческих характеристик В рамках этих методик определяется поведенческий тип человека, а затем эти данные используются для генерации уникальных биометрических показате- лей. В отличие от физических отличительных характеристик, здесь биометриче- ская система не обязательно должна измерять каждый раз одно и то же явление: человеку может быть предложено сказать, написать или пройтись определенным образом, чтобы уменьшить риск воспроизведения. Распознавание речи Подобные системы просят человека произнести несколько слов и аутенти- фицируют пользователя на основе характерных речевых паттернов (“голо- совых отпечатков”). В некоторых системах используются специальные микрофоны, в других — микрофоны, входящие в состав современных мультимедийных персональных компьютеров. Распознавание речи может сбоить в шумной среде; в некоторых случаях оно может быть обмануто магнитофонной записью голоса пользователя. ОС Mac OS 9.0 компании Apple имеет в своем составе функцию распознавания речи для аутентифи- кации пользователей, которые могут коллективно пользоваться компьюте- ром Macintosh, что сделало биометрическую аутентификацию доступной для широкой общественности. Системы распознавания голоса в целях ау- тентификации производят следующие компании (см. примечание 9): Apple Computer Keyware Technologies T-NETIX Veritel Рукописная подпись Подобные системы воспринимают от пользователя его рукописную подпись и сравнивают ее с образцом. Для снижения риска подделки системы редко полагаются только на одно изображение подписи: надежные системы из- меряют также и динамику движения ручки. Однако такие системы редко Рис. 7.3. Произнесенная паролевая фраза, воспринятая ОС Mac OS 9.0. Это “голосовой от- печаток” паролевой фразы “Мой голос — мой пароль”, воспринятая ОС Mac OS 9.0. Далее система совмещает эту произнесенную пользователем паролевую фразу с ранее записан- ным образцом. ГЛАВА 7. БИОМЕТРИКА 171
используются в целях аутентификации; чаще всего они используются для получения образца цифровой подписи, что облегчает обнаружение поддел- ки. Программное обеспечение для аутентификации по подписи произво- дится следующими компаниями: Communication Intelligence Corporation Cyber SIGN Динамика работы на клавиатуре Эти системы улавливают поведение пользователя во время работы на кла- виатуре компьютера и затем используют уникальные особенности этого поведения для аутентификации. Системы собирают информацию о време- ни задержки между нажатиями различных пар клавиш, а также времени, которое тратится пользователем на нажатие и отпуск каждой клавиши. Исследователи обнаружили, что такая информация отличает разных лю- дей. Существует несколько систем, которые используют подобную методи- ку. Одним из очевидных ее преимуществ является то, что она не требует дополнительного оборудования для улавливания поведения пользователя. Исследователями также были созданы системы, которые собирают информа- цию о походке пользователя и используют ее особенности для аутентификации. Такие системы имеют в основе специальные камеры, которые используются для получения подобной информации. В настоящее время практические реализации подобных систем пока не были продемонстрированы и нигде использовались. 7.3. Как работает биометрика Несмотря на разнообразие датчиков и способов измерения, используемых в биометрике, все системы имеют одинаковую базовую схему конструкции (рис. 7.4). Во всех системах используется устройство, которое собирает оцифро- ванные данные измерений определенной отличительной характеристики челове- ка. Например, в системе, использующей картину радужной оболочки глаза, ис- пользуется специализированная камера, которая фокусируется только на радуж- ную оболочку и снимает только ее изображение. В системах распознавания отпечатков пальцев для получения картины отпечатка применяются специально спроектированные сканеры, которые устроены так, что не могут быть использо- ваны в целях выявления текстуры на поверхностях других типов. Затем биометрические системы выполняют экстракцию характеристики из цифровых данных, чтобы затем идентифицировать отличительные черты, соот- ветствующие конкретным биометрическим показателям. В системах распознава- ния отпечатков пальцев характеристиками являются пересечения и ветвления папиллярных линий на пальце, а также информация об их взаимном располо- жении. Результатом процесса экстракции является элемент данных, называемый биометрической подписью. Термин “подпись” используется здесь в общем смыс- ле, а не только для обозначения цифрового варианта рукописной подписи. Раз- личные биометрические системы формируют свои “подписи” из отпечатков пальца пользователя, его голоса или других персональных характеристик. Чтобы аутентифицировать пользователя, система осуществляет поиск записи, относящейся к этому пользователю, извлекает из нее ассоциируемый с ним био- метрический образец и сравнивает полученную “подпись” с этим образцом. Про- цесс сравнения обычно проектируется в предположении наличия только частич- ного совпадения, причем имеется возможность задавать степень совпадения “подписи” с образцом. Если они совпадают достаточно близко, то система аутен- тифицирует пользователя. 172 7.3. КАК РАБОТАЕТ БИОМЕТРИКА
Система требует наличия биометрического образца для каждого распознавае- мого пользователя. Образцы создаются системой при занесении в нее пользова- теля, причем с каждого пользователя снимаются несколько “подписей”. Допол- нительные “подписи” пользователя используются процессом занесения в систему для создания образца, который отражает возможные отклонения “подписи” пользователя. Это обеспечивает снижение вероятности ошибочного отказа в ау- тентификации законному пользователю. Биометрические системы, спроектированные под приложения для решения задач уникальности и идентичности, могут устанавливать личность пользовате- ля, не запрашивая имени пользователя. Чтобы делать это, система снимает био- метрическую “подпись” пользователя и затем накладывает ее на каждый био- метрический образец в базе данных пользователей. Идентификация пользовате- ля осуществляется путем нахождения такого образца, который ближе всего согласуется с биометрической “подписью”. 7.4. Снятие биометрических показателей Первым шагом любой биометрической процедуры является снятие показате- лей отличительной черты человека. Эту задачу выполняет биометрическое счи- тывающее устройство (рис. 7.4). Считывающее устройство дает на выходе оциф- рованное представление отличительной черты, которое затем преобразовывается в биометрическую “подпись”. Этот процесс является первой точкой, где могут проявиться ошибки в биометрической аутентификации. В некоторых случаях биометрическое считывающее устройство может в дей- ствительности представлять собой обычный прибор общего назначения, напри- мер планшетный сканер изображений или встроенный в компьютер микрофон. Процесс аутентификации на основе распознавания речи, реализованный в ОС Mac OS компании Apple, использует для приема паролевой фразы пользователя встроенный микрофон. Некоторые системы с распознаванием по внешнему виду также спроектированы под использование стандартных готовых видеокамер. Хо- тя применение устройств общего назначения снижает стоимость биометрической аутентификации, увеличивается нагрузка на программное обеспечение, выпол- няющее функцию экстракции характеристики. Например, различные камеры черта считывающее устройство signature Рис. 7.4. Элементы биометрической системы. Сначала биометрическое считывающее уст- ройство вырабатывает цифровое представление характерной черты. Затем процедура экс- тракции характеристики генерирует биометрическую “подпись”, содержащую результаты измерения отличительного параметра человека. Чтобы выполнить аутентификацию, сис- тема извлекает из записи о пользователе его биометрический образец и сравнивает его с биометрической “подписью” аутентифицируемого. Близкое совпадение дает положитель- ный результат. Имя Биометрический пользователя эталон jdoe_______1 = ,2 =.3 =... кгое 1 - .2 =.3 =... tdore 1 = 2 =.3 =... ГЛАВА 7. БИОМЕТРИКА 173
могут иметь на выходе стандартный видеосигнал, но тем не менее между ними все равно будут небольшие различия, влияющие на биометрический эталон. Процесс экстракции характеристики должен уметь отфильтровывать различия, являющиеся следствием использования различных входных устройств. Другие системы предусматривают использование биометрических считываю- щих устройств специального назначения. Теоретически в системах распознава- ния по отпечаткам пальцев могли бы использоваться стандартные планшетные сканеры, но на практике, как правило, в них применяются специализированные устройства. Устройства считывания геометрии руки снимают трехмерную ин- формацию, чего не могут делать сканеры. В некоторых случаях само считываю- щее устройство может выполнять обработку, связанную с получением биометри- ческой “подписи”, так что системе аутентификации необходимо только сравнить полученные данных. Обратная связь во время ввода биометрических измерений Интересной особенностью многих систем является вывод на экран монитора биометрического образа в момент съема системой биометрических показателей. Например, системы с распознаванием по отпечаткам пальцев, аналогичные по- ставляемым со сканером BioMouse компании American Biometrics, формируют на экране окно с изображением отпечатка пальца пользователя. Пользователь быстро учится правильно позиционировать свой палец на считывателе отпечат- ков, так как правильному размещению соответствует характерный внешний вид, а неправильное размещение обычно влечет ошибочный отказ в аутентификации. ОС Mac OS 9, когда кто-либо пользуется встроенной в нее функцией аутенти- фикации по голосовому отпечатку, выводит на экран запись звуковых колеба- ний, которые показаны на рис. 7.5. Пользователь имеет возможность быстро научиться идентифицировать лишний фоновый шум и другие звуковые пробле- мы, которые могут помешать правильной аутентификации. На рисунке показа- ны две формы звуковых колебаний, получающихся при произнесении пользова- телем фразы: “Мой голос — мой пароль”. В обоих случаях система показывает группу звуковых колебаний, которые явно соответствуют шестислоговой фразе. В примере слева за фразой следует небольшой всплеск шума, а справа — после фразы идет кашель. Сложная система распознавания может автоматически отде- лить паролевую фразу от шума. Однако вывод на экран также помогает пользо- вателям менее сложных систем. Если система отбрасывает паролевую фразу, то пользователь может “видеть” шум, наблюдая за выводимыми на экран звуковы- ми колебаниями. Это по крайней мере дает ему возможность устранить вызвав- шие проблему шумы при произнесении паролевой фразы. Рис. 5.7. Распознавание паролевой фразы по голосовому отпечатку. Два голосовых отпе- чатка представляют собой шестислоговую паролевую фразу, после которой следует шум. На примере слева за паролевой фразой идет небольшой всплеск фонового шума. На при- мере справа пользователь после произнесения паролевой фразы кашлянул. Система долж- на уметь изолировать фразу от других звуков, так как это увеличивает вероятность пра- вильного совмещения с соответствующим биометрическим образцом. 174 7.4. СНЯТИЕ БИОМЕТРИЧЕСКИХ ПОКАЗАТЕЛЕЙ
Подделка физической характеристики человека Биометрическое считывающее устройство представляет собой оче- видную цель для атаки на биометрическую систему. Если считьг- А-41 9 вающее устройство просто получает цифровое изображение от датчи- ка и передает его дальше, то можно замаскироваться под кого-нибудь другого, подав на датчик те же данные, что обычно предоставляет жертва. Для систем распознавания по отпечаткам пальцев стратегия выглядит очевидной: изготав- ливается нужное изображение отпечатка пальца и предъявляется системе вместо отпечатка жертвы. Эта стратегия могла бы работать, если бы для получения от- печатков пальцев использовались стандартные сканеры. Однако, как отмечалось ранее, в системах, работающих на основе отпечатков пальцев, большей частью используются специализированные сканеры. Эти сканеры обычно проектируются так, чтобы регистрировать трехмерную структуру выступов и впадин отпечатка пальца, а не просто их двумерную картинку. Хотя это может предотвратить подмену отпечатков пальцев фотокопией, более изощренные атаки могут увен- чаться успехом. Например, в лаборатории тестирования продуктов специализированного жур- нала Network Computing (“Сетевые вычисления”) попытались применить две достаточно сложные методики подделки отпечатков пальцев в отношении не- скольких считывающих отпечатки устройств. В одном случае они сняли “скры- тые” отпечатки пальцев со стола, используя технику, аналогичную той, что ис- пользуются полицией. Затем они перенесли скрытые отпечатки на прозрачный материал и использовали эту прозрачную пленку для подмены реального отпе- чатка пальца человека. С помощью этой методики удалось ввести в заблуждение несколько систем распознавания отпечатков пальцев. Все это может быть серь- езной проблемой, так как взломщик тоже может снять отпечаток пальца поль- зователя с зеркала, дверной ручки или другой поверхности и выдать себя за это- го пользователя (см. примечание 10). Во втором эксперименте в лаборатории взяли восковые отпечатки с пальцев пользователя и сделали резиновые копии. С помощью таких копий удалось об- мануть большинство сканеров. К счастью, подобная техника требует сотрудниче- ства жертвы. Основной контрмерой против таких атак является использование Ж более сложных датчиков, которые измеряют дополнительные свой- ства физической отличительной черты. Вот почему многие устройст- ва для считывания отпечатков пальцев снимают трехмерный отпечаток, так что в биометрических показателях можно отдельно рассматривать выступы и углуб- ления. В некоторых считывающих устройствах для выявления подделки осуще- ствляется измерение электрической емкости кожи или температуры. Подобный тип атаки, основанной на воспроизведении, может л быть применен к системам, использующим биометрику поведения, в А-42 9 частности распознавание речи. Например, взломщик может полу- чить высококачественную запись паролевой фразы, произносимой жертвой. Вы- мышленный случай подобной атаки был показан в вышедшем на экраны в 1992 году фильме Sneakers (“Воришки"). Контрмерой для предотвращения подобных атак является требо- Ж вание различного поведения в каждой попытке аутентификации. Тут ^3 в основе лежит та же идея, что и в паролевой аутентификации по методу “запрос — ответ”, описываемой в главе 10. В некоторых системах с рас- познаванием речи этого добиваются путем предложения пользователю каждый раз произносить разные паролевые фразы. Например, можно сначала заставить пользователя произнести последовательность цифр, а затем случайным образом ГЛАВА 7. БИОМЕТРИКА 175
выбирать новую последовательность при каждой новой попытке аутентифика- ции. Более передовым подходом было бы использование произносимого вслух произвольного предложения. Однако любая из этих стратегий будет создавать большую нагрузку на биометрическую систему. С точки зрения удобства лучше обучить систему распознавать пользователя, когда тот произносит заданную фра- зу, меняющиеся же фразы потребуют значительно большего времени для обуче- ния. Систему придется научить распознавать любые слова, которые могут быть использованы; кроме того, должна учитывать все особенности слитного произ- ношения пользователем пар слов. Поэтому использование подобных систем ино- гда может быть нецелесообразным. 7.5. Создание и совмещение эталонов После того как система получила биометрическую “подпись”, следующей за- дачей является надежное ее совмещение с нужным пользователем. Предостав- ленная Кэтти биометрическая “подпись” должна совпадать с биометрическим образцом, содержащимся в ее регистрационной записи пользователя. Она не должна совпадать с записью Тома. Физическая отличительная черта считается хорошей с точки зрения биомет- рики, если обеспечивает получение для каждого человека набора уникальных значений измерений. Индивидуальные свойства отличительной черты, например общий размер или базовое взаимное расположение, могут сами по себе и не обеспечивать уникальности значений измерений. Скажем, в качестве биометри- ческого параметра можно было бы попытаться использовать размер перчаток, однако, множество людей носят перчатки одинакового размера. Биометрика уяз- вима в плане успешности маскировки под законного пользователя, если одина- ковые результаты измерений получаются для многих людей. Имеющая практическое значение биометрическая система должна выполнять достаточное количество измерений выбранной отличительной черты, чтобы их совокупность в целом не совпадала бы у разных людей. Одно произнесенное сло- во или покашливание не обеспечивает достаточной информации чтобы система распознавания речи, смогла различить людей, и поэтому часто такие системы требуют, чтобы произносилась целая фраза (см. рис. 7.5). Более длинная фраза обеспечивает большую вероятность того, что система выявит неизбежные разли- чия в речи людей. Пример: биометрика очертаний руки Сложная система, которая использует геометрию руки, при построении об- разца измеряет длину пальцев, их ширину, толщину и относительное располо- жение таких наиболее важных элементов строения кисти, как костяшек пальцев и других суставов. Основные особенности сравнения биометрических параметров можно продемонстрировать и на сильно упрощенной версии подобной системы, показанной на рис. 7.6, где в качестве метрики выступает длина пальцев чело- века. В результате измерения биометрических параметров генерируется “под- пись” — таблица из пяти цифровых значений, каждое из которых соответствует длине одного из пальцев. Совершенно ясно, что биометрические измерения длины пальцев не будут точными, т.е., измеряя длину пальца, мы каждый раз можем получать немного отличающиеся значения. Хотя длина пальцев взрослого человека не становятся больше или меньше со временем, упругость кожи делает невозможным получе- ние одинаковых результатов измерений. Чтобы иметь возможность вычислять длину каждого пальца по изображению ладони, система должна уметь иденти- 176 7.5. СОЗДАНИЕ И СОВМЕЩЕНИЕ ЭТАЛОНОВ
фицировать достаточное количество характеристик руки. И хотя кончики паль- цев распознаются достаточно легко, местоположение основания каждого пальца может зависеть от складок кожи и других особенностей руки. Длина пальца мо- жет изменяться при изменении положения руки и давления пальца, так как эти параметры влияют на складки кожи между пальцами. Как показано на рис. 7.6, измерения руки Кэтти дали набор значений длины пальцев, который и нашел свое отражение в “подписи”. Если бы Кэтти прошла следующую процедуру снятия биометрических показателей, то в следующей “подписи” длина большого пальца могла бы оказаться равной 392, а не 389, средний палец может дать значение 503 вместо 501, и т.д. Подобные вариации характерны для любых биометрических измерений. Скажем, характерные точки отпечатка пальцев, в зависимости от того, как палец помещается на считываю- щем устройстве, могут отстоять друг от друга дальше или ближе. Проговаривае- мые при аутентификации фразы будут говориться быстрее или с другими ударе- нием, причем вне зависимости от того, насколько старателен говорящий. Хоро- шо спроектированная биометрическая система пытается насколько возможно исключить подобные вариации, но они неизбежно возникают. При совмещении “подписи” Кэтти с ее биометрическим эталоном желательно, чтобы совмещение происходило независимо от существующих расхождений. Ес- тественно, это требует стратегии совмещения, которая отличается от той, что используется для паролей или при работе с другими более традиционными базо- выми секретами, так как в этом случае происходит сравнение приблизительных значений, а не точных. При использовании в качестве биометрических показате- лей длины пальцев можно воспользоваться простой стратегией вычисления ма- тематического расстояния между “подписью” и образцом. Другими словами, пять значений “подписи” и пять значений образца рассматриваются в качестве геометрических точек в пятимерном пространстве, затем определяется, насколь- ко далеко они друг от друга отстоят. Таким образом, близкое совпадение дает в итоге малое значение этого расстояния. Если вернуться к рис. 7.6, то ясно, что принадлежащий Кэтти образец дает близкое совпадение, так как расстояние для него составляет 4. Образец же Тима дает значение расстояния 199. Сегодняшняя биометрическая “подпись” Кэпи: Хранящийся биометрический образец Кэпи: Хранящийся биометрический образец Тима: 389 390 284 416 418 570 501 502 534 468 471 501 353 355 399 Расстояние Расстояние от “подписи" = 4 от “подписи” = 199 Рис. 7.6. Пример биометрики на основе очертаний руки. Биометрическая “подпись” Кэтти строится путем измерения длины ее пальцев в качестве параметров. “Подпись” представ- ляет собой пятиэлементную табличку, в которой каждый элемент отражает длину соот- ветствующего пальца. Сравнение “подписи” с эталоном Кэтти осуществляется путем вы- числения математического расстояния между ними. Заметим, что это расстояние меньше (4), чем расстояние между подписью и эталоном Тима (199). ГЛАВА 7. БИОМЕТРИКА 177
Реальные биометрические системы обычно более сложны, чем рассмотренная система с простыми вычислениями длины пальцев. Для представления результа- тов измерений в большинстве биометрических “подписей” требуется куда боль- ше, чем пять целочисленных значений. Некоторые “подписи”, чтобы показать позиционные взаимосвязи между характерными точками, включают не только относительное местоположение характерных точек, но и графические представ- ления. Но процедура совмещения с эталоном будет такой, чтобы результаты бы- ли всегда точны даже в случае не совсем точных измерений. Проектирование биометрической системы представляет собой тонкий процесс. Система должна улавливать особенности, которые делают разных людей отличимыми, но одно- временно не должна воспринимать “шум” или другую информацию, которая пу- тает показатели. С другой стороны, если система отрезает слишком много ка- жущегося шума, то она может также отрезать и детали, которые отличают одно- го пользователя от другого. Регистрация пользователя В простейшем случае биометрическая регистрация ничем не отличается от ре- гистрации пользователя с применением пароля. Однако вместо ввода пароля но- вый пользователь предоставляет биометрические показатели. Система затем ис- пользует эти показатели для построения биометрического эталона и сохраняет его в регистрационной записи этого пользователя. Однако подобная процедура не всегда обеспечивает получение надежного эталона. Иногда для того, чтобы сис- тема уверенно распознавала человека, требуется обучение. Обучение необходимо, когда биометрическая отличительная особенность, на- пример произносимая фраза, подвержена слишком большим вариациям в каж- дом случае. Чтобы построить надежный биометрический эталон, система должна получить от пользователя несколько биометрических “подписей” и, объединив их, создать образец. В некоторых случаях процесс объединения представляет со- бой усреднение различных показателей плюс, может быть, сохранение информа- ции о возможных отклонениях. В других же случаях система выполняет под- робный анализ различий в подписях, чтобы сначала решить, какие измерения пользователя являются отличительными, а затем построить образец, ориентиро- ванный на эти измерения. Системы обычно требуют для регистрации пользователя только одну биомет- рическую “подпись”. Физические отличительные черты, например отпечаток пальца или геометрия руки, обычно требуют одного снятия показателей. Такие же поведенческие особенности, как голос или рукописная подпись, в большей степени подвержены вариациям и часто требуют снятия нескольких показате- лей, чтобы обучить систему распознавать каждого пользователя. Если система на основе отпечатков пальцев и требует нескольких процедур снятия показателей, то обычно эти показатели относятся к различным пальцам. Тогда разные пока- затели позволяют пользователю аутентифицироваться с использованием для этой цели разных пальцев на случай, если тот или иной палец будет поранен. 7.6. Точность биометрики Чтобы биометрический метод работал, он должен быть точным; т.е. надежно связывать биометрическую “подпись”, взятую от человека, с его биометрическим образцом. Идеальная система никогда не сгенерирует ни ошибочного подтвер- ждения, ни ошибочного отказа. Точность биометрической системы измеряется путем оценки процентной доли ошибочных подтверждений и ошибочных отка- зов, которые в среднем дает система. 178 7.6. ТОЧНОСТЬ БИОМЕТРИКИ
Оценка точности обычно основывается на экспериментах, в которых проверя- ется большое количество биометрических “подписей” на близость их совпадения с набором биометрических эталонов. Эксперименты строятся таким образом: со- бирается большое количество показаний у множества случайно выбираемых лю- дей, предпочтительно тех, которые принадлежат к группе, которая, возможно, будет использовать биометрическую систему. Приведенные на рис. 7.7 графики показывают, как выглядят результаты в том случае, если процедура сравнения предусматривает измерение разницы (или рас- стояния) между “подписью” и эталоном. В идеале, когда пользователь, например Кэтти, использует систему, в результате вычисления разницы между биометриче- ской “подписью”, взятой у Кэтти, и эталоном Кэтти должно получаться значение 0. На практике, конечно, значение разницы будет меняться для каждой “подпи- си”. По мере того, как все большее количество людей пользуется системой, оказы- вается, что большинство “подписей” показывают малое значение разницы, но ино- гда пользователи выдают такие “подписи”, которые приводят к получению относи- тельно большого значения разницы. Эта ситуация изображена на рисунке на графике слева. Если одна из “подписей” Кэтти дает достаточно большое значение разницы, то система сделает вывод, что кто-то другой, а не Кэтти, был автором “подписи”, и откажет ей в попытке пройти аутентификацию. На графике справа показывается ситуация, которая складывается, когда вы- числяется разница между подписью, полученной от случайного человека, и био- метрическим эталоном, принадлежащим какому-нибудь другому человеку. В идеале все вычисления должны иметь результатом очень большие значения. На практике большинство таких вычислений действительно дают большие значе- ния, но некоторые, как показано на графике, имеют результатом меньшие зна- чения. Таким образом, если в процессе будет участвовать достаточное количество людей, иногда будут иметь место успешные подмены. Измеренное расстояние от собственного образца пользователя Измеренное расстояние от образца другого пользователя Рис. 7.7. Приемлемо точная биометрическая система. Эти графики показывают, как био- метрическая система должна сравнивать результаты измерений для отдельных пользовате- лей. График слева отражает ситуацию, когда снимаются показатели авторизованных поль- зователей и измеряется разница между этими показателями и биометрическим образцами пользователей, которые были построены системой. На графике справа отражена ситуация, когда снимаются показатели у произвольных пользователей и измеряется разница относи- тельно случайно выбираемых эталонов, принадлежащих авторизованным пользователям. ГЛАВА 7. БИОМЕТРИКА 179
Нахождение компромисса между удобством использования и уровнем безопасности На рис. 7.8 эти два графика объединены, чтобы показать, как настроить сис- тему, добиваясь компромисса между уровнем безопасности и удобством исполь- зования. Хитрость состоит в балансировке вероятностей ошибочного непринятия и ошибочного принятия биометрической подписи с тем, чтобы система редко блокировала законных пользователей и не поддавалась на попытки подмены. В некоторой степени это зависит от формы двух кривых, которая, в свою очередь, зависит от структуры биометрической “подписи” и процедуры совмещения. Кроме того, компромиссное решение зависит также от величины разницы, с которой система готова мириться в процессе выполнения совмещения “подписи”. Если “подпись” превысит допустимый для терпимости системы порог, то та вы- даст отрицательный результат совмещения. Штриховая вертикальная линия на рис. 7.8 как раз и показывает местоположение этого порога. Затененная область слева от порога показывает, насколько часто может иметь место успешная под- мена. В общем случае можно снизить этот риск путем смещения порога влево, т.е. уменьшением его значения. Затененная область справа показывает, насколь- ко часто система может отвергать попытки законной аутентификации. Умень- шая порог и снижая риск подмены, мы увеличиваем риск случайного блокиро- вания законного пользователя. Разработчики и аналитики биометрических систем обычно используют резуль- таты подобных экспериментов для вычисления коэффициентов ошибок при раз- личных значениях порога. В результате вычисляются значения коэффициента ошибочных подтверждений (false acceptance rate — FAR) и коэффициента оши- бочных отказов (false rejection rate — FRR), для различных значений порога. Эти Рис. 7.8. Нахождение баланса между удобством использования и уровнем безопасности. На этом графике объединены две кривые, приведенные на рис. 7.7. Биометрические пока- затели конкретного пользователя должны близко совпадать с биометрическим образцом этого же пользователя; в худшем случае разница никогда не должна превышать порог со- вмещения, показанный штриховой линией. Риск подмены (ошибочного подтверждения) уменьшается при перемещении порога влево, что уменьшает площадь светло-серой облас- ти слева. Однако это ухудшает удобство использования, так как увеличивается вероят- ность ошибочного отказа (темно-серая область справа) 1 зо 7.6. ТОЧНОСТЬ БИОМЕТРИКИ
Рис. 7.9. ROC-кривая и биометрические приложения. Каждая точка этой кривой представля- ет собой значения порога совмещения, располагаемого на графике в зависимости от резуль- тирующего значения коэффициента ошибочных подтверждений (false acceptance rate, FAR) и результирующего значения коэффициента ошибочных отказов (false rejection rate, FRR). Как отмечено в левом верхнем углу графика, приложения, связанные с судебной идентифи- кацией, требуют низкого значения коэффициента ошибочных отказов и могут допускать вы- сокое значение коэффициента ошибочных подтверждений. В приложениях, связанных с управлением доступом, наоборот, отдается предпочтение низкому значению коэффициента ошибочных подтверждений, пусть даже ценой многочисленных ошибочных отказов. коэффициенты вычисляются как процент или доля от количества сделанных по- пыток совмещения. Поскольку определенное значение порога приводит к получе- нию конкретных значений FAR и FRR, то, как показано на рис.7.9, в этих осях можно построить соответствующий график, который называется кривой, рабочих характеристики приемника (receiver operating characteristics curve) или ROC- кривой. Обычно такая кривая содержит точку, называемую точкой равновеликой интенсивности ошибок (equal error rate), в которой значения FAR и FRR равны. Низкое расположение точки равновеликой интенсивности ошибок обычно свиде- тельствует о том, что система может достигать хорошего уровня безопасности, не давая чрезмерного количества ошибочных отказов в аутентификации. Среднее пространство атаки Для грубого сравнения атак на пароли с атаками на биометрику также можно воспользоваться описанной в разделе 2.7 концепцией среднего пространства атаки. В частности, для вычисления среднего пространства атаки для биометрической системы можно использовать значение коэффициента FAR. Это объясняется тем, что оба типа расчетов основываются на сходных типах крупномасштабных, вы- полняемых по случайному принципу атак. Для нахождения пространства атаки (V) по значению FAR (Afar) производятся следующие вычисления: V = log2 М-1 \ “-FAR 7 ГЛАВА 7. БИОМЕТРИКА 181
Некоторые биометрические системы, например системы опознавания по отпе- чаткам пальцев, поддерживают диапазон значений порога, что позволяет каж- дому компьютерному центру выбирать свой вариант компромисса между уров- нем безопасности и легкостью использования. В частности, некоторые системы калибруют этот порог в терминах коэффициента ошибочных подтверждений. В табл. 7.1 показаны результаты для различных значений FAR в сравнении с дру- гими средними пространствами атак. Биометрика может опираться на относи- тельно небольшие средние пространства атаки, так как хорошо спроектирован- ная система неуязвима для выполняемых в автономном режиме атак, которые являются бедствием для баз данных с зашифрованными паролями. Правильно построенная биометрическая система будет воспринимать только интерактивные попытки аутентификации, а в этом случае среднего пространства атаки в 10-20 бит вполне достаточно. 7.7. Шифрование биометрики Криптографические методы, например шифрование, дают способ внедрения биометрики в современный мир сетевых вычислений. Сами по себе биометриче- ские “подписи” могут быть легко подделаны. Кроме того, многих людей беспо- коит риск вторжения в их частную жизнь, связанный с доступностью их био- метрических показателей. Наиболее рациональным способом решения подобных проблем является применение для защиты биометрической информации крипто- графических методов. Поскольку большинство криптографических методик тре- бует наличия базовых секретов, необходимо управлять не только биометриче- скими эталонами, но и базовыми секретами. Сохранение режима секретности В разделе 7.1 уже отмечалось, насколько сильно многих беспоко- ит возможность вторжения в частную жизнь, связанное с использо- А-43 9 ванием биометрических систем. Если взломщик сможет перехватить биометрические данные человека, то он сможет воспользоваться ими, чтобы вы- дать себя за него или отслеживать все действия этого человека. В любом случае биометрические системы были бы охотнее восприняты сообществом пользовате- лей, если бы они обеспечивали режим секретности биометрической информации. Таблица 7.1. Биометрика и средние пространства атаки Пример Способ атаки Среднее пространство атаки Биометрическая система с “однопроцентным” FAR (1 из 100) Интерактивный 6 бит Случайный 10-буквенный текст на английском языке Автономный 16 бит Биометрическая система с FAR 1 из 100 000 Интерактивный 16 бит Биометрическая система с FAR 1 из 1000000 Интерактивный 19 бит Лично выбираемый 8-символьный пароль ОС UNIX Автономный 22,7 бита Пароль, выдаваемый генератором 10-буквенных паролей по FIPS 181 Автономный 39,5 бита 56-разрядный стандарт шифрования данных (DES) Автономный 54 бита 128-разрядный усовершенствованный стандарт шифрования (AES) Автономный 127 бит 182 7.7. ШИФРОВАНИЕ БИОМЕТРИКИ
Хотя системы, построенные по модели локальной аутентификации, W могут полагаться в обеспечении секретности на физическую защиту, ясно, что такой подход не будет работать в случае сетевых и распреде- ленных систем. В них должно применяться шифрование. В некоторых моделях устройств для считывания отпечатков пальцев шифрование используется уже на этапе перемещения данных отпечатка от считывающего устройства к компьютеру. На рис. 7.10 показана схема криптографической защиты биометрических данных. Биометрическое считывающее устройство снимает данные и криптогра- фически защищает их, прежде чем передать в другие устройства системы. Само считывающее устройство размещается внутри физически защищенного перимет- ра — в корпусе или внутри физически безопасной зоны офиса. Устройство хра- нит базовый секрет внутри этого периметра и использует его для криптографи- ческой защиты биометрических данных. Принимающее биометрические данные устройство тоже должно размещаться в физически безопасной среде; оно работа- ет со своей копией базового секрета, которая используется для дешифровки и верификации биометрических данных. Биометрические данные остаются в безопасности до тех пор, пока поддержи- вается безопасность базовых секретов, и атакующая сторона не может взломать периметры физической защиты. Базовые секреты могут усложнить процесс управления биометрическими системами, также представляют собой чувстви- тельные данные, которые необходимо распространять и обслуживать. Одним из способов упрощения работы с ключами шифрования является шифрование с по- мощью открытого ключа, которое описывается дальше в главе 13. Недостаток такого шифрования состоит в том, что атакующей стороне достаточно просто выдать себя за законное считывающее устройство. Однако подобные слабости могут быть и у других методов шифрования, поэтому продуманная реализация может учитывать и вопросы аутентичности, что будет обсуждаться в этой главе позднее (см. примечание 11). В разделе 1.3 мы уже познакомились с хешированием как стратегией защиты паролей от кражи. Не существует практического способа извлечения исходных данных из хешированной информации, поэтому подобный подход — многообе- щающая стратегия защиты приватности биометрики. К сожалению, нельзя ис- пользовать эту хешированные биометрические данные в процедуре сравнения биометрических показателей. Базовым свойством безопасной функции хеширо- Рис. 7.10. Использование криптографии для защиты биометрических данных. В распре- деленных приложениях необходимо защищать биометрические данные в процессе их пе- ремещения между устройствами. Для защиты их от прослушивания и/или модификации они могут защищаться криптографически. Слева на рисунке биометрическое считываю- щее устройство снимает показатели. Для защиты этих показателей при пересылке друго- му устройству оно использует базовый секрет. Справа показано, как принимающая сторо- на использует базовый секрет для дешифровки и/или проверки достоверности биометри- ческих данных. ГЛАВА 7. БИОМЕТРИКА 183
вания является то, что хеши двух похожих элементов данных практически ни- когда не будут совпадать. Таким образом, можно найти совпадение между био- метрической “подписью” и схожим биометрическим эталоном, но нельзя ожи- дать, что хоть как-нибудь будут совпадать их хешированные образы. Это делает хеширование неподходящей стратегией для защиты биометрических данных. Аутентичность биометрических данных Главной ценной чертой биометрической аутентификации являет- д» ся то, что она работает с информацией, которую может предоставить А-44 9 только конкретный человек. На практике кто угодно может предос- тавить информацию, если в его распоряжении оказалась ее копия. И если у Джона могут быть отпечатки пальцев абсолютно несхожие с отпечатками паль- цев Кэтти, у него может быть их цифровая копия. Раз так, то он может послать ее в компьютер и выдать себя за Кэтти. В этом и заключается основная идея атаки воспроизведения биометрики: взломщик перехватывает биометрическую отличительную характеристику жертвы, строит согласующуюся с ней биометри- ческую “подпись” и посылает эту “подпись”, подменяя собой жертву. В некотором смысле это возвращает нас в ту точку, с которой мы W начали. Компьютеру необходимо аутентифицировать Кэтти. Если она р посылает для аутентификации биометрические показатели, то компь- ютер не может знать, не является ли эта биометрическая “подпись” подделкой. Несомненно, решением является аутентификация биометрических аутентифика- ционных данных. Для этого, как показано на рис. 7.10, в биометрическое считы- вающее устройство должен быть введен базовый секрет. Базовый секрет использу- ется совместно с криптографическим контролем целостности. Если взломщик по- пытается подделать биометрическую “подпись”, то проверка целостности не пройдет, так как она зависит от базового секрета. Контроль целостности также выявит попытки модификации законной биометрической “подписи”. Описание то- го, как работает такой контроль целостности, приводится в разделе 8.5. Другими словами, мы не можем доверять биометрической аутентификации в ненадежных с точки зрения безопасности сетях, если при аутентификации не будут использоваться базовые секреты. Для многих владельцев это в значитель- ной степени уничтожает преимущества биометрики, так как им все равно необ- ходимо передавать и управлять базовыми секретами, чтобы система была рабо- тоспособной. С другой стороны, в некоторых случаях подобные расходы вполне приемлемы. Многие биометрические приложения, решающие задачу уникально- сти, требуют наличия распределенных биометрических считывающих устройств и централизованной базы данных биометрических показателей. Преимущества проверки на уникальность могут перевесить стоимость аутентификации биомет- рических данных. Проблемы эксплуатации биометрических систем Даже если система и не была спроектирована для решения задач надзора или правоохранительных задач, некоторые побаиваются, что со временем она сможет быть использована для этих целей. Чтобы снять подобные опасения, в некоторых организациях с крупномасштабными биометрическими системами вводят специ- альные руководства по обеспечению секретности или даже специальные правила, которые ограничивают использование биометрических данных. В таких системах для гарантирования приватности биометрических данных могут предприниматься и специальные технические меры, например, шифрование биометрики и обеспече- ние высокого уровня защиты базы данных с биометрической информацией. 184 7.7. ШИФРОВАНИЕ БИОМЕТРИКИ
Тем не менее некоторые сторонники приватности встревожены возможностью I вторжения в личную жизнь. Основная проблема состоит в том, что нельзя предот- вратить “функциональной ползучести”. Даже если сегодня благодаря политике ру- ководства и законам соблюдается секретность биометрики пользователя, ничто не помешает в новом законодательстве снять защиту приватности. Высказывалось i предположение, что шифрование биометрики в той или иной форме исключает ! возможность использования существующих биометрических баз данных непреду- I смотренным образом. Теоретически подобная защита не дает системе восприни- 1 мать запросы, поступающие не из ее собственных живых датчиков. Такие методы , защиты также могут воспрепятствовать объединению баз данных систем с базой £ данных какой-нибудь крупной идентификационной системы (например, с принад- i лежащей ФБР базой данных системы AFIS — см. примечание 12). 1 Однако в действительности нет технологических приемов для предотвраще- ! ния неправильного использования биометрических систем, т.е. вычислительное оборудование не знает, используется оно во имя добра или зла. Если система I может устанавливать личность на основе биометрической “подписи”, то не суще- I ствует технического способа контроля того, для чего выполняется поиск. При I определенном сговоре между операторами и владельцами всегда существует спо- Г соб заставить систему выполнять свои функции для несвойственных ей целей. I Наиболее обещающим методом контроля за использованием биометрических I систем является передача системы под защиту консорциума заинтересованных I сторон. Консорциум принимает на себя ответственность за защиту частной жиз- | ни пользователей и обеспечение эффективной и надежной работы системы. Кон- I Сорциум может установить соответствующие процедуры, контролирующие цело- I стность системы и гарантирующие всем его членам, что биометрические данные | остаются под управлением системы. Правда, пока не ясно, есть ли способ пре- I дотвратить нарушение приватности системы, но для минимизации подобного I риска консорциум может использовать принцип коллегиального управления и В разделения обязанностей. 17.8. Сводные таблицы Таблица 7.2. Сводная таблица атак Атака Проблема системы защиты Характер атаки Описание атаки А-41 Подделка отличительной биометрической черты Подмена пользователя Физическая Взломщик изготавливает копию физической отличительной черты пользователя и предъявляет зту копию биометрическому датчику А-42 Воспроизведение поведения пользователя Подмена пользователя Физическая Взломщик записывает поведенчес- кую отличительную черту пользователя и воспроизводит ее биометрическому датчику А-43 Перехват биометрических .показателей Подмена пользователя Обычная Взломщик перехватывает биометрические показатели жертвы от датчика или “подпись" в момент передачи между устройствами, вторгаясь в частную жизнь пользователя ГЛАВА 7. БИОМЕТРИКА 185
Окончание табл. 7.2 Атака Проблема системы Характер атаки Описание атаки защиты А-44 Воспроизведение биометрической “подписи" Подмена пользователя Обычная Взломщик воспроизводит показатели биометрического датчика или “подпись”, которые обрабатываются системой так, словно были сняты с реального человека Таблица 7.3. Сводная таблица методов защиты Защита Срываемые атаки Описание D-41 Снятие показателей с высоким уровнем деталировки А-41 Подделка отличительной биометрической черты С человека снимаются дополнительные биометрические показатели, так что простая копия биометрики не будет отражать все свойства лица D-42 Изменяемое поведение А-41 Подделка отличительной биометрической черты А-42 Воспроизведение поведения пользователя При каждой попытке аутентификации система требует от человека другого действия, так что просто запись и воспроизведение не будут приниматься D-43 Шифрование биометрических данных А-43 Перехват биометрических показателей Биометрические данные шифруются при передаче между различными устройствами D-44 Аутентификация биометрической “подписи" А-44 Воспроизведение биометрической “подписи” Меры аутентификации принимаются в отношении биометрических данных, чем гарантируется их поступление только из заслуживающего доверия источника 186 7.8. СВОДНЫЕ ТАБЛИЦЫ
ГЛАВА 8 Аутентификация по адресу Скажи мне, кто ты есть, да, ты, что безымянен. — Дж. Р.Р. Толкиен, Братство кольца В этой главе... Есть множество ситуаций, когда об аутентичности удаленной команды можно судить по тому, откуда она поступила, о чем говорит место ее происхождения или произвольный числовой адрес отправителя. Подобная аутентификация мо- жет принимать несколько форм: аутентификация в телефонной сети; аутентичность сетевого адреса, особенно в сети Internet; сетевые службы ОС UNIX, основанные на аутентификации по адресу; аутентификация сетевых сообщений по отправителю; аутентификация на основе местоположения устройства. 8.1. Кто или откуда В мире удаленных вычислений часто подразумевается, что аутентификация в конечном счете приводит к четкому учету. Хорошая система защиты традицион- но требовала, чтобы каждый пользователь компьютера имел уникальное имя, а пароли гарантировали, что такие имена редко использовались не по назначению. С другой стороны, некомпьютеризированные системы дистанционного управле- ния никогда не пытались аутентифицировать своих операторов, даже в доста- точно важных приложениях. В подобных системах главным является не то, кто отдает команды, а откуда они поступают. Например, неправильные дистанционные приказы, управляющие большим ко- раблем, могли бы привести как к потери жизней, так и к утрате собственности на сумму в десятки или сотни миллионов долларов. Однако вот уже более сотни лет машинные отделения кораблей управляются дистанционно отдаваемыми распоря- жениями без всякой аутентификации информации, поступающей с мостика кораб- ля в машинное отделение. Инженеры подчиняются дистанционным командам, по- тому что знают, где размещается вторая сторона телеграфа машинного отделения (капитанский мостик), и кому разрешено использовать его (вахтенному команди- ру, ведущему корабль). Более того, вахта на мостике контролирует физический доступ на мостик корабля, гарантируя тем самым, что по системе дистанционного управления передаются только достоверные распоряжения. В компьютерном мире тоже можно аутентифицировать сообщения по месту их происхождения. Как и в примере с капитанским мостиком корабля, в этом случае предполагается, что управляющее конкретным компьютером лицо и несет
ответственность за сообщения, в которых содержится адрес этого компьютера. Некоторые системы делают это автоматически благодаря встроенным механиз- мам увязки компьютера с тем, кто им пользуется. В крайнем случае на некото- рых рабочих площадках компьютеру присваивается сетевое имя, с которым увя- зывается имя или роль его пользователя. Но это приводит к возникновению другого вопроса: как установить место про- исхождения сообщения? Необходимо ли для этого иметь параметры физического местонахождения источника, например широту и долготу? Или достаточно иметь идентификатор, соответствующий конкретному вычислительному устройству вне зависимости от его местонахождения? Применение находят обе эти стратегии. Физическое месторасположение может аутентифицировать сообщения до тех пор, пока получатель уверен в физической безопасности этого места. Эффективная физическая защита запретит неавторизованным людям доступ к оборудованию, им смогут пользоваться только те, кому это разрешено. Чтобы сгенерировать поддель- ный трафик, взломщику придется сначала проникнуть в рабочую зону. Естественно, даже в малой степени мобильное оборудование не может аутен- тифицироваться по физическому месту своего нахождения. Свое “где” оно долж- но задавать на основе какого-нибудь другого свойства. Эти свойства подразделя- ются на три категории. 1. Произвольные адреса — владелец устанавливает для каждого устройства уникальный идентификатор и конфигурирует программное обеспечение устройства на использование этого идентификатора. Назначаемый компь- ютеру идентификатор может быть либо именем, либо адресом. Подобным образом назначаются адреса в сети Internet. 2. Аппаратно зашитые адреса — адрес встраивается в устройство владельца, или, как говорят, аппаратно зашивается. Подобный подход используется в большинстве современных локальных сетей. Каждый сетевой интерфейс имеет встроенный уникальный идентификатор, который по умолчанию используется в качестве его сетевого адреса. Поскольку адрес встроен в аппаратуру, то человек, который ее контролирует, имеет некоторый кон- троль и над используемым адресом. 3. Адреса, определяемые сетью — устройство идентифицируется сетевым ад- ресом, который принудительно устанавливается оператором сети. Обыч- ный конечный пользователь в такой сети не управляет адресами. Конеч- ные пользователи могут только принимать сообщения, направленные по такому назначенному адресу, и этот адрес автоматически привязывается к каждому исходящему сообщению. Примером может служить телефонная система, а также система адресации в первых компьютерных сетях, вклю- чая исходный вариант сети ARPANET. Для повышения аутентичности адрес может дополняться базовым секретом. Это особенно необходимо в первых двух случаях, так как здесь ответственными за управление адресами являются конечные пользователи. При правильном ис- пользовании с помощью базового секрета можно выявить и предотвратить влия- ние фиктивных адресов, генерируемых чужими по отношению к организации пользователями. 8.2. В качестве адресов —телефонные номера Телефонная система играет важную роль в организации компьютерных сетей, иногда она участвует и в процессе аутентификации. Если не принимать во вни- мание мобильные телефоны, то телефонный номер обычно подразумевает неко- 188 8.2. В КАЧЕСТВЕ АДРЕСОВ (ТЕЛЕФОННЫЕ НОМЕРА
торое физическое место, помещение клиента. Как отмечалось ранее, телефонные номера относятся к адресам, задаваемым сетью. Местная телефонная компания назначает каждому своему абоненту абсолютный адрес, основываясь на ведущей к абоненту локальной линии связи. Телефонный номер связывается с этой ло- кальной линией системой телефонного вызова (см. примечание 1). Компьютерные системы могут полагаться в аутентификации на телефонные номера, только если физическое помещение абонента защищено и оператор те- лефонной связи не был сбит с пути истинного. Но телефонная система и даже сами номера не всегда работают так, как ожидается. В первые дни появления модемов для телефонных линий владельцы не всегда беспокоились об аутентификации удаленного соединения. В конце концов соеди- нение работало только в том случае, если вызов шел от другого компьютера. Ес- ли у кого-нибудь имелось бы оборудование и мотивы для того, чтобы воспользо- ваться соединением, то как узнать о его возможности? В телефонном справочни- ке номера редко отмечаются как компьютерные, если вообще такие номера там приводятся. Так что телефонные номера во многом сходны с базовым секретом. Те, кому они известны, скорее всего имеют право на их использование. Естест- венно, иногда такая стратегия дает сбои, так как взломщик может узнать теле- фонный номер случайно или посредством социального инжиниринга. Но подобная стратегия защиты была разрушена раз и навсегда па- дением цен на компьютеры и модемы, а также непреодолимой стра- А-45 чР стью хакеров к проверке телефонных номеров. Результат был образно показан в фильме “Военные игры”. В ключевой схеме в начале фильма главный герой продемонстрировал на своем домашнем компьютере программу, которая об- наруживала подключенный к линии модем в заданном диапазоне телефонных но- меров, например, среди тех, что стоят в центральном офисе телефонной компании. Программа последовательно набирала номер за номером и регистрировала, какой из них откликался характерным тоновым сигналом модема. Затем герой набирал эти номера вручную и смотрел, что можно заставить сделать этот компьютер. По- сле выпуска фильма программы, которые выполняли поиск модемов, стали назы- вать боевыми номеронабирателями (wardialer) — см. примечание 2. Работа боевых номеронабирателей основана на ошибочном предположении жертв, что телефонные номера могут играть роль базового секрета. Но телефонные номера представляют собой слабый базовый секрет, поскольку в действительности они таковым не являются. Хотя телефонные компании и не распространяют пред- намеренно сведения о телефонных номерах, которые их владельцы хотели бы со- хранить в тайне, они обычно и не предпринимают специальных мер предосторож- ности для поддержания режима их секретности. Номера появляются в телефонных счетах, а часто и в телефонных справочниках. Кроме того, изменение телефонного номера является процедурой трудоемкой. Очевидная защита против боевых номе- ронабирателей — внедрение эффективной формы аутентификации. Идентификация по обратному звонку К сожалению, было не так легко ввести аутентификацию во все компьютерные программы, которые тогда в ней нуждались. В промежутке с 1960-х по 1980-е го- ды, когда вышел на экраны фильм “Военные игры”, появилось бессчетное количе- ство компьютерных систем, которые управлялись с относительно простых компь- ютерных терминалов. Хотя их клавиатуры и мониторы делали терминалы похо- жими на современные ПК, в действительности они способны были в основном отображать текст на экране и принимать его с клавиатуры. Настоящая работа вы- полнялась центральным компьютером, которым чаще всего являлся так называе- мый “миникомпьютер”, размером примерно с домашний холодильник. ГЛАВА 8. АУТЕНТИФИКАЦИЯ ПО АДРЕСУ 189
Разработчики миникомпьютерных систем предполагали, что заказчики будут подключать все терминалы непосредственно к компьютеру. Это позволяло им полагать, что аутентификация необязательна, так как клиенты имеют возмож- ность контролировать физический доступ к терминалам. Но цены на модемы упали, а стоимость обученных операторов терминалов выросла. Многие из заказ- чиков решили заменить жестко подключенные терминалы на модемы для уда- ленного доступа по коммутируемым каналам связи и не держать оператора для каждого компьютера. Поскольку многие системы не имели встроенной аутентификации, они стали готовыми мишенями для боевых номеронабирателей и других случайных взломщиков. Более того, коммерческое программное обеспечение подобного вида было очень дорогим. Как правило, владельцы систем не могли позволить себе платить за дорогостоящие изменения для ввода функции аутентификации, если изготовитель ее не предусмотрел. Вместо этого для обеспечения базового уровня аутентификации ¥ многие владельцы систем стали приобретать модемы с обратным & вызовом. Эти устройства принимали вызовы по телефонным каналам связи от других стандартных модемов, однако отличались тем, что не просто ус- танавливали соединение по входящему звонку, а разрывали вызов и пытались дозвониться до вызывающей стороны по заранее заданному телефонному номеру. Если входное соединение было законным, то звонящий должен был находиться на месте, чтобы ответить по телефону и установить соединение. Если же исход- ный звонок делался взломщиком, то соединение не устанавливалось, так как атакующая сторона не приняла бы обратный звонок. Хотя базовая модель модема с обратным вызовом соединялась только с одним предварительно установленным номером, более сложные изделия принимали звонки от любого количества определенных заранее пользователей. Модем за- прашивал у пользователя его имя и затем выполнял обратный звонок, основы- ваясь на указанном для этого пользователя телефонном номере. Хотя модемы с обратным вызовом проектировались для того, л чтобы противостоять атакам, не все производители поняли, насколь- А-46 W ко разнообразны могут быть атаки против компьютерных систем с установлением соединений по телефонной линии. Например, один производитель ввел в модем функцию, которая позволяла персоналу технической поддержки устанавливать соединение с модемом клиента и выполнять диагностику возник- ших проблем. Эта функция защищалась секретным паролем, который встраи- вался, буквально “вжигался” в устройство, в процессе изготовления. Таким образом, модем содержал черный ход непосредственно к защитным функциям, и покупатели не имели возможности этот черный ход закрыть. Если специалисту по обслуживанию, работающему на производителя модемов, сооб- щался пароль для конкретного изделия, то он мог подключиться к любому ком- пьютеру, защищаемому данным изделием и обойти защиту обратным вызовом. Так как модемы часто использовались в отсутствие других методов аутентифи- кации, черный ход мог обеспечить мгновенный доступ к компьютеру. Более то- го, любой взломщик, которому удалось разузнать зашитый в продукт пароль, мог аналогично проникнуть через такую защиту, используя обратный вызов. Хо- тя неизвестно, попадали ли пароли изделий в среду хакеров, защитные функции модемов были более чем бесполезны (см. примечание 3). 190 8.2. В КАЧЕСТВЕ АДРЕСОВ (ТЕЛЕФОННЫЕ НОМЕРА
Идентификация входного звонка: идентификационный номер вызывающей стороны Сегодня многими телефонными компаниями предоставляется услуга по опре- делению идентификационного номера вызывающей стороны (более точное, но менее распространенное название — идентификатор вызывающего номера (Call- ing Number ID, CNID), когда абоненту, принимающему звонок, оператор связи предоставляет информацию о телефонном номере звонящей стороны. Оператор передает эти данные на вызываемый телефон как часть сигнала вызова. При на- личии соответствующего оборудования вызываемый абонент может либо непо- средственно выводить входящий номер на дисплей, либо воспользоваться ин- формацией для поиска этого номера. Эта же технология может использоваться для аутентификации источника звонка при удаленном обращении к модему. Если компь- ютер запрещает соединения с неавторизованными телефонными но- D-46 В мерами, то такой подход может защитить от подключений тех, у ко- го нет на это права. Модем должен принимать информацию об идентификаторе вызывающей стороны и передавать ее программному обеспечению, которое управляет удаленным доступом по коммутируемым линиям связи. После этого информация об идентификаторе вызывающей стороны может быть использована для просмотра в базе данных принимаемых телефонных номеров. Ряд организаций используют подобный подход для доставки услуг на основе телефонного номера клиента. В своей сути подобные системы аутентифицируют пользователей на основе информации об идентификационном номере вызывающей стороны. Например, некоторые семьи могут заказывать себе в местной системе ка- бельного телевидения фильмы с оплатой по просмотру, просто набрав определен- ный телефонный номер. Кабельная система использует идентификатор вызываю- щей стороны для привязки входного звонка с конкретным домом и затем активи- рует соответствующий распределитель кабельного ТВ-сигнала, так что эта семья получает возможность просмотра фильма. Есть также компании, которые исполь- зуют идентификатор вызывающей стороны для автоматического перенаправления выходящего звонка, принимаемого на некоторый общий номер, таким образом, что ответ на него идет от ближайшего к телефону клиента магазина. Проблема с подобными системами состоит в том, что система на основе исполь- зования идентификатора вызывающей стороны не обладает 100-процентной на- дежностью. Многие системы позволяют звонящему при выполнении звонка блоки- ровать идентификатор, и это может оказывать влияние на надежность информа- ции. Возможно также, что блокировка идентификатора вызывающей стороны будет приводить в некоторых системах к генерации вызываемой стороне сообще- ний с неправильными номерами, а не сообщений “номер неизвестен”. Собственно говоря, например, Комиссией муниципальных организаций штата Орегон было предложено, чтобы для определенных, чувствительных в плане возможности опре- деления местоположения организаций типа приютов для подвергшихся физиче- скому насилию женщин вообще в качестве идентификатора вызывающей стороны генерировались случайным образом выбираемые номера (см. примечание 4). Точность работы идентификатора вызывающей стороны снижает- ся из-за наличия риска проникновения взломщиков в коммутацион- А-47 ^9 ное оборудование телефонной компании. Если взломщик проникает в телефонный коммутатор, то он может переключить линии, и звонок с одного телефона будет выглядеть так, словно он делается с другого. Проникновение может также дать побочные эффекты, которые будут приводить к неправильной идентификации телефонных звонков. ГЛАВА 8, АУТЕНТИФИКАЦИЯ ПО АДРЕСУ 191
Хотя операторы телефонной связи обычно прилагают значительные усилия, чтобы не допустить проникновений, они не обладают против них иммунитетом; таких взломщиков традиционно называют телефонными ворами (phone phreaks). В конце 1960-х годов военнослужащий ВВС США Джон Дрейпер (John Draper) придумал, как с помощью обыкновенной свистульки, сделанной из банки из-под овсяных хлопьев, делать бесплатные международные звонки через океан из сво- ей части, за что и получил свое известное прозвище “капитан Хруст”. Телефон- ная система не умела отличать законные сигналы управления, передаваемые между центрами международной связи, от поддельных сигналов, встроенных в активный телефонный звонок (см. примечание 5). В 1970-е годы система международной связи была усовершенствована, и сиг- налы управления вынесены из голосового канала, но это не остановило грамот- ных взломщиков и телефонных воров. В середине 1980-х Кевин Митник (Kevin Mitnick) собрал необходимую аппаратуру и разработал способ проникновения в телефонные системы коммутации. Это позволило ему контролировать и перена- правлять телефонные звонки, а также изменять соединения одних телефонных номеров с другими. После пребывания в тюрьме, выйдя на свободу, Митник по- вторил свои проникновения в телефонные системы в середине 1990-х годов, на этот раз использовав свои способности в мире сотовых телефонов. Один из жур- налистов заявлял, что Митник проникал в телефонные станции, чтобы следить за агентами ФБР, которые сами прослушивали телефоны, пытаясь его высле- дить. Хотя случай с Митником, возможно, наиболее показателен, он был не единственным человеком, обладавши мастерством и мотивами для проникнове- ния в телефонные станции (см. примечание 6). В то время как телефонные воры, в частности Джон Дрейпер, действовали в основном из любопытства, другие взломщики проникали в телефонную систему, чтобы зарабатывать на этом деньги. Как утверждали, Митник использовал свои способности, чтобы побеждать в проводимых радиостанциями телефонных играх (“Седьмой дозвонившийся получает 1000 долларов!”), зарабатывая довольно приличные деньги посредством взлома телефонных систем. Однако в конце 1999 года следователями была раскрыта группа, называвшая себя “Хозяева телефо- нов”, которая проникала в телефонную систему исключительно с целью зараба- тывания денег. Группа использовала свои возможности для сбора конфиденци- альной информации, которую они продавали всякому, кто был готов за нее за- платить. Они даже выставили прейскурант: 25 долларов за сведения о регистрации транспортного средства, 75 долларов за данные о кредите, 100 дол- ларов за отчет из компьютера ФБР и 500 долларов за информацию о знаменито- стях или важных людях (см. примечание 7). Несмотря на невысокую надежность, эксплуатация автоматизированных сис- тем, использующих идентификатор вызывающей стороны, связана с небольшим риском. Если идентификатор вызывающей стороны используется исключительно для перенаправления звонка, то фиктивная информация приводит к незначи- тельным убыткам. Например, риск обмана приложения для оформления заказов на платный просмотр фильмов невысок, так как информация об идентификаторе вызывающей стороны используется как для выписки счетов получателям, так и для передачи фильма в место его нахождения. Предоставляя посредством иден- тификатора вызывающей стороны телефонный номер другого клиента, взлом- щик ничего, кроме досады не получит, поскольку у него нет возможности дать один номер в качестве пункта назначения передачи фильма, а другой — для оформления счета. Однако имитация идентификаторов может дать взломщикам и значительные доходы, если используется для аутентификации домашнего бан- ковского приложения. 192 8.2. В КАЧЕСТВЕ АДРЕСОВ (ТЕЛЕФОННЫЕ НОМЕРА
83. Сетевые адреса Самые первые компьютерные тети были делом сугубо частным и разрабаты- вались отдельными организациями .иля иоддер.жки собственной системы. Неко- торые считают, что первой настоящей компьютерной сетью была полуавтомати- ческая наземная среда (Semi-Autoimitic. Ground Environment, SAGE), разработан- ная ВВС США в 195()-.s годах для управления континентальной противовоздушной обороной. В SAGE для пересылки цифровых данных по теле- фонным соединениям нсполь 'К-за.’1 ц-?ь и самые первые схемы модуляции- демодуляции, которые стали модемами, используемыми теперь пользователями компьютеров (см. примечание 8). Главной особенностью самых первых сетей было то, что владелец системы контролировал цифровую сеть ч обмечивающиеся данными компьютеры. Это де- лало владельца ответственным за назначение сетевых адресов. Первые сети при организации соединений целиком полагались на специальную аппаратуру, так что сетевые адреса часто встраивались непосредственно в электронные схемы. Сетевой адрес устройства часто уст€«навливался с помощью проводников на пе- чатной плате, называемых перемычками. Технический специалист мог задать конкретный адрес путем удаления пли впаивания перемычек, которые и форми- ровали нужную картину двоичных значений. В такой среде фиктивные сетевые адреса были редкостью, так как взломщику для организации подобной атаки нужен был паяльник л доступ к соответствующему аппаратному обеспечению. Адресация в сети ARPANET ARPANET была перкой компьютерной сетью, управляемой независимым опе- ратором — компанией BMt. Beranek и Newman (BBN). которая управляла сетью от имени Министерств; рбороны США. Сеть предогтавляиа услуги несекретной связи между компьютерами общею назначения, ее механизмы электронной поч- ты, режима удаленного терминала и пересылки файлов сегодня используются в Internet. В сеть ARPANET входили маршрутизаторы, называемыми тогда ин- терфейсными процессорами сообщений 11 и Leri асе Message Processors, IMS). Ком- пьютеры подключались к IMS с помощью специально спроектированного интер- фейса хост- маши н si. В сети ARPANET не было проблемы поддс ши адресов, поскольку сеть сама назначала адреса хост-машинам и определяла привила их интерпретации. Адрес хост-машины состоял из серийного номера ее IMP, объединенного с номером порта, подключенного к этой хост-машине. Принимаемые от хост-машины дан- ные автоматически снабжались меткой, представлявшей собой уникальный адрес этой хост-машины, тем самым сУюепечгчалось подобие с идентификатором вы- зывающей стороны. Данные, адресованные порту хост-машины IMP, всегда по- ступали в хост-машину, подключенную к этому порту. Подобная организация делала подделку адресов практически невозможной. Взломщик, пытаясь физи- чески модифицировать конфигурацию IMP, мог вызвать нарушение функциони- рования сети ARPANET, но это предотвращалось средствами физической защи- ты. IMP размещались в физически защищенных машинных залах, принадлежа- щих клиентам ARPANET: военным базам, крупным университетам и подрядчикам Министерства обороны Кроме того, IMP устанавливались в специ- альные затрудняющие проникновение стойки (ем. примечание 9). После ARPANET задаваемые сетью адреса стали особенностью многих гло- бальных сетей. Для реализации ARPAxNET-лодобной услуги связи между ком- пьютерами общего назначения несколькими производителями, а именно нацио- нальными телефонными компаниями в ряде европейских стран, использовался ГЛАВА 8. АУТЕНТИФИКАЦИЯ ПО АЛ’Т.С У 193
протокол Х.25, предложенный Международным консультативным комитетом по телефонии и телеграфии (International Telephone and Telegraph Consultative Committee, CCITT). В этом протоколе использовались адреса переменной длины, которые назначались и управлялись сетью. Назначаемые сетью адреса использу- ются и в более современной сетевой связи с передачей в асинхронном режиме (Asynchronous Transfer Mode, ATM), обеспечиваемой телефонными компаниями. Вероятно, не случайно, подобные службы были разработаны телефонными ком- паниями и основаны на традиции, установленной процедурой назначения теле- фонных номеров (см. примечание 10). Если посмотреть на стандарт 802 по организации локальных сетей, который был опубликован Институтом инженеров по электронике и электротехнике (Institute for Electrical and Electronics Engineers, IEEE), то тут можно увидеть другой пример назначения сетевых адресов. Следуя традиции, установленной в исходных сетях Ethernet, интерфейсы в локальных сетях, выполненных в соот- ветствии со стандартом 802, как правило, обеспечивают наличие адреса по умол- чанию, который гарантировано является уникальным для всех когда-либо изго- товленных стандартных сетевых интерфейсов. Это гарантирует, что любой ин- терфейс может быть подключен к любой совместимой локальной сети и никогда не будет повторения адреса. Типовой адрес имеет длину 48 бит и делится на две части: 24-разрядный номер, назначаемый изготовителю интерфейса, и 24- разрядный номер, присваиваемый изготовителем конкретному интерфейсу. Этот адрес является уникальным во всем множестве адресов сетей IEEE 802, если, конечно, изготовители внимательны и присваивают каждый адрес только один раз. Однако многие клиенты нашли целесообразным присваивать интерфейсам локальных сетей собственные номера, так что многие интерфейсы позволяют владельцам изменять их адреса (см. примечание 11). Адреса в протоколах сети Internet Роль сетевых адресов, подобных тем, что обрабатываются сетевыми интер- фейсами в локальных сетях или принудительно вводятся глобальными сетями, весьма ограничена в современной сети Internet. Магия Internet основана на идее присвоения каждому компьютеру отдельного сетевого адреса, который не привя- зан к конкретному сетевому оборудованию, как, например, IMP или плате сете- вого интерфейса для локальной сети. Лежащий ниже физический сетевой адрес обеспечивает перемещение данных от одной хост-машины к другой в пределах конкретной сети. Для перемещения данных на более длинные расстояния ис- пользуются адреса сети Internet, которые могут проходить через сети различных типов и обеспечивать доставку данных до физической сети, к которой подклю- чена хост-машина — конечный получатель. Когда данные поступают на маршрутизатор между двумя сетями для их пере- сылки через сеть используется физический адрес. Маршрутизатор выбирает из Internet-адреса получателя данных физический адрес, который приблизит дан- ные к этому Internet-адресу. Подобный процесс маршрутизации повторяется до тех пор, пока данные не достигнут сети, в которой стоит хост-машина — полу- чатель. После этого данные посылаются по сети непосредственно получателю. В отличие от других сетевых адресов, которые рассматривались ранее, адреса в сети Internet являются программными и не связаны с физическими устройст- вами или приставками. Провайдерам Internet-сервиса и другим организациям, которые владеют хост-узлами сети Internet, Управлением назначения адресов в Internet (Internet Addressing and Numbering Authority, IANA) выделяется диа- пазон адресов. Организации назначают адреса отдельным хост-машинам из вы- деленного им диапазона адресов. Числовой адрес в сети Internet может указы- 194 8.3. СЕТЕВЫЕ АДРЕСА
вать на провайдера Internet-сервиса или другую организацию, обслуживающую хост-машину, но в нем не содержится информация относительно физического места нахождения хост-машины. Физически хост может находиться где угодно: в цен тральном или локальном офисе организации или даже дома у сотрудника (см. примечание 12). Современное сетевое программное обеспечение вообще и программное обеспече- ние для Internet в частности обычно разрабатывается и продается “уровнями”, как показано на рис 8.1. Самым верхним уровнем является прикладное программное обеспечение, например Web-броузер, клиент базы данных или сервер. На нижнем уровне находится драйвер устройства, используемый операционной системой хост- машины для обхмена данными с интерфейсной аппаратурой, например с сетевой картой. На среднем уровне находится набор протоколов, которые выполняют все стандартные сетевые функции, неизменные для различных приложений или раз- личной сетевой аппаратуры. Например, этот набор протоколов принимает поток данных от приложения, разбивает его на последовательность пакетов и передает их до хост-машины — получателя, где они собираются. Программное обеспечение группы протоколов Internet также преобразует Internet-адреса в физические сете- вые адреса до передачи сообщения драйверу сетевого устройства. Набор протоколов определяет назначенный хост-машине адрес в сети Internet одним из нескольких способов: он может вводиться в поле данных, хранящееся в хост-машине, определяться с помощью протокола обнаружения или динамически назначаться хост-машине протоколом назначения адресов. Хотя Internet-адрес должен быть уникальным во всей глобальной сети Internet, существует ряд меха- низмов для коллективного использования адресов. Например, компьютерный центр может использовать адреса, входящие в специальный диапазон локальных адресов пока весь трафик ограничен пределами этого компьютерного центра; внешний трафик должен обеспечиваться брандмауэром или маршрутизатором, ко- торые для организации взаимодействия с хост-машинами по глобальной сети Internet выполняют динамическую трансляцию адресов (см. примечание 13). 8.4. Атаки на адреса сети Internet Поскольку Internet-адреса задаются полностью программным обес- печением набора протоколов, обмануть программное обеспечение хост- А-48 машины п заставить его использовать неправильный адрес достаточно просто. Каждое сообщение в сети Internet содержит два числовых адреса: отправи- Рис. 8.1. Сетевое программное обеспечение включает в себя три составляющие. Приклад- ное программное обеспечение предоставляет сетевые услуги пользователю. Набор прото- колов предоставляет стандартный комплект сетевых услуг прикладному программному обеспечению через интерфейс сокета. Одновременно посредством стандартного интерфейса набор, протоколов использует драйверы устройств для взаимодействия с сетевыми интер- фейсами и стоящей за ними сетевой аппаратурой. ГЛАВА 8. АУТЕН1ИФИКАЦИЯ ПО АДРЕСУ 195
теля и получателя. Если атакующая сторона хочет послать по сети Internet сооб- щение, как бы посланное из другого места, то она может сконструировать его так, чтобы оно содержало желаемый адрес отправителя. В некоторых системах это все- го лишь вопрос изменения Internet-адреса хост-машины в конфигурационной ин- формации набора протоколов. Другой подход состоит в написании специального программного обеспечения для построения Internet-сообщений и передаче таких поддельных сообщений непосредственно драйверу сетевого устройства полностью в обход набора протоколов. Подобное подделывание адресов может служить различ- ным целям. Позднее будет рассмотрена роль подделки в атаках отказа в обслужи- вании; в разделе 8.6 описывается пример подделки адресов с привлечением сете- вой файловой службы (Network File Service). Хотя базовое программное обеспечение для сети Internet не имеет механизмов выявления таких подделок, все же есть механизмы которые затрудняют их ис- пользование. Во-первых, Internet спроектирована в предположении, что в сети нет двух хост-машин с одинаковыми Internet-адресами. Если две хост-машины все же имеют одинаковые адреса, то процедуры маршрутизации в сети Internet не всегда правильно работают при попытке доставить сообщение по такому адре- су. Проблема состоит в том. что одна часть сети будет доставлять сообщение од- ной из хост-машин, в то время как другая — другой хост-машине. Хотя в дейст- вительности это не совсем защита от подделки адреса, но может сделать резуль- таты достаточно непредсказуемыми, чтобы удержать от некоторых атак. Эта непредсказуемость в поведении работает совместно со второй W мерой защиты, а именно: протоколом синхронизации, используемым для установления соединения по протоколу управления передачей (Transmission Control Protocol, TCP) в сети Internet. Этот протокол используется для установления надежного соединения между двумя хост-машинами и после- дующего обмена данными. Протокол TCP поддерживает большую часть важного трафика в сети Internet, включая электронную почту, Web-соединения и пере- сылку файлов. Протокол синхронизации сильно затрудняет для взломщика по- сылку данных с фиктивным адресом отправителя в одну из этих служб (см. примечание 14). При установлении TCP-соединения хост-машина — отправитель и хост- машина — получатель участвуют в трехэтапном квитировании. Это гарантирует, что обе хост-машины могут посылать и принимать информацию друг от друга. Если взломщик инициирует соединение, но использует фиктивный адрес отпра- вителя, то соединение установлено не будет. Получатель будет передавать ответ квитирования на адрес отправки, который сеть Internet направит по маршруту в указанный адрес происхождения, а не на хост-машину взломщика. Если эта хост-машина существует, то она отвергнет ответ квитирования, поскольку он не будут соответствовать какому-либо соединению, которое та пыталась установить. Если такой хост-машины нет, то ответ квитирования в конечном итоге будет от- вергнут самой сетью. В любом случае хост-машина-получатель не установит со- единения и не будет получать соответствующие данные. Эти функции в действительности не проектировались в качестве механизмов борьбы с подделками. Собственно, они были разработаны для того, чтобы Inter- net правильно реагировала на неожиданные ошибки и изменения при установле- нии соединения. Хотя данные функции и препятствуют некоторым простым атакам, они все же не предотвращают все атаки, в которых используются фик- тивные адреса. 196 8.4. АТАКИ НА АДРЕСА СЕТИ INTERNET
4. Кэтти тернет связь с. сервером 5 lf.-нри похищает ;Р-адрос и соединение Кэтти Рис. 8.2 Кража IP-адреса типи 'челм"'к посереди не". Кэтти подключается к своему серве- ру, но взломщик контролирует часть маршрута в сети, по которому должны проходить ее сообщения. Взломщик наблюдает за соединениями и имеет 1'озмозкность “вскочить” в се активное соединение. В момент готовности нзломщик разрешает лилию сети, соединяю- щей Кэтти с сервером и изменяет свой адрес так, чтобы он совпадал с ее адресом. Сеть, включая сервер Кэтти, теперь рассматривает компьютер взломщика в качестве настояще- го компьютера Кэпи. Кража IP-адреса Хотя механизмы обработки соединений в сети Internet позволяют противо- стоять некоторым простейшим подходам, основанным на подделке адресов, они не могут пометать полному перехвату IP-адреса одной хост-машины другой. Если все сделать правильно, то одна хост-машина может выдать себя за другую и переключить на себя весь трафик, предназначенный для данного IP-адреса. Однако работающие в Internet протоколы позг-оляют выполнить и такой трюк. Атакующая сторона может, например, просто переменить IP-адрес, ис- пользуемый набором протоколов w:i хост-машине, и действовать так, словно но- вый адрес является законным адресом, хотя на самом деле он принадлежит дру- гой хост-машине. Например, взломщик по имени Генри гложет сконфигурировать » свой компьютер так, чтобы он имел тот же 1Г-адрес, что и компью- А-49 9 тер системного адмишь тратора какого-нибудь работающего через Internet банковского концерна. Если Генри изменит IP-адрес своего компьютера и затем попытается установить TCP соединение с одним из серверов банка, то скорее всего Internet не сможет передать ответ квитирования на машину Генри. Стоящим между Генри и серверами маршрутизаторам еще не известно, что Internet-адрес Генри изменился. .Поэтому они либо не смогут смаршрутизировать данные на его украденный адрес, либо будут маршрутизировать их на принад- лежащую банку машину, которая использует этот адрес. В любом случае Генри не сможет надежно посылать данные серверу, так как сервер не будет иметь возможности запершить трехэтапное квитирование. ГЛАВА 8 А У Н Г ИГГИКАЦИЯ ПС АДРЕСУ 197
Если Генри продолжает настаивать, то стоящие в Internet маршрутизаторы могут в конце концов обновить свои таблицы и начать рассматривать его маши- ну в качестве законного владельца IP-адреса хост-машины администратора. В этот момент весь трафик, адресованный административному компьютеру будет доставляться Генри. Все это может происходить достаточно незаметно, если за- конный владелец украденного адреса (машина администратора) не генерирует никакого трафика, когда Генри играет в этот маскарад. Конечно, хаос гаранти- рован, если машина администратора “проснется” и начнет слать трафик. Генри может совершить еще более элегантную кражу адреса, воспользовав- шись атакой типа человек посередине (man in the middle, MIM). Смысл этой ата- ки проиллюстрирован на рис. 8.2. Генри устраивается в сети между жертвой и сервером жертвы таким образом, чтобы весь трафик жертвы проходил через эту часть сети. В данном примере предполагается, что Кэтти является администра- тором в банке, и ее хост-машина известна серверам банка как административ- ный компьютер. Генри начинает мониторинг трафика Кэтти и собирает информа- цию, которая может ему понадобиться, чтобы взять под контроль А-50 W существующие соединения Кэтти. Например, если Кэтти использует удаленные Telnet-подключения терминала, то Генри, чтобы иметь возможность продолжить использование соединения, должен отслеживать номера ТСР- последовательностей. После того как у Генри оказывыается нужная информа- ция, он разрывает сетевую связь, ведущую к машине Кэтти и одновременно объ- являет в сети, что это его компьютер владеет IP-адресом Кэтти. По сути Генри сращивает TCP-соединения и затем переключает их на свою машину. Атаки по- добного типа называются TCP сращиванием. После завершения процедуры вся сеть будет считать компьютер Генри настоящей машиной Кэтти, в том числе и сервер банка (см. примечание 15). TCP-сращивание представляет собой пример более общей угрозы похищения со- единений. Если Генри может похитить соединение Кэтти, то ему совсем не нужно красть ее пароль: он просто поджидает, пока она входит в систему и затем крадет само аутентифицированное соединение. Как описывалось в разделе 8.2, подобные вещи уже проделывались взломщиками с телефонными соединениями. Хотя TCP-сращивание требует точной синхронизации и сложного мониторин- га, такие средства имеются, в частности IP-Watcher. Подобные атаки вполне реализуемы, хотя требуют опытности и большой работы по планированию и ко- ординации. Идеальный случай — проникновение Генри к провайдеру Internet- сервиса Кэтти, так что все посылаемые ею сообщения могут им перехватываться. Однако даже это не всегда самый важный этап. Протоколы маршрутизации в Internet дают Генри множество возможностей относительно того, что может со- ставлять “середину” соединения Кэтти; во всяком случае Генри не привязан к какому-либо конкретному географическому месту. Если компьютер, с помощью которого выполняется атака, представляет собой маршрутизатор на единствен- ном пути к машине Кэтти, то Генри даже не надо изменять его Internet-адрес (см. примечание 16). Атаки с организацией отказа в обслуживании Взломщики находят способ использовать фиктивные Internet-адреса, даже не совершая кражи законного адреса хост-машины. Сегодня, возможно, самым по- пулярным использованием фиктивных адресов являются атаки с организацией отказа в обслуживании (denial of service, DOS). Атака с организацией отказа в обслуживании не предусматривает кражу или модификацию информации; она просто пытается вывести из строя стоящую в сети Internet хост-машину. Такие 198 8.4. АТАКИ НА АДРЕСА СЕТИ INTERNET
атаки не приносят прямой выгоды атакующей стороне, и большинство из них являются не чем иным, как вандализмом. К сожалению, некоторые относитель- но простые атаки с организацией отказа в обслуживании могут заблокировать работу почти любого сервера в Internet. Учитывая, что загруженные коммерче- ские Internet-сереверы могут приносить доход в сотни тысяч долларов в час, ус- пешные атаки с организацией отказа в обслуживании, оставаясь “всего лишь вандализмом”, приводят к серьезным финансовым потерям. Одна из атак, которая появилась в конце 1990-х годов, получила название SYN-лавины, так как в ее основе лежало использование А-51 ^9 пакетов синхронизации, или SYN-пакетов, которые открывают ТСР- соединение. Атакующая хост-машина генерирует тысячи отдельных сообщений, каждое из которых пытается начать грехэтапное квитирование по протоколу TCP. Каждое сообщение содержит другой фиктивный адрес отправителя, так что каждое как бы собирается открыть отдельное соединение. Хост-машина — жерт- ва, естественно, пытается сгенерировать соответствующий TCP-ответ и посылает его на каждый фиктивный адрес. Если ответ на фальшивый запрос действитель- но попадает на какую-нибудь хост-машину, то скорее всего он будет проигнори- рован, так как этот компьютер не делал попытки открыть соединение. Другие же ответы просто пропадут в сети, поскольку они ссылаются на несуществующие хост-машины (см. примечание 17). Тем временем хост-машина — жертва держит эти полуоткрытые соединения, ожидая ответа, который никогда не придет. Одновременно атакующая машина продолжает слать новые и новые фиктивные пакеты, запрашивая все новые и новые соединения. Многие хост-машины, даже те, что используются крупными компаниями электронного бизнеса, не могут справиться с десятками и даже сот- нями тысяч полуоткрытых соединений. В конечном итоге эти полуоткрытые со- единения расходуют все ресурсы хоста по соединениям, и последующие запросы на установление соединений от законных клиентов будут отбрасываться. Хорошей защитой от подобных атак было улучшение способа об- Ж работки набором протоколов полуоткрытых соединений, в частности .. 'ИЯ <- м lj-4o пересмотр работы в тех ситуациях, когда таких соединении очень мвого. Было предложено и реализовано несколько методов, и результаты оказа- лись достаточно успешными. Одна стратегия заключалась в ведении списка по- луоткрытых соединений в порядке поступления запросов и отбрасывании более старых при поступлении новых запросов. Хотя при возникновении лавины это могло приводить к отказу в установлении соединения для законных запросов, все же чаще подобный подход позволял устанавливать законные соединения да- же во время массового поступления запросов. Более серьезной атакой с организацией отказа в обслуживании л- является ее распределенный вариант. Подобные атаки выполняются А-52 V с помощью специального программного обеспечения, которое ата- кующая сторона должна установить на большом количестве хост-машин и затем дистанционно инициировать. Таким образом, нападающий должен сначала ата- ковать и перестроить большое количество компьютеров в сети, а затем использо- вать эти компьютеры в качестве платформы для распределенной атаки с органи- зацией отказа в обслуживании на выбранную реальную мишень. Массированная атака может быть связана с вовлечением десятков или даже сотен компьютеров. Чтобы реализовать нападение, атакующая сторона посылает каждому перена- строенному компьютеру сообщение с указанием начать распределенную атаку. После этого каждая такая машина посылает выбранному в качестве мишени компьютеру лавину данных (см. примечание 18). В 1999 году появилось несколько типов программного обеспечения для вы- полнения распределенных атак с организацией отказа в обслуживании: Трино Г < 1АВА 8. АУI ЕНТИФИКАЦИЯ ПО АДРЕСУ 1 99
(Trinoo), сеть с наследственным затоплением (Tribal Flood Network, TFN) и Stacheldraht (в переводе с немецкого “колючая проволока”). Позднее в этому го- ду несколько серверов в Internet подверглись такой распределенной атаке, что побудило в ноябре 1999 года CERT профинансировать конференцию по этой про- блеме. Результатом конференции стало заявление с предупреждением о возмож- ности распределенных атак с организацией отказов в обслуживании и рекомен- дации по снижению угрозы. Однако эти предупреждения не предотвратили не- сколько атак на широко известные серверы сети Internet в феврале 2000 года. В число этих серверов попали Internet-портал Yahoo, аукционный сервер eBay и сервер розничной торговли Amazon.com. Во время этой трехдневной атаки толь- ко одна компания Amazon имела убытки в объеме 244 000 долларов США в час (см. примечание 19). Заблокировать подобную атаку после ее начала невозможно. > Можно только выявлять перенастроенные компьютеры и выключать jg *3 их. К сожалению, это усложняется тем, что трафик атаки содержит фиктивные адреса отправителей. Кроме того, просмотр перенастроенных компь- ютеров, реально выполняющих атаку, вовсе не обязательно приведет к обнару- жению настоящего организатора атаки. Единственной общей защитой против подобных атак является практикование серверной “гигиены”. Другими словами, если работающий в сети Internet сервер обеспечивает невозможность отсылки в сеть фиктивных адресов, то такой сервер становится негостеприимным для про- граммного обеспечения, выполняющего распределенную атаку с организацией отказа в обслуживании. 8.5. Эффективная аутентификация отправителя Обшей защитой против подделок адресов является использование криптогра- фической защиты данных, передаваемых по сетям не заслуживающих доверия операторов. Такую защиту могут обеспечить соответствующие прикладные про- граммы, например используемый Web-броузерами протокол SSL (см. главу 13). В разделе 8.6 мы увидим, как приложения могут использовать общие службы шифрования для защиты вызовов удаленных процедур. Общий механизм аутен- тификации отправителя, который может использоваться для любых Internet- сообщений, обеспечивает защищенный IP-протокол (IP Security Protocol, IPSEC) (см. примечание 20). Основная идея стратегии аутентификации отправителя сообщения W проиллюстрирована на рис. 8.3. Предполагается, что каждый источ- р ник, будь то хост-машина, конкретный процесс в компьютере или какое-либо другое устройство имеет уникальное имя (“Идентификатор отправи- теля”), которое включается в передаваемые им сообщения. Также предполагает- ся. что имеется базовый секрет, связанный с источником. Всякий раз, когда от- правитель хочет послать сообщение, он поставляет на вход функции односторон- него хеширования текст этого сообщения вместе со своим идентификатором и базовым секретом. Затем результат хеширования добавляется к пересылаемому сообщению. На принимающей стороне получатель сообщения повторяет вычисление и сравнивает результирующий хеш сообщения с тем, что был включен в состав со- общения. Если взломщик модифицировал данные сообщения, то хеш сообщения не будет совпадать с хешем, вычисленным получателем. А у взломщика нет воз- можности заменить хеш сообщения правильным вариантом, если, конечно, в его распоряжении нет копии базового секрета. Таким образом, взломщик не может подделать сообщение, так как оно не пройдет аутентификационную проверку. 200 8.5. ЭФФЕКТИВНАЯ АУТЕНТИФИКАЦИЯ ОТПРАВИТЕЛЯ
Идентификатор отравителя Посылаемые данные \ \ Хэшированное сообщение Рис. 8.3. Использование криптографии для аутентификации отправителя сообщения. К содержимому сообщения добавляется секретный ключ и вычисляется одностороннее хе- шированное значение. Для безопасной отсылки сообщения данные сообщения передаются вместе с идентификатором отправителя и вычисленным хешированным значением. Полу- чатель, используя соответствующий секретный ключ, повторно вычисляет хеш сообщения и проверяет его корректность. Если взломщик подделал или модифицировал сообщения, то хешированные значения не совпадут. Процесс аутентификации сообщения содержит две важные и в некоторой сте- пени отдельные составляющие: одностороннее хеширование и конструкцию хе- ширования. Одностороннее хеширование представляет собой функцию того же типа, что используется для хеширования паролей (см. раздел 2.4). В современ- ных протоколах для выполнения одностороннего хеширования часто использует- ся либо алгоритм Message Digest #5 (MD5), либо последняя версия алгоритма Secure Hash Algorithm (SHA) — см. примечание 21. Функции хеширования применяются в отношении определенной конструк- ции, которая объединяет базовый секрет с защищаемыми данными, и затем оп- ределенным образом вычисляют хешированное значение. Простейшая конструк- ция проиллюстрирована на рис. 8.3'. базовый секрет просто добавляется к защи- щаемым данным, после чего выполняется хеширование результирующего потока данных. В начальной версии протокола IPSEC использовалась более сложная конструкция, когда копия базового секрета добавлялась как к началу, так и к концу защищаемых данных, и после этого результат хешировался. Однако сей- час рекомендуется использовать конструкцию кода аутентификации хеширован- ных сообщений (Hashed Message Authentication Code, IIMAC), которая преду- сматривает многократное хеширование различных компоновок данных и базово- го секрета. Специалисты предпочитают НМАС, поскольку из всех конструкций она наименее чувствительна к потенциальным слабостям используемой функции хеширования (см. примечание 22). Кроме этих конструкций существует также код аутентификации сообщений (МАС), который предусматривает использование для генерации хешированного результата алгоритма блочного шифрования, подобного алгоритму DES. Эта идея была положена в основу стандарта ANSI Х9.9, который использовался для за- щиты банковских сообщений от подделок и модификаций (см. раздел 10.1). Криптографами была предложена альтернатива комбинации DES МАС в виде нового алгоритма ASE, но, по крайней мере на момент написания этой книги, Национальный институт стандартов и технологий США (NIST) еще не стандар- тизовал его. ГЛАВА 8. АУТЕНТИФИКАЦИЯ ПО АДРЕСУ 201
8.6. Аутентификация в локальных UNIX-сетях UNIX-системы имеют ряд ориентированных на сеть механизмов однократной регистрации, которые в значительной степени основаны на аутентификации Internet-адресов. Эти механизмы, разработанные в 1980-е годы, позволяют хост- машинам в UNIX-сетях коллективно пользоваться ресурсами. Работавшие под управлением ОС UNIX рабочие станции использовали UNIX-серверы для хране- ния файлов общего пользования и получения общесетевых услуг, как то вывод на печать и электронная почта. С целью облегчения реализации подобного под- хода разработчиками ОС UNIX были созданы три сетевых службы. “г”-команды — варианты команд login, shell и сору, которые могли вводиться на одной машине, а выполняться на другой. в Сетевая файловая служба (Network File Service, NFS) — протокол, осно- ванный на протоколе удаленных вызовов процедур (Remote Procedure Call, RPC), который позволял рабочим станциям работать о файлами, храня- щимися на сервере так, словно они находятся на локальном диске самой рабочей станции. Дополняющие протоколы позволяли рабочим станциям с помощью службы NFS выполнять все файловые операции, не привлекая локальный дисковый накопитель, что позволяло иметь бездисковые рабо- чие станции. Сетевая информационная служба (Network Information Service. NIS) — еще один протокол на основе RPC, который позволял рабочим станциям в пределах одной рабочей площадки коллективно пользоваться аутентифи- кационной информацией пользователя, данными о конфигурации серверов и другими административными файлами. Все эти службы основаны на жестком требовании к уровню довепительпости компьютеров, которые запрашивают или предоставляют услуги. Они также предполагают, что лежащая в основе сеть относительно безопасна в плане под- делки Internet-адресов. Другими словами, службы предполагают, что компьюте- ры и объединяющая их сеть находятся в среде с внутренним паролем, которая была описана в разделе 6.2. “г”-команды “г”-команды были разработаны как часть версии ОС UNI'X, сделанной в Беркли. Они представляют собой базовые команды, которые работают между до- веряющими друг другу компьютерами. Команда rlogin позволяет пользовате- лям одного заслуживающего доверия компьютера войти в другой заслу'киваю- щий доверия компьютер без ввода пароля. Команда rsh позволяет пользовате- лям заслуживающего доверия компьютера выполнить одиночную команду на другом таком компьютере опять же без ввода пароля. “г”-команды вовсе не игнорируют концепцию аутентификации. Скорее они представляют собой попытку воспользоваться тем фактом, что человек уже про- шел процедуру регистрации в системе. После того как Джон Дое войдет в систе- му, его UNIX-станция, учитывая этот факт, разрешит ему войти в соседнюю хост-машину, если оба эти компьютера находятся в доверительных отношениях. Рассмотрим локальную сеть с несколькими рабочими станциями, одна из кото- рых, с именем bat, и двумя серверами — fox и hen. Пусть Джон Дое зарегистриро- вался в рабочей станции bat. Два сервера сконфигурированы так, что в некоторой степени доверяют всем рабочим станциям, и это позволяет Джону использовать с ними команды rlogin и rsh. Подобный уровень доверия устанавливается содер- 202 8.6. АУТЕНТИФИКАЦИЯ В ЛОКАЛЬНЫХ UNIX-СЕ ГЯХ
I жанием конфигурационных файлов. Оба сервера имеют файл /etc/'hosts. equi.v, и эти файлы содержат записи для каждой рабочей станции, находящейся в ло- кальной сети. Это позволяет пользователям выполнять с этих рабочих станций на icepeepax команды rsh или rlogin, если имя зарегистрировавшегося пользователя совпадает с именем авторизованного на этом сервере пользователя. Например, Джон Дое вошел в рабочую станцию bat под именем jdoe. Он вы- полняет на сервере fox команду rlogin. Серверное программное обеспечение на сервере fox, отвечающее за выполнение команды rlogin, сначала проверяет свой файл hosts, equiv, чтобы удостовериться, что рабочей станции bat можно доверять. Поскольку это так, то сервер fox просматривает свой файл паролей, пытаясь найти запись для пользователя jdoe. Так как такая запись существует, сервер fox принимает команду rlogin и автоматически разрешает вход в систе- му пользователю jdoe, не спрашивая у него пароль. Позднее, после того, как Джон вышел из системы, на рабочей станции bat под именем tdore регистриру- ется Тим Доре и тоже пытается выполнить на сервере fox команду rlogin. Од- нако в файле паролей сервера fox нет записи для имени пользователя tdore, по- этому ему отказано в попытке выполнить команду rlogin. Эти команды также просматривают в корневой директории пользователя файл с именем .rhosts. Если пользователь с этим именем попытается выпол- нить команду rsh или rlogin с хост-машины, которая присутствует в списке .rhosts, то ее выполнение разрешается. Это позволяет отдельным пользовате- лям устанавливать доверительные отношения с другими компьютерами, на ко- торых у них имеется учетная запись. Удобство работы команд rsh и rlogin основано на полном доверии в защи- щенность компьютеров локальной сети. Но это также их основное слабое место. Если взломщик проникает в компьютер, которому сеть доверяет, то команды rsh и rlogin позволят выполнить атаку на все компьютеры е тем же уровнем доверия. Это является неизбежным риском, стоящим за доверием подобного ти- па. При установлении доверительных отношений команды полагаются на два типа информации: аутентичность физического местонахождения — имена хост-машин и ад- реса точны и правильно отображаются одни на другие; аутентичность сообщений — сообщения с командами rlogin или rsh со- держат имя именно того пользователя, который зарегистрировался в па- дежной с точки зрения сети UNIX-станции. Если атакующая сторона сможет сгенерировать сообщения, которые будут со- держать правдоподобную информацию об адресе хост-машины, то сервер будет предполагать, что информация внутри сообщения правильная. Теоретически, взломщик может перехватывать rsh-сообщения между двумя доверяющими друг другу хост-машинами и модифицировать их содержимое таким образом, что по- лучатель будет выполнять любую команду, какую укажет взломщик. О таких атаках пока не сообщалось, но они теоретически возможны при условии, что взломщик находится во внутренней сети и способен перехватывать трафик. Хо- тя, если взломщик уже во внутренней сети, то значительно легче воспользовать- ся отношениями доверительности или даже физическим доступом, чем иерехва- , тывать и модифицировать транзитные сообщения. Однако взломщики разработали технику подделки адреса отпра- вителя в Internet-пакете с целью обмана серверного программного Д-53 9 обеспечения по выполнению команды rsh. Такая техника получила название IP-имитации (IP spoofing). Она сыграла центральную роль в получив- шем широкий резонанс взломе сети Internet в 1994 году. Физик-теоретик, згши- ГЛАВА 8. АУТЕНТИФИКАЦИЯ ПО АДРЕСУ 203
мявшийся вопросами защиты систем сотовой связи, сконфигурировал свои ком- пьютеры таким образом, чтобы использовать команды reb, и rlogin между своими хост-машинами. К его удивлению кто-то ухитрился выполнить команду rsh и использовал ее. чтобы разрешить хост-машине в Internet выполнять ко- манды rsh и rlogin на выбранном в качестве мишени компьютере. После этого взломщик смог бы входить прямо в компьютеры компании (см. примечание 23). Теоретически атака не должна была бы сработать, так как выполнение ко- манды rsh требует установления TCP-соединения. Как описывалось в разделе 8.4, используемое в протоколе TCP трехэтапное квитирование должно препятст- вовать открыть соединение с помощью команды rsh и принять поддельные дан- ные. В частности, взломщики не могут послать правильные пакеты для завер- шения процесса квитирования с поддельным адресом, если только они не могут предсказать номера последовательностей пакетов. Но, как. указывалось ранее, они нашли способ делать это. В упомянутой атаке взломщик посылал два сообщения. Первыги сообщением был пакет SYN для открытия rsh-соединения, но он содержал адрес машины из локальной сети, которой сеть доверяет. Намеченная в качестве мишени машина возвращала по этому адресу свой пакет SYN. В теории машина-мишень не от- кроет соединение до тех пор, пока не получит сообщение с подтверждением (АСК), которое должно содержать трудно угадываемый номер последовательно- сти этого пакета. Хотя атакующая машина никогда не получала номер последо- вательности, опа посылала правдоподобный макет АСК, который и завершал процесс квитирования и затем по открытому гзедииению посылала данные. Эти данные представляли собой последовзтельно'чь команд, модифицирующих файл host.з. equ iv таким образом, чтобы позволить вход компьютеру и.з сети Internet (см. примечание 24). Атака имела успех благодаря использованию незаметной слабости з некото- рых версиях программного обеспечения щю'окола TCP. Т1о>мер,ч последователь- ностей TCP-пакетов предназначены хлавнь.м .-бразом для того, чтобы обрабаты- вать утерянные или повторяющиеся гокиы оы-азыглть в приеме пакетов за- крытого соединения, поступивших с бо.ш.’ш й задержкой Од и а к.< оказалось, что взломщик может собрать информацию о том. как хост-машина генерирует свои номера псс.тедовательчсстей, и затем nwерировать начальные пакеты для от- крытия ТСР-соелинеяия. которые правильно ,ipeдугадыьают используемый но- мер последовательности. Такал возможность впервые fern. проверена десятью годами ранее, но никогда до этого не использовала, ь для ьыисишшня реальной атаки (ем. примечание 25}. Атака но методу IP-имитации начинает <; тенергщии боль-.ш.ч-с количества не- удачных соединений, которые взломщик .анализирует, чтобы определить, кок хост- машина жертва генерирует номера последовательностей TCP-пакетов. После этого взломщик посылает два начальных пакета с с-брашением к команде rsh и вводит во второй паке г иомер иоследона гельчосга, который совпадает с тем, что ожидает хост-машина. Такое обман ное соединение /ю.пж.чэ продлиться достаточно долго, чтобы началось выполнение команды rsh, и именно это и происходило. Для противодействия такой атаке быстро появились два метода защиты. Пер- вый заключался в ужесточении критериев фильтрования в брандмауэрах тех вы- числительных сетей, чгэ имеют выход в Internet. В частности, организации так программировали свои брандмауэры, чтобы блокировались все входящие паке- ты, которые объяв пял и себя отправленными хост-машиной организации. Внеш- нее сообщение никогда не будет содержать ядоес источника, указывающий на локальный компьютер, так что такое сообщение наверняка подделка. Брандмау- эры способ»!.! с легкостью обнаруживать и блокировать такой график. 204 Ь.о ЛУ-гщиФНКА _!ИЯ В ЛОКАЛЬНЫХ UM'X-GL-1 ЯХ
Второй метод защиты заключался в том, чтобы затруднить уга- Ж дывание номера последовательности. Первоначально защита номеров последовательностей представляла интерес только для нескольких исследователей. После проведения атак с использованием техники IP-имитации генерация непредсказуемых номеров последовательностей стала в группе прото- колов TCP/IP стандартной функцией. Это был как раз тот случай, когда малоза- метная проблема в защите игнорировалась до тех пор, пока кто-то не нашел спо- соб воспользоваться ею во зло. Удаленные вызовы процедур, NFS и NIS Удаленные вызовы процедур или RPC были разработаны компанией Sun Mi- crosystems как основа для предоставления простых и эффективных услуг UNIX- компьютерам, объединенным в локальную сеть. Это протокол, лежащий в основе локальной файловой службы, или NFS, и обмена между хост-машинами конфи- гурационными файлами пользователей посредством службы NIS. Аутентифика- ция является важным аспектом работы таких служб, так как должно быть орга- низовано отслеживание разрешений на работу с файлами, а данные о паролях должны быть совместимы с тем, что было задано каждым пользователем. Обе эти службы в плане защиты в значительной степени полагаются на RPC. A RPC, в свою очередь, полагаются на защиту и целостность хост-машин и локальной сети организации. Подобно “г”-командам, службы NFS и NIS предназначены для сред, образуемых заслуживающими доверия пользователями и оборудованием (см. примечание 26). Первым источником слабостей RPC и протоколов, которые обеспечивают их реализацию, является протокол дейтаграмм пользователей (User Datagram Protocol, UDP). Это протокол самого нижнего уровня из группы протоколов сети Internet, который работает с прикладным программным обеспечением. Протокол UDP обеспечивает возможность простой передачи дейтаграмм без обнаружения по- терянных данных и сохранения порядка следования сообщений. Квитирование со- единения и номера последовательностей, используемые в протоколе TCP, обеспе- чивают минимальную степень проверки достоверности адреса отправителя переда- ваемых данных, но в протоколе UDP нет и такой проверки. Поэтому очень просто сгенерировать UDP-сообщение с полностью фиктивным адресом отправителя. Возможность подделки RPC-трафика особенно существенна для сообщений, связанных с работой службы NFS. Типичное NFS-сообщение содержит запрос либо на считывание блока данных из файла, либо на запись блока данных в файл. Большинство NFS-транзакций считаются не имеющими состояния; это оз- начает, что повторное сообщение (т.е., сообщение, которое из-за проблем в сети, было передано еще раз) всегда может быть обработано сервером службы NFS и результат будет правильным. К сожалению, это также означает, что отсутствует защита от поддельных NFS-сообщений (см. атаку А-48 в разделе 8.4). Атакую щая сторона может построить UDP-сообщение, содержащее RPC-заголовок, идентифицирующий пользователя, авторизованного на доступ к некоторым чув- ствительным данным, и затем сконструировать соответствующий NFS-запрос для реальной манипуляции данными. NFS-сервер не сможет выявить подделку. Предполагается, что содержимое всех полей сообщения аутентично. Первым и наиболее важным способом защиты службы NFS является блоки- рование доступа к ней для ненадежных компьютеров и людей. Если кто-либо хоть в малейшей степени не вызывает доверия, то лучше исключить его компь- ютер из списка разрешений доступа к NFS-серверу. Если пользователи относятся к категории чужих, то необходимо поставить программный экран (брандмауэр), который запретит им доступ к NFS-серверу. ГЛАВА 8. АУТЕНТИФИКАЦИЯ ПО АДРЕСУ 205
Вторым методом защиты службы NFS является использование в ф ней так называемых защищенных RPC. Подобная услуга обеспечивает наличие шифрования и определенного уровня криптографически за- D-52 щигценной аутентификации при работе NFS. Однако такая услуга мо- жет привести просто к замене слабостей NFS другими слабыми местами, так как защищенные RPC имеют не очень сложную организацию. Как было отмечено од- ним из обозревателей, защищенные вызовы удаленных процедур используют алго- ритм Нидхема-Шредера, слабые места которого хорошо известны (см. раздел 12.1). Они работают с неаутентифицируемыми файлами, содержащими аутенти- фикационную информацию, и реализованная в них исходная система открытого ключа была так слаба, что вскоре оказалась взломанной (см, примечание 27). Как уже указывалось ранее, служба NIS используется для обмена админист- ративными файлами, включая паролевые файлы ОС UNIX, который содержат имена пользователей и хешированные значения паролей. Обычно эта информа- ция передается в виде открытого тексте., что делает ее уязвимой для активной разведки. Таким образом, если в сеть попадают любители анализировать содер- жимое сетевого трафика, то N1S ьо сути сводит на нет все преимущества введе- ния теневого паролевого файла. Другая проблема заключается в том, что работа NIS основана на доверии к другим хост-машинам в сети. Тогда имеется возмож- ность заставить хост-машины обманом использовать фальшивый паролевый файл, где в учетных записях законных пользователей будут содержаться под- дельные хешированные значения паролей. Как и NFS, службу NIS лучите всего использовать только в таких сетях, которым можно доверять. 8.7. Аутентификация географического местоположения Меры физической защиты обычно связаны со стационарными физическими объектами, например офисными зданиями, и большинство критических с точки зрения безопасности вычислений выполняется именно в таких местах. В подобных случаях было бы разумным использовать стратегию аутентификации, в соответст- вии с которой сообщение привязывается к месту его физического происхождения. К сожалению, нет такого естественного явления, которое бы отличало одну точку пространства от другой. Основой для такого вывода послужил выполнен- ный еще в конце 19 века классический эксперимент Майкельсона и Морли (Michelson and Morley), объясненный теорией относительности Эйнштейна уже в начале 20 века. Если обратиться к практике, то, скажем, мореплавателям было очень трудно определять географическое местонахождение корабля в море до разработки высокоточных устройств измерения времени, а именно хроно.метров Харрисона (Harrison), которые появились в 18 веке. Подобные методы позволя ли наблюдателю определять местонахождение, однако не предоставляли никако- го доказательства относительно точки нахождения самого наблюдателя, которое было бы трудно сфальсифицировать. В некотором смысле информация о местоположении мало отличается от ад- ресной информации, используемой в компьютерных сетях. Владелец может оп- ределить способ обозначения географического местонахождения своих рабочих площадок и требовать, чтобы сообщения содержали соответствующие географи- ческие идентификаторы. Подобные метки могут иметь в значительной степени произвольный характер, как Internet-адреса, или подчиняться определенной сис- теме, как географические долгота и широта. Но вне зависимости от этого взломщик с одинаковой легкостью может объявить как любое место своего на- хождения, так и себя в качестве любого человека. И даже базовые секреты на 206 8 /’ АУТЕНТИФИКАЦИЯ ГЕОГРАФИЧЕСКОЮ МЕСТОПОЛОЖЕНИЯ
могут гарантировать точности географической информации: законный пользова- тель может переместить устройство, включая его базовый секрет, в другое место, не подозревая о последствиях в плане защиты информации. Однако положение вещей изменилось с появлением Глобальной системы опре- деления местоположения GPS (Global Positioning System). GPS состоит из 24 спутников, положение которых на орбите всегда точно известно. Каждый спутник передает непрерывный поток идентифицирующей информации, которая при объе- динении с сигналами от других видимых спутников позволяет точно определять географическое место нахождения. Первоначально GPS была разработана Мини- стерством обороны США для военных применений, но сегодня коммерческие GPS- приемники являются обычным оборудованием в гражданских самолетах, на торго- вых и прогулочных судах, в автомобилях и даже в рюкзаках (см. примечание 28). Каждый спутник системы GPS передает уникальную последовательность сиг- налов, которая поступает в приемник во вполне определенный момент времени. В общем случае GPS-приемник может использовать сигналы спутника непосред- ственно для вычисления своего географического местоположения. Он может пе- репроверить свои результаты, воспользовавшись так называемым дифференци- альным GPS-методом, и при этом часто увеличивается точность. В соответствие с этой методикой географическое местоположение вычисляется путем анализа сигналов от разных спутников. В середине 1990-х годов группой исследователей из Колорадо бы w ла разработана методика применения дифференциального GPS- - Ж метода для дистанционного определения отличии между различны- ми физическими точками в пространстве. Основная идея проиллюстрирована на рис. 8.4. И Тим, и Кэтти принимают сигналы от спутников системы GPS. Тим принимает GPS-сигналы в определенной последовательности, которая зависит от расстояния до спутника. Он может принять и откоррелирова; ь эги данные, а за- Рис. 8.4. Концепция аутентификации по местоположению с использованием системы GPS. Данный пример является сильно упрощенным и служит исключительно для иллю- страции концепции. Если Кэтти известно географическое местоположение Тима, то она может использовать GPS-данные для выполнения аутентификации сообщений, посылае- мых из места его нахождения. Тим и Кэтти принимают от спутников системы GPS одина- ковые непредсказуемые последовательности сигналов, но поскольку они находятся в раз- ных местах, то это означает, что последовательности принимаются в разные моменты времени. Тим в реальном времени группирует принимаемые им данные и создает пакет аутентификационных данных объемом 20 Кбайт. В свою очередь Кэтти использует при- нимаемый ею поток GPS-данных для верификации того, что аутентификационные данные Тима с учетом момента их отсылки могут поступать только из его места нахождения. ГЛАВА 8. АУТЕНТИФИКАЦИЯ ПО АДРЕСУ 207
тем передать их Кэтти. Она принимает те же самые GPS-данные от тех же спут- ников, но в другие моменты времени, поскольку спутники находятся от нее на других расстояниях, чем от Тима Если она соответствующим образом скоррек- тирует GPS-сигналы, то сможет вычислить, как данные должны были бы при- ниматься в том месте, где находите.я Тим. в конкретный момент времени. Если GPS-данные, посланные ей Тимом, совпадают с ожидаемыми ею GPS-данными, то она может быть уверенной, что гпебп'ешш от Тимя передаются из того места, которого она ожидала. Объединенные GI ’S-данные зависят как от времени, так и от местоположения (ем. примечание 29). Таким образом, Кэтти точно знает, «то сообщение поступило из географиче- ского местоположения Тима, даже если в дейсщительности не известно, сам ли Тим послал его. Но этою достаточно д.-я меогих закрытых приложений, в част- ности, тех, которые выполняются на сискпально выделенных компьютерах в физически защищенных местах. Для того чтобы сфальсифицировать информацию о местоположении Тима, взломщик должен иметь возможность иол/пить GPS-данные, которые получал бы сам Тим. Затем он должен оыщррел'ароиагь эти данные так же. как, по пред- положению Кэтти, это сделал бы Тим. и подать их ей со строго определенными временными параметрами. Так как GP3-данные являются времязависимыми, то подделка атакующей стороны достоверна ю-;ько весьма ограниченный период времени. Па практике атакующая сторона просто не способна собрать необходи- мую информацию и вовремя передать ее жертьэ, чтобы успешно замаскировать- ся под другой компьютер. Однако этой технологии присущи и определенные недостатки. Во-первых, требуется антенна, способна}. принимать GTS сигналы ос нескольких спутников, хотя большинству стандартных OPS приемников необходимо принимать сигналы только от двух иди -рех спутников }’с вторых, методика работает только в том случае, если отправитель « ислучатея;- могут видет;-. тс :к? спутники. В третьих, имеется риск вторжения в частную жищр., ,ан кож аутентификационная инфор- мация идентифицирует место нахождения исгссииья данных. Если данные не шифруются, то человек? или оргянизапия, ведушие аю.да сигналов, могут свя- зать данные с физическим местонахождением их источника. На момент написания книги аутентификация по месту нахождения с помо- щью системы GPS быта относительно новой wr••.•дит-.ой- и з литературе было еще мало публикации о ее поведении г условиях '-щ.езьых атак на нее. Например, неясно, как на ее работу повлияет пред ••'меренное .«.'здание помех GPS- сигналам. Очень похоже на то, что имеющиеся уже сегодня генераторы таких помех могут вывести из строя систему аутентификации по местоположению. В зависимости от организации работы остял ?.ой части сксгемы, атакующая сторо- на может вынудить систему перейти на использование механизмов аутентифи- кации, которые будет легче <тг?.щгач (ем. примечание 30). Относительный риск состоит и в иср;-даче фальшивых GPS-сишалов. Спутни- ки системы GPS передают сигнал, который понятен простым гражданским при- емникам, и существует вероятность моделирования ст налов от нескольких GPS- спутников. Теоретически подобны? еш налы могли бы обмануть GPS- аутентификатор по местоположению, особенно если атакующая сторона одно- временно использует еще и неоенгспх.'енный ею компьютер, который пытается себя аутентифицировать. Ощако х;имч'ч> гтркт'.'ированный GPS- аутентификатор, возможно, будет работать правильно и в условилтт помех, так как использует мак'чмально возмажн-л- количетгно с«vti.ckobwx сигналов, а ге- нератор помех не может заглушить все видимые GPS-сигналы. Таким образом, хотя аутентификация ио мы’топ<”н-жению <• помощью системы GPS является многообещающей, необходима еще нчк'ынц- ;-.>(-«деленный опыт, чтобы сказать, насколько хорошо она работает в условиях реальных операционных потребно- стей и искусно построенных ,чт.тк.. 208 /-У !Н-1 Иь.,Ы -У :;G! i-'acLI i Sc G 'И .иугр ищ SEE- Si?
8.8. Сводные таблицы Таблица 8.1. Сводная таблица атак Атака «Г Проблема системы защиты Характер атаки Описание атаки А-45 Применение боевых номеронабирателей Рассекречивание закрытой информации (телефонных номеров) Обычная Программное обеспечение использует модем с автонабором для проверки всех телефонных номеров из выбранного диапазона для обнаружения модемных соединений А-46 Черный ход в модемах с обратным вызовом Маскировка под другой хост-компьютер Физическая Атакующая сторона использует для обхода защиты по методу обратного вызова встроенный черный ход А-47 Перекоммутация телефонной линии Маскировка под другой хост-компьютер Сложная Взломщик применяет специальные знания для проникновения в телефонный коммутатор оператора и перекоммутирует линию внутри самой коммутирующей системы А-48 Подделка адреса пакета Маскировка под другой хост-компьютер Обычная Передается сообщение, содержащее вместо правильного адреса фиктивный А-49 Кража IP-адреса Маскировка под другой хост-компьютер Обычная Взломщик перехватывает IP-адрес жертвы и выдает свой компьютер за ее хост-машину А-50 Расщепление TCP- Маскировка под другого Обычная или Перехватывается аутентифицированное соединения человека сложная TCP-соединение и перенаправляется для взаимодействия с сеансом взломщика А-51 Затопление SYN- пакетами Отказ в обслуживании Обычная Посылаются сообщения, начинающие процесс открытия соединения, но процесс не завершается А-52 Распределенная атака с организацией отказа в обслуживании Отказ в обслуживании Обычная Осуществляется проникновения в несколько компьютеров, которые затем используются для передачи на выбранную в качестве жертвы хост- машину избыточного трафика А-53 IP-имитация Маскировка под другой хост-компьютер Обычная Обман принимающей хост-машины, когда она воспринимает входящие сообщения как поступающие от заслуживающего доверия компьютера ГЛАВА 8. АУТЕНТИФИКАЦИЯ ПО АДРЕСУ 209
Таблица 8.2. Сводная таблица методов загни • Срываемые атаки Описание D-45 Модем с обратным вызовом Л-45 Применение блеет номеронабирателей и-'’6 Идентификационный номер вызывэчядей стороны А-45 Применение боевых номера 1а6иратепей Л 46 Черный хоц в модемах с обратным вызовом 0 '.7 ТС° син.хиз1!иза11ия Л-48 Потугт адреса пакета П-48 Управле :ие ресурсами средине! п-й Л-51 Затопление SYN-i «диетами D-49 Филырация поддодод на А-48 Подделка адреса ракета рабочей площадке Л-51 Затопление SYN одадтами А-52 Распределенная атака с организацией отказа в обслуживании ,-МЗ IP-имитация D-50 Аутентификация сообщений А-47 Перекоммуацня ттчадТоннсй линии Л- 43 Подделка адреса жетя А-j'l Расщепление Тб! одйдиод > Л 51 Затопление SS’.' - А-52 Распреде эд >0 а- низяцией о,кет' е ( тивани Специальное устройство устанавливает удаленное "^единение, перезванивая удаленному пользователю но заранее установленному телефонному номеру Чтобы определить, приходит ли входной запрос на усыновление соединения из авторизованного места, используется имеющаяся в современных телефонных системах функция идентификационного номера вызывающей стороны i Три установлении соединения по протоколу TCP используется ipexaranHoe квитирование, и процесс квитирования не завершается, если обе хост-маши- ны успешно не обменяются тремя сообщениями Осуществляется управление ресурсами ТСР- сооди!тений таким образом, что услуга предоставляется даже в том случае, когда имеет место затопление SYN-пакетами Отбрасываются все сообщения, которые явно содержат фиктивные адреса. Проверяются все входные сообщения и отбрасываются те, которые содержат адрес отправителя, принадлежащий данной рабочей площадке. Проверяются все выходящие сообщения и отбрасываются те, которые содержат адрес о травителя, не принадлежащий данной рабочей площадке В ненадежных сетях дод проверки корректности ялоеса отправит одя и содержимого сообщений и. 'олц- од под .. о,- шифрования с механизмом •’ll ,о -< г... реализованному в Л-53 !Р-одщтацод D-51 Рандомизация пометов последовательности TCP- соединения D-52 Защищенные RPC Л-53 IP имитация Обеспечение генерации программным обеспечением протокола TCP непредсказуемых значений номеров юследователы юстей Л 47 Перекоммутация телефонной Внедрение совместно со службой NFS службы линии защип тон: :ых удаленных вызовов процедур с целью А-48 Подделка адреса пакета сбесодчэния криптографической защиты трафика службы NFS А-50 Расщепление fCP-соединодия А 53 IP имитация D-53 Аутентификация по месту нахождения с использованием системы GPS А-48 Подделка адреса одадти Передача смеси GPS-сигналов с целью А-49 Крада |р-атц«од аутентификации места нахождения какого-либо лица в заданный момент времени 210 8.8. СВОДНЫЕ ТАБЛИЦЫ
ГЛАВА 9 Устройства аутентификации Темный шлем: Значит, комбинация 1-2-3-4-5. Снимает шлем и восклицает: Да это самая дурацкая комбинация, которую я когда-либо встречал! ----- Мел Брукс и др. Космобол В этой главе Охота на пароли средствами активной разведки особенно много неприятно- стей причинила в сетевых средах с удаленным доступом. Все это привело к по- явлению технических подходов и коммерческих продуктов, позволяющих гене- рировать трудно поддающиеся перехвату пароли. Пароли, использующие аппаратные средствгх аутентификации Одноразовые пароли как способ затруднить перехват Устройства генерации одноразовых паролей на основе внутренних счетчи- ков или часов Устройства аутентификации с применением персональных идентификаци- онных номеров Атаки на одноразовые пароли 9.1. Средства аутентификации: то, что мы имеем Суть аутентификации с использованием аппаратно реализованных устройств со- стоит в том, что для аутентификации себя компьютеру человек должен иметь в сво- ем распоряжении некий прибор. Компьютер не узнает пользователя без устройства аутентификации, и не имеет значения, было ли оно потеряно, отдано во временное пользование или украдено. Подобным образом аутентификационные устройства ра- ботают уже тысячи лет. Высокопоставленные люди использовали личные печати, чтобы аутентифицировать важные документы, и получатели документов рассматри- вали оттиск печати как доказательство того, что именно этот человек подписал до- кумент. Печать служила для документов средством аутентификации. Отпираемые ключом механические замки, вероятно, наиболее широко рас- пространенные устройства аутентификации из используемых сегодня. В разделе 2.2 показано, как ключ имеет базовый секрет (см. рис. 2.2), и аутентификаци- онные устройства тоже содержат базовый секрет. Собственно говоря, известные преимущества и недостатки ключей часто свойственны и компьютерным аппа- ратно реализованным средствам аутентификации. У каждого есть свои истории, связанные с ключами: как они терялись, нахо- дились, запирались в автомобиле и т.д. Это случается и с компьютерными аутен- тификационными устройствами. Ниже приведены основные свойства аутентифи- кационных устройств с точки зрения защиты информации.
Человек должен физически обладать аутентификационным устройством, чтобы пользоваться им. Хорошее аутентификационное устройство тяжело сдублировать. Человек может потерять аутентификационное устройство и лишиться дос- тупа к критически важному ресурсу. Проведя ревизию аутентификационных устройств, можно обнаружить факт кражи одного из них. Аутентификационные устройства используются в многочисленных изделиях как ориентированных на компьютеры, так и не связанных с ними. Одна из при- чин их популярности состоит в том, что они в значительной степени снимают затруднения, связанные с запоминанием. Аутентификационное устройство мо- жет надежно нести в себе значительно более сложный базовый секрет, чем спо- собен запомнить человек. Мало людей обладают достаточно тренированной па- мятью или мотивацией, необходимыми для запоминания действительно сильно- го пароля. Аутентификационные же устройства могут быть носителем очень сложных базовых секретов, не утруждая владельца необходимостью запомина- ния. Самое большее они могут требовать ввода персонального идентификацион- ного номера (PIN-кода). В общем случае аутентификационные устройства подразделяются на две кате- гории: пассивные и активные. В обоих случаях аутентификационное устройство несет в себе базовый секрет, и для того, чтобы изготовить работающий дубликат аутентификационного устройства необходимо иметь копию базового секрета. Пас- сивное аутентификационное устройство представляет собой просто некое устрой- ство хранения базового секрета. Примерами являются механические ключи, бан- коматные карточки, большинство типов пропусков сотрудников и некоторые спе- циализированные устройства типа ключей-данных (“datakeys”). Активные аутентификационные устройства могут в разных обстоятельствах генерировать различные выходные данные. Например, активное устройство может быть задей- ствовано в протоколе аутентификации по методу вызов-ответ или обеспечивать другую функцию шифрования, в которой используется базовый секрет этого ау- тентификационного устройства. Активные аутентификационные устройства тради- ционно представляет собой либо коммерческие приборы для генерации одноразо- вых паролей, либо смарт-карты, хотя появились и другие модели, которые встав- ляются в имеющиеся порты настольных или переносных компьютеров. Пассивные аутентификационные устройства Пассивные аутентификационные устройства работают, предъявляя свой базо- вый секрет механизму аутентификации: замок реагирует на проточки на ключе, карточка с магнитной полосой через считывающее устройство передает храня- щиеся на ней данные. Например, банкомантная карточка передает номер бан- ковского счета, хранящийся на ней. Помимо этого существует еще масса других примеров: ключи-данные от компании Datakey, Inc., которые содержат кристалл постоянной памяти, пластиковые карточки с набором перфорированных опреде- ленным образом отверстий, карточки с данными, закодированными в виде штрих-кода и катушки индуктивности, которые излучают специальный сигнал при перемещении сквозь соответствующее считывающее устройство. Системы на основе катушек индуктивности часто называют карточками бли- зости, поскольку их присутствие регистрируется только вблизи считывающего устройства. В качестве примеров можно привести продукты XyLoc компании En- sure Technologies и Sage-ID от компании Tri-Sage. Некоторые модели работают только в непосредственной близости от считывающего устройства, другие — на расстоянии в несколько футов (1 фут = 30,5 см) или даже в сто футов. Карточ- 21? 9.1. СРЕДСТВА АУТЕНТИФИКАЦИИ: ТО, ЧТО МЫ ИМЕЕМ
ки, которые работают на значительных расстояниях, обычно содержат батарей- ки; часто их называют активными карточками, хотя они всего лишь излучают фиксированный код. Один из производителей поставляет систему защиты рабо- чих станций, которая активирует блокировку экрана, как только карточка бли- зости покидает окрестности рабочей станции. Но, конечно, наиболее широко распространены пассивные аутентификацион- ные устройства в виде пластиковых карточек с магнитной полосой (магнито- карточки). Сегодня они встречаются повсеместно: это и банкомантные карточки, кредитные карточки, водительские права и пропуска сотрудников, которые от- пирают электронные дверные замки. Карточки, их размеры и формат данных полностью стандартизированы и поставляются огромным количеством изготови- телей. По одной из оценок стоимость считывающих устройств составляет всего лишь 10 долларов США, а стоимость записывающего устройства всего 20 долла- ров США (при покупке партией) — см. примечание 1. Однако пассивные аутентификационные устройства легко скопировать. Часто ошибочно думают, что для копирования аутентификационного устройства требу- ется специальное оборудование типа станка для копирования ключей или счи- тыватель для магнитокарт. Фактически, такие технологии являются жертвой собственной успешности. Возьмем, к примеру, механические ключи: оборудова- ние для копирования ключей можно увидеть повсюду, так как это простой и прибыльный бизнес, а решительный взломщик может скопировать ключ даже не пользуясь копирующей машиной. Даже оборудование для магнитных карточек сегодня относительно дешево и широко распространено. В конце 1999 года слу- жащая одного из фешенебельных универмагов воспользовалась плодами совре- менной миниатюризации, скопировав магнитные карточки нескольких клиентов с помощью компактного считывателя, который она подключила к своему каль- кулятору Palm Pilot (см. примечание 2). Для большинства современных магнитных карточек проблема кражи и ко- пирования решается с помощью введения персонального идентификационного номера (PIN-кода). Во многих компаниях, где используются управляемые кар- точками замки, для отпирания важных дверей, например тех, что выходят на улицу, требуется ввод PIN-кода. Ну, и, конечно, банкоматы перед выполнением банковских операций требуют как предоставления карточки, так и PIN-кода. Комбинация карточки и PIN-кода дает два отдельных фактора аутентификации: то, что мы имеем, и то, что мы знаем. Это снижает риск подмены личности, так как взломщику необходимо скопировать карточку и узнать значение PIN-кода. Нельзя сказать, что защита с помощью магнитных карточек устойчива к непра- вильному использованию. Мы уже видели, что взломщики могут копировать кар- точки; в равной степени взломщики достаточно изобретательны в узнавании значе- ний PIN-кодов, чтобы потом иметь возможность пользоваться этими карточками. Простейший способ узнать PIN-код — стать рядом с жертвой, пользующейся бан- коматом, и просто подсмотреть набираемое значение (пример, атаки А-9 “серфинг на плече”). Некоторые банки передают PIN-коды от удаленных банкоматов по обычным телефонным линиям безо всякой дополнительной защиты, и ворам достаточно орга- низовать подслушивание, чтобы узнать как PIN-код, так и номер счета карточки. Другие банки хранят значение PIN-кода на самой карточке, и воры с помощью раз- нообразных методов либо узнают значение PIN-кода, либо подставляют номер друго- го банковского счета, если PIN-код карточки уже известен. Некоторые атаки реализовывались с привлечением для раскрытия значения PIN-кодов банковских сотрудников. Каждый год около 1% всех банковских слу- жащих увольняются по дисциплинарным причинам за мелкое воровство, так что риск растраты персоналом весьма реален. Сообщалось также о случаях, когда со- трудники банка продавали для значения PIN-кодов преступным синдикатам. Были даже уличены некоторые непорядочные программисты, которые изменяли банков- ГЛАВА 9. УСТРОЙСТВА АУТЕНТИФИКАЦИИ 213
ское программное обеспечение назначения PIN-кодов таким образом, чтобы их со- общникам из преступного мира было легче угадывать выдаваемые клиентам банка значения. Подобные проблемы не могут быть решены изменением технологий; банку просто необходимо использовать другие организационные подходы, напри- мер разделение обязанностей (см. примечание 3). Активные аутентификационные устройства Активному аутентификационному устройству не надо передавать свой ба- зовый секрет, чтобы аутентифицировать владельца. Вместо это оно использует секретные данные для выполнения какой-либо операции, например, для генера- ции одноразового пароля. В принципе аутентификационные устройства для ком- пьютерной аутентификации не должны работать с одноразовыми паролями, но именно это и делают традиционные устройства (SafeWord, SecurelD, CryptoCard и т.д.). Более совершенные устройства подключаются непосредственно к рабочей станции и часто, кроме аутентификации, способны выполнять еще разнообраз- ные функции шифрования. На рис. 9.1 показаны некоторые активные аутенти- фикационные устройства. В активных устройствах в процессе аутентификации может использоваться шифрование, что делает его нечувствительным к атакам с использованием ак- тивной разведки или воспроизведения. Без сомнения, активная разведка пред- ставляет собой проблему при аутентификации по сети. Аутентификация с при- менением аппаратно реализованных устройств предусматривает по сути генера- цию различного набора сообщений при каждой попытке владельца устройства аутентифицировать себя, так что взломщику совершенно не имеет смысла вос- производить предыдущий набор сообщений. Более того, если протокол взаимо- действия с устройством аутентификации разработан и реализован правильно, то взломщик не может предсказать, каким должен быть набор сообщений. Традиционные устройства с одноразовыми паролями использовались еще при организации доступа к системам с разделением времени. Первоначально такие устройства имели размер карманного калькулятора и клавиатуру, но и в более современных устройствах также наблюдается наличие кнопочных клавиш. Такие устройства генерируют аутентифицирующие данные, которые набираются с кла- виатуры, так что они способны взаимодействовать с любой интерактивной ком- пьютерной системой и не требуют специальной аппаратной поддержки. Однако это налагает ограничения на сложность протоколов аутентификации, так как в процессе передачи данных между устройством аутентификации и компьютером участвует пользователь. Другие активные устройства аутентификации вставляются непосредственно в компьютер и работают с использованием более сложных протоколов аутентифика- ции. Сегодня, как показано на рис. 9.1, подобные устройства поступают на рынок в самых разнообразных видах. Характерным примером подобных устройств аутен- тификации являются смарт-карты: устройство размером с кредитную карточку, которое содержит небольшую обрабатывающую систему и память. Некоторые ак- тивные устройства аутентификации были реализованы в виде плат ПК, которые также известны под названием PCMCIA-карты (название происходит от Междуна- родной организации производителей плат памяти для персональных компьютеров, также давшей название стандарту). Недавно несколько производителей выбросили на рынок USB-устройства аутентификации, которые подключаются непосредствен- но к универсальной последовательной шине (Universal Serial Bus, USB). Это новый стандарт подключения периферийного оборудования, например принтеров, к пер- сональным компьютерам. Другое устройства, к примеру iButton, требуют наличия специализированного счить г; толя. 214 9.1. СРЕДСТВА АУТЕНТИФИКАЦИИ: ТО, ЧТО МЫ ИМЕЕМ
Рис. 9.1. Семь примеров активных устройств аутентификации. Подобные устройства имеют разную форму, размеры и реализуют различные технологии. На рисунке по часо- вой стрелке, начиная с верхнего левого угла, показаны: устройство генерации одноразо- вых паролей SafeWord Silver 2000 от компании Secure Computing; еще одно устройство семейства SafeWord: SafeWord Gold 2000; вставляемое в порт USB устройство iKey от компании Rainbow Technologies; справа шифрокарточка Fortezza — разработанная АНБ PCMCIA-карта; кольцо iButton компании Dallas Semiconductor, которое можно носить в качестве украшения; устройство генерации одноразовых паролей SecurlD компании RSA Security; и наконец, производимая фирмой Schlumberger смарт-карта с размером типовой кредитной карточки. Смарт-карты широко использовались в Европе, так что эта технология была широко опробована в реальных условиях. Европейские кредитные карточки, имеющие хождение с 1980-х годов, представляли собой смарт-карты. Другим применением также были электронные кошельки. Например, управление обще- ственного транспорта могло использовать смарт-карты для хранения предоплаты пассажира за проезд. Пассажир, скажем, тот же Тим, входя в трамвай или авто- бус, вставлял свою смарт-карту в считывающее устройство, и считыватель вычи- тал стоимость проезда из суммы на карточке. Когда сумма на карточке станови- лась слишком маленькой, Тим шел к специальной машине, опускал в нее день- ги, и машина вносила на карточку дополнительную сумму. В карточке программировался протокол, который работал только совместно с компьютерами, принадлежащими транспортной организации. Обычно это реали- зовывалось с помощью секретных данных, которые заносились на все законные карточки и были известны транспортной организации. Даже если у Тима и было бы считывающее устройство, подключенное к его домашнему компьютеру, кар- точка все равно не позволила бы ему добавлять или вычитать из хранящейся на ней суммы оплаты за проезд. Недавно производители кредитных карточек в Соединенных Штатах начали предлагать смарт-карты для защиты транзакций в электронной коммерции. На момент написания книги многие из подобных карточек работают с использова- нием базового секрета, заносимого на карточку производителем кредитных кар- точек, а протокол защищенных транзакций работает только с Web-сервером эми- тента кредитных карточек. Подобная организация процесса обусловлена сложностью коллективного пользования секретными ключами шифрования мно- гими предприятиями; это отражает фундаментальную разницу между непрямой и автономной моделями аутентификации, рассмотренными в главе 4. Шифрова- ние с применением открытых ключей может обеспечить для смарт-карт более широкий диапазон применений, так что дальнейшее обсуждение их возможно- стей приводится в разделе 15.3. ГЛАВА 9. УСТРОЙСТВА АУТЕНТИФИКАЦИИ 215
Смарт-картам и другим вставляемым аутентификационным устройствам свой- ственны сильные и слабые стороны. Все они обычно представляют для взломщика периметр защиты, который может быть достаточно сложным для проникновения, поскольку, как правило, внутренняя логика размещается внутри одной интеграль- ной схемы. Однако подобные устройства не полностью защищены от атак. В отли- чие от более традиционных паролевых устройств аутентификации, которые имеют собственную клавиатуру и дисплей, такие устройства при вводе и выводе инфор- мации должны полагаться на другое оборудование. Взломщики могут воспользо- ваться этим, переделав программное обеспечение, взаимодействующее с устройст- вом аутентификации, и обмануть карточку, ее пользователя или владельца систе- мы. Кроме того, некоторые устройства недостаточно устойчивы к зондированию, и квалифицированный взломщик может извлечь из них критические данные, ис- пользуя для этого вполне умеренные ресурсы (см. примечание 4). На момент написания этой книги главное ограничение для вставляемых уст- ройств аутентификации заключается в том, что они зависят от разъемов для подсоединения, которые отсутствуют во многих, если не в большинстве, на- стольных компьютерах. Совершенно очевидно, что Кэтти не сможет войти в сис- тему, если ее рабочая станция не будет воспринимать принадлежащую ей смарт- карту. Устройства, построенные в виде PCMCIA-карт, обычно могут вставляться в переносные компьютеры, но очень мало настольных систем имеют штатный PCMCIA-интерфейс. Проблема с разъемами может, наверное, склонить некоторых владельцев в пользу использования USB-устройств; хотя такие устройства могут быть дороже в изготовлении, чем смарт-карты, они стоят меньше, чем смарт-карта и считы- ватель. С точки зрения защиты USB-карты, похоже, теоретически обещают та- кой же уровень аппаратной защиты, что и смарт-карты. Однако эксперименты также показали, что квалифицированный и соответствующим образом оснащен- ный взломщик способен проникнуть через аппаратную защиту многих USB- продуктов (см. примечание 5). 9.2. Активная разведка паролей в сети Сказка об Али-Бабе, открывающая главу 1, начинается с того, что был под- слушан пароль для входа в пещеру разбойников — типичная атака методом раз- ведки. В разделе 1.5 описывались случаи раскрытия паролей подсматриванием через плечо и даже копированием из ОЗУ компьютера. Но современные пользо- ватели в современных глобальных сетях сталкиваются со значительно более ши- роким диапазоном угроз. Сегодня взломщики очень часто извлекают незащи- щенные пароли непосредственно из сообщений, находящихся в пути от одного компьютера к другому. Некоторые взломщики ухитряются устанавливать специ- альное программное обеспечение для перехвата паролей в компьютерах, принад- лежащих провайдерам Internet-услуг. Такое программное обеспечение прослу- шивает весь трафик, проходящий через данный участок сети Internet, что дает взломщику для использования большое количество паролей. Рис. 9.2 иллюстрирует стратегию активной разведки в сети. Кэт- ти Рое регистрируется в службе, набирая на клавиатуре свои имя А-54 9 пользователя и пароль. В тот момент, когда эта информация пере- мещается по сети к службе, взломщик видит ее и копирует. Ни Кэтти, ни ее служба не могут обнаружить взломщика и Кэтти успешно регистрируется. Позд- нее взломщик использует имя пользователя Кэтти и ее пароль, чтобы войти в службу самому. Служба не видит разницы между взломщиком и Кэтти, и он ус- пешно входит в систему. 216 9.2. АКТИВНАЯ РАЗВЕДКА ПАРОЛЕЙ В СЕТИ
1, Кэпи регистрируется в системе, используя свой пароль 2. Взломщик анализирует трафик в сети 3. Сервер Кэтти регистрирует ее ‘Пользователь сгое зарегистрировался в 7:00 Рис. 9.2. Активная разведка паролей в сети. Сначала Кэтти для входа на сервер набирает свой пароль “многократного использования”. После этого взломщик перехватывает пароль в момент его прохождения по сети и затем использует, чтобы выдать себя за Кэтти. Перехват паролевых данных из массы других сообщений сетевого трафика не является особо трудной задачей. Существует несколько индикаторов, которые скажут программе автоматического анализа, что сообщение является частью чей-то процедуры регистрации. Ясно, что такая программа может, например, от- слеживать запросы типа “Имя пользователя” или “Пароль”. Также программа может просто искать начало соединения. В те времена, когда использовались терминалы с управлением из командной строки, было очень легко засечь начало Telnet-соединения и скопировать посылаемые туда и обратно первые несколько десятков символов. Активная разведка в сети является одной из тех проблем (если не единствен- ной), которая отличает среды с внутренними паролями от сред с внешними па- ролями, о которых шла речь в разделе 6.2. Угроза перехватов делает аутентифи- кацию в сетях общего пользования значительно более сложным процессом, чем в небольших частных сетях или в локальных сетях предприятия. В то время как в небольших сетях в некоторых средах пароли многократного использования мо- гут ходить достаточно безопасно, в сети Internet они являются просто приглаше- нием к атаке. Очевидным решением является шифрование пароля: преобразова- W ние его в нетекстуальную форму, так что взломщик не будет иметь р возможности преобразовать его обратно в текст. Если пароль будет нечитаем, то взломщик не сможет набрать его с клавиатуры при попытке войти в систему под видом Кэтти. К сожалению, решение не столь простое, как кажется. Классическое шифро- вание требует наличия секретного ключа, которым Кэтти будет пользоваться со- вместно со своим сервером. Процедуры установления пароля и коллективного пользования им столь же сложны, как и администрирование пароля Кэтти. Прямолинейное шифрование приводит к тому, что ей необходимо заботится о двух паролях вместо одного (как показано в главе 13, эта проблема изящно ре- шена в протоколе SSL). ГЛАВА 9. УСТРОЙСТВА АУТЕНТИФИКАЦИИ 217
Вместо прямого шифрования можно путем одностороннего хеширования вы- числять хеш пароля и передавать его, а не сам пароль. Это не требует делить сведения о секретном ключе с кем-нибудь еще. Если взломщик перехватывает хешированный пароль, то ему не так просто вернуть его в текстовую форму, и у него нет возможности прямого использования хешированного пароля для реги- страции в системе. Однако, хешированный пароль открывает дверь для атак по ме- тоду воспроизведения: взломщик может модифицировать свою сис- А-55 9 тему таким образом, что она при попытке взломщика выдать себя за другого пользователя будет предоставлять закодированный пароль. Если служба просто ожидает поступления хешированного пароля, то взломщик вполне может просто воспроизвести хешированный пароль Кэтти. Сервер не сможет распо- знать, был ли пароль сгенерирован на основе исходной текстовой версии или просто воспроизведен. На самом деле хешированное значение представляет собой эквивалент пароля, который по сравнению с использованием пароля в виде от- крытого текста обеспечивает всего лишь незначительное усиление защиты. Представим себе, что 40 разбойников пользовались бы хешированным паро- лем: тогда слово звучало бы как тарабарщина. Тем не менее Али-Баба и его брат все равно смогли бы подслушать его и воспользоваться для отпирания входа в пещеру (конечно, если бы им удалось правильно произнести это слово). Другое дело, если бы дверь в пещеру использовала целый ряд паролей, меняя пароль каждый раз, когда ею пользовались. Тогда магическая формула “Сезам, откройся” сработала бы всего один раз. И если бы Али-Баба попытался восполь- зоваться этим паролем еще раз, то он бы не сработал, и сокровища разбойников остались бы в безопасности, а историю об Али-Бабе просто бы забыли. Если подобный подход применить в компьютерных службах, то * перехваченное значение пароля не будет представлять для взломщи- р ка никакой ценности. Именно в этом и состоит основная идея рабо- ты механизмов, основанных на одноразовых паролях. Каждый раз, когда чело- век пытается зарегистрироваться в системе, она ожидает нового пароля. Правила же генерирования правильного значения пароля устанавливает протокол, ис- пользуемый механизмом одноразовых паролей. Но сложно запомнить даже один-единственный пароль, так что большинство посчитает совершенно невозможным придумывать новый пароль каждый раз при входе в систему. Вот тут то и появляются устройства аутентификации: для генера- ции следующего пароля пользователя в коммерческих системах с одноразовыми паролями используются соответствующие аппаратные или программные средства. 9.3. Одноразовые пароли Существуют две общие стратегии генерации одноразовых паролей. Счет чино- вые устройства аутентификации при генерации одноразовых паролей объеди- няют базовый секрет с показаниями синхронизируемого счетчика. Часовые уст- ройства аутентификации при генерации одноразовых паролей объединяют базо- вый секрет с показаниями синхронизируемых часов. Одним из производителей даже был разработан продукт, который соединяет в себе обе эти методики. Все по- добные методы имеют в основе случайным образом выбираемый базовый секрет, который хранится в устройстве аутентификации по одноразовым паролям. Каж- дый новый пароль является производным базового секрета и другого произвольно- го значения: показания счетчика, показания часов или обоих этих значений. 218 9.3. ОДНОРАЗОВЫЕ ПАРОЛИ
Одноразовые парсли, генерируемые с помощью счетчиков В 1994 году международная группа преступников получила несанкциониро- ванный доступ к системе управления наличными средствами банка Citibank, ко- торая позволяла крупным клиентам Citibank переводить деньги со счетов в Citi- bank в другие финансовые организации во всем мире. Как и в случае других пре- ступлений, подробности, возможно, никогда не будут известны до конца, но о некоторых вещах можно судить с достаточной долей уверенности по публикаци- ям об этом инциденте. В частности, из публикаций можно заключить, что ворам вовсе не надо было пробираться ночью в компьютерный центр управления на- личными средствами Citibank в Парсиппани шт. Нью Джерси. Они обращались к системе дистанционно, используя украденные пароли. Саму идею, по-видимому, разработал 24-летний Владимир Левин, работавший старшим системным программистом в российской компьютерной компании АО “Сатурн” в Санкт-Петербурге. Левин со своими сообщниками воспользовались паролями и выполнили более 40 транзакций на общую сумму свыше 10 миллио- нов долларов США. Воры аутентифицировали себя под видом законных распо- рядителей счетов и перемещали денежные средства на счета в Финляндии, Рос- сии, Германии, Голландии, Соединенных Штатах, Израиле и Швейцарии. Одни члены преступной группы, например, 28-летний Алексей Лашманов, обеспечи- вали доступ к счетам для приема украденных средств, другие снимали деньги со счетов (см. примечание 6). В конце концов в 1994 году, после пяти месяцев работы, деятельность груп- пы была раскрыта. Последний пакет транзакций на общую сумму в 2,8 миллио- на долларов США был остановлен арестом одного из сообщников в Сан- Франциско, когда тот пытался открыть банковский счет для приема украденных денег. Банку удалось отменить или отозвать практически все сделанные ворами транзакции. Ненайденными оказались только 400 000 долларов. Чтобы не допустить повторения проблемы, Citibank установил у себя счетчико- вую систему с одноразовыми паролями для аутентификации управляющих счета- ми распоряжений. Каждому управляющему счетом было выдано аутентификаци- онное устройство, без которого он не мог выполнить ни одной транзакции. Это сняло и основную проблему с паролями: ничто и никто не мог заставить распоря- дителя счета поделиться сведениями о пароле счета, не отдавая одновременно и устройство аутентификации. Кроме того, система не давала возможности лицам с доверительным доступом к управляющим счетом сообщениям (например, операто- рам системы) перехватывать и повторно использовать пароль счета. Счетчиковое устройство аутентификации имеет внутренний счетчик, который используется для генерации нового пароля каждый раз, когда таковой нужен его владельцу. Обычно владелец нажимает кнопку на передней панели устройства, что вызывает увеличение показания счетчика, и устройство выводит на свой дисплей новое значение пароля (рис. 9.3). Если взломщик перехватит пароль и попытается повторно использовать его, то система не воспримет его в качестве правильного (рис. 9.4). Кроме того, взломщик также не сможет и угадать сле- дующий пароль, анализируя их последовательность: устройство аутентификации вычисляет каждый новый пароль, шифруя показание счетчика и используя при этом базовый секрет в качестве ключа шифрования. Представителем счетчиковых устройств аутентификации является устройство SafeWord компании Secure Computing Corporation. Как показано на рис. 9.5, устройство аутентификации увеличивает показания своего внутреннего счетчика, сводит его со значением базового секрета владельца и генерирует одностороннее хешированное значение. Результат выводится на дисплей устройства. В устрой- стве ActivCard компании PC Dynamics используется вариант подобной методики, который будет рассматриваться в следующем разделе. ГЛАВА 9, УСТРОЙСТВА АУТЕНТИФИКАЦИИ 2)9
1 .Кэтти использует свое устройство аутентификации для получения следующего значения одноразового пароля 2. Кэтти регистрируется 3. Взломщик анализирует с использованием трафик в сети одноразового пароля 4. Сервер Кэтти регистрирует ее зарегистрировался в 1:00 Рис. 9.3. Использование устройства аутентификации с одноразовыми паролями. Кэтти нажимает кнопку на своем устройстве аутентификации по паролю, чтобы вывести на его дисплей следующий одноразовый пароль, и вводит его с клавиатуры в ходе диалога за- проса пароля. Сервер принимает пароль и разрешает вход. Взломщик может перехватить одноразовый пароль, но не сможет им воспользоваться для входа в систему (рис. 9.4). По- казанная здесь карточка представляет собой устройство аутентификации SafeWord Silver 2000 компании Secure Computing Corporation. Взломщик пытается воспользоваться перехваченным одноразовым паролем Кэтти Рис. 9.4. Взломщик пытается воспроизвести запись одноразового пароля. Взломщик средствами активной разведки узнал значение одноразового пароля и пытается использо- вать его, чтобы войти в систему под именем пользователя “сгое”. Сервер воспринимает пароль только один раз, так что атака не удается. Рис. 9.5. Вычисление одноразового пароля с использованием показания счетчика. Владелец нажимает кнопку на устройстве аутентификации. В ответ устройство увеличивает на едини- цу показание внутреннего счетчика, соединяет его с уникальным значением базового секрета владельца и вычисляет односторонний результирующий хеш. После этого устройство фор- матирует полученный результат и выводит на дисплей новый одноразовый пароль. 220 9.3. ОДНОРАЗОВЫЕ ПАРОЛИ
Как именно генерируется односторонний хеш, зависит от конкретного уст- ройства. Как будет описано в разделе 8.5, существует множество способов полу- чения хешированного значения. Например, в устройстве SafeWord для получе- ния каждого нового одноразового пароля в рамках МАС-конструкции использу- ется алгоритм DES с 56-разрядным ключом. Устройство аутентификации на основе одноразовых паролей генерирует пра- вильные пароли только в том случае, если как устройство, так и компьютер- получатель работают с одинаковыми значениям показаний внутреннего счетчика и базового секрета. Первоначально администратор с помощью специального зон- дового контактного устройства вводит эти значения в устройство аутентифика- ции через набор из семи контактов на передней панели. На рис. 9.3 эти контак- ты видны в нижнем правом углу устройства. Административное программное обеспечение SafeWord случайным образом генерирует 56-разрядное значение ба- зового секрета и запоминает его вместе с начальным 20-разрядным показанием счетчика в специальном разделе памяти устройства аутентификации. Кроме начальных паролевых значений (базового секрета и показаний счетчика), программист также может определенным образом сконфигурировать устройство аутентификации. Например, часто устройства выводят пароли в нескольких фор- матах, которые отличаются количеством цифр или применяемым в пароле набо- ром символов. Устройство использует формат, заданный при программировании. Более сложные устройства аутентификации типа карточки SafeWord Platinum (см. рис. 4.3) могут хранить две или более настройки начальных значений счетчика. Это позволяет владельцу устройства регистрироваться в различных системах, ис- пользующих секретные данные такого рода. Для выбора той или иной системы владелец пользуется малой клавиатурой на лицевой стороне карточки. Некоторые устройства аутентификации могут быть запрограммированы таким образом, что перед выдачей одноразового пароля будут требовать ввода PIN-кода. При проектировании счетчиковых систем важным моментом является син- хронизация счетчиков. В идеале владелец устройства аутентификации должен нажимать кнопку вывода пароля (вызывая тем самым приращение показаний счетчика) только при регистрации в системе. В противном случае счетчик уст- ройства увеличивает свои показания на единицу, а состояние счетчика сервера остается неизменным. Это может вызвать несовпадение между сервером и уст- ройством аутентификации. Чтобы возобновить синхронизацию, в большинстве устройств аутентификации предполагается, что человек сразу же попытается снова войти в систему и использует следующий пароль в последовательности. Тогда сервер проверяет пару паролей и удостоверяется, что они могли быть сге- нерированы именно устройством, принадлежащим владельцу. Короче говоря, эта стратегия предусматривает применение паролей двойной длины, которые значительно сложнее случайно угадать взломщику. Сервер сис- темы SafeWord всегда сохраняет предыдущий пароль, полученный им от устрой- ства аутентификации, и, если пользователь пытается войти в систему дважды подряд, то сервер проверяет, действительно ли пара паролей могла бы быть сге- нерирована устройством аутентификации этого пользователя. Для этого сервер увеличивает показания своего счетчика на единицу и сверяет соответствующий пароль с первым неправильным паролем, повторяя так несколько раз и пытаясь обнаружить совпадение. Если совпадение обнаруживается, то сервер снова уве- личивает показания своего счетчика на единицу и сравнивает результат со вто- рым паролем от устройства аутентификации. Если серверу удается найти соот- ветствие между такими двумя последовательными паролями, он аутентифициру- ет пользователя и обновляет состояние своего счетчика в соответствии со значением второго пароля из пары. Производитель утверждает, что процесс спроектирован так, чтобы поддерживать вероятность угадывания ниже, чем один раз на миллион (см. примечание 7). ГЛАВА 9. УСТРОЙСТВА АУТЕНТИФИКАЦИИ 221
Заметим, что вероятность один на миллион дает среднее пространство атаки в 19 бит, и атака должна выполняться в интерактивном режиме. Атаки в авто- номном режиме могли бы выполняться в отношении базового секрета, для чего необходимо исследовать последовательность одноразовых паролей. Взлом 56- разрялншо I ,т,шш алгоритма DES в автономном режиме уже связан со средним пространством чтаки в 54 бита. В устройстве аутентификации ActivCard для восстановления синхронизации внутреннего счетчика устройства со счетчиком сервера используется несколько иная процедура. В каждом сгенерированном устройством ActivCard пароле со- держится значение младшего разряда счетчика. Если это значение не совпадает со значением соответствующего разряда счетчика на сервере, то последний в рамках заданного диапазона значений проверяет более высокое значение счетчи- ка с тем же значением младшего разряда. Если результат проверки положите- лен, сервер успешно аутентифицирует пользователя и обновляет значение своего счетчика. В противном случае аутентификация имеет отрицательный результат, и состояние счетчика остается неизменным (см. примечание 8). Интересной особенностью счетчикового подхода является то, что система плохо функционирует, если изготавливается копия устройства аутентификации, и для регистрации в системе одновременно используется как оригинальное уст- ройство, так и его копия. Отдельные попытки при этом будут неудачными, дру- гие — приведут к ресинхронизации. Хотя некоторое время будут срабатывать оба устройства аутентификации, система не будет работать нормально. В некото- рых случаях можно идентифицировать характерную картину подобных отказов и выявлять дубликаты устройств аутентификации. Одноразовые пароли, генерируемые с помощью часов В устройстве аутентификации SecurlD от компании RSA Security вместо счет- чика используются внутренние часы. Устройства этого типа каждый раз, когда пользователи! нужен новый пароль, генерируют зависящее от времени значение, объединяя показания внутренних часов с 64-разрядным секретным ключом (рис. 9.6), Устройство считывает показания своих внутренних часов, которые от- считывают колш'оство секунд с начала 1986 года. Затем оно вычисляет односто-' ронний хеш, в котором объединены показания часов и базовый секрет владельца’ устройства. Полученный результат выводится на дисплей устройства, и владелец; использует его в качестве пароля для регистрации в системе. ' Считывание показаний синхронизированных чл св находящихся веири устройства аутентификации Форматирование результата под дисплей Использование базового секрета, хранящегося внутри устройства аутентификации Рис. 9.6. Вычисление одноразового пароля, генерируемого на основе показаний часов. Вла-j делец активирует устройство аутентификации. Устройство считывает показания внутрен-1 них часов, объединяет их с уникальным значением базового секрета владельца и вычим ляет результат одностороннего хеширования. После этого устройство форматирует резулм тат и выводит на дисплей значение нового одноразового пароля. Устройство, показанное на рисунке справа, представляет собой недавно выпущенную и продаваемую компанией RSA Security модель SecurlD. 1 222 9.3. ОДНОРАЗОВЫЕ ПАРОЛ1
Сервер выполняет такую же процедуру, объединяя показания собственных часов с копией секретного ключа устройства аутентификации. Чтобы учесть время, требующееся на передачу пароля, а также расхождение в показаниях ча- сов устройства аутентификации и сервера, последний воспринимает любой па- роль, вычисленный со значением времени в пределах устанавливаемого времен- ного окна. В некоторых средах серверное временное окно составляло всего 30 се- кунд, хотя в современных сетеориентированных системах обычно используется трехминутное окно. Технические детали генерации паролей в устройствах SecurlD являются част- ной собственностью компании, но все равно произошла их утечка в сообщество специалистов по компьютерной безопасности, и они стали достоянием широкой общественности. Если предположить, что функция хеширования вычислительно безопасна, то 64-разнрядный ключ должен обеспечивать взломщикам 63-битовое среднее пространство атаки. На момент написания книги в кругу криптографов обсуждались сильные и слабые стороны функции хеширования устройства Se- curlD. Пока не было найдено ни одного слабого места, которое могло бы бросить тень сомнения относительно эффективности этого устройства аутентификации на основе одноразовых паролей. Имеющиеся уязвимые места свойственны всем уст- ройствам аутентификации на основе одноразовых паролей, что будет обсуждать- ся в разделе 9.4 (см. примечание 9). В идеальном мире часовые устройства аутентификации не требовали бы ре- синхронизации, как счетчиковые устройства. В современных системах устройст- ва и серверы SecurlD синхронизируются по универсальному скоординированному времени (Universal Coordinated Time, UCT). Для большинства применений UCT это то же самое, что среднее гринвичское время (Greenwich Mean Time, GMT); хотя между ними и есть незначительные технические отличия, они не влияют на устройства аутентификации. На практике же, однако, встроенные в устройства аутентификации часы неизбежно с течением времени начинают уходить от фак- тического времени UCT. Хотя конструкция позволяет решить эту проблему пу- тем увеличения размера окна, больший размер окна также увеличивает угрозу перехвата и воспроизведения пароля взломщиком. В современных серверах SecurlD реализована стратегия адаптации к уходу ча- сов в отдельных устройствах аутентификации. На сервере имеется информация об уходе часов в каждом устройстве аутентификации; она обновляется при каждом успешном входе в систему с помощью устройства. Если же владелец долго не реги- стрировался в системе и устройство слишком далеко вышло за пределы интервала синхронизации, сервер прибегает к стратегии двухпаролевого восстановления син- хронизации, аналогичной той, что используется в счетчиковых устройствах аутен- тификации. Если первый пароль выпадает из окна синхронизации, то сервер Se- curlD не принимает его, и пользователю приходится предоставить второй пароль. Если оба пароля показывают одинаковое значение коэффициента ухода часов, то аутентификация заканчивается успешно, и сервер обновляет значение коэффици- ента ухода часов устройства аутентификации (см. примечание 10). Интересной особенностью часовых устройств аутентификации является то, что владелец такого устройства теоретически может использовать одно и то же устройство для регистрации на нескольких серверах, находящихся на разных рабочих площадках. Каждому серверу должен быть известен базовый секрет устройства, информация об уходе часов, а в его записях должно иметься имя со- ответствующего пользователя. Тогда сервер сможет аутентифицировать владель- ца устройства, не требуя отдельного аутентификационного устройства или базо- вого секрета. Однако подобная структура облегчает взломщику атаку путем пе- рехвата пароля, посланного к одному серверу, и воспроизведение его для подключения к другому серверу. ГЛАВА 9. УСТРОЙСТВА АУТЕНТИФИКАЦИИ 223
В предыдущем разделе в устройстве аутентификации ActivCard объединяются как счетчик, так и внутренние часы. Устройства этого типа обеспечивают значи- тельно более широкий диапазон значений приращения таймера, чем устройства типа SecurlD; один такт может иметь длительность до часа. Такой подход мог бы приводить к неприемлемо большому размеру окна, в течение которого взломщик мог бы получить данные о пароле и воспроизвести его, если бы только пароль в системе ActivCard не содержал еще и показаний счетчика. В результате в пределах одного такта часов генерируются различные пароли. Каждый однора- зовый пароль, генерируемый устройством ActivCard, содержит восемь десятич- ных цифр. Шесть цифр представляют собой собственно пароль, а две осталь- ные — обеспечивают восстановление синхронизации. Как указывалось в преды- дущем разделе, одна из цифр представляет собой значение младшего разряда счетчика. В качестве второй цифры сервер также ожидает увидеть значение младшего разряд таймера. Сервер использует цифру от таймера для подстройки под уход часов. В устройствах ActivCard используется иная стратегия ресинхронизации, чем в устройствах SecurlD, но она тоже приводит к удлинению пароля без соответст- вующего увеличения степени безопасности. В общем случае, более длинный па- роль должен уменьшать риск успешного угадывания или других атак. Здесь же устройство ActivCard использует две дополнительные цифры для упрощения процедуры ресинхронизации на сервере. 9.4. Атаки на одноразовые пароли Хотя между различными технологиями одноразовых паролей есть некоторые различия, все они сталкиваются с определенными типами атак и для всех суще- ствует риск атак, связанных с перехватом управления прошедшим аутентифика- цию соединением, например перенаправление телефонной линии (атака А-47, описанная в разделе 8.2) или кража IP-адреса (атака А-49, описанная в разделе 8.4). Ниже будут рассмотрены еще две атаки. Первая относится к атакам типа “человек посередине”, когда взломщик вступает во взаимодействие с процессом аутентификации жертвы и затем воспроизводит одноразовый пароль. Вторя представляет собой атаку на IP-соединение, которая приводит к результату, сходному с результатом кражи IP-адреса. Хотя некоторые аналитики опасаются других типов атак, в частности на технологию SecurlD, такие атаки обычно свя- заны с большей сложностью организации, риском и усилиями, чем атаки, опи- санные здесь (см. примечание 11). Атака "человек посередине" При выполнении подобной атаки взломщик прослушивает того, Jit кто пытается зарегистрироваться на сервере с использованием уст- А-56 W ройства аутентификации, генерирующего одноразовые пароли. Взломщик перехватывает посланный одноразовый пароль, разрывает канал свя- зи между человеком и сервером и после этого сам использует пароль для входа в систему. Жертва скорее всего предположит, что причиной проблемы была ошиб- ка в сети и даже не заподозрит, что имела место атака. Человек попытается вой- ти в систему еще раз, и сервер может воспринять эту попытку, если система по- зволяет входить в нее несколько раз в определенный отрезок времени. Если сер- вер отклонит попытку, пользователь по-прежнему может не подозревать о нечестной игре. Тем временем взломщик будет успешно выдавать себя за закон- ного пользователя. 224 9.4. АТАКИ НА ОДНОРАЗОВЫЕ ПАРОЛИ
Подобная атака весьма сложна в организации. Взломщик должен иметь воз- можность контроля над нужным участком сети, чтобы отслеживать трафик жертвы и разрывать канал связи с сервером в нужный момент времени. Атака требует безупречной синхронизации во времени, особенно если жертва использу- ет устройство аутентификации с одноразовыми паролями, генерируемыми с по- мощью внутренних часов. В подобной ситуации асинхронный механизм типа запрос-ответ w (см. главу 10) с точки зрения безопасности имеет преимущество по & сравнению рассматриваемыми в этой главе синхронными устройст- вами аутентификации. Вызов, как правило, ассоциируется с конкретной хост- машиной или соединением в сети, так как предполагается, что он отражает по- пытку установить аутентифицированный сеанс связи. Если тот же пользователь попытается завершить процесс регистрации в системе с другой хост-машины, сервер выдаст новый запрос. Таким образом, взломщик не может перехватить ответ и использовать его для входа в систему из другого места или из другого логического соединения. Следует отметить, что этот механизм не противодейст- вует такой более активной атаке, как кража IP-адреса. 1Р-похищение Первый известный случай атаки, основанной на 1Р-иох;1ще.чии, имел место одновременно с атаками IP-имитации, описанными в этой книге ранее (атака А- 53 в разделе 8.6). Основным элементом IP-похищения является специальное программное обеспечение, которое, будучи установленным в системе, позволяй! взломщику красть установленное соединение. Первая атака, зарегистрированная в канун рождества 1994 года, начиналась с атаки IP-имитации, которая использовалась для передачи в компьютер жертвы “г”-команд. Сымитированные команды давали взломщику достаточно полномо- чий, чтобы ввести в операционную систему жертвы специальное программное обеспечение для выполнения атаки IP-похищения. Подобная атака стала первым широко распространенным и практическим примером атак с похищением соеди- нения (см. примечание 12). IP-похищение выполняется посредством атаки на соединение в Jt одном из его конечных пунктов: когда жертва пытается подклю- л 5 " W читься к другой хост-машине, взломщик крадет соединение со сто- роны машины жертвы. Программа для похищения инсталлируется как часть операционной системы и выполняется процессором, работающим в привилегиро- ванном режиме. После этого программа похищения позволяет взломщику брать на себя управление любым установленным на текущий момент соединением. Идеальный случай для взломщика, когда таким соединением является Telnet- соединение с командной оболочкой либо другое подобное соединение, установ- ленное с помощью “г”-команды. Защититься от IP-похищений достаточно сложно. Взломщик pa- 'S ботает с программным обеспечением, которое становится частью & операционной системы, и это осложняет его блокирование, которое возможно только после обнаружения присутствия такой программы в систе,ме. Отсюда вытекает основной способ защиты: проверка целостности операционной системы хост-машины на предмет присутствия подозрительного программного обеспечения. Хорошо известным пакетом для контроля целостности критически важных файлов компьютера является разработанный в Пердью пакет Tripwire (см. примечание 13). Когда писалась эта книга, программное обеспечения для выполнения IP- похищений существовало только для ОС UNIX. Не ясно, в отношении каких ГЛАВА 9. УСТРОЙСТВА АУТЕНТИФИКАЦИИ 225
систем могут быть использованы существующие скрипты атаки и насколько лег- ко эти скрипты могут быть приспособлены для выполнения атак на другие (не ориентированные на UNIX) системы. Поэтому, хотя подобная атака, так сказать, имеется в арсенале и в некотором смысле обычна, в действительности она не слишком распространена. 9.5. Введение PIN-кодовов Общая проблема с устройствами аутентификации состоит в том, что они могут быть украдены и использованы в преступных целях. А-58 9 Многие знакомы с этим в контексте мер предохранения от кражи автомобиля: запирайте автомобиль и не оставляйте ключи. Оставленное без при- смотра устройство аутентификации может представлять собой слишком большой соблазн, даже если открытая кража маловероятна. Общим решением этой проблемы является персональный иденти- > фикационный номер, или PIN-код. Многие знакомы с PIN-кодами, так как они используются практически во всех банкоматах. PIN-код подобен паролю многократного использования, но почти всегда применяется в качестве элемента двухфакторного механизма аутентификации: PIN-код пред- ставляет собой “то, что мы знаем”, тогда как генерирующее пароли устройство аутентификации или карточка для банкомата являются “тем, что у нас есть”. Как правило, любое устройство аутентификации с клавиатурой может быть сконфигурировано так, что для генерации одноразового пароля придется сначала ввести PIN-код (см. примечание 14). Хотя некоторые системы допускают использование более длинных PIN-кодов, многие из них ограничены по длине четырьмя десятичными цифрами. Это озна- чает, что целеустремленные взломщики смогут угадать значение PIN-a путем систематического перебора всех возможных значений. Иногда для увеличения шансов угадывания правильного значения взломщик может использовать и культурологическую информацию, особенно в тех случаях, когда пользователям разрешается самим выбирать значение PIN-кодов. Некоторые системы уязвимы для более сложных атак угадывания, если используемые ими PIN-коды основы- ваются на определенных математических отношениях с процессом аутентифика- ции (см. примечание 15). Далее будут описаны три методики реализации PIN-кодов: PIN-код как до- полнение к внешнему паролю, PIN-код как внутренний пароль и PIN-код как часть базового секрета. Если целью является предотвращение возможности уга- дывания взломщиками значения PIN-кода, то вторая и третья методики — более предпочтительны. Согласно второму методу, PIN-код используется в качестве пароля, дающего доступ к устройству аутентификации. В третьем методе PIN- код используется для генерации базового секрета и детектирования наличия процесса угадывания на сервере. PIN-код как дополнение к внешнему паролю При этом подходе PIN-код объединяется с другой информацией, например с ге- нерируемым устройством аутентификации одноразовым паролем, и все вместе по- сылается удаленной системе в качестве внешнего пароля. Такой вариант реализа- ции PIN-кода также называют программным PIN-кодом, поскольку он работает с устройствами аутентификации, которые не имеют клавиатуры. Получая запрос о вводе пароля и имея устройство аутентификации, пользователь набирает на кла- виатуре своей рабочей станции значение пароля, высвечиваемое на экране устрой- 226 9.5. ВВЕДЕНИЕ PIN-КОДОВОВ
ства, а затем — PIN для этого устройства. Такой подход используется в устройст- вах типа SecurlD и в устройствах других производителей, чтобы реализовать меха- низм PIN-a с устройствами аутентификации, в которых нет клавиатуры. Такой подход не дает взломщикам возможности воспользоваться украденным устройством аутентификации, а также PIN-ом, который им удастся перехватить при анализе трафика аутентификации. Однако существует риск, что взломщику удастся узнать конкретный PIN-код (или все PIN-коды, используемые сервером) и украсть соответствующее устройство аутентификации. Это достаточно сложная атака, так как подразумевает комбинацию физической атаки и атаки методом активной раз- ведки. Для некоторых систем это приемлемый риск взамен более низкой стоимости устройств аутентификации, в которых отсутствует собственная клавиатура. PIN-код как внутренний пароль На рис. 9.7 показано, как используется PIN-код в качестве пароля для полу- чения доступа к устройству аутентификации. В данном случае PIN-код называ- ется внутренним паролем, поскольку вводится с клавиатуры непосредственно в устройство и виден только устройству. Предоставление неправильных значений PIN-кодов либо деактивирует устройство аутентификации, либо вводит задерж- ки. Если значение PIN-кода хранится в устройстве, то оно может обнаружить неправильные PIN-коды и попытаться помешать атаке угадывания. Реализованные подобным образом PIN-коды могут также служить основой для генерации сигнала работы под принуждением (см. раздел 1.4). Например, многие устройства типа SafeWord будут считать вводимый PIN-код сигналом ра- боты по принуждению, если последняя вводимая цифра меньше, чем в правиль- ном PIN-коде пользователя. В этом случае одноразовый пароль, сгенерирован- ный по принуждению, просигнализирует серверу, что пользователь входит в сис- тему не добровольно. Подобный подход предоставляет гибкие возможности для реализации способов интерпретации сигнала работы по принуждению: сигнал может, например, просто слегка менять процесс генерации пароля или приво- дить к выбору другого базового секрета, или даже вызывать посылку определен- ного ответа (см. примечание 16). Считывание показаний часов или счетчика, встроенных хранящийся в устройстве аутентификации в устройство аутентификации t’uc. 9.7. Использование PIN-кода для разблокирования устройства аутентификации. Во многих устройствах PIN-код используется для того, чтобы активировать процесс вычис- 'ления одноразового пароля. Устройство аутентификации сравнивает вводимый в него PIN- код с внутренней копией. Если повторные вводы значения PIN-кода неправильны, то уст- ройство принимает меры для сопротивления атаке угадывания PIN-кода. ГЛАВА 9. УСТРОЙСТВА АУТЕНТИФИКАЦИИ 227
Вероятно, PIN-код, используемый в качестве сигнала работы по принужде- нию, безопаснее обрабатывать внутри устройства, а не посылать его вместе с внешним паролем. В последнем случае взломщики, вероятно, уже знают закон- ное значение PIN-кода жертвы, и использование служащего в качестве сигнала работы по принуждению PIN-кода будет рискованным. Очевидной стратегией противодействия атаке угадывания являет- w ся отключение устройства аутентификации после определенного ко- личеетва попыток. После отключения администратор системы дол- "° жен перепрограммировать устройство. До этого устройство не позволит владель- цу входить в систему. Устройства типа SafeWord, например, могут быть сконфи- гурированы так. что самоотключаются после ввода от трех до пятнадцати непра- вильных значений PIN-кода. Однако подобная стратегия создает неудобства пользователям системы. Сле- дует помнить, что механизмы одноразовых паролей значительно более сложны, чем системы на основе традиционных паролей многократного использования, и это увеличивает вероятность ошибок при пользовании. Из-за повышенной слож- ности вероятность того, что пользователи столкнутся с проблемами, которые трудно диагностировать, гораздо больше. Это, в свою очередь, увеличивает веро- ятность того, что кто-то наберет неправильное значение PIN-кода, столкнувшись с проблемами при входе в систему. Противостоять атаке угадывания можно также, увеличивая время W сообщения лицу о вводе неправильного значения PIN-кода после каж- & дого неправильного ввода. Это вполне целесообразно для аппаратно реализованных устройств аутентификации, поскольку здесь цель состоит в том, чтобы не дать взломщику возможности воспользоваться устройством аутентифи- кации до того момента, пока законный пользователь не сообщит о его пропаже. Увеличение задержки снижает риск неправомерного использования без необходи- мости полного блокирования устройства. Если неправильные PIN-коды были на самом деле ошибками законного владельца устройства, то увеличение задержки — менее болезненная мера защиты, чем альтернативное ей полное отключение уст- ройства. Эго особенно справедливо, если устройство обеспечивает аутентификацию пользователю, находящемуся в поездке: было бы чрезвычайно сложно организо- вать перепрограммирование устройства, если его владелец путешествует. Эти две стратегии хорошо подходят для реализации в специальных аппарат- ных устройствах аутентификации, подобных тем, что показаны на рис. 9.1. Од- нако методика не так безопасна, если средства аутентификации на основе одно- разовых паролей реализуются программно, как это описывается в разделе 10.3. Если такое программное устройство аутентификации способно оценивать пра- вильность PIN-кода само но себе без подключения к отдельному серверу, то в ; гаком программном устройстве заключено достаточно информации для взлом- ' щика, чтобы раскрыть значения PIN-кода. Взломщик может проанализировать персональные данные в программном устройстве и определить значение PIN- ] кода. Исследователи в области компьютерной защиты продемонстрировали это ; на практике (см. примечание 17). Опытный разработчик программных устройств аутентификации, конечно, ( предпримет определенные шаги для противостояния такой атаке, но эти шаги не могут обезопасить на продолжительный период времени. Например, программное : устройство аутентификации может хранить значение PIN-кода в хешированной форме и также использовать его правильное значение для кодирования базового секрета. Но взломщик может быстро предпринять атаку на хешированный PIN- код, так как большинство PIN-кодов имеют длину всего в несколько цифр. На те- кущий момент пока никто не сообщал о существовании программного обеспечения для взлома PIN-кодов для осуществления подобной атаки. Однако риск такого ро- да атаки на программные устройства аутентификации остается вполне реальным. 228 9.5. ВВЕДЕНИЕ PIN-КОДОВОВ
PIN-код как часть базового секрета Третий подход в работе с PIN-кодами состоит во вводе PIN-кода в базовый секрет. Этот подход (рис. 9.8) решает проблему, стоящую перед программными устройствами аутентификации. Устройство не v Я D61 хранит в себе копию значения PIN-кода. Фактически, оно даже не хранит пол- ную копию базового секрета — настоящее значение базового секрета строится из комбинации PIN-кода и части базового секрета, находящегося в устройстве. Ес- ли взломщик неправильно угадывает PIN-код, то генерируется неправильный базовый секрет. Ошибка никак не проявляется до тех пор, пока он реально не попытается войти в сервер, который в этот момент обнаруживает ее и заносит в журнал неправильное значение одноразового пароля. Взломщик не имеет1 воз- можности проверить правильность PIN-кода на основе информации, находящей- ся в программном устройстве аутентификации. Он должен попытаться зарегист- рироваться в службе, а это будет зафиксировано в записи. Сильной стороной последнего метода является то, что взломщик л» вынужден заходить на сервер для проверки правильности значения Д-61 ЧР PIN-кода. Это позволяет обнаружить атаку, идентифицировать ее и оказать сопротивление. К сожалению, у атакующей стороны есть не то лько этот единственный способ проверки правильности угадывания значения PIN-кода. Перехватив несколько законных одноразовых паролей от нужного программного устройства аутентификации, взломщик сможет воспользоваться этими паролями для проверки правильности своих попыток угадывания PIN-кода. К счастью, это достаточно сложная атака: взломщик должен снять копию программного уст- ройства аутентификации жертвы и перехватить несколько сеансов использова- ния этого устройства. Кроме того, необходима программа, которая проверит ка- ждое возможное значение PIN-кода совместно с персональными данными из уст- ройства, чтобы убедиться, что генерируются значения паролей, совпадающие с перехваченными. Теоретически это возможно, но требует огромной работы со стороны взломщика. Кроме того, каждый производитель использует в своих программных устройствах аутентификации различные стратегии генерирования паролей и защиты данных. Успешная атака на изделие одного производителя не может быть повторена с изделиями других производителей. Ввод значения PIN-кода Построение базового секрета М 2’ Ш «£«*£?** if $8 & -А »Л ‘ Считывание показаний часов или счетчика, встроенных в устройство аутентификации Основная часть базового секрета хранится в устройстве аутентификации Форматирование результата под дисплей '. 9.8. Базовый секрет, частично выводимый на основе значения PLN-кода. Устройство ентификации не содержит копии PIN-кода в какой-либо форме и не может обнаружь - ь ввод неправильных значений PIN-кодов. Оно только генерирует правильный базовый рет, если владелец предоставляет правильное значение PfN-кода. Если же владелец дит неправильный PIN-код, то он получает недостоверный пароль и не может зареги- ироваться в системе. Это помогает серверу обнаружить попытку совершения атаки дывания PIN-кода. ГЛАВА 9. УСТРОЙСТВА АУТЕНТИФИКАЦИИ 229
В качестве части базового секрета можно также реализовать и PIN-код рабо- ты по принуждению. Однако в этом случае устройство аутентификации не опре-| делит, что был использован PIN-код работы по принуждению. Такой PIN-код | будет изменять результаты шифрования, и сервер сам должен будет проверять,! не является ли неправильный пароль сигналом работы по принуждению. | PIN-коды не являются паролями: они никогда не предназначались для сопро-] тивления продолжительным атакам. Их назначение состоит в совместном ис-| пользовании со специальными аппаратными средствами для снижения риска,] связанного с кражей устройства аутентификации. Аппаратно реализованные] устройства аутентификации или аппаратные элементы банкоматов защищают PIN-коды от кражи и системно построенных атак. Уязвимы PIN-коды при ис- пользовании в менее защищенных средах. 9.6. Первичная регистрация пользователей Первичная регистрация пользователей — это процесс информирования систе- ] мы аутентификации о тех людях, которых система будет аутентифицировать, i Если для аутентификации используются специализированные устройства, то j система должна уметь связывать их с определенными людьми, а также связы-! вать устройства с находящимися в них базовыми секретами. Таким образом, ] первичная регистрация включает в себя два различных вида деятельности: про- i граммирование устройств аутентификации и управление пользователями. Фак- i тически, подобное разделение просматривается во многих изделиях. Большинст- ' во изготовителей поставляет прикладное программное обеспечение для програм- ! мирования устройств аутентификации, которое генерирует базовые секреты, заносит их в устройства и экспортирует таблицу записей о новых пользователях i для импорта в серверное программное обеспечение аутентификации. Программирование устройства аутентификации в общем случае требует вы- ’ полнения следующих шагов. ; 1. Запрос у оператора заводского номера устройства и имени пользователя • владельца. 2. Генерация случайного числа для использования в качестве базового секрета. 3. Генерация случайного числа для использования в качестве PIN-кода, если устройство использует PIN-код. 4. Программирование устройства с использованием этой информации. 5. Формирование записи в базе данных, содержащей имя пользователя, заво-; декой номер устройства аутентификации и базовый секрет для интерак- тивной аутентификации. Значение PIN-кода в этой базе быть не должно, i 6. Если устройство использует PIN-код, то для каждого устройства аутенти- фикации распечатывается отдельный “PIN-пасспорт”, в котором указыва-1 ется имя пользователя, заводской номер устройства и значение его исход- i ного PIN-кода. В случае использования приложений, требующих высокого j уровня защиты, PIN-пасспорт распечатывается на специальном бланке, j который не позволяет увидеть значение PIN-кода до того момента, пока не будет разделен и открыт. . По завершении оператором программирования группы устройств аутентифика- ции программное обеспечение программирования экспортирует базу данных, со- держащую информацию обо всех запрограммированных устройствах. Теперь one- j ратор должен экспортировать эту базу данных на сервер. После установки данных; вновь запрограммированные устройства аутентификации можно использовать. i 230 9.6. ПЕРВИЧНАЯ РЕГИСТРАЦИЯ ПОЛЬЗОВАТЕЛЕЙ
Программное обеспечения для программирования содержит все необходимые процедуры для общения с программатором устройств аутентификации (рис. 9.9). Каждая марка устройства имеет свои электрические характеристики и правила программирования. Программное обеспечение программирования форматирует данные так, как это необходимо для программирования устройства, и передает их программатору. Хотя администраторам обычно доверяют, в некоторых случаях jfc владелец должен учитывать риск неправомерного использования А-62 9 системы программирования карточек. К примеру, банк совсем не за- интересован, чтобы его сотрудники делали себе копии кредитных карточек кли- ентов в комплекте со значением PIN-кода, но, как было показано в разделе 9.1, такие вещи случались. Нечестный администратор может послужить причиной серьезных проблем с системой аутентификации на основе аппаратных устройств аутентификации. Если в распоряжении администратора есть несколько пустых устройств, он может запрограммировать их и обойти защиту сервера. Совершен- но очевидно, что он способен создать вымышленных новых пользователей и вы- дать устройства аутентификации на их имя. Он также может запрограммировать пустые устройства таким образом, чтобы они копировали существующие устрой- ства, принадлежащие авторизованным пользователям, что позволит администра- тору успешно выдавать себя за этих пользователей. Рис. 9.9. Программатор для устройств аутентификации. В специальный паз на верхней \ поверхности этого программирующего устройства, или инициализатора, вставляется уст- ройство аутентификации. Внутри программатора имеются зонды, которые соприкасаются с набором контактных площадок на карточке. Каждая карточка должна программиро- ваться индивидуально. В процессе программирования в устройство аутентификации за- ,-гружается базовый секрет, кроме того, оно программируется на особые для этого сервера . Характеристики, например заносится предпочтительный способ форматирования пароля. На фотографии показан достаточно старый программатор для программирования карточек CryptoCard. ГЛАВА 9. УСТРОЙСТВА АУТЕНТИФИКАЦИИ 231
Программирование карточек разделяется на две или более от- W дельны^ технологические операции, то есть необходимо, чтобы в D 62 процессе добавления новых устройств аутентификации в систему участвовало по крайней мере два разных человека. Ниже приведены операции, которые в процессе программировании устройств аутентификации должны вы- полняться отдельно. Эти операции обычно выполняются разными людьми. Не- которые из операций определяются техническими особенностями поставляемого производителем программного обеспечения для программирования устройств ау- тентификации. На практике изделия разных производителей обеспечивают раз- личные возможности для разделения сфер ответственности, и эти возможности могут меняться от одной версии продукта к другой. Вот несколько примеров операций, которые должны выполняться раздельно. я Следует назначать одного человека для ведения учета неиспользованных устройств аутентификации и другого — для выполнения собственно про- граммирования. Необходимо требовать строго учета всех использованных устройств аутентификации. Это усложнит незаметное изготовление фаль- шивых карточек. я Следует назначать одного человека для программирования устройств ау- тентификации и другого — для импортирования на сервер списка новых пользователей. Это не даст возможности одному человеку незаметно поро- ждать новых пользователей. Для программирования карточек следует использовать программное обес- печение, которое обеспечивает строгое протоколирование каждого случая программирования карточки. Лучше всего, если программное обеспечение может извлекать и регистрировать заводской номер каждого устройства аутентификации. Протоколирование должно выполняться каждый раз, ко- гда программа экспортирует список новых запрограммированных уст- ройств аутентификации. и Программное обеспечения для программирования не должно раскрывать генерируемые им значения базовых секретов. Если такое программное обеспечение генерирует экспортный файл, который должен быть перенесен на другой компьютер, то значения базовых секретов должны шифроваться или скрываться иным способом. Например, в паролевой системе S/Key ис- пользуется одностороннее хеширование. я Программное обеспечение для программирования должно защищать жур- нал программирования от модификаций. Это может быть криптографиче- ское хеширование, если журнал пересылается между компьютерами. Разделение ответственности не является идеальным решением. Не каждый компьютерный центр может позволить себе связанные с таким решением затраты времени и усилий. Кроме того, этому сопутствуют определенные неудобства в ра- боте. Обычно к таким мерам прибегают после того, как пострадают от взлома за- щиты, и сюимость убытков достаточно велика, чтобы оправдать затраты на по- добные меры. Финансовые организации обычно организуют весьма сложные про- цедуры, гарантирующие разделение ответственности при генерации PIN-кодов, но это стало следствием многолетнего и дорогостоящего опыта мошенничеств с PIN- кодами. 232 9.6. ПЕРВИЧНАЯ РЕГИСТРАЦИЯ ПОЛЬЗОВАТЕЛЕЙ
9.7. Сводные таблицы Таблица 9.1. Сводная таблица атак Атака Проблема системы защиты Уровень распространенности Описание атаки А-54 Активная разведка сетевых паролей Маскировка под другого человека Обычная Осуществляв 1Ся мониторинг трафика в сетевом канале связи с целью перехвата паролей в виде открытого текста и их последующего использования А-55 Использование эквивалента пароля Маскировка под другого человека Обычная Перехватывается хешированный и ли другим образом закодированный пароль, который затем используется в поддельных сетевых сообщениях там, где ожидается получение хешированных, а не вводимых с клавиатуры, паролей А-56 Перехват и воспроизведение Маскировка под другого человека Сложная Перехватывается одноразовый пароль и воспроизводится с одновременным блокированием успешного входа в систему законного пользователя А-57 IP-похищение Маскировка под другого человека Обычная или сложная Перехватывается установленное соединение и переключается на программу, управляемую взломщиком А-58 Кража устройства аутентификации Маскировка под другого человека Физическая Похищаемся устройство аутентификации при- надлежащее авторизованному пользователю А-59 Угадывание PIN- кода Маскировка под другого человека Простая Похищаемся устройстве аутентификации и затем вручную эсущесть'теи.я персоор асет возможных значений PIN- кода А-60 Извлечение значения PIN-кода из программного устройства аутентификации Маскировка под другого человека Сложная Копируется программное уст ройствс аутентификации жертвы, анализирует« сто содержание на предмет идентитЬикации зашифрованного значения PIN-кода осуществляется атака с поименснием грубой силы для получения значения PiN кода, после чего это значение используется вм«:тс программным устройством аугетпифнсив’/ А-61 Проверка PIN- кода на перехваченных паролях Маскировка под другого человека Сложная Перехватывается несколько значений одно- разовых паролей жертвы, копируется програм- мное устройство аутентификадаи жетдты. из впекается частичный базовый секрет, .зашиф- рованный с помощью PIN кода, и выполняется его прямой силовой анализ с целью определения значения PIN кеда, которое дает совпадающие с перехваченными пзретти, ттткле чего PIN используется для входа в систему А-62 Нечестный администратор устройств аутентификации Маскировка под другого человека Простая Доверенное лицо, осуществляющее программирование устройсгв аугегп ификации, программирует дополнительные ус роист вз, используемые затем для проникновения в законные счгяа ГЛАВА 9. УСТРОЙСТВА АУТЕНТИФИКАЦИИ 233
Таблица 9.2. Сводная таблица методов защиты Защита "3 Срываемые атаки Описание D-54 Зашифрованный пароль А-54 Активная разведка сетевых паролей Если пароль должен проходить по сетям общественного пользования или другим сетям с низким уровнем доверия, то он шифруется или хешируется D-55 Устройство А-54 Активная разведка сетевых Новый пароль генерируется при каждой попытке аутентификации с одноразовыми паролей входа в систему. Взломщик не может войти в паролями А-55 Использование эквивалента пароля А-61 Проверка PIN-кода на перехваченных паролях систему, перехватывая и повторно используя пароль, так как он работает только один раз D-56 Одноразовый пароли, работающие на принципе запрос-ответ А-56 Перехват и воспроизведение Используются одноразовые пароли, работающие по принципу запрос-ответ, а не синхронные одноразовые пароли D-57 Проверка целостности ОС хост-машины А-57 IP-похищение Осуществляет проверка программной составляющей ОС на предмет ее модификации с целью ввода программного обеспечения подрывного характера D-58 PIN-коды в устройствах А-58 Кража устройства Для того чтобы устройство аутентификации аутентификации аутентификации сгенерировало одноразовый пароль, от владельца требуется ввести PIN-код D-59 Блокирование после ввода неправильных значений PIN-кода А-59 Угадывание PIN-кода Устройство аутентификации отключается после того, как пользователь вводит слишком много неправильных значений PIN-кода, так что у взломщика нет возможности получить значение PIN-кода путем атаки методом полного перебора D-60 Увеличение задержки для каждого ввода неправильного значения PIN-кода А-59 Угадывание PIN-кода Если вводится неправильное значение PIN-кода, то следующая попытка воспринимается с уже с некоторой задержкой. Эта задержка увеличивается с каждым вводом неправильного значения PIN-кода D-61 PIN-код формирует часть А-59 Угадывание PIN-кода PIN-код вставляется в базовый секрет, так что базового секрета устройства А-60 Извлечение значения PIN- устройство аутентификации не будет содержать в аутентификации кода из программного устройства аутентификации себе правильного значения базового секрета, несли не будет введено правильное значение PIN- кода. Устройство не обнаруживает неправильное значение PIN-кода D-62 Разделение А-62 Нечестный администратор В процессе программирования и активирования ответственности при программировании устройств аутентификации устройств аутентификации устройств аутентификации требуется участие двух или более человек 234 9.7. СВОДНЫЕ ТАБЛИЦЫ
ГЛАВА 10 Пароли, генерируемые по принципу "запрос-ответ" Президент Скруб: -1-2-3-4-5? Вот здорово! На моем чемодане точно такая же комбинация! — Мел Брукс и др. Космобол В этой главе... Рассматривается механизм аутентификации с помощью одноразовых паролей, согласно которому пользователь должен ответить на запрос от механизма аутен- тификации. Выполнение ответа механизируется различными способами. Эволюция аутентификации по принципу "запрос-ответ” Реализация механизма "запрос-ответ" в стандарте Х9.9 и в системе S/Key Аутентификация в Microsoft LAN Manager Аутентификация в Microsoft Windows NT LAN Manager 10.1. Принцип "запрос-ответ" В 1979 году был самый разгар “революции персональных компьютеров”, и вниманию энтузиастов предлагались все новые и новые изделия. Хотя многие компьютеры были в основном ориентированы на “железячников” и поставлялись в виде сборных конструкторов, последние модели уже предназначались людям, увлекающимся программированием. Такие компьютеры, как например Apple II и TRS-80, поставлялись в собранном виде и готовыми для включения, при этом они снабжались чрезвычайно простыми, но вполне годными для использования инструментальными средствами для разработки программного обеспечения. Соз- данный в компании Tandy и продававшийся через ее сеть магазинов Radio Shack компьютер TRS-80 (отсюда и аббревиатура “TRS”) привлек внимание инженера Боба Бозена (Bob Bosen). В свободное время Бозен написал для компьютера TRS-80 игру “80 космиче- ских рейдеров” и начал рекламировать ее, пытаясь продавать через сеть магази- нов для радиолюбителей. В те времена многие радиолюбители считали про- граммное пиратство обычным делом и даже моральным долгом, поэтому Бозен вставил в игру механизм защиты от копирования. Как оказалось, выручка от продаж игры едва покрыла счета за рекламу, хотя сама игра получила положи- тельные отклики и была неплохо встречена потребителями (см. примечание 1). Защита от копирования Бозена включала в себя механизм, работавший по принципу "запрос-ответ". При запуске игры, на экран выводилось случайным об- разом выбираемое число — запрос. Владелец игры должен был найти это число в
поставляемой вместо с игрой таблице и ввести соответствующий ответ. Програм- ма игры проверяла ответ на соответствие вызову. Таким образом, для того, чтобы играть, необходимо было иметь экземпляр таблицы. Бозеном были также пред- приняты меоы для усложнения копирования таблицы: он печатал ее на красной бумаге и прикреплял к боковой стороне упаковочной коробки для игры Сама игра не имела настоящего коммерческого успеха, но возникла мысль ис- пользовать схему защиты от копирования для аутентификации пользователей в системах с разделением времени и мэйнфреймах. Бозен ухватился за эту идею и основал компанию Enigma Logic, Inc. по производству устройств аутентификации SafeWord, использовавших принцип ”запрос ответ". В 1982-83 годах Бозеном были поданы заявки на патент на подобные устройства аутентификации. Британ- ский патент был выдан в 1986 году, но заявка на патент США столкнулась с про- должительными и необъяснимыми проволочками, и патент так и не был выдан. Аутентификация по принципу "запрос ответ” работает точно так же, как и механизм защиты от копирования в игре "80 космических рейдеров"-, система выводит на экран число, называемое запросом, или специальным словом, и че- ловек должен предоставить соответствующий ответ. Однако сегодня в большин- стве систем для вычисления ответа используются не печатные таблицы, а функ- ции одностороннего преобразования. Часто пользователи генерируют ответы на аутентификационные запросы, вычисляя значения функции одностороннего пре- образования на специальном калькуляторе: устройстве генерации паролей аутен- тификации. На сегодня имеется несколько коммерчески выпускаемых устройств аутентификации, которые поддерживают механизм аутентификации по принци- пу "запрос-ответ”, включая SafeWord, WatchWord, ActivCard и CryptoCard. Часто устройства аутентификации, использующие принцип "запрос-ответ", называют псинсрочными, в отличие от синхронных устройств, которые рассмат- ривались в главе 9. В принииие можно сказать, что синхронные устройства ау- тентификации тоже являются устройствами, работающими с использованием оринципг "запрос ответ", только запрос предсказуем и генерируется автомати- чески устройством аутентификации и сервером. Синхронные они потому, что сервер и устройство аутентификации должны оставаться синхронизированными относительно генерируемых ими вызовов. Б последнее время многими для автоматического выполнения аутентифика- ции по методу ”запрос-ответ” используется устанавливаемое на рабочих стан- циях клиентское программное обеспечение. Большинство изготовителей выпус- кают программные версии своих устройств аутентификации; компания Microsoft также использует такой метод для аутентификации на своем сетевом сервере, что будет рассмотрено далее в этой главе. На pnclO.l проиллюстрирована работа системы, основанной на принципе "за- прос-ответ". Чтобы зарегистрироваться на сервере. Кэтти сообщает системе свое имя пользователя (“croe"’). Сервер генерирует запрос (“493076”) и посылает его Ктгти Она вводит этот запрос в устройство аутентификации, которое генерирует прапи.'|ып-1й одноразовый пароль (“319274”), посылаемый назад в качестве отве- та. Сервер ищет у себя значение базового секрета Кэтти и использует его для вычисления ответа, который должен соответствовать запросу. Если вычисленный сервером результат совпадает с ответом Кэтти, ей разрешается вход в систему. Основным преимуществом механизма "запрос-ответ" является то, что серверу ие надо поддерживать синхронизацию с устройствами аутентификации пользова- телей. Генерация каждый раз случайного значения запроса сводить к минимуму возможность использования ранее сгенерированных паролей для регистрации в системе в .дальнейшем. Отсутствует также необходимость в счетчиках или тай- мерах. С другой стороны, при использовании устройств аутентификации, рабо- тающих .ча принципе "запрос-ответ", пользователям необходимо набирать на кэавиетуре дополнительные числа. 236 1G. 1. ПРИНЦИП "ЗАПРОС-ОТВЕТ"
1. Кэпи вводит с клавиатуры пароль 3. Кэпи использует запрос для вычисления одноразового пароля 2 Сервер r?nepi!p,'C'i и регистрирует Кэпи * П о л ь з о а а т е л ь сгое зарегистрировался г 1.00 Рис. 10.1. Генерирование пароля в системе, использующей механизм "запрос-ответ" Сер- вер посылает Кэтти случайное число. Для вычисления правильного отпета на этот запрос она использует устройство генерации одноразовых паролей. Правильный ответ зависит значения ее базового секрета. Если она имеет правильное значение базового сечрета, то со- ответ совпадет с тем ответом, который ожидается сервером. После этого сервер разре-иит ей вход в систему. Пароль: 319274 4. В ответ на запрос Кэпи вводит одноразовый пароль Механизм "запрос-ответ" и протокол Х9.9 В отличие от часовых или счетчиковых систем, механизм аутентификации по принципу "запрос-ответ" относится к открытым стандартам. Это облегчает прз верку подобных изделий специалистами по компьютерной безопасности и позво- ляет более точно оценить обеспечиваемый ими уровень защиты. Кроме того, от- крытые стандарты обеспечивают возможность взаимодействия изделий от раз личных изготовителей. Правительством США и Ассоциацией американских банкиров были выпуше- ны совместимые стандарты на аутентификацию данных FIPS 113 и Х9.9. В этих стандартах в качестве функции одностороннего хеширования предусматривалось использование алгоритма DES. На рис. 10.2 показан вариант такой аутентифи- кации, при которой одноразовый пароль ответа аутентифицирует запрос в форме случайного числа. Большинство устройств аутентификации, работающих с ис- пользованием принципа "запрос-ответ", включая SafeWord, ActivCard, Crypto- Card и WatchWord, обеспечивают по крайней мере один режим, совместимый со стандартом Х9.9 (см. примечание 2). Показанный на рис. 10.2 процесс генерации пароля весьма похож на син- хронный процесс, описанный в разделе 9.3. Устройства аутентификации, ис- пользующие принцип "запрос-ответ", в общем работают точно так же, как и ча- совые или счетчиковые устройства. И в тех, и в других для генерации одноразо вого пароля используется базовый секрет плюс переменные данные, только в первых, вместо показаний часов или счетчика, в качестве переменных данных используется запрос. Суть работы в соответствии со стандартом Х9.9 показана на рисунке: DES-алгоритм воспринимает в качестве входных данных запрос и шиф- рует его, используя в качестве ключа шифрования базовый секрет. Чтобы запрос имел вид полного 64-битового блока данных, который требуется для работы ал- горитма DES, он дополняется нулями. Ответ же в системах большинства произ- водителей усекается с тем, чтобы он подходил под формат дисплея гшпэ ратного устройства аутентификации или соответствовал принятой для него длине. ГЛАВА 10. ПАРОЛИ, ГЕНЕРИРУЕМЫЕ ПО ПРИНЦИПУ "ЗАПРОС-ОГВЕТ 23?
В табл. 10.1 сравнивается среднее пространство атаки для аутентификации по методу "запрос-ответ" в соответствии со стандартом ANSI Х9.9 с величинами сред- него пространства атаки для других методов аутентификации, рассмотренных в предыдущих главах. Под интерактивными понимаются такие атаки, в процессе которых осуществляется прямое взаимодействие с механизмом аутентификации; обычно это замедляет атаку и дает шанс для ее обнаружения. Автономные атаки представляют собой выполняемые на автономном компьютере атаки по методу проб и ошибок, которые не обнаруживаются мишенью самой атаки. С точки зрения защиты преимуществом паролей на основании запроса — от- вета является то, что каждый пароль связан с конкретной попыткой владельца зарегистрироваться в системе. Если по какой-либо причине попытка оказывается неудачной (например, происходит потеря соединения), то процесс аутентифика- ции начнется с генерации нового запроса. Это снижает риск перехвата и исполь- зования одноразового пароля атакующей стороной (атака А-56 в разделе 9.4). Система аутентификации S/Key S/Key — это система на основе одноразовых паролей, которая была разрабо- тана в Беллкоре в начале 1990-х годов в качестве методики регистрации для UNIX-систем. Техническая концепция была впервые предложена Лесли Лэмпор- том (Leslie Lamport) и опубликована в 1981 году. В отличие от других методик Рис. 10.2. Аутентификация на основе принципа "запрос-ответ". Базовый секрет хранит- ся внутри устройства аутентификации. Владелец вводит запрос. Устройство вычисляет одноразовый пароль ответа путем шифрования запроса с использованием базового секрета в качестве ключа шифрования. Для верификации ответа на сервере используется такой же процесс. Таблица 10.1. Паролевые устройства аутентификации и среднее пространство атаки Пример Способ атаки Среднее пространство атаки Биометрическая система с “однопроцентным" FAR (1 из 100) Интерактивный 6 бит Четырехзначный PIN Интерактивный 13 бит Биометрическая система с FAR 1 из 100 000 Интерактивный 16 бит ANSI Х9.9-устройство аутентификации с шестизначным ответом Интерактивный 19 бит Устройство аутентификации с генерацией одноразового пароля Интерактивный 19 бит ' Лично выбираемый 8-символьный пароль Автономный 22,7 бита ’ 1 ANSI Х9.9-устройство аутентификации, использующее 56-разрядный алгоритм DES Автономный 54 бита н 'ч Устройство аутентификации с генерацией одноразового пароля Автономный 63 бита типа SecurlD 238 10.1. ПРИНЦИП "ЗАПРОС-ОТВЕТ"
на основе принципа "запрос-ответ", подход Лэмпорта не предусматривал нали- чия базы данных секретных ключей, так что взломщики не могли поставить под угрозу работу системы, украв эту базу данных (см. примечание 3). В схеме Лэмпорта используется последовательность значений односторонних хешей, вычисляемых из запоминаемого пароля (рис. 10.3). Как и в случае более традиционных паролевых UNIX-систем, в схеме использован тот факт, что вы- числение хешированного значения пароля не представляет сложности, а вот об- ратное получение пароля по хешированному значению не имеет практического смысла. В схеме Лэмпорта используется последовательность хешированных зна- чений, каждое из которых вычисляется из предыдущего члена последовательно- сти. Сервер хранит последнее хешированное значение в последовательности. Чтобы войти в систему, Кэтти в качестве одноразового пароля предоставляет предпоследнее в последовательности хешированное значение. Сервер принимает ее одноразовый пароль, хеширует его и сравнивает с хешем, хранящимся в нем самом. Оба эти значения должны совпасть. Тогда сервер заменяет хешированное значение в паролевой записи Кэтти {четвертое хешированное значение) значе- нием пароля, только что предоставленным Кэтти {третьим хешированным зна- чением). При следующем входе Кэтти в систему, она предоставляет второе хе- шированное значение, и сервер выполняет такую же процедуру. Схема Лэмпорта воплощена в системе S/Key. Строго говоря, в этой методике используются синхронные одноразовые пароли. В качестве одноразового пароля пользователь должен предоставлять предпоследнее хешированное значение. Это требует точного учета использованных паролей, а пользователи не очень сильны в подобной бухгалтерии. Но, как правило, S/Кеу-серверы подсказывают пользо- вателю порядковый номер ожидаемого хешированного значения. То есть в сис- теме S/Key используется как бы "запрос-ответ", хотя в действительности эта информация опционна и предоставляется только для удобства пользователя. В системе S/Key функция хеширования также включает в себя и случайное число, называемое примесью, которое объединяется с базовым секретом при ге- нерации хешированных значений. Примесь не позволяет системе S/Key генери- ровать одинаковые последовательности хешированных значений, если пользова- тель попытается повторно воспользоваться базовым секретом или использовать один и тот же базовый секрет для разных компьютеров. Хотя на рис. 10.3 пока- зано, что в файле паролей хранится только хешированное значение, система S/Key хранит также значение примеси и порядковый номер хеша. Когда S/Key- сервер выдает запрос, содержащий текущий порядковый номер хеша пользова- теля, он одновременно выводит и значение примеси, использующееся для гене- рации этих хешей. Как правило, пользователи системы S/Key используют для генерации однора- зовых паролей программно реализованные устройства аутентификации. Чтобы воспользоваться программным устройством аутентификации, Кэтти (пользова- тель на рис. 10.3) вводит базовый секрет (пароль), порядковый номер и значение примеси. Устройство аутентификации итеративно использует функцию хеширо- вания для генерации правильного значения в последовательности и затем выво- дит результирующее хешированное значение. После этого Кэтти копирует значе- ние хеша в ожидающее окно запроса пароля. Программные реализации устрой- ства аутентификации существуют для UNIX, Microsoft и Macintosh. Программное устройство аутентификации обычно само обнаруживает запрос сис- темы S/Key, так что оно способно автоматически вычислять правильное значе- ние одноразового пароля. Когда это возможно, устройство аутентификации под- держивает функцию вырезания и вставки через буфер, что позволяет избегать ошибок набора при копировании запроса или ответа. Кроме того, для пользова- телей, которые не имеют возможности запускать на выполнение программу уст- ГЛАВА 10. ПАРОЛИ, ГЕНЕРИРУЕМЫЕ ПО ПРИНЦИПУ "ЗАПРОС-ОТВЕТ" 239
Базовый Пароль №3 ________К Хеширование^ Пароль №2 pj еЗ 5et3 Пароль №1 Хеширование^ Ь94тгЗтк Хеш для записи Рис 10 Л. Схема одноразовых паролей Л эмпорта. используемая в системе S/Key. Кэтти вы- числяет ооследов '.тельность значений паролей, так что имеет возможность трижды зареги- с грирнн.-п i.c.i в снег- ме. Она хеширует свой запоминаемый базовый секрет четыре раза и запое,; г,и< •; к,ч,очный результат в свой записи в файле паролей. При регистрации в следую- щий р.-ш она ..-грилсды вызывав функцию хеширования, чтобы сгенерировать правильный одноразов: >й пароль. Сервер верифицирует пароль, хешируя его (четвертый раз) и сравнивая с результатом, находя'-цимся в ее записи в файле паролей. Если эти значения совпадают, то последний пароль становится на место существующего хешированного значения в записи для Кити в файле пароле;:, и при использовании теперь пароля № 2 процесс повторяется. рочетва аутентификации, имеется утилита, распечатывающая значения хешей на бумаге. Хотя аппаратная реализация устройства аутентификации для систе- мы S/K?y технически несложна, на данный момент промышленных моделей не существует (см. примечание 4). До тех пор пока сервер хранит только последнее хешированное значение из последовательности, а пользователь предоставляет в качестве пароля предпо- следний хеш, взломщику непросто получить действующее значение пароля. Взломщик не может извлечь хеш из файла паролей и произвести обратные вы- числения предыдущего хеша из последовательности или исходного значения ба- зового секрета. 10.2. Некоторые аспекты работы механизма ’’запрос-ответ" В данном разделе рассматриваются два важных момента, связанных с работой механизма "запрос-ответ". Во-первых, существует проблема взаимодействия с пользователем, в частности, для традиционных устройств аутентификации, ис- пользующих принцип "запрос-ответ". Во-вторых, стандарт ANSI Х9.9 уязвим для атак методом проб и ошибок, так как в его основе лежит DES-алгоритм. Взаимодействие с пользователем Механизм ’запрос-ответ" работает только с тем программным обеспечением и протоколами, для которых передача запроса является частью процесса аутентифика- ции. Другая проблема состоит в том, что требуется больший объем набора с клавиа- туры', чем в случае других методов аутентификации. Трудно создать клиентскую часть программного обеспечения, устраняющую проблему набора с клавиатуры. 240 10.2. НЕКОТОРЫЕ АСПЕКТЫ РАБОТЫ МЕХАНИЗМА "ЗАПРОС-ОТВЕТ
Механизм "запрос-ответ" нарушает самое общее допущение, касающееся ау- тентификации, т.е. что сервер способен аутентифицировать любого, имея одно- временно данные об имени пользователя и его пароле. Это утверждение противо- речит аутентификации по принципу "запрос-ответ", так как не оставляет места запросу. Эта проблема характерна для нескольких современных важных систем. Например, расширения протокола передачи гипертекста (HTTP) для аутентифи- кации Web-страниц предусматривают объединение всех аутентификационных данных в одно сообщение, идентифицирующее ту страницу, к которой осуществ- ляется обращение. Поэтому у сервера просто нет возможности выдать случайное значение запроса аутентифицируемому лицу. Если же программная система способна тем или иным образом выводить за- прос на экран, то все равно остается проблема доставки этого запроса вычисли- тельному процессу механизма "запрос-ответ". Во-первых, пользователь должен сам найти запрос в одном из окон, отображаемых на современных перенасыщен- ных экранах дисплеев. Затем он еще должен правильно набрать запрос на кла- виатуре. И именно здесь система может давать сбои. Средний человек имеет дос- таточно проблем с правильным набором пароля, а для аппаратно реализованного устройства аутентификации, использующего принцип "запрос-ответ", требуется переписать от 15 до 20 цифр и даже больше, включая PIN-код. Вероятность то- го, что пользователь сделает ошибку при наборе, очень велика. Так как пароле- вые интерфейсы редко имеют эхо-режим отображения набираемых на клавиату- ре данных, даже при работе с одноразовыми паролями, то ошибка набора не бу- дет видна до тех пор, пока сервер не отвергнет попытку. И вход в систему становится весьма сложным процессом. Это именно тот случай, когда программно реализованная клиентская часть процесса аутентификации имеет существенные преимущества. Большинство поль- зователей в Microsoft-ориентированных сетях даже не знают, что имеет место ау- тентификация с использованием принципа "запрос-ответ", так как ее обработка осуществляется программным обеспечением совершенно прозрачным образом. Программные варианты аппаратных устройств аутентификации (в разделе 10.3 они называются программными устройствами) имеют преимущества и с точки зрения удобства пользования. Например, оператор рабочей станции может часто пользоваться для перемещения запроса или ответа между окном устройст- ва аутентификации и окном регистрации в системе функцией вырезкой и встав- кой через буфер. Это уменьшает риск возникновения ошибки набора, хотя менее подготовленный пользователь компьютера не очень уверенно себя чувствует в подобного рода оконных манипуляциях. Известные атаки на шифрованные данные, получаемые при реализации стандарта ANSI Х9.9 Генерируемые в рамках стандарта Х9.9 одноразовые пароли уяз- л- вимы для атак перебором по методу проб и ошибок. Если взломщи- А-63 9 ку удалось получить несколько запросов и соответствующих ответов для одного пользователя, применяющего стандарт Х9.9, то он может попытаться вывести базовый секрет пользователя путем перебора методом проб и ошибок всех возможных значений ключей алгоритма DES. Это возможно вследствие то- го, что стандарт Х9.9 предусматривает использование DES-алгоритма с традици- онными 56-разрядными ключами. А как описывалось в разделе 5.3, уже было несколько случаев, когда алгоритм DES не устоял в ходе демонстрационных по- пыток взлома методом проб и ошибок. Комитетом Х9 был опубликован отчет по поводу этой уязвимости (см. примечание 5). ГЛАВА 10. ПАРОЛИ, ГЕНЕРИРУЕМЫЕ ПО ПРИНЦИПУ''ЗАПРОС-ОТВЕТ" 241
Единственной защитой от слабостей стандарта Х9.9 является пе- реход на более сильные механизмы шифрования. И именно в этом заключались рекомендации комитета Х9. Их анализ содержит опи- сание девяти существующих стандартов, которые могли бы быть использованы для замены функций стандарта Х9.9. Одной из альтернатив является примене- ние существующих методик типа DES-шифрование и одностороннее хеширова- ние, но с применением более длинных секретных ключей. Другой альтернативой была бы замена DES-алгоритма на алгоритм AES, что позволяет использовать его более высокую производительность и более длинные ключи. Еще одной аль- тернативой является применение методов аутентификации, основанных на от- крытых ключах, например метода цифровых подписей, который рассматривает- ся в главе 13. 10.3. Развертывание системы на основе устройств аутентификации с генерацией паролей В этом разделе будут рассмотрены проблемы использования программных уст- ройств аутентификации, т.е. программных реализаций механизмов, которые тра- диционно воплощаются в аппаратных устройствах. Затем рассматривается случай использования одноразовых паролей с несколькими серверами аутентификации. И наконец, приводится краткий обзор проблемы использования в защитных продук- тах алгоритмов собственной разработки компаний-производителей. Программные устройства аутентификации Программные устройства аутентификации представляют собой альтернативу аппаратным устройствам, генерирующим одноразовые пароли. Наиболее часто подобные устройства имеют вид программной реализации аппаратных устройств. В некоторых случаях изготовители также комплектуют их кодовыми таблицами для одноразовых паролей. Такие подходы будут рассмотрены ниже. Многие существующие аппаратные реализации устройств аутентификации, включая как SafeWord, так и SecurlD, доступны также в программном варианте. Программная версия устанавливается на удаленном компьютере владельца, часто это домашний компьютер или переносная машина. Основные изготовители также выпускают свои программные устройства аутентификации в варианте для малога- баритных (карманных) компьютеров, которые могут устанавливаться и работать на органазайзерах типа Palm. Центр, как и в случае аппаратных устройств, гене- рирует исходный базовый секрет, но доставляет его индивидуальным пользовате-. лям в виде файла данных. При правильной установке такого файла программное устройство аутентификации осуществляет удаленную регистрацию в системе точно, так же, как и аппаратное: владелец генерирует с помощью устройства одноразо- вый пароль и затем использует этот пароль для входа в Систему. Основным преимуществом программных устройств является их стоимость. В то время как системы с аппаратными устройствами аутентификации могут сто- ить до 100 долларов США в пересчете на одного пользователя, стоимость систем на основе программных устройств в три, а то и четыре раза меньше. Программные устройства аутентификации в плане кражи значительно более уязвимы, чем аппаратные. Так как программное устройство, включая базовый секрет, по сути хранится в обычном персональном компьютере, взломщик легко' может снять с него копию. В отличие от аппаратных устройств, жертва может продолжать пользоваться программным устройством аутентификации, даже если его копия была украдена. Это справедливо и для устройств, работающих на кар- 242 10.3. РАЗВЕРТЫВАНИЕ СИСТЕМЫ НА ОСНОВЕ УСТРОЙСТВ АУТЕНТИФИКАЦИИ ...
манных компьютерах, поскольку процедуры синхронизации с настольными сис- темами, например процедура “Hot Sync” в Palm-системах, автоматически делает резервные копии файлов программного устройства аутентификации. Попытки блокирования копирования файлов данных программного устройства аутенти- фикации могут вызвать серьезные проблемы с надежностью, которые часто пе- ревешивают получаемое повышение уровня безопасности. Существенной частью реализации любого программного устройства аутентифика- ции являются PIN-коды. Они обеспечивают основную и часто единственную защиту от кражи устройства. Как описывалось в разделе 9.5, программное устройство аутен- тификации должно использовать PIN-код в качестве части базового секрета. И оно не должно содержать в себе информации, которая позволила бы верифицировать значение PIN-кода. При попытке генерировать одноразовый пароль с помощью ук- раденного устройства у взломщика не должно быть возможности проверить пра- вильность PIN-кода или пароля, кроме как их регистрация на сервере. Другим типом программного устройства аутентификации является кодовая таблица: бумажный документ с перечнем одноразовых паролей для использования. Подобный подход был использован Бобом Бозеном в схеме защиты от копирова- ния, которая привела к созданию системы SafeWord. Кодовые таблицы могут со- держать список паролей в порядке их использования, но чаще они применяются в процедуре "запрос-ответ". Обычно система аутентификации генерирует отдельную кодовую таблицу для каждого пользователя, которому она нужна. Кодовая табли- ца помечается именем пользователя и имеет определенный срок пригодности, что- бы снизить возможные потери при попадании в чужие руки. Существенным недостатком многих программных устройств аутентификации является то, что они дают возможность передавать права доступа другим пользо- вателям. Например, если Джон только что принят на работу и во время команди- ровки на следующей неделе ему необходима связь с офисом, кто-нибудь из отдела (Кэтти, например) может дать ему свое программное устройство аутентификации. Поступая так, Кэтти делегирует свои права в системе Джону. И система будет ас- социировать все действия Джона с Кэтти. В некоторых средах это может не пред- ставлять серьезной проблемы, но в результате обойтись весьма дорого, что и пока- зал случай с Citibank, описанный в начале раздела 9.3. Программные устройства аутентификации являются хорошим выбором, если основную угрозу представляет собой активная разведка паролей. Но они не годятся, если центр хочет исключить делегирование прав индивидуальными пользователями. Работа с несколькими серверами Сегодня большинство людей жалуется не на то, что для пользования своим компьютером им надо запоминать один пароль, а на то, что таких паролей целая куча. Если компьютеры, о которых идет речь, используют одноразовые пароли, Генерируемые устройствами аутентификации, то управление паролями требует дополнительного планирования. Устройства аутентификации дороги, поэтому практичная линия поведения состоит в том, чтобы для входа на серверы исполь- зовалось одно устройство аутентификации. По сути имеется три стратегии. Первая заключается в коллективном исполь- зовании базового секрета устройства аутентификации одновременно несколькими серверами. Вторая стратегия — создание более сложных устройств, которые спо- собны работать с несколькими базовыми секретами. Третья — заключается в ис- пользовании непрямой аутентификации с помощью аутентификационного серве- ра. Рассмотрим проблему с Кэтти, которой необходимо общаться, например, с шестью различными серверами, при этом каждый из них выполняет прямую ау- тентификацию. ГЛАВА 10. ПАРОЛИ, ГЕНЕРИРУЕМЫЕ ПО ПРИНЦИПУ "ЗАПРОС-ОТВЕТ" 243
Хотя Кэтти может делать это, просто передав свой базовый секрет, это связа- но с риском и может привести к осложнениям. Теоретически ей просто необхо- димо передать свой базовый секрет владельцам этих шести серверов, чтобы они ввели этот базовый секрет в ее запись в файле паролей. Однако если она пользу- ется синхронным устройством аутентификации, то может столкнуться с пробле- мами синхронизации, открыть себя для атак воспроизведения или иметь обе эти неприятности одновременно. Каждый сервер должен будет хранить собственные данные, используемые для синхронизации с устройством аутентификации Кэтти, и поддерживать синхронность этой информации. Однако если Кэтти вдруг пона- добится ресинхронизироваться с одним из серверов (т.е. послать последователь- ную пару одноразовых паролей), то взломщик может перехватить их и исполь- зовать для входа в другой сервер. Это возможно, поскольку другой сервер будет рассматривать пару паролей в качестве законной попытки ресинхронизации уст- ройства аутентификации. Но даже если Кэтти не пользуется синхронным устройством, практика пока- зала, что коллективное использование базового секрета является плохой страте- гией с точки зрения безопасности. Подобный подход веками был популярен при использовании тайнописи, но совершенно потерял свою значимость в современ- ном мире с обменом данными между компьютерами. Если Кэтти делит свой ба- зовый секрет со всеми этими серверами, то она немедленно сталкивается с про- блемами обеспечения безопасности. Прежде всего существует проблема транзи- тивного делегирования (см. атаку А-40 в разделе 6.5). Как только она сообщает свой базовый секрет администратору, у нее нет никаких гарантий, что админи- стратор не сообщит его кому-нибудь еще. Вероятно, это и был тот прокол в сис- теме безопасности, который привел к обсуждавшимся ранее кражам в Citibank. Альтернативой коллективному использованию базового секрета является применение устройств аутентификации, которые хранят несколько базовых сек- ретов. Такие устройства производятся многими компаниями, хотя они более до- роги. Чтобы войти в систему, Кэтти сообщает своему устройству, каким серве- ром ей надо попользоваться. Устройства аутентификации обычно присваивают серверам различные цифровые коды, и Кэтти для выбора правильного базового секрета для данного сервера использует соответствующий код. Некоторые уст- ройства аутентификации предоставляют для этой цели возможность работы с простыми текстовыми этикетками. В любом случае теперь на плечах админист- раторов каждого из отдельных серверов лежит ответственность за правильное программирование устройства аутентификации Кэтти, чтобы в нем содержался базовый секрет, известный их серверу. Если базовый секрет сервера А становит- ся ненадежным, то риск в некоторой степени уменьшен. Кэтти по-прежнему мо- жет безопасно регистрироваться на других серверах, даже если кто-то сделал ба- зовые секреты сервера А достоянием широкой гласности, поскольку для других серверов устройство аутентификации Кэтти использует другие значения базовых секретов. Кэтти имеет возможность добавлять, удалять или иным образом об- новлять свои базовые секреты для любого из серверов, при этом не лишаясь возможности аутентифицироваться на других серверах. Третья альтернатива состоит в использовании непрямой аутентификации, ко- гда для верификации одноразового пароля сервер Кэтти связывается с аутенти- фикационным сервером. Производители устройств аутентификации, генерирую- щих одноразовые пароли, поставляют и аутентификационные серверы. Если все серверы, с которыми работает Кэтти, находятся на одной рабочей площадке или принадлежат одной организации, то решение на основе непрямой аутентифика- ции является простейшим. Более подробно непрямая аутентификация рассмат- ривается в главе 11. 244 10.3. РАЗВЕРТЫВАНИЕ СИСТЕМЫ НА ОСНОВЕ УСТРОЙСТВ АУТЕНТИФИКАЦИИ
Авторские решения частных компаний Часть производители коммерческих устройств аутентификации продают изде- лия, которые включают в себя неопубликованные и до некоторой степени автор- ские механизмы. Многие не публикуют детали низкого уровня, например то, как их устройства выполняют вычисления или как серверы отрабатывают про- цесс ресинхронизации. Некоторые производители указывают конкретные ис- пользуемые алгоритмы (обычно это DES), но не всегда объясняют, как он ис- пользуется или как генерируются ключи. Сегодня многие эксперты в области компьютерной безопасности утверждают, что лучшие изделия те, детали которых доступны для обсуждения широкой об- щественности и были тщательно и всесторонне изучены. Некоторые эксперты полагают, что клиенты излишне рискуют, приобретая изделия, которые вклю- чают в себя специфические авторские элементы. По крайней мере широкое об- суждение в кругах специалистов увеличивает вероятность того, что серьезные дефекты будут выловлены еще до того, как потребители понесут убытки. Откры- тое обсуждение увеличивает степень доверия клиентов к новым изделиям для защиты компьютерных систем (см. примечание 6). Но широкое обсуждение имеет и обратную сторону. Существует вероятность, что дефект будет найден и использован до того, как его обнаружит и устранит производитель или кто-либо из экспертов. Кроме того, следует признать, что секретность увеличивает безопасность: если атакующей стороне неизвестны тех- нические детали системы, то атака на нее будет затруднена. Более того, многие изготовители процветали на рынке генерирующих пароли устройств аутентификации, не раскрывая секретов своих изделий. Вероятных при- чины две: продолжительность присутствия на рынке и модель самого бизнеса. Ос- новные изготовители устройств аутентификации начали заниматься этим произ- водством еще в 1980-е годы и за это время создали своим изделиям определенную репутацию. Существующая база удовлетворенных клиентов убеждает новых кли- ентов в необходимости покупки таких изделий. Кроме того, многие изготовители систем аутентификации стараются делать деньги не только на аппаратных устрой- ствах аутентификации, но и на серверном программном обеспечении. Оба эти на- правления формируют инсталлированную базу существующих клиентов, которая обеспечивает продажи для стоящего за ней поставщика. Держа определенные под- робности в секрете, производитель не дает другим компаниям ни возможности продавать существующим клиентам конкурирующие устройства аутентификации, ни шанса продать замену аутентификационного сервера. 10.4. Эволюция методов аутентификации в операционных системах Windows Аутентификация в настольных системах в исполнении компании Microsoft на- чиналась с типовых методик блокирования экрана и введения менеджера локаль- ной сети — LAN Manager (которого часто называют LANMAN), использовавшего для аутентификации сетевых служб метод запроса — ответа. В течение 1990-х го- дов разработчики компании Microsoft придерживались в отношении аутентифика- ции эволюционного подхода, так что новые продукты могли работать совместно с существующим установленным программным обеспечением. ОС Windows NT 4.0 привнесла в контроллеры доменов функцию непрямой аутентификации (см. главу 11); вместо названия “NT LAN Manager” используется акроним “NTLM”. ОС Win- dows 2000 уже содержала протокол Kerberos (см. главу 12). Хотя механизмы LANMAN и NTLM заменяются технологией Kerberos, понимание работы старых ГЛАВА 10. ПАРОЛИ, ГЕНЕРИРУЕМЫЕ ПО ПРИНЦИПУ "ЗАПРОС-ОТВЕТ" 245
протоколов сохраняет свою значимость, так как они часто используются в уста- новленном ранее программном обеспечении (см. примечание 7). В продуктах компании Microsoft аутентификация в сети большей частью ис- пользуется в качестве способа управления доступа к сетевым ресурсам. Пользо- ватели рабочих станций оперируют данными на своих станциях, но конечный результат часто распечатывается на сетевом принтере или хранится на сетевом сервере. В отличие от обычных паролей или даже механизма "запрос-ответ", ос- нованного на применении устройств аутентификации, сетевая аутентификация у Microsoft предусматривает использование относительно сложного протокола, ко- торый входит в состав клиентского программного обеспечения настольной систе- мы. Протокол находит путь к файловым и принтерным службам путем передачи данных аутентификации в виде сообщений протокола блоков серверных сообще- ний (Server Message Block protocol или SMB), который обеспечивает подобные службы в локальной сети. LAN- и NT-технология паролей компании Microsoft включала в себя две важных особенности. Во-первых, все базы данных паролей содержали хеширо- ванные значения паролей. И во-вторых, чтобы помешать активной разведке па- ролей, аутентификация основывалась на использовании технологии "запрос- ответ". Эти особенности, да еще после перехода от LANMAN к NTLM, создавали достаточно сложную паролевую среду. Реализация механизма "запрос-ответ" в ОС Windows будет рассмотрена в разделах 10.5 и 10.6. Работающие под управлением Windows системы хранят хешированные значе- ния паролей в системном файле и по возможности обеспечивают защиту пароле- вого файла от кражи взломщиками. В современных Windows-системах имеется специальная область хранения, называемая реестром. Находящаяся в реестре база данных администратора учетных записей пользователей (Security Account Manager, SAM) содержит записи всех авторизованных пользователей, а также хранит хешированные значения их паролей. В ОС Windows NT на доступ к за- писям в файле реестра накладываются ограничения по доступу пользователей, а доступ к записям в базе SAM ограничен особенно жестко. Хотя это не предот- вращает все попытки по извлечению паролевого файла Windows, но все же уве- личивает сложность подобных атак. Оказалось, что аутентификация в ОС Windows уязвима к атакам двух типов, а именно: к атакам на базу данных SAM, выполняемым с помощью автономно работающих программ-взломщиков, и к атакам программ-взломщиков, рабо- : тающих с перехваченными парами "запрос-ответ". Классические варианты атак на базу данных SAM появились как результат работ в рамках проекта Samba и 1 привели к разработке бесплатно распространяемого пакета, позволявшего кол-d лективно пользоваться файлами между UNIX-серверами и NT-клиентами. Для'' синхронизации паролей UNIX-серверу необходимо получение копий хеширован- ных значений паролей NT-пользователей. Чтобы извлекать хеши с целью вы-^ полнения над ними атаки угадывания методом проб и ошибок, взломщиками также использовалось инструментальное средство типа видности (см. примечание 8). Хеширование в LANMAN На рис. 10.4 показано, как функция хеширования в LANMAN преобразует принадлежащий Джону Дое длинный пароль. Сначала функция изменяет пароль до вида 14-символьной цепочки, при необходимости добавляя или удаляя сим-4 волы. Затем она преобразует все символы в символы верхнего регистра. Это хо-( роший ход с точки зрения удобства пользования, так как несмотря на ошибки,’ сделанные Джоном при пользовании клавишей <Shift>, система все равно рас- познает его пароль. Однако это снижает энтропию пароля. pwaump или его разно- л. 246 10.4. ЭВОЛЮЦИЯ МЕТОДОВ АУТЕНТИФИКАЦИИ...
Длинный LANMAN-пароль Джона LongStгingOfLetters Ключ для DES из левой половины Ключ для DES из правой половины Преобразование в 14 или менее символов верхнего регистра, разделение на две половины,добавление знаков четности для алгоритма DES DES- ’ шифрование Хеш строится путем стыковки левого и правого шифрованных значений F70360B334CB62E5-1794A39B8D560A25 INGOFLE Константа 0X4B47532- 1402332425 Рис. 10.4. Генерация хешированных значений в LANMAN. Набранный Джоном с клавиа- туры пароль преобразуется в последовательность 14 символов длиной, и все символы ниж- него регистра заменяются символами верхнего регистра. Результат разбивается на два фрагмента по 56 бит, и каждый из них используется для шифрования константы. Два 64- разрядных результата объединяются, давая хешированное значение. После этого функция разделяет результат на два семибайтовых фрагмента и использует каждый из них в качестве 56-разрядного ключа для шифрования с помощью алгоритма DES. Каждый такой ключ используется для отдельного шифрования 64-разрядной константы. В ОС UNIX алгоритм DES используется таким же образом (см. рис. 2.5 в разделе 2.3), только LANMAN опускает “добав- ку”. Результаты шифрования соединяются в одну цепочку, давая окончательный хешированный результат (см. примечание 9). При создании или изменении пароля Джона система вычисляет хеш и сохра- няет его значение в базе данных SAM. Проверяя пароль, используемый для ло- кального входа, система хеширует вводимый Джоном пароль и сравнивает полу- ченный результат хеширования с хешированным значением в базе данных SAM. Атаки на хешированные значения LANMAN Хотя хеши в LANMAN имеют два слабых места. Во-первых, шифрование па- роля двумя совершенно независимыми семисимвольными фрагментами, упроща- ет его определение методом проб и ошибок. Во-вторых, вводится ограничение однорегисторстности символов, что уменьшает энтропию паролей. Обе эти про- блемы приводят к уменьшению среднего пространства атаки для хешированных паролей в LANMAN и делают атаку на них осуществимой (см. примечание 10). Давайте рассмотрим среднее пространство атаки, которое было бы в случае использования паролей, содержащих 14 алфавитных символов. Используя уп- рощенные вычисления, о которых говорилось в разделе 2.7, получаем следую- щий объем паролевого пространства: 2614 = 1019, что дает среднее пространство атаки в 65 бит. ГЛАВА 10. ПАРОЛИ, ГЕНЕРИРУЕМЫЕ ПО ПРИНЦИПУ "ЗАПРОС-ОТВЕТ" 247
К сожалению, используемая в LANMAN конструкция из двух семи- jk символьных фрагментов, позволяет взломщикам искать пароль по час- А-64 9 тям вместо того, чтобы пробовать все возможные перестановки симво- лов. Проблема проиллюстрирована на рис. 10.4. Заметьте, что процедура разделяет пароль на два отдельных сегмента “LONSTR” и “INGOFLE” и шифрует их отдельно. Взломщик имеет возможность взламывать хешированное значение пароля, осущест- вляя поиск каждого семисимвольного фрагмента по отдельности. Другими словами, взломщик накрывает 14-буквенный пароль, используя всего лишь 267 + 267 всего пароля как одного системные программисты которая перед проверкой NT проблема менеджера или 2 х 267 = 1О10 возможностей, что дает среднее пространство атаки в 32 бита. Проблема работы с фрагментами паролей не нова. Известный пример имел место в 1970-х годах на системе с разделением времени TENEX. Программа про- верки паролей системы TENEX вела таблицу паролей в виде открытого текста и проверяла их по одному символу за раз. Сталкиваясь в пароле с несовпадением символов, она выдавала сигнал отказа, не проверяя остальные символы. Какой- то умник сообразил, что система управления памятью в TENEX будет посылать сигнал его программе, если программа проверки паролей выйдет за границу дос- тупной его программе памяти. Воспользовавшись этим, он создал программу для взлома паролей, которая рассматривала каждый символ в качестве фрагмента и заставляла систему TENEX сообщать его программе, совпадает фрагмент или нет (см. примечание 11). Эта проблема решается, если обеспечить обработку фрагмента, а не двумя или более кусками. В TENEX решили задачу, создав программу проверки паролей, копировала пароль в системную память. В Windows LANMAN была решена путем использования алгоритма одностороннего хеширо- вания, объединяющего весь 14-символьный пароль в одной операции шифрова-. ния, как это описано в разделе 10.6. Второй проблемой в LANMAN было то, что взломщикам не надо было прове-„ рять все перестановки символов верхнего и нижнего регистров в пароле; они моглИц ограничиться поиском только среди букв верхнего регистра и все равно получить совпадение. Пользователи могли выбирать пароли, состоящие из букв как верхне- го, так и нижнего регистров, но процедура хеширования в LANMAN убирала это различие при генерировании хешированного значения. Если бы взломщику для взлома генерируемого LANMAN-ом хеша надо было проводить поиск среди симво- лов обоих регистров, то среднее пространство атаки увеличилось бы с 32 бит до 39, что для взломщиков увеличивает затраты усилий более чем в сто раз. Если объединить недостатки LANMAN-паролей, то можно найти очевидную процедуру для их взлома. Атака начинается со второй половины хешированного значения. Во многих организациях пароли большинства пользователей будут ко- роче 14 символов (многие значительно короче). Если пароль имеет семь и менее символов, то тогда вторая половина будет отвечать хешированному значению, состоящему из нулей. Если пароль имеет от восьми до десяти символов в длину, то второй хеш будет содержать только от одного до трех символов и представ- лять собой совсем не сложную задачу для взлома. В некоторых случаях послед- ние символы, являющиеся окончанием пароля, могут подсказать и первые семь символов пароля. Например, буквы “abra” могут быть суффиксом пароля “abra- cadabra”. В более сложных атаках сначала может осуществляться поиск в слова- ре слов, подходящих под данный суффикс, и затем уже методом проб и ошибок перебираются эти слова. 248 10.4. ЭВОЛЮЦИЯ МЕТОДОВ АУТЕНТИФИКАЦИИ
Конечно, вторая половина хешированного значения является самой легкой частью. Но и первая половина с большой долей вероятности не устоит перед дру- гими хорошо известными атаками. В худшем случае специально выделенный компьютер может перерабатывать все возможные пароли и в конце концов взломать его. Хотя такой подход не имеет практического значения, если исполь- зуется всего один персональный компьютер, решительный взломщик может об- завестись для ускорения поиска несколькими машинами. Проблема с LANMAN-паролями связана с процедурой хеширования. Улучше- ние ее структуры обеспечило бы значительно более высокую степень защиты с теми же объемами вычислений. Однако хорошо уже то, что LANMAN обеспечи- вает наличие некоторых мер защиты своих паролей. Для многих организаций слабая защита лучше, чем вообще никакой, если при этом не упускается из виду возможный риск. Пароли в Windows в виде открытого текста LANMAN не всегда использует пароли типа "запрос-ответ", так как другие сетевые продукты требуют применения паролей в виде открытого текста. Это особенно важно при совместной работе с другими продуктами. Например, неко- торые версии пакета Samba для размещения Windows-совместимых сетевых служб на UNIX-системах использовали прямые текстовые пароли. Продукты се- мейства Windows, включая NT, имеют необходимые специальные программные модули, которые позволяют до некоторой степени автоматизировать процесс ре- гистрации в службах, которые требуют паролей в виде открытого текста. У ад- министраторов есть возможность устанавливать специальный конфигурацион- ный флаг в Реестре ОС Windows, позволяющий использовать прямые текстовые пароли. В ОС Windows NT использование подобных паролей затруднено, так что администраторы предупреждаются о потенциальном риске перехвата паролей. Поддержка прямых текстовых паролей служит причиной потен- л- циальной проблемы, называемой атакой под старину. В процессе А-65 W этой атаки взломщик заставляет клиента поверить, что он должен предоставить серверу данные аутентификации в виде открытого текста. Клиент отвечает, автоматически предоставляя прямой текстовый пароль вместо его хе- ширования и использования протокола "запрос-ответ". 1. Джон запрашивает 2. Сервер генерирует 8-байтовое на запрос, используя для этого его пароль Рис. 10.5. Аутентификация в ОС Windows по методу "запрос-ответ". Протокол "запрос- ответ" встроен непосредственно в программное обеспечение процедуры регистрации сете- вых менеджеров Windows LANMAN и NT. Чтобы войти в систему, Джон просто набирает свое имя пользователя и секретный пароль. Рабочая станция автоматически перехватыва- ет запрос сервера, вычисляет ответ и отсылает его без участия пользователя. ГЛАВА 10. ПАРОЛИ, ГЕНЕРИРУЕМЫЕ ПО ПРИНЦИПУ "ЗАПРОС-ОТВЕТ" 249
10.5. Реализация метода "запрос-ответ" в ОС Windows В отличие от реализации метода "запрос-ответ" на основе устройств аутенти- фикации, протокол регистрации в ОС Windows автоматически перехватывает за- прос и генерирует ответ на основе пароля владельца. Процедура проиллюстриро- вана на рис. 10.5. Когда Джон запрашивает у сервера разрешение на вход, тот отвечает случайным восьмибайтовым числом. Рабочая станция подсказывает Джону о необходимости ввода имени пользователя и пароля, если этого еще не было сделано. Получив эти данные, рабочая станция хеширует пароль, поэтому его копия не хранится в виде открытого текста. В общем случае рабочая станция хранит копию хеша пароля, и Джону не придется вводить его снова при выходе из системы. Наконец, рабочая станция вычисляет ответ, трижды используя ал- горитм DES в отношении специального числа (см. примечание 12). Рис. 10.6. Ключи для вычисления ответа на запрос в ОС Widows. Дополненное нулями хеширование значение пароля пользователя разбивается на три 56-разрядных ключа. Эти ключи используются по отдельности для шифрования запроса. Рис. 10.7. Генерация ответа на запрос в ОС Windows. Фрагменты хешированного значе- ния пароля пользователя используются в качестве ключей шифрования алгоритма DljSS. Специальное число запроса шифруется с помощью каждого нз этих ключей. Ответ вклю- чает в себя специальное число, зашифрованное с применением каждого из ключей. 250 10.5. РЕАЛИЗАЦИЯ МЕТОДА "ЗАПРОС-ОТВЕТ" В ОС WINDOWS
На рис. 10.6 и 10.7 показано, как программное обеспечение ОС Windows вы- числяет ответ на запрос процедуры аутентификации. Впервые эта процедура бы- ла использована в менеджере сети LANMAN. В NTLM используется ее вариант. На первом этапе процедура берет 128-разрядное хешированное значение пароля пользователя и получает из него три 56-разрядных фрагмента (см. рис. 10.6). Затем она трижды выполняет шифрование специального одноразового числа, ис- пользуя каждый из фрагментов в качестве ключа шифрования алгоритма DES. На конечном этапе процедура объединяет результаты трех шифрований в 24- байтовый ответ. Атаки на механизм "запрос-ответ" ОС Windows Имеются два типа атак на процедуру "запрос-ответ" ОС Windows. В атаках первого типа взломщик ищет пароль, который соответствует паре "запрос-ответ". В атаках второго типа взломщик может использовать копию хешированного зна- чения чьего-либо пароля в попытке выдать себя за этого человека. Атаки обоих типов основаны на теоретических свойствах протокола "запрос-ответ" и на момент написания этой книги не были реализованы ни в одном из наборов инструмен- тальных средств, о которых было бы известно, что ими пользовались взломщики. Атака первого типа объединяет в себе классическую атаку активной разведки со словарной атакой, выполняемой автономно. Атака с помощью активной раз- ведкой более сложна, так как взломщику необходимо перехватить как запрос сервера, так и ответ клиента. Если взломщик перехватывает несколько запросов и ответов, то они должны быть правильно спарованы, и каждая пара должна быть привязана к тому пользователю, который генерирует ответ. После этого взломщик берет подборку пар запросов и ответов, связанных к конкретным пользователем, и проводит атаку поиска пароля. Например, взломщик может воспользоваться словарем и сгенерировать список вероятных паролей. После это- го он генерирует для каждого пароля хешированное значение, вычисляет соот- ветствующий ответ и сравнивает его с перехваченным на предмет совпадения. В атаке второго типа просто используется хешированный пароль, украденный из базы данных SAM. Как показано на рис. 10.7, процедура "запрос-ответ” пол- ностью полагается на хешированное значение пароля, а не на сам пароль. Дру- гими словами, хешированное значение играет роль эквивалента пароля. Реаль- ным базовым секретом, используемым в процессе аутентификации, является именно хешированное значение пароля, а не пароль. Если у взломщика есть копия хешированного пароля пользовате- ль ля, то он может правильно ответить на запрос сервера и выдать себя А-66 *9 за этого пользователя. Это требует наличия видоизмененного Win- dows-клиента, который бы позволил взломщику вставить соответствующее имя ^пользователя и хеш пароля в базу данных паролей и затем войти в систему без : фактического предоставления пароля. Такое поведение для Windows-клиента не ^является нормальным. Однако традиционные Windows-клиенты (не NT-системы до появления Windows 2000) не имеют реальной защиты от взломщиков, изме- няющих программное обеспечение так, что оно перестает нормально работать. 10.6. Аутентификация в Windows NTLM ОС Microsoft Windows NT 4.0, последняя из систем с обозначением “NT”, Поддерживает три разных типа аутентификации — локальную, доменную и уда- ленную. Термин “локальная аутентификация” означает то же самое, что и мо- дель локальной аутентификации, которая рассматривалась в главе 4: физическое ГЛАВА 10. ПАРОЛИ, ГЕНЕРИРУЕМЫЕ ПО ПРИНЦИПУ "ЗАПРОС-ОТВЕТ" 251
лицо регистрируется в устройстве непосредственно, не устанавливая удаленного соединения. Доменная аутентификация соответствует модели прямой аутенти- фикации и отражает ситуацию, когда человек использует свой компьютер для входа в другой компьютер по сети. Примером является аутентификация, реали- зуемая менеджером локальной сети LANMAN. Удаленная аутентификация соот- ветствует модели непрямой аутентификации, когда клиент регистрируется на сервере, который для верификации ответа пользователя обращается к другому серверу (контроллеру домена системы NT). Под аутентификацией в NTLM обыч- но понимаются два последних типа аутентификации, которые представляют со- бой сетевую аутентификацию в системе NT. Разработчики ОС Windows NT увидели для себя возможность существенно улучшить механизм аутентификации по сравнению с тем, что был реализован в LANMAN. Ведь система NT поддерживала расширенный набор символов, что мог- ло значительно увеличить количество возможных паролей. Появилось и несколько новых алгоритмов шифрования, которые уменьшали вычислительные накладные расходы и при этом сохраняли или даже увеличивали уровень защиты. В результате в Windows NT используется новая процедура хеши- W рования паролей (рис. 10.8). В NT сохраняется 14-символьное огра- р ничение на длину пароля, но можно пользоваться любыми символа- ми из набора символов Unicode. Пароли считываются и хранятся в виде после- довательности из четырнадцати 16-битовых Unicode-символов. Для получения 128-разрядного хешированного значения пароля в NT используется разработан- ный Роном Ривестом (Ron Rivest) коммерческий алгоритм хеширования Message Digest #4 (MD4) (более новый алгоритм MD5 широко используется в Internet- протоколах). Такой усовершенствованный хеш обычно называют NTLM-хешем (см. примечание 13). Хотя реализованный в NTLM механизм аутентификации использует для ко- дирования паролей улучшенную функцию хеширования, в нем по-прежнему применяется протокол "запрос-ответ", показанный на рис. 10.6. Однако для со- । хранения совместимости с LANMAN в NTLM-аутентификацию пришлось ввести [ несколько ненужных усложнений. NTLM-аутентификация требует вычислений t как NTLM-хеша, так и LANMAN-хеша. Каждая паролевая запись пользователя в , базе данных SAM содержит два хешированных значения пароля: вычисленное с а Длинный NT-пароль Джона 'LongStгingOfLetters Рис. 10.8. Генерация NTLM-хеша. Вводимый Джоном пароль преобразовывается в слово, имеющее 14 символов в длину, и каждый символ преобразовывается в 16-битовое Unf- code-представление. Алгоритм MD4 хеширует эту цепочку символов, в результате чего получается 128-разрядное хешированное значение, которое и используется в NT в качест- ве хеша пароля. >) I Е 8 252 10.6. АУТЕНТИФИКАЦИЯ В WINDOWS NTLM
использованием процедуры NTLM-хеширования и вычисленное с использовани- ем LANMAN-процедуры. В процессе аутентификации на основе механизма "за- прос-ответ” NT-клиент вычисляет два ответа: с помощью NTLM-хеша и с помо- fl щью LANMAN-хеша. Такой подход позволяет NT-системам взаимодействовать с В более старым сетевым программным обеспечением. Но подобная совместимость К часто сводит на нет повышения уровня защищенности, получаемое благодаря В перепроектированной процедуре хеширования в NTLM. Атаки на базу данных паролей ОС Windows NT В Взломщики могут определять пароли, атакуя хешированные значения, хра- В нящиеся в базе данных SAM ОС Windows NT. Первым шагом в такой атаке яв- В ляется извлечение хешированных значений паролей из базы данных. После это- fl го взламываются перехваченные хешированные значения. Давайте начнем со В второго шага. В Каждая пользовательская запись в базе данных паролей ОС Windows NT содер- жит два отдельных хешированных значения: вычисленное с помощью новой проце- В дуры NTLM-хеширования и полученное с помощью старой процедуры LANMAN- В хеширования. Оба хеша вычисляются из секретного пароля пользователя. В Атака происходит в два этапа. На первом этапе атакуется LANMAN-пароль (пример такой атаки описан в разделе 10.4). Таким А-67 9 В образом определяется пароль, но не определяется, какие буквы из В верхнего регистра, а какие — из нижнего, поскольку LANMAN-хеш отображает В все символы в верхнем регистре. Взломщик должен получить информацию В о регистре, иначе он не сможет воспользоваться паролем для прямого входа В в NT-систему. В На втором этапе определяется NT-пароль. Для этого взломщику необходимо В выяснить, какие буквы в пароле из верхнего регистра, а какие — из нижнего. Взломщик генерирует все возможные перестановки с изменением регистра букв пароля, вычисляет для каждой из них хешированное значение и сравнивает ре- Взультат со значением хеша из базы данных SAM. Значения совпадают, если В взломщику удается правильно определить буквы верхнего и нижнего регистров В (см. примечание 14). В В отличие от менее сложных продуктов семейства Windows, ОС Windows NT имеет механизм управления доступом на пользовательском уровне, который мо- жет быть использован для блокирования доступа к базе данных SAM (см. метод защиты D-20 в главе 2). Это, конечно, одна из основных мер защиты против атак на пароли Windows NT, но, к сожалению, сама она не защищена от неуме- лых действий. Часто требования по совместимости приводят к необходимости экспорта хешированных значений паролей и установке их на других системах. Однако при каждом копировании чувствительного файла возрастает риск нару- шения секретности. Более того, практика показала, что управления доступом на пользовательском уровне недостаточно для гарантирования секретности содер- жимого файла в многопользовательской системе. Чтобы уменьшить эффективность атак на базу данных SAM, ком- w Аланией Microsoft была выполнена корректировка ОС Windows NT, р которая позволяла осуществлять шифрование базы данных SAM. Этот механизм, получивший название “Системный ключ” (“System Key”), или исправление SYSKEY, предусматривает использование для шифрования базы ванных SAM секретного ключа. Администратор должен ввести в систему этот ключ, и только после этого система расшифрует базу данных и пользователи могут регистрироваться в ней (см. примечание 15). ГЛАВА 10. ПАРОЛИ, ГЕНЕРИРУЕМЫЕ ПО ПРИНЦИПУ "ЗАПРОС-ОТВЕТ" 253
С точки зрения безопасности системный ключ служит причиной осложнений. Спрашивается, где он должен быть, когда компьютер выключен? Ключ не дол- жен быть доступен взломщикам, его копии не должны валяться без присмотра в машинном зале, если администраторы проявляют небрежность. Ключ шифрова- ния, не поддающийся взлому, должен быть таким, чтобы его было невозможно запомнить. С другой стороны, ключ должен быть все время доступен компьюте- ру, чтобы он мог перезагружаться без вмешательства оператора. Компанией Mi- crosoft были предложены три альтернативы: ввод ключа с клавиатуры во время перезагрузки, скрытие ключа в реестре или хранение ключа на съемной дискете. Каждый из этих методов имеет как преимущества, так и недостатки. Ввод ключа с клавиатуры во время загрузки является, вероятно, наименее привлекательным вариантом, так как требует личного присутствия администра- тора при каждой перезагрузке компьютера. Кроме того, ключ придется сообщать каждому администратору, вызванному для перезагрузки компьютера, а это уве- личивает риск рассекречивания. Например, многие администраторы могут из со- ображений удобства записывать ключ где-нибудь рядом с клавиатурой, исполь- зуемой при загрузке компьютера. Если ключ прячется в реестре, то компьютер может перезагружаться без вмешательства оператора. Это очень важно для повышения степени доступности системы. С другой стороны, очень трудно спрятать ключ подобного типа внутри компьютерной системы. Всегда есть способы обнаружения таких ключей. А вы- числив местонахождение ключа, взломщик может попытаться извлечь его из ре- зервной копии системы. Пользователь же с достаточным уровнем привилегий, вероятно, сможет извлечь ключ и непосредственно из реестра. При хранении ключа на дискете также возможна перезагрузка компьютера без вмешательства оператора. Кроме того, если ключ хранится на дискете, его легче контролировать. Поскольку он не содержится в системном томе, то он не будет копироваться при резервном копировании на ленту, что снижает риск из- влечения ключа взломщиком из резервной копии. Поскольку дискета невелика, администраторы могут извлекать ее и при необходимости запирать. Хотя не- брежный или нечестный администратор может сделать копию дискеты, и она может попасть в плохие руки. Кроме того, достаточно привилегированный ад- министратор сможет извлечь ключ из дискеты, когда она находится в дисководе компьютера (см. примечание 16). Многие NT-системы предоставляют взломщикам еще одну воз- можность для кражи базы данных SAM. И эта возможность называ- А-68 9 ется диском восстановления. NT-системы позволяют администрато- рам создавать и поддерживать актуальными критически важные конфигураци- онные файлы системы на дискете, которая и называется диском восстановле- ния. Одним из критически важных файлов, конечно, является база данных SAM. Более того, во многих системах для упрощения поддержания актуальное^ диска восстановления копирование входящих в него файлов осуществляется’-В интерактивном режиме. Взломщики имеют возможность восстановить базу дан- ных SAM, выкрав ее из области диска восстановления, отведенного контроллеру домена. Для предотвращения подобной атаки имеются две стратегии: (1) уста- новление на файлы диска восстановления защиты по доступу, или (2) исключе- ние онлайнового сохранения файлов, исключая только моменты фактические создания диска восстановления. Атаки на механизм "запрос-ответ", реализованный в NTLM Атаки на механизм "запрос-ответ”, реализованный в NTLM, могут осуществ- ляться таким же образом, как и в случае LANMAN. Атакующая сторона может попытаться восстановить пароль по перехваченным согласующимся парам запа- сов и ответов с последующим взломом пароля. Взломщики также могут приспо- 254 10.6. АУТЕНТИФИКАЦИЯ В WINDOWS NTLM
собить специальным образом модифицированного клиента для того, чтобы вос- пользоваться украденными хешированными значениями паролей. Однако прин- ципиальным отличием для системы N'T является стратегия, применяемая для взлома паролей на основе перехваченных пар запросов и ответов. Так как протокол NTLM предусматривает передачу как NTLM-ответа, так и LANMAN-ответа, взломщики могут построить атаку, подобную атаке на базу данных паролей ОС Windows NT, но нацеленную на пары запросов и ответов. Атака также выполняется в два этапа. На первом этапе осуществляется атака по сценарию, описанному в разделе 10.5. На следующем этапе в качестве начальной точки используется LANMAN-пароль, и путем перебора символов верхнего и нижнего регистров осуществляется поиск NT-пароля. Основной защитой является отключение более слабого механиз- w ма, чтобы атакующая сторона не могла воспользоваться его слабыми gg местами. В данном случае система NT должна быть сконфигуриро- вана так, чтобы была отключена LANMAN-аутентификация. Это исключает LANMAN-хеши из транзакций запрос —ответ. В NTLM пары "запрос-ответ" мо- гут быть уязвимы для словарных атак, но усиленная функция хеширования де- лает их более сложными для атаки. Первоначально способа избавления от слабо- стей механизма LANMAN не было, но компанией Microsoft была сделана кор- ректировка программного обеспечения, в результате которой для повышения уровня безопасности появилась опция отключения LANMAN-аутентификации. 10.7. Сводные таблицы Таблица 10.2. Сводная таблица атак Атака * Проблема системы Характер атаки Описание атаки защиты А-63 Атака методом проб и Маскировка под Физическая и ’ошибок на протокол Х9.9 другого человека сложная А-64 Взлом паролей по Восстановление Обычная частям значения пароля пользователя Принуждение к Восстановление Обычная яиспользованию пароля в значения пароля виде открытого текста пользователя А-66 Подстановка хешированного значения, прошедшего процедуру регистрации в системе Маскировка под другого человека Сложная А-67 Использование Хешированного значения LANMAN-пароля для взламывания NT-хеша Восстановление значения пароля пользователя Обычная Осуществляется перехват нескольких одно- разовых паролей пользователя, пользую- щегося протоколом Х9.9, с последующим взломом базового секрета путем примене- ния программы-взломщика алгоритма DES Пароль взламывается по частям, так что атака линейна для каждой части, но не топологически Взломщик заставляет сервер запросить у пользователя пароль в виде открытого текста, который может быть перехвачен в сети методами активной разведки Внедрение украденного значения хеша в базу данных SAM и такая модификация ОС Windows NT, в результате которой пользователь выглядит успешно прошед- шим процедуру регистрации в системе Для взламывания NT-хешей применяются программы взлома, в которых исполь- зуются слабые места LANMAN-хешей ГЛАВА 10. ПАРОЛИ, ГЕНЕРИРУЕМЫЕ ПО ПРИНЦИПУ "ЗАПРОС-ОТВЕТ" 255
Окончание табл. 10.2 Атака в* Проблема системы Характер атаки Описание атаки защиты А-68 Копирование хеши- рованных значений паролей из файлов восстановления ОС Windows NT Восстановление Простая значения пароля пользователя Извлечение хешей паролей из файлов диска восстановления ОС Windows NT с последующим использованием на них взламывающих программ Таблица 10.3. Сводная таблица методов защиты Защита Ъ Срываемые атаки Описание D-63 Использование более длинных ключей шифрования А-63 Атака методом проб и ошибок на протокол Х9.9 Существующие технические меры заменяются механизмами, в которых используются более длинные ключи шифрования, в результате чего увеличивается устойчивость к атакам методом проб и ошибок D-64 Взаимозависимое вычисление хешированного значения А-64 Взлом паролей по частям Вид каждой части хешированного значения пароля зависит от значения всех частей пароля. Возможность взлома части пароля отсутствует D-65 Шифрование базы данных А-67 Использование хешированного значения LANMAN- пароля для взламывания NT-хеша Шифруется вся база данных паролей, в результате чего взломщики уже не могут атаковать хешированные значения А-68 Копирование хешированных значений паролей из файлов вос- становления ОС Windows NT D-66 Блокирование работы более слабого механизма аутентификации А-65 Принуждение к использованию пароля в виде открытого текста Система конфигурируется таким образом, что использование слабых механизмов, введенных для обеспечения обратной совместимости, запрещается Атаки, от которых нет защиты А-66 Подстановка хешированного значения, прошедшего процедуру реги- страции в системе. Проблема состоит в том, что в ОС Windows роль базового секрета играет хеш. Такая атака может быть сорвана, если исключить хранение базового секрета внутри уязвимой операционной системы Windows. Один из возможных подходов используется в протоколе Kerberos, когда вводится вре- менный базовый секрет. Протокол Kerberos будет рассматриваться в главе 12. 256 10.7. СВОДНЫЕ ТАБЛИЦЫ.
ГЛАВА 11 Непрямая аутентификация Любая проблема в обработке данных может быть решена путем введения дополнительного уровня косвенности. — Дэвид Уиллер в книге Лэмпсона и др. Аутентификация в распределенных системах В этой главе... Непрямая аутентификация предусматривает наличие коллективно используе- мых серверов, которые аутентифицируют пользователей на основе предоставляе- мой ими информации. Это позволяет нескольким серверам пользоваться общей базой аутентификационных данных. Основы непрямой аутентификации Протокол непрямой аутентификации RADIUS Непрямая аутентификация в ОС Microsoft Windows NT Вопросы защиты серверов 11.1. Непрямая аутентификация Непрямая аутентификация уже была описана в главе 4. В подобных системах решения об аутентификации принимаются с использованием коллективного серве- ра с единой базой данных записей о пользователях. Если Кэтти необходимо уста- новить связь по коммутируемой линии, то ей совершенно не надо беспокоиться о том, какой из серверов доступа ответит на телефонный звонок. Все они аутенти- фицируют ее через один и тот же сервер аутентификации. Если запись о ней появ- ляется в базе данных пользователей этого сервера аутентификации, то ее узнает любой другой сервер доступа. Сервер аутентификации может подтверждать ее ау- тентичность, подключается ли она через брандмауэр, посылает ли файл на принтер с ограниченным доступом или устанавливает соединение с файл-сервером. Непрямая аутентификация используется в сетевых системах уже лет два- дцать. Одной из первых была процедура TIP-входа в сети ARPANET. Сетевые узлы коммутации, которые и формировали сеть ARPANET, назывались инте- гральными многопротокольными процессорами (IMP), и был специальный вари- ант этих устройств — терминальный IMP, или TIP. По телефону можно свя- заться с ближайшим узлом TIP и затем подключаться к любому компьютеру в сети, что во многом совпадет с тем, как мы поступаем сегодня. Первоначально администраторы, которые управляли отдельными TIP-узлами, контролировали их использование путем засекречивания телефонных номеров. Но это мало помо- гало в борьбе со злоупотреблениями. Как говорилось с юмором в одном исследо-
вании, проведенном в 1980 году, большинство учеников старших классов научи- лись проникать в компьютеры через TIP-соединения раньше, чем достигли поло- вой зрелости (см. примечание 1). Для борьбы с этим была проведена модернизация Т1Р-узлов — введена функ- ция аутентификации входа в систему. На то время сделать это было совсем не про- сто. Прямая аутентификация была единственным известным людям подходом, а она не очень годилась в случае TIP-узлов. В то время вычислительная техника бы- ла весьма дорогостоящей, и в процессоре просто недоставало памяти, чтобы раз- местить программу проверки паролей, не говоря уже о списке самих паролей. Проблема была решена с помощью протокола системы управления досту- пом, использующей контроллер управления доступом к терминалу (TACACS), разработанного компанией BBN (создавшей IMP и TIP). Когда, например, Кэтти, связывалась с TIP-узлом, он требовал от нее зарегистрироваться, введя имя пользователя и пароль. Эту информацию TIP-узел переправлял имевшейся в сети ARPANET хост-машине, которая для данного TIP-узла работала в качестве сер- вера аутентификации. На таких хост-машинах выполнялась серверная програм- ма аутентификации “tacacsd”, которая поддерживала ведение базы данных авто- ризованных пользователей узла TIP. Если имя пользователя Кэтти и ее пароль находились, то сервер сообщал об этом TIP-узлу, который разрешал ей пользо- ваться сетью ARPANET (см. примечание 2). С тех пор непрямая аутентификация нашла применение во многих приложе- ниях, которые можно разделить на три категории: управляющее трафиком на границах сети; использующие одноразовые пароли; использующие ресурсы сетевой операционной системы. Далее в этом разделе описываются эти приложения. Остальная же часть гла- вы посвящена рассмотрению двух способов непрямой аутентификации. Во- первых, будет рассмотрен протокол RADIUS, который используется нескольки- ми коммерчески выпускаемыми сетевыми серверами доступа, брандмауэрами и продуктами для аутентификации с помощью одноразовых паролей. После этого будет рассмотрен механизм сквозной аутентификации, реализованный в ОС Windows компании Microsoft. Завершается глава обсуждением вопросов, связан- ных с защитой отдельно работающих серверов аутентификации. Управление трафиком на границах сети В большинстве современных сетей на границах установлены устройства за- щиты, многие из которых требуют аутентификации. Сетевой сервер доступа (Network Access Server, NAS), например, выполняет ту же работу, что и старый TIP-узел: он аутентифицирует каждого, кто пытается установить соединение по коммутируемой телефонной линии связи, прежде чем позволить войти в сеть. В отличие от TIP-узлов, которые поддерживали только символьные терминалы, современный NAS-сервер воспринимает один или несколько протоколов тунне- лирования, которые поддерживают множество современных сетевых услуг. Вот несколько протоколов туннелирования, используемых NAS-серверами: межсетевой протокол для последовательного канала SLIP; протокол двухточечной связи РРР; протокол двухточечной связи с туннелированием РРТР; протокол уровня 2 с туннелированием L2TP; семейство защищенных IP-протоколов IPSEC. 258 11.1. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ’
Как правило, сетевые экраны или брандмауэры устанавливают границу меж- ду различными сетями, использующими семейство Internet-протоколов. Обычно внутренняя сеть организации работает с использованием Internet-протоколов и подключается к глобальной сети Internet через брандмауэр. Брандмауэр снижает риск атак на вычислительную систему организации из сети Internet. Некоторые организации используют брандмауэр также для того, чтобы ограничить действия пользователей в сети Internet, подключающихся к ней из сети организации. Некоторые брандмауэры поддерживают различные протоколы туннелирования с шифрованием, например IPSEC и РРР, которые позволяют подключаться к сети организации, одновременно защищая данные, которыми они обмениваются с компьютерами этой сети. Когда брандмауэр должен устанавливать правила для физических лиц, то для этого ему необходимо выполнение аутентификации того или иного типа. Неко- торые брандмауэры просто проверяют IP-адрес хост-машины, от которой посту- пает сообщение, но более сложные — прежде, чем разрешить пользователю оп- ределенные действия, выполняют аутентификацию. Например, некоторые брандмауэры требуют аутентификации на право хождения по World Wide Web или на право использования протокола передачи файлов. Другие сначала аутен- тифицируют лицо, связанное с конкретным IP-адресом хост-машины, а потом выдают соответствующие разрешения последующим сообщениям, в которых ис- пользуется этот адрес. Сегодня в NAS-серверах и аутентифицирующих брандмауэрах используется один и тот же набор хорошо известных протоколов. Когда изготовитель маршру- тизаторов компания Cisco начала выпускать серверы доступа, для аутентифика- ции соединений по коммутируемым каналам связи был выбран протокол TACACS. В итоге для удовлетворения специальных потребностей своих серверов доступа компанией Cisco были разработаны усовершенствованные версии этого протокола — XTACACS и TACACS+. Другим широко известным протоколом, использующимся серверами доступа, является протокол службы удаленной ау- тентификации пользователей по телефонным линиям RADIUS — открытый про- токол, разработанный и поддерживаемый рабочей группой по инженерным про- блемам Internet (IETF). Некоторыми изделиями для выполнения запросов на серверах Windows-доменов и верификации личности пользователей используют- ся различные варианты протокола SMB. Изделия, использующие одноразовые пароли Если верификация пароля достаточно проста (две цепочки символов сравни- ваются на совпадение), то задача проверки одноразовых паролей значительно сложнее. Как было показано в главе 9, процесс верификации часто достаточно тонок, сложен и реализуется изготовителями по-разному. Поставщики подобных систем, как правило, объединяют свои продукты вокруг программы сервера ау- тентификации собственной разработки. Примером могут служить широко из- вестные серверы SafeWord Security Server и RSA Ace/Server. Покупатели изделий, использующих одноразовые пароли, устанавливают сер- верное программное обеспечение на один или для надежности на несколько ком- пьютеров. Все другие серверы, сетевые экраны, серверы доступа и иные устрой- ства пересылают свои запросы об аутентификации этому аутентификационному серверу. И именно на этом сервере представлены все данные и процедуры, необ- ходимые для верификации одноразовых паролей. Серверы доступа и брандмау- эры, поддерживающие последнюю версию протокола RADIUS, обычно работают с любой системой одноразовых паролей. Для других серверов необходимо уста- навливать программное обеспечение аутентификационного агента. Агент заме- ГЛАВА 11. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ 259
няет стандартную процедуру регистрации на сервере такой, которая обеспечива- ет пересылку аутентификационных данных серверу аутентификации (рис. 11.1). Кроме роли ядра, централизованный сервер аутентификации играет еще одну важную роль в системах на основе одноразовых паролей: он делает их более на- дежными. Часовые и счетчиковые системы предусматривают создание индивиду- ального профиля пользователя, который совместно с базовым секретом использу- ется для аутентификации одноразовых паролей. Например, счетчиковые системы должны хранить показания счетчика, а часовые системы часто ведут запись пока- заний ухода часов для каждого отдельно взятого устройства аутентификации. Сис- темы значительно менее надежны, удобны и могут быть даже непригодны к ис- пользованию, если подобная информация о профиле по каждому устройству аутен- тификации недоступна. Централизованный сервер является весьма практичным способом для эффективной и надежной поддержки подобной информации. Первоначально для работы с одноразовыми паролями на серверах использо- вались протоколы собственной разработки компаний-изготовителей. Сегодня ос- новные производители поддерживают протокол RADIUS (часто еще и протокол TACACS+). Только немногие продолжают использовать собственные протоколы, что делается с целью поддержки специфических функций сохранения совмести- мости с более старыми версиями агентского программного обеспечения. Управление сетевыми ресурсами Когда локальные сети были маленькими, управление ресурсами не представ- ляло проблемы: каждый в подразделении обычно знал правила. С ростом ло- кальных сетей они начали охватывать уже несколько подразделений внутри ор- ганизации. В итоге люди из одного подразделения быстро сообразили, что могут пользоваться ресурсами, за которые платит другое. Хотя подобная ситуация мо- жет и не служить причиной реальных неприятностей, все же многие организа- ции стали использовать сетевые операционные системы, которые могли управ- лять доступом пользователей к ресурсам. Сервер ресурсов или сервер доступа Сервер аутентификации Рис. 11.1. Программное обеспечение для непрямой аутентификации. Когда клиент пыта- ется зайти на сервер, аутентификационный агент сервера пересылает аутентификацион- ные данные серверу аутентификации. Сервер устанавливает личность пользователя и воз- вращает результат агенту, который информирует клиента. 260 11.1. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ
Поддержка отдельных паролевых файлов даже для небольшого количества систем — достаточно обременительная задача, поэтому р большинстве современ- ных сетевых операционных систем используется механизм непрямой аутентифи- кации. Компания Novell в ОС NetWare 3.x использовала прямую аутентифика- цию, но уже в ОС NetWare 4.x ввела непрямую. В ранних версиях LAN Manager и в ОС Windows NT предлагалась прямая аутентификация. Компания Microsoft реализовала непрямую аутентификацию в качестве элемента сетевых доменов в дополнительном модуле к продукту LAN Manager. Домены (и непрямая аутен- тификация) стали стандартным элементом в ОС Windows NT версии 3. Однако, в отличие от сетевых устройств и систем с использованием одноразо- вых паролей, для коллективного использования сетевых ресурсов нет общеприня- того открытого стандартного протокола. Такими производителями, как Novell, Mi- crosoft и Apple были разработаны собственные протоколы аутентификации и кол- лективного использования ресурсов, которые и используются в их продуктах. Из имеющихся протоколов описываемый в главе 12 протокол Kerberos находится ближе всего к открытому стандарту на защищенную процедуру коллективного пользования ресурсами, но он решает главным образом задачу управления ключа- ми. Протокол Kerberos был введен компанией Microsoft в ОС Windows 2000 в ка- честве замены протокола доменной аутентификации в Windows (см. раздел 11.3). 11.2. Протокол RADIUS Протокол RADIUS укладывается в общую картину непрямой аутентифика- ции. В спецификации этого протокола вместо термина “клиент” используется термин “агент”, так как RADIUS является протоколом для архитектуры клиент- сервер, и агент исполняет роль “клиента”. Однако здесь будет использоваться термин агент, чтобы избежать путаницы при определении действий человека, пытающегося зарегистрироваться в системе с клиентской рабочей станции. Когда кто-либо пытается войти в систему, агент протокола RADIUS посылает сообщение “Запрос на доступ”. Сервер аутентификации отвечает либо сообщени- ем “Доступ разрешен”, либо сообщением “В доступе отказано”. Однако в прото- коле RADIUS есть несколько дополнительных битов усложнения, которые за- щищают агента и сервер от атак (см. примечание 4). В предыдущих главах рассматривались способы, с помощью которых ата- кующая сторона могла воспользоваться или вмешаться в аутентификационные сообщения, посылаемые клиентской рабочей станцией. Эти атаки служат преде- лами области действия протокола RADIUS, поскольку он описывает сообщения между агентом и сервером. Однако многие из атак на сообщения между клиен- том и агентом могут также представлять угрозу и для сообщений между агентом и сервером аутентификации. Рассмотрим, что могла бы сделать команда взломщиков из двух человек: То- ма и Генри. Том находится вне организации и пытается войти в систему. Генри подключается к системе внутри организации и использует свое положение, что- бы помочь Тому выдать себя за авторизованного пользователя. Какие атаки они могут предпринять? Для начала Генри может разместиться в сети между агентом и сервером аутентификации. Когда Том попытается зарегистрировать- А-69 & ся, Генри может перехватить запрос на аутентификацию к серверу и послать поддельный аутентификационный ответ, который верифицирует попыт- ку Тома войти в систему. Если агент не сможет распознать подделку, Том будет успешно зарегистрирован. ГЛАВА 11. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ 261
Существует несколько способов защиты от атак подделки статуса. + Но даже если протокол включает в себя такую защиту, могут быть и А-70 9 другие пути достижения того же результата. Например, Генри мо- жет перехватить пакеты в пути их следования между сервером и агентом, моди- фицировать их на лету и послать дальше по назначению. В частности, Генри может перехватить сообщение “В доступе отказано”, посланное в ответ на сооб- щение Тома “Запрос на доступ”, и преобразовать его в сообщение “Доступ раз- решен”. Кстати, сделать он это может, изменив в сообщении “В доступе отказа- но” всего один бит. И даже если протокол имеет защиту от подделок и модификаций, + все равно существует еще одна опасность. Генри может перехватить А-71 9 законные сообщения, курсирующие между агентом и сервером, и попытаться их воспроизвести, чтобы обманным путем заставить агента принять попытку Тома войти в систему. Если сервер аутентификации посылает “консер- вированный” набор ответов на законные запросы о входе в систему, то Генри может просто отобрать нужный ему и послать его агенту. Механизм защиты криптографической целостности не обнаружит воспроизведенное сообщение без наличия дополнительной защиты от воспроизведения. Итак, имеется три основных типа атак, с которыми должен уметь справлять- ся протокол RADIUS: воспроизведение сообщений, посылаемых в любом из направлений; подделка сообщений, особенно тех, что посылаются от сервера агенту; модификация сообщений от сервера к агенту. Возможно, все эти аспекты работы протокола RADIUS выглядят странными и загадочными, но они начинают приобретать смысл, если посмотреть, как этот протокол противостоит подобным атакам. Процедура регистрации в протоколе RADIUS На верхнем уровне протокол RADIUS довольно прост. На рис. 11.2 показано, как он использует одно сообщение, посылаемое от агента серверу, и ответ серве- ра агенту. Когда кто-либо инициирует процедуру регистрации, агент получает имя пользователя и пароль и помещает их в сообщение “Запрос на доступ”. В общем случае сообщение содержит следующие данные: числовой код, указывающий, что это сообщение типа “Запрос на доступ”; восьмибитовый идентификатор для этого запроса на вход; Рис. 11.2. Базовые операции взаимодействия в рамках протокола RADIUS. Кэтти пытает- ся установить соединение с устройством, на котором установлен агент протокола RADIUS. Агент получает ее имя пользователя и пароль и, используя их, создает сообщение “Запрос на доступ”. Приняв это сообщение, сервер проверяет пароль Кэтти и другие полномочия.! Если все в порядке, он возвращает агенту сообщение “Доступ разрешен”. В противном случае он возвращает сообщение “В доступе отказано”. Агент отсылает соответствующее сообщение Кэтти. 262 11.2. ПРОТОКОЛ RADIUS
длину всего сообщения протокола RADIUS; 128-битовое случайное одноразовое число, называемое аутентификатором запроса-, идентификатор агента, делающего запрос; имя пользователя (эти данные необязательны); введенный пароль, зашифрованный для передачи; необязательные данные типа номера порта, с которого пришел запрос на установление соединения. После получения этого сообщения сервер аутентификации извлекает из него имя пользователя, дешифрирует пароль и сравнивает информацию с той, что имеется у него в базе данных пользователей. Если пароли совпадают, то сервер посылает агенту сообщение “Доступ разрешен”. В общем случае это сообщение содержит следующие данные: числовой код, указывающий, что данное сообщение является сообщением типа “Доступ разрешен”; восьмибитовый идентификатор, скопированный из сообщения “Запрос на доступ”; длину всего сообщения протокола RADIUS; хешированное значение, называемое аутентификатором ответа, которое служит для выявления атак; необязательную цепочку символов, передаваемых пользователю; необязательные данные, описывающие права и полномочия пользователя. Агент получает это сообщение и анализирует его содержимое с целью провер- ки на подделку. Затем он использует восьмибитовый идентификатор для соотне- сения сообщения с отложенной регистрацией. После этого агент проверяет чи- словой код сообщения и разрешает регистрацию, если код соответствует сообще- нию “Доступ разрешен”, и отклоняет ее в противном случае. Если сообщение “Доступ разрешен” содержит сведения о привилегиях доступа пользователя, то агент обрабатывает их после разрешения регистрации. Защита сообщений протокола RADIUS Для надежного использования протокола RADIUS аутентификация выполня- ется дважды. Сначала надо аутентифицировать сервер, чтобы потом безопасно аутентифицировать пользователя. Когда агент принимает сообщение “Доступ разрешен”, он должен быть уверен, что сообщение приходит от сервера, которо- му он доверяет. Нельзя дать Тому, Генри или кому-либо другому возможности обмануть агента. Более того, весь процесс аутентификации должен быть защи- щен в возможно большей степени. Основным строительным кирпичиком аутентификации сервера является, ко- нечно, базовый секрет. В случае протокола RADIUS секрет — это паролевое сло- во или паролевая фраза, которая известна серверу и агенту. Секрет используется для шифрования пароля перед его отсылкой, а также для вычисления правиль- ного хеша аутентификатора ответа в сообщении “Доступ разрешен” или “В дос- тупе отказано”. В сообщении “Доступ разрешен” имеется два средства защиты от атак. Пер- вым средством является 128-разрядное случайное число однократного использо- вания, называемое аутентификатором ответа. Агент выбирает новое значение од- нократно используемого числа случайным образом для каждого запроса на вход в систему, который он обрабатывает. При правильной процедуре выбора шансы ГЛАВА 11. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ 263
на то, что взломщик сможет спрогнозировать значение случайного числа или что одно и то же значение будет использовано более одного раза, чрезвычайно малы. На рис. 11.3 показано, как сервер использует случайное число для построения хешированного значения аутентификатора ответа, которое он посылает агенту. Таким образом, любое принимаемое агентом законное сообщение основывается на значении случайного числа, присутствующего в исходном сообщении. Случайное однократно используемое число помогает агенту обна- Ж руживать попытки воспроизведения более раннего законного ответа, р посланного сервером аутентификации. Если взломщик воспроизво- дит более раннее сообщение, например корректное сообщение “Доступ разрешен” с согласующимся восьмибитовым идентификатором запроса, то хеш аутентифи- катора ответа не будет выводиться из соответствующего случайного числа. Агент способен обнаружить это, повторив процесс, показанный на рис. 11.3 (исключая, конечно, просмотр базы данных пользователей). Если хешированное значение, полученное в результате работы алгоритма MD5, не совпадет с хешем аутенти- фикатора ответа, то агент отбросит сообщение как недействительное. Вторым и более очевидным средством защиты в сообщении “Запрос на дос- туп” является шифрование пароля пользователя. Это не дает взломщику воз- можности перехватывать пароли пользователей в момент их прохождения между агентом и сервером аутентификации. Перед отсылкой сообщения “Запрос на дос- туп” агент шифрует пароль пользователя. В отличие от шифрования пароля в ОС UNIX, сервер аутентификации может провести обратную процедуру по получе- нии сообщения “Запрос на доступ”. На рис. 11.4 показаны основные операции процедуры шифрова- » ния. На первом этапе строится 128-разрядный ключ шифрования, р для чего хешируется поле данных, содержащее базовый секрет про- токола RADIUS, и случайное одноразовое число этого запроса. Чтобы получить зашифрованное значение, биты пароля объединяются с битами ключа с помо- Рис. 11.3. Обработка сообщения “Запрос на доступ" протокола RADIUS. Когда сервер ау- тентификации протокола RADIUS принимает сообщение “Запрос на доступ”, он начинает с проверки имени пользователя и пароля. Затем он хеширует ответ (“Доступ разрешен” или "В доступе отказано”), случайное число (или “аутентификатор запроса”) и ключ сервера про- токола RADIUS, генерируя “аутентификатор ответа”, посылаемый в качестве ответа. 264 11.2. ПРОТОКОЛ RADIUS
Рис. 11.4. Шифрование пароля в протоколе RADIUS. Агент протокола RADIUS шифрует пароли перед отсылкой их серверу аутентификации в составе сообщения “Запрос на дос- туп”. Ключ шифрования генерируется агентом путем хеширования аутентификатора за- проса и ключа протокола RADIUS. Агент шифрует пароль, выполняя операцию “исклю- чающее или” над открытым паролем и этим ключом шифрования. щью логической операции “исключающее или”. Если пароль короче 128 бит, то он дополняется нулями. Если же он длиннее, то генерируются дополнительные ключи шифрования, что делается с помощью процедуры формирования цепочек, описанной в спецификации протокола RADIUS. Получив сообщение, сервер аутентификации дешифрует пароль, используя для этого ключ протокола RADIUS, которым он пользуется вместе с агентом. Сервер извлекает из сообщения “Запрос на доступ” случайное одноразовое число и объединяет его ключом протокола RADIUS, строя такой же ключ, которым пользовался агент. Процедура дешифровки аналогична процедуре шифрования: выполнение операции “исключающее или” над зашифрованным паролем и клю- чом, что в результате дает открытое значение пароля. Может возникнуть вопрос, зачем искать себе неприятности и кон- Ж струировать другой ключ, объединяя его со случайным одноразовым р дд числом, если уже имеется совместный базовый секрет в виде ключа протокола RADIUS? Во-первых, этим устраняется одно из самых слабых мест, связанное с использованием для шифрования операции “исключающее или”. Ес- ли взломщикам удастся получить два или более сообщений, зашифрованных с использованием “исключающего или” с одним и тем же ключом, то они легко смогут найти зашифрованные данные. Хешируя секретный ключ и случайное однократно используемое число, мы получаем новый ключ всякий раз, когда шифруется другой пароль. Во-вторых, эта комбинация предотвращает выполнение сложной атаки с вос- произведением. Если для шифрования пароля всегда используется один и тот же ключ, возможно, с более сильным алгоритмом шифрования, то взломщики мо- гут просто скопировать зашифрованный пароль в поддельное сообщение “Запрос на доступ”. И если у взломщиков есть возможность воспроизводить пароли по- добным образом, они могут обмануть сервер аутентификации и получить разре- шение на вход в систему чужого пользователя. При включении в процедуру ГЛАВА 11. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ 265
шифрования пароля случайного одноразового числа взломщики уже не могут повторно воспользоваться зашифрованным паролем, перехваченным из преды- дущих сообщений “Запрос на доступ”. Для защиты агента от подделок и модификаций сообщений в » протоколе RADIUS используется получаемое по ключу хеширован- р ное число, называемое аутентификатором ответа. Как показано на рис. 11.3, хеш вычисляется на основе содержимого ответного сообщения сервера, исключая значение аутентификатора ответа (так как это значение еще неизвест- но), дополненного случайным одноразовым числом и ключом протокола RADIUS. Идея подобна той, что заложена механизм аутентификации сообщений с помощью хеширования по ключу, который был описан в разделе 8.5. Как в случае хеширования по ключу, так и в случае хеширования аутенти- фикатора ответа в протоколе RADIUS, значение хеша зависит от содержания со- общения и секретных данных, которые недоступны взломщику. Если взломщик каким-либо образом изменит сообщение, то получатель (т.е. агент протокола RADIUS) сможет увидеть, что значение хеша больше не соответствует содержа- нию сообщения. Поскольку взломщику не известно значение совместно исполь- зуемого секретного ключа протокола RADIUS, у него нет возможности построить корректное значение хеша для сообщения. Как отмечалось ранее, случайное од- нократно используемое число предотвращает совпадение воспроизводимого со- общения с любым другим ответом сервера, посланным RADIUS-агенту. Для максимальной безопасности каждый агент протокола RADIUS должен иметь в коллективном пользовании с сервером аутентификации уникальное значе- ние ключа. Это позволяет владельцу системы отменять ключ протокола RADIUS того агента, на который была совершена атака и который, возможно, он был взломан, без необходимости смены ключей, используемых другими агентами. Од- нако вполне обычное дело, когда на одной рабочей площадке все агенты работают с одним значением ключа протокола RADIUS, что достаточно удобно, но до тех пор, пока в агента не было совершено проникновение и ключ не был украден. Реализация в протоколе RADIUS механизма запроса-ответа Как описывалось ранее, протокол RADIUS прекрасно работает с традицион- ными паролями и со счетчиковыми или часовыми одноразовыми паролями. Но в нем нет механизма для передачи запроса пользователю с устройством аутенти- фикации, работающим по принципу запрос-ответ. Чтобы справиться с “запрос- ответной” аутентификацией, в протоколе RADIUS используются дополнительные сообщения. Вместо описанного ранее двухшагового протокола, при реализации аутентификации по методу запрос-ответ происходит следующее. 1. Агент посылает сообщение “Запрос на доступ”. В отличие от случая с про- стым паролем, это сообщение не содержит правильного значения пароля; если поле пароля и присутствует по соображениям совместимости, он не проверяется. 2. Сервер отвечает сообщением “Доступ-запрос”. Это сообщение похоже на сообщение “Доступ разрешен”, но только включает в себя текстовую стро- ку, содержащую запрос. Агент должен передать эту строку рабочей стан- ции пользователя. Во многих системах названное сообщение также вклю- чает в себя атрибут состояния, устанавливаемый сервером. 3. Пользователь принимает запрос и передает агенту ответ. 4. Агент строит другое сообщение “Запрос на доступ”, которое подобно пер- вому, но теперь содержит новый идентификатор и случайное одноразовое 266 11.2. ПРОТОКОЛ RADIUS
число и несет в поле пароля ответ пользователя. Если в сервер указывал в сообщении “Доступ-запрос” атрибут состояния, то агент копирует в сооб- щение и этот атрибут. 5. Сервер сравнивает информацию в сообщении “Запрос на доступ” с выдан- ным ранее запросом, возможно, и с использованием содержимого атрибута состояния. После этого сервер проверяет корректность ответа и, если все хорошо, возвращает сообщение “Доступ разрешен”. 11.3. Соединения с шифрованием и ОС Windows NT В главе 10 была описана аутентификация в ОС Windows. В данном разделе рас- сматривается стратегия непрямой аутентификации, реализованная в ОС Windows NT, которую иногда называют удаленной аутентификацией, или сквозной аутен- тификацией. Сквозная аутентификация представляет собой специальный вариант доменной аутентификации, разработанный компанией Microsoft. При локальной или доменной аутентификации в реализации компании Microsoft предполагается, что базовый секрет (хешированное значение пароля) находится в компьютере- получателе. Механизм сквозной аутентификации позволяет некоторым компьюте- рам, обычно это серверы, переадресовывать аутентификационные данные пользо- вателя контроллеру домена для аутентификации, так что серверу не надо работать с SAM-базой данных домена (базой данных пользователей). В ОС Windows 2000 сквозная аутентификация была заменена протоколом Kerberos. На рис. 11.5 представлена знакомая картина непрямой аутентификации, при- способленной под протокол квитирования по методу запрос-ответ (MS-CHAP). Когда Джон запрашивает у сервера 234 услугу, рабочей станции Джона в каче- стве запроса посылается случайным образом сгенерированное число. Когда Джон вводит с клавиатуры свой пароль, его рабочая станция вычисляет правильный ответ на запрос сервера и посылает эту информацию серверу 234. Если Джон уже зарегистрировался в своей рабочей станции, то она извлечет хешированное значение его пароля из Реестра и воспользуется им для вычисления правильного ответа. Для Джона в непрямой аутентификации нет ничего специфического. Джон посылает запрос серверу, который аутентифицирует его прозрачным обра- зом. Реальный процесс активизирует стандартную функцию регистрации, но эта функция трансформируется в вызов сервером удаленной процедуры на контрол- лере домена. 1. Сервер 234 посылает Джону запрос;тот отвечает 2. Файл-сервер просит контроллер домена проверить ответ Джона 3. Контроллер домена верифицирует запрос и ответ Джона Рис. 11.5. Непрямая (сквозная) аутентификация в ОС Windows NT. Когда Джон пыта- ется воспользоваться сервером, требующим аутентификации, сервер аутентифицирует Джона, посылая ему запрос. Рабочая станция Джона на основе хешированного значения его секретного пароля генерирует ответ (см. раздел 10.5). Сервер переадресовывает запрос и ответ контроллеру NT-домена, который верифицирует ответ Джона, используя для этого хранящийся в базе данных SAM хеш пароля Джона. ГЛАВА 11. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ 267
Процесс работает следующим образом. Когда сервер получает ответ от рабочей станции пользователя, он передает контроллеру домена следующую информацию: имя домена; имя пользователя; значение запроса (случайное число); ответ, зашифрованный с использованием хешированного значения базового секрета пользователя. Контроллер домена извлекает из базы данных SAM хешированное значение пароля пользователя, чтобы затем вычислить ожидаемый ответ на посланный запрос. В соответствии с традицией хеш пользователя обычно хранится как в LANMAN-формате (см. раздел 10.5), так и в NT-формате (см. раздел 10.6), т.е. пользователь имеет возможность регистрироваться прозрачным образом и в ста- рых системах, и в более новых. Фактически первая версия протокола MS-CHAP предусматривала выдачу ответа с использованием обоих хешей, хотя в последней версии LANMAN-хеш используется только для обеспечения совместимости с ра- бочей станцией. После того как контроллер домена вычислил соответствующее хешированное значение, он сравнивает его с ответом пользователя. Если они совпадают, то контроллер посылает серверу сообщение об “успехе”. В противном случае выдается отказ. Канал связи между сервером и контроллером домена подвержен W тем же рискам, которые обсуждались в разделе 11.2 в отношении 7/ связи между агентом протокола RADIUS и сервером аутентифика- ции. Однако разработчиками компании Microsoft была выбрана стратегия, отли- чающаяся от той, что выбрали разработчики протокола RADIUS. Большинство компьютеров, использующих доменное сетевое программное обеспечение Win- dows, сразу при запуске автоматически устанавливают с контроллером домена защищенный канал. Для защиты информации от атак в этом канале использует- ся протокол с шифрованием. В ОС Windows этот канал используется для сквоз- ной аутентификации между серверами и их контроллером домена. Таким обра- зом, вместо хлипкого протокола типа RADIUS, ОС Windows для защиты от це- лого ряда рассмотренных ранее атак на непрямую аутентификацию использует полностью шифрованную связь. Соединения с шифрованием Для защиты данных на пути их движения от отправителя к получателю в со- единении с шифрованием используется алгоритм шифрования, подобный тем, что были рассмотрены в разделе 5.3. Отправитель перед отправкой данных полу- чателю шифрует их с использованием секретного ключа. Получатель использует такой же ключ для расшифровки данных. На рис. 11.6 проиллюстрированы ключевые моменты установления шифрован- ного соединения между двумя объектами в сети. Компьютер слева — это агент системы аутентификации, которому необходимо аутентифицировать Кэтти. Он шифрует информацию Кэтти с помощью совместно используемого ключа и переда- ет ее серверу аутентификации. Используя этот же ключ, сервер расшифровывает данные. По большому счету у Генри нет возможности атаковать такое соединение, если ему не известен секретный ключ. Если он попытается подделать ответ сервера аутентификации, то агент просто не поймет сообщения, поскольку оно не будет зашифровано с помощью коллективно используемого секретного ключа. Изображения конвертов на рис. 11.6 обращают внимание на то, что агент и сервер, чтобы использовать шифрование, должны каким-то образом получить в совместное пользование секретный ключ. Часто ключ передается из рук в руки 268 11.3. СОЕДИНЕНИЯ С ШИФРОВАНИЕМ И ОС WINDOWS NT
Рис. 11.6. Соединение между компьютерами с шифрованием. Агент системы аутентифика- ции должен аутентифицировать пользователя, переслав аутентификационные данные сер- веру аутентификапии. Перед передачей агент шифрует подлежащие пересылке данные, которые сервер дешифрирует по получении. В верхней части рисунка показывается, что секретный ключ должен распространяться отдельно. или транспортируется иным способом, который исключает прослушивание или другие методы перехвата. Ключ шифрования подобен совместному паролю про- токола RADIUS, и владелец системы аутентификации рискует в той же мере, ес- ли ключ будет угадан или украден взломщиками. Как и в случае протокола RADIUS, украденный ключ позволит взломщику подделывать сообщения серве- ра аутентификации “Доступ разрешен”. Проектируя защищенный канал связи, архитектор защиты должен выбрать алгоритм шифрования, который будет использоваться. Обычно это либо потоко- вое, либо блочное шифрование. В компании Microsoft для шифрования трафика в защищенном канале домена был выбран быстрый алгоритм потокового шифро- вания RC4. Защита целостности Многие предполагают, что взломщик не имеет возможности сколь-нибудь ре- ально атаковать зашифрованное сообщение, если не знает ключа. Некоторые, возможно, согласятся, что атака с воспроизведением не требует ключа, но тем не менее будут полагать, что без ключа взломщик не сможет модифицировать со- держимое сообщений. К сожалению, это не так, особенно в случае потокового шифрования. Суть проблемы проиллюстрирована на рис. 11.7. Если сервер ау- л- тентификации принимает решение дать отказ на запрос об аутенти- А-72 фикации, то посылает аутентификационному агенту хорошо извест- ное сообщение. И даже если взломщикам не известны используемые сервером и агентом ключи, они могут “переписать” содержимое зашифрованного сообщения, сообщая агенту нечто совершенно другое. Это так называемая атака переписы- вания (см. примечание 6). Трюк состоит в том, что взломщикам необходимо точно, что содержится в сообщении, чтобы его правильно переписать. Например, если им известно, что сервер аутентификации выдаст отказ на конкретный запрос о регистрации, то они могут отследить зашифрованное сообщение, посылаемое в определенный ГЛАВА 11. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ 269
зашифрованный текст Аутентификационный агент принимает ПОДДЕЛЬНОЕ сообщение Рис. 11.7. Модификация сообщения с потоковым шифрованием без ключа. Сервер аутен- тификации передает сообщение “В доступе отказано”, формат которого хорошо известен. Взломщик, которому не известен ключ потокового шифрования, изменяет один бит дан- ных (выделено жирным шрифтом), который отличает сообщение “В доступе отказано” от сообщения “Доступ разрешен”. Когда агент расшифровывает сообщение, он видит сообще- ние “Доступ разрешен”. момент времени соответствующему агенту и содержащее определенное количест- во байт. Затем они перехватывают сообщение и модифицируют один бит данных, который отличает сообщение “В доступе отказано” от сообщения “Доступ разре- шен”. Когда агент получает модифицированное сообщение, он не находит в нем ничего неправильного. Дешифровка проходит нормально, и в результате появля- ется открытое сообщение, совпадающее с законным форматом. Ничто не указы- вает на то, что сообщение было изменено. Существует несколько способов предотвратить атаки переписывания или по крайней мере сделать сложнее их реализацию. Но проблема не так проста, как кажется. Некоторые проектировщики, возможно, полагают, что могут заблоки- ровать такую атаку, введя в сообщение контрольную сумму или получаемое без ключа хешированное значение. Возможно, это и затруднит атаку, но, опреде- ленно, не предотвратит ее. Без сомнений, разработчик попытается так и поступить, поскольку кажется, что хеш безопасен, так как его значение зашифровано. Но это не сработает, если взломщикам точно известно, о чем говорится в исходном сообщении. Они могут создать копию сообщения и вычислить правильную контрольную сумму. Для под- дельного сообщения нужного содержания они вычисляют контрольную сумму. Чтобы зашифровать поддельное сообщение, они бит за битом сравнивают исходное сообщение с текстом поддельного. Каждый бит, отличающийся в этих двух сооб- щениях, должен быть в зашифрованном тексте изменен. Теперь, когда агент или другой получатель расшифрует сообщение, он получит идеальную подделку. Другие разработчики считают, что безопаснее блочное шифрование, так как би- ты перемешиваются внутри всего блока шифрования. Однако атака переписыва- ния возможна и на сообщения с блочным шифрованием. Если сообщение шифру- ется путем последовательного применения шифра к каждому блоку сообщения, то для изменения содержания взломщики могут поменять блоки местами или под- ставить один вместо другого. На практике мало систем использует блочные шифры подобным образом. Обычно шифры используются в соответствии с одним из уста- новленных режимов блочного шифрования, который увязывает шифрование от- дельных блоков между собой. Выходной результат шифрования предшествующего блока используется для системного изменения ключа, открытых данных или уже зашифрованного текста. Это позволяет сразу увидеть тривиальные атаки копиро- 270 11.3. СОЕДИНЕНИЯ С ШИФРОВАНИЕМ И ОС WINDOWS NT
вания и вставки, но атаки переписывания могут не выявляться. В некоторых ре- жимах блочный шифр используется для генерации ключа потокового шифра, ко- торый затем применяется побитово. Очевидно, подобные блочные режимы уязви- мы для тех же атак переписывания, которые применяются в отношении традици- онных потоковых шифров (см. примечание 7). Более эффективный подход заключается в использовании хешированных зна- чений, получаемых по ключу. Исключая пароли, в протоколе RADIUS даже не ис- пользуется шифрование для защиты сообщений. Модификации обнаруживаются в нем благодаря использованию аутентификатора ответа, который представляет со- бой получаемое по ключу хешированное значение. Получаемые по ключу хеши используются для защиты целостности зашифрованного трафика в протоколах SSL и IPSEC. Первоначально компания Microsoft не предоставляла средств для защиты целостности в защищенных внутридоменных каналах, но такая защита уже до- бавлена в более поздних релизах ОС Windows NT (см. примечание 8). Определенную проблему представляют собой и атаки воспроизве- Ж дения, так как ни шифрование, ни защита целостности не обнару- & ^3 жат их. В протоколе RADIUS для обнаружения воспроизведения ис- пользуются случайные одноразовые числа, поскольку каждая новая транзакция требует генерации нового случайного числа. Однако это не единственный подход. Если агент и сервер имеют секретный ключ для шифрования последовательности сообщений, то они смогут обнаружить воспроизведение, вводя в каждое новое сообщение его порядковый номер. Подобная методика используется в протоко- лах IPSEC, РРТР и SSL (см. примечание 9). Политика, шифрование и выбор технического решения Заметим, что показанный на рис. 11.6 механизм шифрования в плане защиты дает многое из того, что обеспечивают показанные на рис. 11.3 и 11.4 более слож- ные механизмы протокола RADIUS. Это утверждение особенно справедливо, если вводится защита целостности сообщений. Тогда уместно спросить, почему разра- ботчики протокола RADIUS спроектировали такие сложные механизмы защиты, а не пошли по сравнительно простому пути, основанному на шифровании? Это свя- зано с контролем за экспортом — проблемой, которая обсуждалась в разделе 5.4. В законодательных актах по контролю за экспортом после Второй мировой войны шифрование классифицировалось на уровне вооружений. В ответ на это разработчики коммерческих продуктов стали избегать применения механизмов шифрования общего назначения, так как Государственный Департамент США разрешал экспорт только тех продуктов, в которых не использовалось шифрова- ние. Поэтому в протоколе RADIUS и была использована довольно сильная тех- нология шифрования для решения проблемы аутентификации, но без предостав- ления возможности общего шифрования. Методы защиты протокола RADIUS до сих пор эффективны, хотя в связи с последними послаблениями в контроле за экспортом криптографической продукции мотивы введения технологии уже ис- чезли (см. примечание 10). В середине 1990-х годов правительство США начало продвигать так называе- мый стандарт условного шифрования Escrowed Encryption Standard (EES) в ка- честве способа обеспечения шифрованной связи, который бы одновременно давал возможность правительственным разведывательным и следственным службам прослушивать интересующие их линии связи. Как указывалось в разделе 5.4, зта стратегия потерпела неудачу. Хотя многие производители и разработчики избегали применения EES, предвидя нежелание клиентов, чтобы иностранные спецслужбы могли прослушивать их трафик, многие также избегали его по тех- ническим причинам. По сути механизм условного ключа представлял собой ГЛАВА 11. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ 271
черный ход ’ в некоторые зашифрованные данные. Хотя теоретически возможно построить все надежно и правильно, сделать это на практике весьма сложно. Вскоре после того, как алгоритм EES был реализован и стал доступным на кри- сталле Clipper, Мэтт Блейз (Matt Blaze) из компании AT&T продемонстрировал способ обхода механизма условного ключа. Более того, Блейз был не единствен- ным, кто обнаружил проблемы, связанные с этим механизмом. Хотя в некото- рых приложениях условный ключ может дать определенные преимущества, реа- лизовать их правильно, не подвергая риску зашифрованные данные, достаточно сложно (см. примечание 11). 11.4 Защищенные каналы в ОС Windows NT Хотя в ОС Windows NT для защиты секретных паролей от раскрытия исполь- зуется метод запрос-ответ, для защиты непрямой аутентификации в ней исполь- зуются шифрованные соединения. В среде Windows контроллер домена играет роль сервера аутентификации, а также предоставляет другие услуги. В ОС Win- dows NT существует отдельный базовый секрет, который коллективно использу- ется контроллером домена и всеми входящими в этот домен компьютерами. Контроллер использует этот коллективный секрет, устанавливая шифрованное соединение с компьютерами своего домена. Коллективно используемый секретный ключ приводит к возникновению сете- вой топологии типа звезда, когда контроллер домена представляет собой центр, а остальные компьютеры общаются непосредственно с ним. ОС Windows поддержи- вает как первичные, так и вторичные контроллеры доменов, которые за счет дуб- лирования обеспечивают более высокую надежность. Коллективно используемые секреты размещаются как на первичных, так и на вторичных контроллерах. Использование ключей в защищенных каналах Защищенный канал формируется, когда работающий под управлением ОС Windows компьютер запускается и пытается подключиться к контроллеру доме- на. Сначала компьютер посылает сообщения, которые позволяют ему обнару- жить контроллер домена. После того как контроллер домена найден, компьютер и контроллер домена обмениваются сообщениями, чтобы аутентифицировать друг друга и установить значение секретного ключа для шифрования своего тра- фика. На рис. 11.8 показано, как компьютер посылает контроллеру домена слу- чайное число, а контроллер посылает ему свое случайное число. После этого ка- ждый из них объединяет эти два случайных числа со своим коллективно ис- пользуемым секретным ключом, генерируя секретный ключ для шифрования (см. примечание 12). Такая стратегия хороша по нескольким причинам. Во-первых, процесс аутен- тифицирует компьютер контроллеру домена, и наоборот. Это работает эффектив- но, если администратор устанавливает различные совместные секреты для ис- пользования между каждым компьютером и его контроллером домена. Во- вторых, не требуется пересылка секретного ключа по сети. В-третьих, процесс предусматривает установление нового значения секретного ключа при каждом запуске компьютера. Регулярное изменение ключа шифрования и отсутствие конкретного ключа для шифрования большого объема трафика является хоро- шей практикой с точки зрения защищенности обмена данными. В-четвертых, сам подход делает невозможным для взломщика выдать себя за компьютер или контроллер домена и попытаться снова задать для пользования ранее сгенериро- ванный ключ. Последнее справедливо, если каждое случайное число генерирует- ся действительно случайным образом. 272 11.4 ЗАЩИЩЕННЫЕ КАНАЛЫ В ОС WINDOWS NT
Случайное число от сервера F70360B334CB62 Хеширование^ Коллективный секретный ключ mi РЧ wi Временный коллективно используемый ключ для сервера Шифрование) RC4 J Процессы внутри сервера mi РЧ I . mix 3 w partsoil with... Случайное число от контроллера домена E51794A3 9B8D56. Зашифрованные сообщения от сервера mi mix3 wil with... Процессы внутри контроллера домена Временный коллективно используемый ключ для контроллера домена mifr?] | PafrnixZT-L WI пя4-* _ Р® mix3 “ W|1 partsoil mi PS mix 3 M partsoil — with... Коллективный секретный ключ Puc. 11.8. Отсылка шифрованных данных сервером своему контроллеру домена. Сервер устанавливает защищенный канал связи со своим контроллером связи, формируя коллек- тивно используемый временный секретный ключ и используя его для шифрования сооб- щений между ними. Временный ключ генерируется на основе значений случайных чисел, которыми обмениваются сервер и контроллер домена, путем объединения их с ранее уста- новленным между ними секретным ключом коллективного использования. Алгоритм RC4 шифрует данные, которые перемещаются между сервером и контроллером домеяа. Характерной особенностью данной схемы является то, что для поддержки ра- бочей станции пользователя Windows NT требует наличия по крайней мере двух коллективно используемых секретов: персонального пароля пользователя и кол- лективно используемого секрета для шифрования сообщений контроллера доме- на. Это как раз и подтверждает, что нельзя решить проблему, просто добавив уровень шифрования: каждый такой уровень вносит свой вклад в проблему управления ключами. Администраторам приходится сражаться с задачей управ- ления двумя базовыми секретами вместо одного. Решение этой проблемы заклю- чается в использовании одного интегрированного протокола, который использует один ключ как для шифрования, так и для аутентификации пользователей. Та- кой подход применяется в протоколе Kerberos, используемом в ОС Windows 2000 (см. главу 12). Атаки на защищенные каналы Несмотря на технические меры, предпринятые для защиты, все равно суще- ствует несколько способов атак на некоторые реализации секретных каналов разработки компании Microsoft. Как указывалось в предыдущем разделе, воз- можна систематическая модификация трафика зашифрованных сообщений, да- же если ключ шифрования неизвестен. К счастью, эта проблема была решена. Однако существует слабое место в процедуре генерации ключа, которое по- зволяет расшифровать зашифрованный трафик. Впервые эта проблема проявила себя, когда компания Microsoft использовала такую же процедуру генерации ключа в своем протоколе РРТР; для решения этой проблемы Microsoft внесла в протокол РРТР соответствующие изменения. ГЛАВА 11. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ 273
Проблема состоит в том, что ОС Windows NT использует один и « тот же ключ для шифрования КС4-трафика, идущего в обоих на- А-73 правлениях. А это приводит к возникновению другой ловушки для К неосторожных пользователей потоковыми алгоритмами шифрования. В тща- S тельно продуманных процедурах шифрования с помощью потоковых шифров никогда конкретный ключ не используется для шифрования двух или более раз- личных сообщений. Если взломщики перехватывают два сообщения с текстом, С который был зашифрован с использованием одного ключа потокового шифрова- I ния, то они могут объединить их по операции “исключающее или”, что приведет 1 к взаимной компенсации двух операций шифрования. Такой же результат полу- чится, если взять два исходных открытых сообщения и объединить их, исполь- I зуя операцию “исключающее или”. Квалифицированный криптограф может про- анализировать результат и получить текст исходных сообщений. Аналогичная а проблема была обнаружена и устранена в протоколе РРТР (см. примечание 13). 1 Советский Союз сделал по сути такую же ошибку во время и вскоре после I Второй мировой войны, допустив многократное использование одноразовых таб- 1 лиц шифрования, с помощью которых шифровали свои сообщения его заокеан- I ские шпионы. Теоретически одноразовые таблицы шифрования не могут быть I взломаны, но эта ошибка позволила криптографам в США узнать о шпионской 1 деятельности Советов, в частности, в атомных исследовательских лабораториях 1 (см. примечание 14). 1 Чтобы исключить эту проблему, система шифрования никогда не У I должна использовать один и тот же ключ для шифрования различ- I ных потоков секретных данных. Именно это и показано на рис. 11.8. I Конечно, как рабочая станция, так и контроллер домена должны иметь возмож- I ность вычислять используемые ими в сеансе секретные ключи. Решение заклю- I чается в генерации двумя хост-машинами нескольких различных ключей из од- I ного набора случайных чисел и коллективно используемых базовых секретов. ] Тогда один ключ используется для шифрования трафика агентом, а другой — I для шифрования трафика контроллером домена. Для построения различных I ключей хост-машины могут присоединять к случайным одноразовым числам I различные заранее определенные числовые константы, при этом одно значение I константы используется для генерации ключа шифрования агента, а другое — I позволяет сгенерировать ключ шифрования контроллера. Именно так и поступи- I ла компания Microsoft при исправлении этой проблемы в процедуре генерации I ключей протокола РРТР (см. примечание 15). I Подобные проблемы с защищенными каналами в реализации компании Mi- I crosoft не относятся к ОС Windows 2000, в которую включены другие, лучше I сконструированные механизмы. Протокол Kerberos уже обеспечивает механизмы 1 защиты по типам сообщений, посылаемым в защищенные NT-каналы. Кроме то- I го, В состав ОС Windows 2000 входит протокол IPSEC, который имеет хорошо | проработанные механизмы для шифрования и аутентификации соединений с об- | меном произвольными данными. Однако более старые и менее безопасные про- I токолы могут создавать в защите слабые места, поскольку при использовании их для обеспечения обратной совместимости. 11.5. Базовые секреты для аутентификации компьютеров Базовые секреты могут служить причиной возникновения проблем с безопас- ностью для отдельно стоящих систем, которыми могут быть, например, сетевые серверы доступа, брандмауэры или иные серверы. Такие системы, чтобы выпол- нять критически важные с точки зрения безопасности операции, скажем, не- 274 11.5. БАЗОВЫЕ СЕКРЕТЫ ДЛЯ АУТЕНТИФИКАЦИИ КОМПЬЮТЕРОВ
прямую аутентификацию, должны иметь возможность аутентифицировать себя всем другим системам. Для сохранения безопасности таких операций подобные системы должны защищать свой базовый секрет от раскрытия. В компьютерах, которые работают под непосредственным управлением людей, эта проблема ре- шается за счет использования в качестве базового секрета запоминаемого паро- ля. Иное дело в случае систем, работающих без вмешательства человека. Нера- ционально, чтобы пароли в такие автоматические системы вводились операто- ром, поэтому в общем случае пароли и другие базовые секреты должны храниться непосредственно в самих системах. Некоторые проблемы, связанные с хранением базовых секретов в компьютере, описывались в разделе 10.6, когда обсуждалась введенная компанией Microsoft ба- за данных SAM. Если взломщики знают где смотреть, то они могут украсть сек- рет. Можно шифровать секрет, например, с помощью системы SYSKEY от Micro- soft, но тогда и этот секрет тоже надо где-то хранить (см. примечание 16). Некоторыми исследователями были описаны общие стратегии на- л хождения криптографических ключей, хранящихся в больших объе- А-74 9 мах памяти компьютера. Даже если система помещает ключ в дейст- вительно трудно поддающееся обнаружению место, такая атака способна обнару- жить его местонахождение, осуществляя поиск по всему пространству оперативной памяти системы и жесткого диска. В процессе атаки отыскиваются области хране- ния с высокой энтропией, то есть такие блоки памяти, которые “более случайны”, чем другие области диска. Шамир (Shamir) и ван Сомерин (van Somerin) обнару- жили, что можно идентифицировать области с высокой энтропией путем их визу- ального представления при выделении каждому биту по пикселю. Далее они про- вели эксперименты, организовав автоматический подсчет количества уникальных байтов данных в каждой 64-байтовой области; с большой долей вероятности мож- но сказать, что область, содержащая секретный ключ, будет давать более высокий результат счета, чем области, содержащие графику, текст или компьютерные ко- манды. Эта методика может быть использована для сужения зоны поиска взлом- щиком ключей, спрятанных в компьютере (см. примечание 17). Основным методом защиты от поиска по случайностному прин- Ж ципу является использование стеганографии-, стратегии, в соответ- _ . ствии с которой малый объем информации размещается в большом z объеме информации. Например, ключ шифрования может быть разбит на не- сколько отдельных фрагментов по четыре бита каждый, которые, в свою оче- редь, преобразуются в восьмибитовые байты путем добавления старших битов, взятых от ASCII-символа. Это существенно снизит энтропию. Или ключ может храниться в виде младших битов изображения. Данные изображения тоже не будут иметь высокой энтропии (см. примечание 18). К сожалению, стеганография полностью полагается на “защиту через незна- ние”. Стоит взломщикам узнать способ хранения ключа, и они смогут извлечь его, даже не прибегая для этого к сложным процедурам поиска. Самой эффек- тивной защитой от кражи ключа является его удаление из обычной рабочей сре- ды компьютера, чтобы взломщики не имели возможности до него добраться. Обычно это связано с перемещением ключа на отдельное аппаратно реализован- ное устройство, выполняющее криптографические функции, без передачи ключа назад в компьютер. Многообещающим и дешевым подходом является примене- ние для этого смарт-карт, описанных в разделе 9.1. Резюмируя, можно дать следующие рекомендации по управлению защищен- ными серверами, которые должны работать без вмешательства человека. Нельзя хранить ключ в машине; следует использовать шифровальную ап- паратуру, которая хранит ключ вне досягаемости взломщиков. Если надо хранить ключ в машине, то она должна быть укреплена на- сколько это только возможно. ГЛАВА 11. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ 275
Если программное обеспечение предоставляет несколько вариантов хране- ния ключа, то следует выбрать такой, который взломщику будет трудно предугадать и обойти. Критически важные с точки зрения безопасности функции, в частности хранение ценных базовых секретов, должны выполняться на специально выделенном для этой цели компьютере. 11.6. Сводные таблицы Таблица 11.1. Сводная таблица атак Атака if Проблема системы защиты Характер атаки Описание атаки А-69 Подделка разрешения на доступ Маскировка под другого человека Сложная Подделывается сообщение, которое разрешает доступ в ответ на фиктивный запрос о регистрации путем замещения ответа сервера аутентификации А-70 Преобразование отказа в разрешение Маскировка под другого человека Сложная Модификация сообщения об отказе в д оступе в сообщение, говорящее о согласии с доступом А-71 Атака с воспроизведением Подделка сообщения Сложная Повторно передается законное сообщение, чтобы заставить агента повторить предыдущий ответ А-72 Атака переписывания Подделка сообщения Сложная Модифицируется зашифрованное сообщение для получения положительного решения по запросу на аутентификацию, посланному контроллеру домена А-73 Дублирование потока, зашифрованного с помощью потокового шифра с ключом Восстановление закрытой информации Сложная Объединяются потоки зашифрованных с использованием одного ключа данных с последующим декодированием результата А-74 Поиск ключа в областях с высокой энтропией Восстановление закрытой информации, например, базовых секретов Сложная Используются методики измерения энтропии для поиска вероятных мест хранения в компьютере базовых секретов Таблица 11.2. Сводная таблица методов защиты Защита V Срываемые атаки Описание D-67 Наличие в сообщении случайного однократно используемого числа А-71 Атака с воспроизведением Запросы содержат случайное однократно используемое число; законные ответы включают в себя зто случайное число специальным образом, затрудняющим подделку D-68 Шифрование передаваемых А-10 Перехват набора с Посылаемые по сети пароли шифруются с паролей клавиатуры использованием обратимого алгоритма шифрования 11.6. СВОДНЫЕ ТАБЛИЦЫ
Окончание табл. 11.2 Защита % Срываемые атаки Описание D-69 Шифрование с использованием случайного числа А-10 Перехват набора с клавиатуры А-71 Атака с воспроизведением Шифрование и расшифровка данных в транзакции выполняется с использованием случайного одноразового числа, чтобы зашифрованные данные нельзя было воспроизвести в другой поддельной транзакции D-70 Хеширование по ключу с использованием случайного числа А-69 Подделка разрешения на доступ А-70 Преобразование отказа в разрешение А-71 Атака с воспроизведением А-72 Атака переписывания Использование случайного числа при посылке сообщения, требующего ответа. После конструирования ответа вычисляется хешированное значение, объединяющее текст ответа, коллективно используемый секрет и случайное число из исходного сообщения D-71 Шифруемое соединение А-69 Подделка разрешения на доступ С целью защиты сообщений управления доступом агент и сервер аутентификации устанавливают между собой полностью шифруемое соединение D-72 Порядковые номера как средство борьбы с воспроизведением А-71 Атака с воспроизведением В каждое сообщение вводится его порядковый номер, и используется механизм защиты целостности. Если два сообщения имеют одинаковые порядковые номера, то они являются дубликатами D-73 Генерация уникальных ключей шифрования А-73 Дублирование потока, зашифрованного с помощью потокового шифра с ключом В процесс генерации ключей вводятся заранее заданные константы, которые позволяют получать различные секретные ключи для различных целей из одного исходного набора базовых секретов и случайных чисел D-74 Хранение ключей с использованием стеганографии А-74 Поиск ключа в областях с высокой энтропией Кодирование случайных базовых секретов таким образом, чтобы исключить сосредоточение областей хранения с высокой энтропией ГЛАВА 11. НЕПРЯМАЯ АУТЕНТИФИКАЦИЯ 277
ГЛАВА 12 Протокол Kerberos и Windows 2000 “Все достаточно просто”, — сказал Джимли. “Если ты друг — скажи пароль. Тогда дверь откроется, и ты сможешь войти”. — Дж. Р.Р. Толкиен. Братство кольца В этой главе... Протокол Kerberos обеспечивает аутентификацию и коллективное использо- вание временного секретного ключа для взаимодействующих процессов. Концепция центра распределения ключей Протокол распределения ключей Нидхэма-Шредера Мандаты протокола Kerberos и мандаты на получение разрешения Протокол Kerberos и ОС Windows 2000 компании Microsoft 12.1. Центр распределения ключей В 1980-е годы в банковской сфере начали использовать для защиты трафика электронного перевода денежных средств шифрование с помощью алгоритма DES. Однако по мере роста трафика банкам приходилось бороться с проблемой безопас- ного и эффективного обслуживания ключей шифрования. Основываясь на мате- риалах работы Денниса Брэнстэда (Dennis Branstad), посвященной вопросам безо- пасности в сети, был разработан стандарт на центры распределения ключей (key distribution center, KDC). Банки использовали KDC для генерации временных ключей шифрования сообщений между парами банковских офисов. Это исключало риск использования единого ключа шифрования для всех сообщений между дове- ряющими друг другу серверами. Это также снижало расходы по распределению уникальных ключей для каждой пары банковских офисов. Банковский подход был формализован в виде стандарта ANSI Х9.17 (см. примечание 1). Временные ключи шифрования дают примерно те же преимущества, что и одноразовые пароли: они снижают размер убытков, которые могут нанести взломщики, найдя один из ключей, поскольку каждый ключ работает только временно. Каждая из доверяющих друг другу машин обладает уникальным мастер-ключом, которым он пользуется совместно с KDC. Мастер-ключ позволяет серверу безопасно обмениваться данными с KDC. Кроме того, KDC может криптографически “упаковывать” временные ключи, используя для этого мастр-ключ. В результате один сервер может безопасно переадресовывать пра- вильные ключи другому. Это снижает количество сетевых сообщений, обеспечи- вая некое подобие непрямого общения.
Рабочая станция Джона t Рис. 12.1. Непрямая аутентификация с помощью центра распределения ключей. В соот- ветствии с эти подходом два компьютера взаимно аутентифицируют друг друга благодаря наличию коллективно используемого секретного ключа, которым, как предполагается, владеют только эти два компьютера. Совместно используемый секретный ключ встраива- ется в криптографически защищенный элемент данных, называемый “мандатом”. Чтобы воспользоваться почтовым сервером, Джон Дое связывается с центром распределения ключей, который выдает ему два мандата: один, зашифрованный с использованием его собственного мастер-ключа, и другой, зашифрованный с помощью мастер-ключа почтово- го сервера. Джон дешифрирует свой мандат и получает совместно используемый секрет- ный ключ, а другой мандат переадресовывает почтовому серверу. Сервер извлекает из мандата свой экземпляр совместно используемого ключа. Может показаться, что эти рассуждения уводят в сторону от темы аутенти- фикации, но если представить себе, что коллективно используемые временные ключи являются базовыми секретами, то становится понятной роль KDC. Если двум компьютерам необходимо аутентифицировать сообщения друг друга, то KDC может предоставить для этого коллективно используемый базовый секрет. Например, представим, что Джону необходимо взять с почтового сервера свою электронную почту. При традиционном подходе Джон мог бы предоставить сво- ему серверу секретный пароль многократного использования, а сервер использо- вал бы его, чтобы непосредственно аутентифицировать Джона или перенаправил бы пароль отдельному серверу аутентификации. Мандаты На рис. 12.1 показана третья альтернатива: использование KDC. Джон начина- ет с установления связи с KDC, который предоставляет ему некоторые полномочия в зашифрованном виде, называемые мандатами. Джон переадресовывает соответ- ствующий мандат почтовому серверу, который использует этот мандат для аутен- тификации Джона. (Если быть точным, то термин мандат появился вместе с про- токолом Kerberos, так что здесь мы говорим о “доисторических” мандатах.) По сути мандат является зашифрованной копией временного базового секре- та. Мандат шифруется с помощью мастер-ключа, известного только KDC и пред- полагаемому получателю мандата. Как это работает, показано на рис. 12.2. KDC ведет базу данных многократно и совместно используемых секретов — мастер- ГЛАВА 12. ПРОТОКОЛ KERBEROS И WINDOWS 2000 279
Мастер- ключ 52a377b 50003е1 31а5с72 79с2а35 59Ь0е05 Копия для почтового сервера КопиядляДжой'Дмд Рис. 12.2. Простые мандаты, генерируемые KDC. В сущности мандат является зашифро- ванной копией временного секрета для совместного использования конкретной парой компьютеров. В данном случае Джон Дое запросил мандат для использования с почтовым сервером. В верхнем левом углу показано, что KDC генерирует случайный секрет. Затем он создает мандаты, шифруя копии секрета с использованием мастер-ключа получателя, взятого базы данных мастер-ключей KDC. Это гарантирует, что только получатель сможет расшифровать коллективно используемый временный секрет. ключей. Каждый пользователь или сервер, известный KDC, имеет собственный мастер-ключ. Когда Джон связывается с KDC по поводу доступа к почтовому серверу, KDC генерирует ему временный коллективно используемый секрет для использования с почтовым сервером. KDC шифрует два экземпляра секрета — для Джона и для почтового сервера, каждый с использованием соответствующе- го мастер-ключа из базы данных. Наконец, KDC доставляет эти мандаты Джону, который передает мандат поч- товому серверу. После получения мандата почтовый сервер использует мастер- ключ для его расшифровки и извлекает временный коллективно используемый секрет. Поскольку никто больше не знает мастер-ключей, коллективно исполь- зуемых между лицами, серверами и KDC, то никто кроме подразумеваемых по- лучателей и не сможет расшифровать мандаты. Когда у сервера имеется временный коллективно используемый секрет, Джон может послать ему свой запрос на получение электронной почты и воспользо- ваться коллективно используемым секретом для аутентификации своего запроса. В простейшем случае сервер может послать запрос на ввод традиционного паро- ля и принять временный коллективно используемый секрет в качестве законного пароля. Однако скорей всего сервер воспользуется секретом для выполнения “запрос-ответного” квитирования с рабочей станцией Джона, так что коллектив- но используемый секрет в чистом виде и не придется пересылать. Конечно, подобный базовый подход к распределению ключей з» слишком прост, чтобы пользоваться им безопасно. Основная проблема А-75 W состоит в том, что у Джона нет способа узнать, действительно ли по- лученный им ключ является ключом для почтового сервера. Например, взломщик (назовем его Генри) мог перехватить запрос Джона. После этого он мог подставить свое имя вместо имени почтового сервера. Если Джон воспользуется полученными в результате ключами, то Генри сможет перехватывать сообщения Джона и читать их. Для борьбы с этой проблемой в протоколе Х9.17 в сообщения распределения ключей были введены дополнительные данные, а именно: коды аутентификации 280 12.1. ЦЕНТР РАСПРЕДЕЛЕНИЯ КЛЮЧЕЙ
сообщений, временные метки и имена отправителей и получателей. Далее будет рассмотрено несколько рекомендаций, предложенных учеными-компьютерщи- ками, занимавшимися проблемами управления ключами, начиная с Роджера Нид- хэма (Roger Needham) и Майкла Шредера (Michael Schroeder). Протокол Нидхэма-Шредера В 1978 году Нидхэм и Шредер опубликовали простой протокол, W который эффективно решал проблему подделок, связанную с KDC. Для обнаружения поддельных или воспроизводимых сообщений про- токол Нидхэма-Шредера вводил однократно используемые случайные числа и механизм запрос-ответ. Этот протокол состоит из двух частей: одна относится к KDC, вторая — к “запрос-ответной” части (см. примечание 2). На рис. 12.3 показана KDC-часть протокола. Джон посылает KDC запрос, ко- торый идентифицирует отправителя (Джона), пункт назначения (почтовый сер- вер) и случайным образом сгенерированное однократно используемое число. Как и раньше, KDC генерирует ключ для коллективного использования. Однако те- перь мандат для почтового сервера содержит имя пользователя и коллективно используемый ключ. После этого KDC объединяет мандат, случайное число, коллективно используемый ключ и имя почтового сервера в единый ответ Джо- ну, причем все это шифруется с использованием ключа Джона. Запрос от Джона Дое Кому: почта От кого: jdoe Случайное число: 258d От кого: jdoe Случайное число: 258d Ключ коллективного пользования Ключ Кому: почта коллективного коллективного От кого: jdoe пользования /Сгенерированный случайным образом ключ коллективного пользования Имя пользователя Мастер- ключ Шифрование Случайное число: 258d Ключ пользования Мандат для почтового сервера Ответ Джону Дое, зашифрованный с использованием его ключа Почта Файлы jdoe сгое tdore 52а377Ь 50003е1 3fa5c72 79с2а35 59Ь0еО5 Ключ Кому: почта коллективного пользования Рис. 12.3. KDC-часть протокола Нидхэма-Шредера. KDC создает мандат, который содер- жит случайным образом выбираемый секрет коллективного пользования и имя клиента, запрашивающего ключ. После этого KDC посылает ответ, зашифрованный с помощью секретного ключа клиента, который включает случайное число клиента, коллективно ис- пользуемый ключ и имя сервера, для которого создан мандат. ГЛАВА 12. ПРОТОКОЛ KERBEROS И WINDOWS 2000 281
По получении Джон дешифрирует данные от KDC. Путем проверки правиль- ности значения случайного числа Джон может удостовериться, что ответ не яв- ляется следствием воспроизведения более раннего запроса. Он может также про- верить, не изменил ли взломщик его запрос (например, указав другого получа- теля), проверив, что мандат предназначен для почтового сервера. Если что-либо из этого имело место, то зашифрованное содержимое ответа отразит это. Здесь подразумевается, что KDC не использует потоковый шифр или другую методику шифрования, которая уязвима в отношении атак переписывания (см. атаку А-72 в разделе 11.3). Иначе взломщик может делать системные изменения в ответе, например, заменить одно случайное число другим или модифицировать за- явленного получателя. KDC должен использовать шифр, который рассеивает зна- чения битов открытого текста среди большого количества других битов: шифр блочного шифрования. Более того, блочный шифр должен работать в цепочечном режиме, который делает различные части зашифрованного текста зависимыми друг от друга. Вследствие этого изменения в зашифрованном тексте приведут при расшифровке к получению непредсказуемых или неправильных результатов. Джон может закончить обмен ключами, просто передав мандат л почтовому серверу. Он обоснованно уверен, что не использует укра- А-76 W денное сообщение KDC, которое воспроизведено взломщиком. Одна- ко у почтового сервера нет уверенности, что взломщик не воспроизводит один из более ранних мандатов от Джона. Если взломщик обманет почтовый сервер и за- ставит принять ранее посланный мандат, то сможет воспроизвести какой-нибудь предыдущий сеанс Джона с почтовым сервером. Например, взломщик сможет заставить почтовый сервер воспринять повторную копию какого-нибудь преды- дущего почтового сообщения, связанного с выполнением важной транзакции (скажем, с выплатой денег взломщику еще раз). Чтобы не допустить этого, протокол Нидхэма-Шредера включает в Ж себя запрос-ответную часть (рис. 12.4). Она позволяет верифицировать D-76 поступление мандата от системы, которая действительно владеет ко- пией коллективного ключа из мандата. Получив от Джона мандат, почтовый сер- вер использует для его расшифровки ключ, коллективно используемый им с KDC. Здесь он проверяет, присутствует ли имя Джона в мандате. После этого сервер ге- нерирует случайное число, шифрует его с помощью ключа из мандата и посылает Джону. Получив число, Джон расшифровывает его, вычитает единичку из значе- ния и возвращает результат почтовому серверу. Это позволяет почтовому серверу удостовериться, что Джон действительно имеет второй ключ, так как в противном случае Джон не смог бы вычесть единицу из случайного числа. Основная причина использования временных ключей сеанса л заключается в том, что всегда есть риск того, что взломщики завла- А-77 9 деют ключом сеанса. Они могут сделать это взломом грубой силой или проникнув в один из компьютеров, использующих этот ключ. Следуя этой логике, исследователи Дороти Деннинг (Dorothy Denning) и Джованни Сакко (Giovanni Sacco) поняли, что взломщик, имея ключ сеанса, может безнаказанно использовать соответствующий мандат повторно. Например, представим, что взломщик перехватил ключ сеанса между Джоном и почтовым сервером и в его распоряжении есть соответствующий мандат. С помощью этого мандата взлом- щик может обращаться к почтовому серверу любое количество раз и убеждать его использовать этот мандат снова. У почтового сервера нет способа узнать, что Джон не пользовался этим мандатом, так как взломщик имеет возможность пользоваться соответствующим ключом сеанса для выполнения процедуры за- прос-ответ (см. примечание 3). 282 12.1. ЦЕНТР РАСПРЕДЕЛЕНИЯ КЛЮЧЕЙ
Чтобы решить эту проблему, Деннинг и Сакко предложили аль- тернативу протоколу Нидхэма-Шредера, в которой вместо случай- ных чисел использовались временные метки. В случае Джона его D-77 Н компьютер будет вставлять в посылаемый KDC запрос значение те- кущего времени. Ответ KDC тоже будет содержать вместо случайного числа ту же временную метку. Кроме того, KDC включит временную метку и в мандат для почтового сервера. Когда почтовый сервер расшифрует мандат, полученный от Джона, он сможет удостовериться, что этот мандат действительно от Джона и что он выдал его недавно. Это значительно снижает риск атак воспроизведения, поэтому описанная методика нашла широкое применение в протоколе Kerberos. 12.2. Протокол Kerberos В 1983 году в МТИ был начат проект “Афина”, целью которого было создание модели предполагаемой среды распределенных вычислений следующего поколе- ния для академических организаций. Группа участников проекта “Афина” ре- шила задачу безопасности, связанную с KDC, на основе протокола Нидхэма- Шредера, но с учетом результатов работы Деннинга и Сакко. Чтобы обеспечить работу протокола Kerberos в крупномасштабных средах, проект “Афина” должен был предложить программное обеспечение для обработки процедуры регистра- Рабочая станция Джона Ключ коллективного пользования 2. Отсылка рабочей станции зашифрованного случайного числа Минус 1 Почтовый сервер 1. Отсылка мандата почтовому серверу Случайное число Ключ почтового сервера: 52а377Ь _ Ключ коллективного OiKoro.jdoe пользования : Расшифровка ифрование 3. Вычитание 1, шифрование и отсылка назад асшифровка и проверка Рис. 12.4. Часть протокола Нидхэма-Шредера, относящаяся к процедуре запрос-ответ. Рабочая станция Джона получила от KDC мандат для почтового сервера в соответствии с процедурой, показанной на рис. 12.3. Он посылает его почтовому серверу, который, как показано в правой части рисунка, извлекает значение коллективно используемого ключа. Чтобы убедиться, что Джон и сервер пользуются одним ключом, сервер шифрует случай- ное число и посылает его Джону. Как показано слева, рабочая станция Джона расшифро- вывает значение случайного числа, вычитает из него единицу, шифрует результат и по- сылает его назад. Сервер верифицирует ответ, дешифрируя его и сравнивая результат с исходным значением случайного числа. Ключ коллективного пользования ГЛАВА 12. ПРОТОКОЛ KERBEROS И WINDOWS 2000 283
ции на клиентских рабочих станциях и адаптировать серверы для работы с про- токолом Kerberos. Программное обеспечение, адаптированное под работу с про- токолом Kerberos, обычно называют керберезированным (см. примечание 4). К 1989 году Стив Миллер (Steve Miller) и Клиффорд Ньюмэнн (Clifford Neu- mann) с помощью других сотрудников МТИ сделали четыре версии протокола Kerberos. Версия 4 была первой выпущенной в общее пользование версией про- токола и до сих пор используется. Однако стандартной версией для Internet- сообщества стала версия 5, и именно эта версия рассматривается в данной книге (см. примечание 5). Сервер аутентификации KDC протокола Kerberos имеет в своем составе несколько серверов, которые выполняют различные функции. Сервер аутентификации реализует протокол, сходный с протоколом Нидхэма-Шредера. Теоретически этот сервер может вы- давать мандаты для обмена данными с любой керберезированной службой. На практике большинство рабочих станций использует сервер аутентификации только в целях выдачи мандатов для связи со службой выдачи разрешений на получение мандатов, которая будет рассмотрена далее. В табл. 12.1 приводятся основные элементы мандата протокола Kerberos. Чтобы получить мандат от сервера аутентификации, Джон должен сконструи- ровать сообщение KRB_AS_REQ (рис. 12.5). Как и в случае протокола Нидхэма- Шредера, Джон, запрашивая мандат, предоставляет данные о своей личности, имя сервера и случайное одноразовое число. Протокол устанавливает временной пери- од, в течение которого будет действовать коллективно используемый ключ, назы- ваемый в протоколе Kerberos ключом сеанса. Также протокол вводит в шифруе- мую по ключу часть идентификатор рабочей станции, с помощью которого он мо- жет контролировать, каким рабочим станциям разрешено использовать конкретный мандат. Это снижает вероятность злонамеренного использования ман- дата взломщиком. Сервер аутентификации отвечает сообщением KRB_AS_REP, ко- торое содержит мандат и соответствующую статусную информацию. Джон удостоверяется в правильности мандата, проверяя статусную информа- цию, предоставляемую сервером в сообщении KRB_AS_REP. В частности, ему необходимо проверить, что ответ содержит правильные имя сервера, случайное число и период действия. После этого он может спокойно пользоваться мандатом и ключом сеанса для связи с сервером. Аутентификация для сервера На рис. 12.6 показано, как Джон использует мандат протокола Kerberos и со- ответствующий ключ сеанса для создания сообщения KRB_AP_REQ, чтобы аутентифицировать себя почтовому серверу. Кроме мандата, Джон предоставляет еще и так называемый аутентификатор протокола Kerberos, который представ- Таблица 12.1. Основные элементы мандата протокола Kerberos Поле Назначение Имя пользователя Клиент, который запрашивает мандат Имя сервера Нужная служба. Этот мандат шифруется с использованием мастер-ключа сервера Период действия Время, когда мандат и соответствующий ему ключ сеанса начинают действовать, и время, когда ключ и мандат теряют свою дееспособность Ключ сеанса Секретный ключ, коллективно используемый сервером и пользователем Рабочая станция Идентификатор компьютера (или компьютеров), на котором может работать пользователь 284 12.2. ПРОТОКОЛ KERBEROS
Рис. 12.5. Сервер аутентификации протокола Kerberos. Пользователи должны обращаться к серверу за первым мандатом после регистрации а системе. Протокол представляет собой усовершенствованный вариант протокола Нидхэма-Шредера. Период действия устанавлива- ет, когда и как долго могут использоваться мандат и соответствующий ему ключ сеанса. Это решает проблему воспроизведения, на которую указали Деннинг и Сакко. Идентификатор рабочей станции определяет компьютеры, которые могут использовать этот мандат. пользователя ' Имя,? сервера Период’ действия л клрч и Ляанса' Рабочая-1 Имя ргрнция-J сервера Период действия Случайное число Ключ сеанса Ответ, посылаемый Джону Дое (сообщение прокола Kerberos KRB_AS_REP) ляет собой зашифрованный элемент данных, содержащий имя пользователя (Джона) и временную метку. Для шифрования аутентификатора Джон использу- ет тот же ключ сеанса, который был в мандате. Сервер расшифровывает полученный мандат, извлекает из него ключ сеанса и использует его для расшифровки аутентификатора. Имя пользователя в аутен- тификаторе должно совпадать с именем пользователя в мандате, а временная метка должна быть не очень старой — обычно в пределах последних пяти ми- нут. Если запрос проходит эти тесты, сервер посылает ответное сообщение KRBAPREP (если пользователь о нем просит). В этом ответе посылается вре- менная метка из запроса, зашифрованная с использованием ключа сеанса. Как и в случае протокола Нидхема-Шредера, ответ имеет смысл, только если алгоритм шифрования не допускает выполнения точных и надежных атак с помощью пе- реписывания или редактирования методом вырезки и копирования. Служба выдачи разрешений на получение мандата Хотя в принципе возможно использование сервера аутентификации протокола Kerberos для генерации мандатов на работу с отдельной службой, имеется одна проблема. Протокол Kerberos требует использования мастер-ключа для обработ- ки сообщений, которыми обменивается пользователь с сервером аутентифика- ГЛАВА 12. ПРОТОКОЛ KERBEROS И WINDOWS 2000 285
Пользователь: Запрос серверу от Джона Дое (сообщение протокола Kerberos KRB.AP.REQ) Рис. 12.6. Аутентификация для керберезированного сервера. Когда Джон посылает мандат серверу, он должен также предоставить аутентификатор, в котором содержатся его имя пользователя и временная метка, зашифрованные с использованием ключа сеанса. ции, а большинство людей, работая на компьютере, обычно используют множе- ство служб. Если мастер-ключ хранится на рабочей станции в то время, когда на ней кто-то работает, то существует риск его похищения. Чтобы устранить эту проблему, мастер-ключом надо пользоваться как можно более короткий проме- жуток времени и убирать его из рабочей станции как можно быстрее. Но это приводит к другой проблеме: если мы стираем мастер-ключ после завершения подключения к одному серверу, то нам надо прочитать его снова при попытке подключиться к другому. Традиционно в протоколе Kerberos в качестве мастер- ключей пользователей используются запоминаемые пароли, так что в этом слу- чае придется мириться с бесконечными запросами на ввод пароля. Ни одна из альтернатив не является практичной. Таким образом, мы снова стоим перед той же дилеммой, которая привела к возникновению ключей сеанса: нужно вводить временный ключ, который можно использовать для выдачи других временных ключей. Действительно, проблема решается таким же образом: вместо того, чтобы оставлять мастер-ключ в рабо- чей станции во время регистрации Джона, вводится специальный ключ сеанса, который можно использовать для выпуска мандатов. Здесь используется хорошо известная в вычислительной технике практика: часто проблему можно решить, введя еще один уровень косвенности. В протоколе Kerberos этот дополнительный временный ключ реализуется пу- тем добавления к серверу KDC специального сервера, называемого сервером вы- дачи разрешений на получение мандатов. Этот сервер работает с мандатами, которые, конечно, называются разрешениями на получение мандатов (ticket- granting ticket, TGT). Пользователи могут посылать свои TGT этому специаль- ному серверу, чтобы запрашивать мандаты для других служб. В предыдущих примерах рассматривался случай установления Джоном Дое со- единения с почтовым сервером через KDC. На практике, конечно, Джон будет ус- танавливать связь не только с почтовым сервером. Скорее всего, он, как обычно, подключится к двум или более файл-серверам, одному или двум серверам печати, а также к другим службам. Несомненно, рабочая станция Джона будет подклю- чаться к некоторым из этих служб автоматически в момент его регистрации в сис- теме. Но могут быть и другие службы, которые не входят в список регулярно ис- пользуемых, или такие, к которым нет смысла подключаться без необходимости. 286 12.2. ПРОТОКОЛ KERBEROS
Рабочая станция Джона TGT Почтовый сервер Ответ почтового сервера Запрос почтовому серверу, содержащий мандат “Керберизированное’1 серверное ПО Рис. 12.7. Протокол Kerberos и разрешения на получение мандатов. Протокол Kerberos де- лит процесс выдачи мандатов на две части: сначала Джон получает разрешение на получе- ние мандатов (TGT), а затем использует TGT вместе со службой выдачи мандатов для полу- чения отдельных мандатов на использование отдельных служб. Свой мастер-ключ он теперь может вводить только при выполнении запроса TGT, после чего уже нет необходимости в размещении ключа в рабочей станции, а значит, он перестает быть уязвимым к атакам. Запрос на регистрацию Мандат почтового сервера Служба выдачи разрешений База данных секретных ключей Служба аутентификации Ключ мандата выдачи разрешения ' KDC протокола \ Kerberos Благодаря серверу выдачи разрешений на получение мандатов обеспечивается относительно безопасный и дружественный к пользователю механизм однократ- ной регистрации (см. рис. 12.7). Когда Джон регистрируется на своей рабочей станции, она немедленно связывается с сервером аутентификации KDC протоко- ла Kerberos и получает TGT. После этого рабочая станция получает пароль Джо- на (или другие аутентификационные данные) и использует их для расшифровки ответа от сервера аутентификации. Затем она пересылает TGT серверу выдачи разрешений на получение мандатов, чтобы получить мандаты на доступ к служ- бам, немедленно необходимых Джону: к обычно используемым им файл- серверам, почтовому серверу, серверу печати. Позднее рабочая станция может снова обратиться к серверу выдачи разрешений за дополнительными мандатами, если Джону понадобятся дополнительные серверы. Рабочей станции больше не надо запрашивать у Джона ввод пароля, так как для получения дополнительных мандатов она просто использует TGT и соответствующий ключ сеанса. На рис. 12.8 показана первая часть процесса выдачи мандатов. Джон посыла- ет запрос, который содержит аутентификатор, TGT и детали касательно этого запроса: какой сервер (почтовый сервер), когда и как долго будет использовать- ся, а также случайное одноразовое число. ГЛАВА 12. ПРОТОКОЛ KERBEROS И WINDOWS 2000 287
Запрос от Джона Дое (сообщение протокола Kerberos KRBTGS_REQ) Имя пользователя Временнвя метка Аутентификатор Расшифровка число Имя сервера Период Случайное действия ------- Мандат выдачи разрешения (TGT) Рабочая станция Ключ сервера выдачи разрешений Имя пользователя Временная метка Сервер в мандате Период действия Ключ для выдачи разрешения Имя пользователя Период действия Ключ сеанса Рабочая станция Имя сервера Случайное число Ключ для выдачи разрешения Имя пользователя Рис. 12.8. Использование запроса TGT для построения мандата на работу со службой, часть 1. Джон посылает серверу выдачи разрешений на получение мандата копию своего TGT, аутентификатор и информацию о мандате для почтового сервера, который ему ну- жен. Сервер выдачи разрешений на получение мандатов расшифровывает и верифицирует запрос, используя ключ для выдачи мандатов. После этого он генерирует ключ сеанса, который будут совместно использоваться Джоном и почтовым сервером. Сервер выдачи разрешений имеет собственный ключ, который используется протоколом Kerberos для шифрования его мандатов. Получив TGT, сервер рас- шифровывает его и извлекает ключ сеанса, который используется при выдаче мандатов Джону и называется здесь ключом для выдачи мандатов. Сервер ис- пользует ключ для выдачи мандатов, чтобы расшифровать аутентификатор и проверить его достоверность. Также сервер сверяет период действия TGT с теку- щим временем. Кроме того, он проверяет период действия, запрошенный рабо- чей станцией Джона для нового мандата. На следующем этапе сервер генерирует случайным образом ключ сеанса, который будет использоваться рабочей станци- ей Джона и почтовым сервером. На рис. 12.9 показано, как сервер выдачи разрешений берет данные, подле- жащие возврату Джону, и шифрует их для доставки. Сначала сервер создает мандат почтового сервера и шифрует его с использованием мастер-ключа почто- вого сервера. Затем сервер группирует остальные данные, необходимые ему для ответа, и шифрует их с использованием ключа для выдачи разрешений Джону. Оба блока зашифрованных данных объединяются, формируя ответное сообще- ние, которое сервер посылает Джону. 288 12.2. ПРОТОКОЛ KERBEROS
Имя пользователя Имя сервера Период действия Ключ сеанса Рабочая станция Случайное число Ключ для выдачи разрешения Имя сервера Период действия Ключ сеанса Рабочая станция Случайное число Ответ, посылаемый Джону Дое (сообщение прокола Kerberos KRB_TGS_REP) Рис. 12.9. Использование запроса TGT для построения мандата на работу со службой, часть 2. Сервер выдачи разрешений на получение мандатов берет полученную им инфор- мацию и форматирует ее для шифрования. Мандат для почтового сервера шифруется с помощью мастер-ключа почтового сервера. Остальная часть ответа шифруется с использо- ванием ключа для выдачи разрешений Джону, взятого из TGT. 12.3. Аутентификация пользователей и рабочих станций Внимательные читатели, возможно, заметили, что протоколы KDC, подобные протоколу Kerberos, в действительности уделяют основное внимание аутентифи- кации пользователей сетевым службам. Классические протоколы слабо или во- обще никак не обеспечивают установление личности пользователя для рабочей станции или даже KDC. Ничто не мешает кому угодно, включая взломщика, об- ратиться с запросом на получение мандатов для аутентификации конкретному серверу. Имея возможность устанавливать связь с KDC Джона Дое, любой может послать сообщение, заявляющее, что он Джон, и получить мандат для аутенти- фикации почтовому серверу. Рассматриваемые далее протоколы гарантируют не- возможность использования взломщиками полученных ими мандатов. Эта ситуация имеет два интересных следствия. Во-первых, это означает, что протокол Kerberos не обязательно рассматривает сами рабочие станции как от- дельные объекты, которые требуют аутентификации. Вместо этого подразумева- ется, что они являются взаимозаменяемыми устройствами, как это и имеет ме- сто в среде академических лабораторий. Во-вторых, это означает, что у взлом- щиков есть возможность получить достаточное количество мандатов, относя- ГЛАВА 12. ПРОТОКОЛ KERBEROS И WINDOWS 2000 289
щихся к конкретному человеку, чтобы провести атаку на его мастер-ключ. К счастью, эти следствия не являются незыблемыми, и варианты реализации про- токола Kerberos позволяют обойти их. Аутентификация рабочих станций Фундаментальной особенностью протоколов KDC, которые рассматривались в предыдущих разделах, является то, что они все они в обеспечении безопасности действий рабочей станции полагаются на использование одного ключа. В отли- чие от рассмотренного в разделе 11.4 протокола ОС Windows NT, рабочая стан- ция не имеет отдельного ключа для обмена данными с KDC или любой другой службой защиты. Поскольку в протоколе Kerberos реализована модель непрямой аутентификации, он не помогает самой рабочей станции аутентифицировать от- дельных пользователей. Рабочая станция просто играет роль транспортного сред- ства, с помощью которого авторизованные пользователи могут манипулировать ресурсами на серверах. Имея физический доступ, любой может воспользоваться рабочей станцией, так как протокол Kerberos не обеспечивает аутентификации, ориентированной на рабочую станцию. Реализованный в протоколе Kerberos подход со всей очевидностью отражает идеологию распределенных вычислений с “тонким клиентом”. Если клиентские рабочие станции просты и достаточно однородны в сети, то они могут быть взаимозаменяемыми. Не имеет значения, какой рабочей станцией пользуется конкретный человек; основной целью аутентификации является запрещение пользователю воспользоваться не принадлежащими ему ресурсами. Однако подобное видение не отвечает реальности, существующей в организа- циях, где преобладают персональные компьютеры, стоящие на столах сотрудни- ков. В каждом персональном компьютере имеются локальные файлы, принад- лежащие конкретному владельцу или хранителю. Во многих случаях на нем ус- тановлено программное обеспечение, лицензированное на имя его владельца. Если протокол Kerberos будет аутентифицировать любого на каждой рабочей станции, то он не позволит контролировать доступ к таким персональным ресур- сам. В подобных случаях рабочая станция должна иметь дополнительную проце- дуру аутентификации. Это может быть прямая аутентификация или основанная на протоколе Kerberos процедура предаутентификации, которая описывается да- лее в этом разделе. Компания Microsoft в ОС Windows 2000 использует комби- нацию этих методик (об этом вы прочтете в разделе 12.6). В идеальном мире, где используется абсолютно надежное шифрование, не дол- жен играть роли тот факт, что взломщики имеют возможность запрашивать и по- лучать мандаты, предназначенные для других пользователей. Но на самом деле мы не настолько уверены в своих криптографических алгоритмах, как нам хотелось бы, поэтому избегаем без необходимости подвергать информацию риску. В случае мандатов протокола Kerberos риск состоит в том, что взломщики имеют возможность заполучить достаточное количество А-78 9 мандатов, предназначаемых какому-нибудь важному пользователю, чтобы провести успешную атаку на мастер-ключ такого пользователя. В класси- ческой среде Kerberos это является серьезной угрозой, так как персональные мастер-ключи имеют в основе запоминаемые пароли. Например, представим се- бе, что какая-нибудь важная персона (Папа Римский, президент Соединенных Штатов, Билл Гейтс, Джоди Фостер или какая-нибудь другая знаменитость) ис- пользуют протокол Kerberos для аутентификации через крупный центр распре- деления ключей KDC. Это означает, что любой, связавшись с этим KDC, может получить “папские” мандаты или мандаты, принадлежащие другой важной пер- соне. Если важное лицо не слишком осторожно в выборе пароля, то взломщики могут взломать его пароль, собрав достаточное количество мандатов и проведя против них словарную атаку. 290 12.3. АУТЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ И РАБОЧИХ СТАНЦИЙ
Предаутентификация В протоколе Kerberos версии 5 была введена предаутентифика- W ция, так что серверы могли аутентифицировать запросы, посылаемые р KDC, а не полагаться на аутентификацию запросов, выполняемую ими потом. Администраторы могут сконфигурировать Kerberos таким образом, что он будет требовать аутентификации при запросе мандатов или TGT, так что KDC осуществляют рассылку зашифрованных данных только тем, кто уже знает соот- ветствующий ключ. Обычно процесс используется для аутентификации пользова- теля, получающего от KDC начальный TGT, хотя протокол способен поддерживать широкий набор альтернатив. Начальная предаутентификация должна быть дос- тупна в виде опции в любой совместимой версии протокола Kerberos. При традиционной Kerberos-аутентификации рабочая станция получает клю- чи от KDC до того, как ей нужен мастер-ключ пользователя. Так как в протоко- ле Kerberos в качестве мастер-ключа обычно используются пароли пользовате- лей, то рабочая станция может отложить запрос пароля до момента получения отклика от KDC. В случае предаутентификации рабочая станция должна сначала получить мастер-ключ пользователя, что обычно означает получение пароля. Рабочая станция посылает начальный запрос KDC, который обычно является запросом TGT. Для предаутентификации рабочая станция добавляет специально сформатированную зашифрованную временную метку. Временная метка включа- ет в себя текущее время суток и одностороннее хешированное значение осталь- ной части KDC-запроса, зашифрованное с помощью мастр-ключа пользователя. Получив запрос, KDC проверяет, необходима ли предаутентификация и, если это так, отвергает запрос в случае ее отсутствия. Если предаутентификационная временная метка присутствует, то KDC ищет мастер-ключ пользователя и ис- пользует его для расшифровки временной метки. Если время суток во временной метке приемлемо, KDC вычисляет одностороннее хешированное значение ос- тальной части запроса и сравнивает его с хешем из временной метки. Если они совпадают, KDC удовлетворяет запрос. Заметим, что рабочая станция может рассматривать ответ KDC в качестве подтверждения личности пользователя. KDC пошлет законное ответное сообще- ние, а не сообщение об ошибке, только в том случае, если предаутентификация прошла успешно. Рабочая станция может расшифровать ответ KDC и проверить, содержит ли он правильное значение случайного числа, имени сервера и периода действия. Если это не так, то рабочая станция может сделать вывод, что пользо- ватель пытается (безуспешно) выдать себя за кого-нибудь другого. 12.4. Делегирование мандата Как описывалось ранее, мандаты Джона могут быть использованы для обра- щения к принадлежащим ему ресурсам и только им самим. Но по мере развития распределенных систем в сторону усложнения, приходится сталкиваться с си- туациями, когда серверу может потребоваться связываться с другим сервером от имени Джона. Например, почтовому серверу наверняка необходимо читать оче- редь почтовых файлов Джона, которые размещаются на файл-сервере в другом месте. Поэтому почтовому серверу необходимо получить разрешение на чтение очереди Джона. Традиционно администраторы дают почтовому серверу божест- венное право читать все файлы или по крайней мере почтовые файлы, но это создает проблемы с защитой. Если взломщику удается обмануть почтовый сервер и выдать себя за другого пользователя, то он получает возможность читать фай- лы этого пользователя. Хуже того, если взломщик проникает в почтовый сервер, то он может получить свободный доступ к почтовым файлам всех пользователей. ГЛАВА 12. ПРОТОКОЛ KERBEROS И WINDOWS 2000 291
Предпочтительное решение заключается в выдаче серверу только такого объ- ема разрешений, который необходим ему для выполнения действий, на которые он авторизован. Если Джон просит сервер извлечь его почту, то сервер должен иметь доступ только к его почтовым файлам и тем административным файлам, которые обязательны для извлечения этой почты. Почтовый сервер уверен, что он общается с Джоном, так как у него есть достоверный мандат от него. Но если почтовый сервер переключается и запрашивает у файл-сервера файлы от имени Джона, то как файл-серверу убедиться, что запрос на самом деле делается от имени Джона? В конце концов всегда существует риск, что кто-то проник в поч- товый сервер и делает фальшивые запросы. Боле того, мандаты протокола Ker- beros идентифицируют адрес запрашивающего компьютера, и их выполнение не предполагается, если адреса не согласуются. Протокол Kerberos версии 5 имеет механизмы, которые при ограниченных обстоятельствах дают рабочим станциям возможность делегировать свои приви- легии по выдаче мандатов серверам. Для этого в TGT добавлены две функции. Первая из них допускает использование посреднических мандатов, которые по- зволяют владельцу TGT запрашивать мандаты, привязанные к компьютерам с другими сетевыми адресами. Вторая функция позволяет переадресовывать TGT, что дает возможность владельцу запрашивать другой TGT, привязанный к отли- чающемуся сетевому адресу. Подобный механизм используется в протоколе Ker- beros для аутентификации пользователей между различными KDC (ареалами), для чего применяются специальный TGT, называемый ссылочным мандатом. Посреднический TGT Если программному обеспечению рабочей станции Джона необходимо вос- пользоваться посредническими мандатами, то она начинает с запроса TGT с включенной посреднической опцией. Когда Джон хочет прочитать свою почту, он сначала получает мандат для почтового сервера и использует его для аутен- тификации себя этому серверу как обычно. Так как почтовому серверу тоже на- до связаться с файл-сервером от имени Джона, то рабочая станция Джона долж- на также запросить посреднический мандат для почтового сервера. Этот посред- нический мандат содержит сетевой адрес почтового сервера. Джон переадресовывает этот мандат почтовому серверу вместе с копией соответствую- щего ключа сеанса. Ключ сеанса шифруется с помощью ключа, которым Джон пользуется совместно с почтовым сервером, так что почтовый сервер имеет воз- можность получить значение этого ключа. Затем почтовый сервер переадресовы- вает посреднический мандат файл-серверу. Получив его, файл-сервер “видит”, что мандат содержит сетевой адрес почтового сервера, и мандат принимается. Файл-сервер расшифровывает мандат и извлекает из него ключ сеанса. Посколь- ку почтовый сервер и файл-сервер вместе пользуются этим ключом, то они могут аутентифицировать себя друг другу и продолжить обработку почты Джона. Переадресовываемый TGT Проблема с посредническими мандатами состоит в том, что порождающая ра- бочая станция должна каким-то образом иметь возможность прогнозировать, ка- кие посреднические мандаты понадобятся. Кроме того, может оказаться, что ра- бочая станция и сервер будут обмениваться между собой многочисленными со- общениями, пытаясь установить точный список требуемых посреднических мандатов. Переадресовываемый TGT устраняет эту проблему, позволяя серверу самому запрашивать необходимые ему мандаты. 292 12.4. ДЕЛЕГИРОВАНИЕ МАНДАТА
Когда программному обеспечению рабочей станции Джона требуется восполь- зоваться переадресуемым TGT, то она начинает с запроса TGT с включенной оп- цией переадресации. Когда Джону необходимо прочитать свою почту, он снова получает мандат для почтового сервера и использует его нормальным образом. Затем Джон связывается с сервером выдачи разрешений и просит его выпустить еще один TGT, но на этот раз содержащий сетевой адрес почтового сервера. Джон переадресовывает этот мандат почтовому серверу вместе с зашифрованной копией ключа выдачи разрешений TGT. Теперь почтовый сервер может связы- ваться с сервером выдачи разрешений непосредственно и получать мандаты для тех серверов, с которыми ему надо установить связь. Сервер выдачи разрешений будет обрабатывать запросы мандатов от имени Джона, поскольку сетевой адрес почтового сервера совпадает с адресом в переадресованном TGT. Конечно, запрос также содержит достоверный аутентификатор, которые сервер зашифровал с ис- пользованием ключа выдачи разрешений TGT. Описанные методики отражают различные компромиссы между уровнем защи- ты и удобством в работе. Хотя они обе исключают необходимость давать серверам неограниченный доступ к другим серверам, следует учитывать их стоимость и свя- занный с их применением риск. Подход с посредничеством позволяет программ- ному обеспечению пользователя решать, какие полномочия сервера будут делеги- роваться другим серверам, но для этого требуется, чтобы программное обеспечение “знало”, какие посреднические мандаты понадобятся. Подход на основе переадре- суемых TGT позволяет серверам получать необходимые мандаты от имени пользо- вателя, но нет сильного механизма, который бы не дал возможности модифициро- ванному серверу воспользоваться этой возможностью во зло. Единственным огра- ничением является истечение срока действия мандата и, возможно, поля полномочий, которые копируются в мандат из TGT. Эти поля полномочий специ- фичны для программных сред и приложений. Выбор компромиссного решения в значительной степени зависит от уровня безопасности, в котором нуждаются ма- шины, и от вида прикладных сред. Поэтому функции делегирования и формируют опционную часть протокола Kerberos. Они доступны только в том случае, когда сервер или прикладная среда допускают их использование. Ареалы и ссылочные мандаты Если один KDC не удовлетворяет потребности предприятия, то владелец мо- жет установить два или более KDC протокола Kerberos. Владелец может уста- навливать отдельные KDC, чтобы отразить организационные или географические отличия, или с целью реализации принципа разделения обязанностей. На языке протокола Kerberos сообщество пользователей, серверов и других объектов, заре- гистрированных в KDC, представляет собой один ареал. Объектам внутри пред- приятия назначаются имена на основе их ареала, и несколько ареалов могут быть структурированы иерархически. Авторизованные пользователи из одного ареала могут аутентифицироваться на использование серверов из другого ареала с применением Kerberos-протоколов для межареальной аутентификации. Это по- зволяет серверам реализовать локальное администрирование пользователей и од- новременно аутентифицировать их в крупной сетевой среде предприятия. Предположим, что Джону необходимо воспользоваться специальным принте- ром из другого ареала, чтобы распечатать документ для какого-нибудь человека, находящегося в другом месте. Джон сможет воспользоваться этим принтером, если ему удастся получить TGT для KDC этого принтера. Для этого Джон просит свой KDC выдать ему ссылочный мандат для KDC принтера; ссылочный мандат играет роль необходимого ему TGT. Чтобы создать ссылочный мандат, KDC Джона использует межареальный ключ, которым он пользуется совместно с KDC ГЛАВА 12. ПРОТОКОЛ KERBEROS И WINDOWS 2000 293
принтера. Получив ссылочный мандат, Джон может с его помощью связаться с KDC принтера и получить мандат на его использование. Чтобы один KDC мог создать ссылочный мандат на пользование другим KDC, они оба должны уже иметь в коллективном пользовании межареальный ключ. Поскольку это может быть нерационально в крупных организациях с десятками или сотнями KDC, то при необходимости KDC может получать ссылочный ман- дат в несколько приемов. Он может делать это, следуя вдоль ветвей иерархии ареала организации, если каждый KDC имеет межареальный ключ совместного пользования со своим родительским и дочерним KDC в иерархии. Подобный подход позволяет каждому пользователю в крупномасштабной Kerberos-сети аутентифицироваться любому серверу этой сети. Теоретически межареальная аутентификация может даже охватывать несколько предприятий. Однако остается вопрос о том, как серверы принимают решение об аутентифика- ции. После того как они идентифицировали того, кто запрашивает услугу, им необходим механизм, который бы позволил решить, действительно ли данное лицо должно получить эту услугу. 12.5. Атаки на сеть с протоколом Kerberos Фундаментальной особенностью философии протокола Kerberos является четкое понимание, что находящиеся в сети компьютеры рано или поздно будут успешно атакованы. Да это и должно быть очевидным, так как в протоколе Kerberos в .ка- честве базовых секретов используются пароли многократного использования. Кон- струкция Kerberos создавалась в попытке минимизировать общесистемные послед- ствия вторжения в отдельные рабочие станции и серверы. Общая безопасность сер- вера, использующего протокол Kerberos, также основывается на предположении, что системные часы всех участвующих в обмене данными компьютеров хотя бы грубо, но синхронизированы. Протокол Kerberos будет выполнять свои защитные функции до тех пор, пока эти условия выполняются. Устойчивость к вторжению Протокол Kerberos обеспечивает разумный уровень безопасности при мини- мальном использовании специальных свойств компьютеров сети. Успешные ата- ки на отдельные рабочие станции или серверы не могут поставить под угрозу общую защищенность Kerberos-сети. Это объясняется тем, что ни рабочие стан- ции, ни серверы не требуют специальных разрешений на работу с KDC. Такая стратегия практична и реалистична, особенно если речь идет об акаде- мических заведениях. Общеизвестно, что коммерческие компьютерные системы уязвимы для атак. Хотя можно снизить риск, если администратор приложит значительные усилия для упрочнения конкретной хост-машины, подобные уси- лия бессмысленны в крупномасштабной сетевой среде. В любом случае люди с компьютерами на рабочих столах случайно или намеренно когда-нибудь да от- ключат какие-нибудь средства защиты. Кроме того, распределение полномочий в академической среде не дает сетевому администратору инструментов для надеж- ной установки средств защиты на отдельно взятых машинах. Протокол Kerberos приспособлен к этой ситуации благодаря устойчивости к вторжениям. Если один компьютер ставится под угрозу, то возможный ущерб затронет только этот конкретный компьютер, но не другие. В самом худшем случае взломщик может извлечь мастер-ключ, принадлежащий пользователю или серверу. Однако чаще всего единственными ключами, которые могут атако- 294 12.5. АТАКИ НА СЕТЬ С ПРОТОКОЛОМ KERBEROS
ваться, будут временные ключи сеанса. Потеря таких ключей приведет только к краткосрочным повреждениям. Хотя и правда, что взломщики способны затро- нуть большую часть пользователей, проникнув в интенсивно используемый сер- вер, риск ущерба в таком случае больше связан с локальной политикой вычис- лений, а не с архитектурой протокола Kerberos. В подобных случаях осторож- ный вычислительный центр может снизить риск, развернув большое количество независимых серверов вместо того, чтобы концентрировать пользователей и службы на ограниченном количестве компьютеров. Однако KDC должен успешно противостоять атакам, чтобы сохранить общую безопасность сети. Если взломщикам удастся пройти защиту KDC, то они смогут скопировать базу данных мастер-ключей и затем выдавать себя за любого из пользователей. Они даже смогут выдаваться себя за KDC. Осторожные вычисли- тельные центры, в которых используется протокол Kerberos, обычно выделяют под KDC отдельный компьютер, а администраторы деактивируют или вообще убирают из компьютера все другие службы. Уменьшение количества путей входа в компьютер снижает риск атаки. Синхронизация часов Синхронизация часов является критически важным требованием к компью- терам, работающим в среде Kerberos. Мандаты становятся действующими и те- ряют свою дееспособность в течение устанавливаемого периода времени; если ча- сы показывают неточное время, то мандаты не будут работать, когда должны. Но что еще хуже, они не потеряют свою дееспособность, когда нужно. Это дает возможность атаки. Представим, что взломщику удалось получить ключ сеанса, соответствующий конкретному мандату. Pea- А-79 9 лизованный в протоколе Kerberos подход предполагает, что подоб- ные вещи могут время от времени происходить, и ожидается, что убытки огра- ничиваются за счет ограничения периода действия мандатов. Но что произойдет, если взломщик проведет определенные манипуляции с часами сервера? Для это- го существует множество способов. Взломщик может ухитриться достаточно да- леко проникнуть в сервер и изменить показания его часов. Однако более вероят- но, что взломщик будет просто слать сообщения протокола сетевого времени Network Time Protocol, которые заставят сервер изменить ход своих часов. После этого взломщик может передать потерявший свою дееспособность мандат, и сер- вер ошибочно воспримет его в качестве законного. Обычным решением является требование аутентификации сооб- w щений сервера времени. Хотя на практике непросто обеспечить по- р ^д добную аутентификацию с тем уровнем доверительности, который был бы сравним с уровнем доверительности протокола Kerberos. Классические стратегии аутентификации времени основываются на коллективно используемых базовых секретах, например паролях, и подвержены риску классической актив- ной разведки и воспроизведения. Более перспективный подход состоит в исполь- зовании аутентификации по “открытому ключу”, которая будет рассматриваться в следующей главе. Однако в конечном итоге точность хода часов зависит от бдительности и регулярных проверок. Белловин (Bellovin) и Меррит (Merrit) от- метили, что взломщик может сконструировать радиопередатчик, который будет передавать фиктивные сигналы всемирной службы точного времени, и он будет вводить в заблуждение сервер времени, который начнет распространять непра- вильное время (см. примечание 6). ГЛАВА 12. ПРОТОКОЛ KERBEROS И WINDOWS 2000 295
12.6. Протокол Kerberos в ОС Windows 2000 В ОС Windows 2000 компания Microsoft заменила механизм доменной аутен- тификации ОС Windows NT, описанный в разделе 11.3, на протокол Kerberos. Процедура доменной регистрации Windows превратилась в транзакцию, резуль- татом которой является получение TGT. Отображение на файл-сервер теперь свя- зано с обменом мандатами и ключами сеанса. Мастер-ключи и другая важная с точки зрения защиты информация хранятся в так называемой активной дирек- тории. Хотя реализация протокола Kerberos в ОС Windows имеет ряд отличи- тельных элементов, компания Microsoft заявляет, что ее вариант будет удовле- творять всем требованиям совместимости со стандартным протоколом Kerberos. В частности, керберезированные He-Windows-приложения будут способны обра- батывать мандаты Windows, обеспечивая возможность однократной регистрации между Windows- и He-Windows-прилолжениями (см. примечание 7). Протокол Kerberos дал ОС Windows 2000 в сравнении с более ранними про- дуктами семейства Windows дал три заметных преимущества. Во-первых, он обеспечивает более быструю аутентификацию на сервере, так как серверу не на- до связываться с контроллером домена для непрямой аутентификации. Вместо этого сервер просто обрабатывает мандат. Во-вторых, Windows использует функ- ции делегирования мандатов для передачи прав доступа пользователя серверу посредством другого сервера. В-третьих, Windows использует протоколы Kerbe- ros, которые позволяют центрам распространения ключей, принадлежащим дру- гим организациям, выдавать права доступа пользователям, работающим через другие центры распределения ключей, контролируемым образом. Естественно, компания Microsoft не могла просто подставить новые протоко- лы аутентификации вместо старых, отказавшись от существующих продуктов и клиентов. ОС Windows 2000 продолжает поддерживать более старые доменные протоколы Windows NT. Если требуется, то Windows 2000 даже может поддер- живать и еще более старые и проблемные с точки зрения защиты протоколы ау- тентификации менеджера локальных сетей LANMAN, описанных в разделе 10.4. Мастер-ключи и аутентификация рабочих станций Конечно, при вводе в такую зрелую продуктовую линию, как Windows, еще более зрелой технологии Kerberos неизбежны доработки. Компании Microsoft надо было придерживаться основной линии, чтобы сохранить совместимость с существующими продуктами и одновременно извлечь хотя бы некоторые пре- имущества из защитных функций протокола Kerberos. Это особенно заметно в том, как Microsoft адаптировала Kerberos к процессу регистрации в рабочей станции ОС Windows. Как и предполагается, пользователь рабочей станции не видит ничего нового. Когда пользователь, скажем Джон Дое, пытается зарегистрироваться, он нажи- мает на клавиатуре обычные клавиши и видит на экране паролевый диалог. Он вводит свое имя пользователя, выбирает домен и набирает на клавиатуре пароль. Но внизу Windows преобразует все это в транзакции протокола Kerberos. Существенным отличием реализации протокола Kerberos в ОС Windows от традиционного варианта является то, что в ОС Windows рабочие станции рас- сматриваются как различные объекты. Каждая рабочая станция имеет в ареале свои особенности и собственный мастер-ключ, отличный от мастер-ключа реги- стрирующегося пользователя. В нашем примере Джон назвал свою рабочую станцию bat, и это ее имя внутри домена. Процесс регистрации в дополнение к 296 12.6. ПРОТОКОЛ KERBEROS В ОС WINDOWS 2000
другим мандатам, которые могут понадобиться, также организует получение мандата для аутентификации пользователя рабочей станции. В ОС Windows 2000 процесс входа в систему распределяется между тремя ос- новными процессами: процессом Winlogon, который подсказывает Джону о необ- ходимости ввода его имени пользователя и пароля, процессом провайдера под- держки защиты Security Support Provider (SSP), который осуществляет связь с протоколом Kerberos, и процессом службы локальной защиты Local Security Au- thority (LSA), который защищает станцию. Все они изображены на рис.12.10. Процессы протекают следующим образом. 1. Получив аутентификационные данные Джона, процесс Winlogon передает их процессу LSA. 2. Процесс LSA преобразует пароль в мастер-ключ, который должен будет использоваться протоколом Kerberos. Делает он это путем хеширования пароля в соответствии с процедурой, описанной в разделе 10.6. Затем LSA инициирует SSP-процесс протокола Kerberos и передает ему имя пользова- теля Джона и мастер-ключ. В отличие от традиционного протокола Kerberos, в ОС Windows 2000 мас- тер-ключ оставляется в кэше. Это позволяет рабочей станции использовать механизм доменной аутентификации ОС Windows NT, если необходимо обмениваться данными с более старыми серверами. Очевидно, что держать такую информацию в кэше — это риск, причем совершенно ненужный, ес- ли во всей организации используется механизм аутентификации протокола Kerberos. 3. Процесс SSP протокола Kerberos пытается связаться со своим контролле- ром домена и получить начальный TGT на имя Джона. Запрос использует предаутентификацию, основанную на мастер-ключе Джона. Если выбранный домен управляется более старым Windows NT-сервером и протокол Kerberos недоступен, то процесс LSA выполняет откат и исполь- зует NT-версию процесса SSP, в которой работает NLTM-протокол, опи- санный в разделе 11.3. 4. Если процесс SSP получает свой TGT протокола Kerberos, то он использует его для получения мандата для рабочей станции bat от имени Джона. 5. Получив мандат для рабочей станции, процесс SSP обеспечивает получение мандата для процесса LSA, который использует мастер-ключ станции bat для ее аутентификации. Если ключ аутентичен, то процесс LSA регистри- рует Джона в станции bat. Избыточный шаг получения мандата для самой рабочей станции является не- обычной особенностью в сравнении с другими Kerberos-средами. Ключ сеанса в мандате не служит реальной цели. В ОС Windows 2000 используется этот подход из-за того, что KDC хранит полномочия пользователя в каждом мандате, и это относительно ясный и непротиворечивый способ получения списка полномочий пользователя от KDC. Каждый мандат содержит авторизационную информацию и другие полномочия, необходимые для связывания пользователя с нужными ресурсами рабочей станции и правами доступа к ним. Процесс LSA на Windows- сервере работает таким же образом: он извлекает из мандата пользователя дан- ные о полномочиях и использует их для запуска серверного процесса от имени и с разрешениями этого пользователя. На рабочей станции же процесс LSA обес- печивает работу приложений с именем этого пользователя. ГЛАВА 12. ПРОТОКОЛ KERBEROS И WINDOWS 2000 297
Джон Gdoe) Служба локальной защиты на станции bat 1. регистрация пользователь: jdoe пароль: asdf Ресурсы станции bat 2. регистрация пользователь: jdoe ключ: 32F89C Мастер-ключ станции bat 5. Предоставление мандата пользователя jdoe для станции bat Kerberos SSP 3. Извлечение TGT для пользователяjdoe KDC домена 4. Извлечение мандата пользователяjdoe для станции bat Рис. 12.10. Процедура регистрации в ОС Windows 2000 с протоколом Kerberos. Чтобы за- регистрироваться в своей рабочей станции с именем bat, Джон должен получить от KDC домена мандат для станции bat. Мастер-ключ Джона вычисляется из его запоминаемого пароля, тогда как мастер-ключ станции bat является секретным значением, хранящимся в реестре рабочей станции. Пронумерованные этапы иа рисунке объясняются в тексте. Поддерживаемые службы и протоколы Ниже приведен сводный перечень служб и протоколов, которые в ОС Win- dows 2000 используют механизм аутентификации протокола Kerberos. Файловые службы, включая службы доступа к файлам в Internet и служ- бы обмена с серверами (CIFS/SMB), а также службы системы управления распределенной файловой системой. Службы вывода на печать Аутентификация Web-сервера информационному серверу Internet. Службы аутентифицируемых вызовов удаленных процедур для удаленного управления серверами и рабочими станциями. Запросы в активную директорию с использованием облегченного протоко- ла доступа к директории (Lightweight Directory Access Protocol, LDAP). Аутентификация для конфигурирования шифрованного канала связи хост- хост с использованием протокола IPSEC. Аутентификация запросов об уровнях качества обслуживания. 298 12.6. ПРОТОКОЛ KERBEROS В ОС WINDOWS 2000
12.7 Сводные таблицы Таблица 12.2. Сводная таблица атак Атака if Проблема системы защиты Характер атаки Описание атаки А-75 Имитация запроса KDC Восстановление или модификация закрытых данных Обычная Взломщик перехватывает запрос клиента KDC и возвращает другой набор ключей, значение которых ему известно А-76 Повторное воспроизведение со старыми ключами Маскировка под другого человека Обычная Взломщик посылает серверу ранее выпущен- ный мандат и воспроизводит посланные клиентом ранее сообщения, зашифрованные с использованием этого ключа А-77 Автономный взлом и воспроизведение Маскировка под другого человека Обычная Атакующая сторона в автономном режиме взламывает ключ сеанса и использует полу- ченные сведения для повторного использова- ния мандата, выпущенного с этим ключом А-78 Автономный взлом мастер-ключа Маскировка под другого человека Сложная Атакующая сторона запрашивает мандаты от имени жертвы и использует их для взлома мастер-ключа жертвы грубой силой А-79 Поддельное изменение времени Маскировка под другого человека Сложная Взломщик посылает серверу сообщения с поддельным временем суток, так что недействительные мандаты становятся действующими Таблица 12.3. Сводная таблица методов защиты Защита "3 Срываемые атаки Описание D-75 Случайное разовое число, коллективно используемое с KDC А-75 Имитация запроса КОС Случайное число включается в запросы, посылаемые в КОС, и в ответы D-76 Запрос-ответный механизм в работе протокола KDC с сервером А-76 Повторное воспроизведение со старыми ключами Сервер посылает пользователю запрос, который требует ответа, зависящего от данных пользователя, зашифрованных с использованием ключа сеанса D-77 Временная метка в протоколе КОС А-77 Автономный взлом и воспроизведение Сообщения КОС включают информацию о времени суток, что позволяет обнаруживать попытки повторного использования мандатов D-78 Предаутентификация в КОС А-78 Автономный взлом мастер-ключа При запросе TGT пользователь должен предоставлять личную аутентификационную информацию D-79 Аутентифицируемые сообщения о времени А-79 Поддельное изменение времени Сообщения, которые изменяют время на системных часах сервера, должны аутентифицироваться ГЛАВА 12. ПРОТОКОЛ KERBEROS И WINDOWS 2000 299
ГЛАВА 13 Открытые ключи и автономная аутентификация Трое могут хранить секрет, если двое из них мертвы. — Бен Франклин, Альманах бедного Ричарда В этой главе... В методах шифрования с открытыми ключами используются красивые мате- матические приемы, упрощающие и даже снимающие несколько проблем, свой- ственных коллективному использованию базовых секретов. Это дает в руки сред- ства для реализации механизмов автономной аутентификации. Шифрование с использованием открытых ключей и его применение в ау- тентификации Открытые RCA-ключи и атаки на них Стандарт цифровой подписи США Аутентификация по принципу "запрос-ответ" и открытые ключи Протокол SSL Открытые ключи в предаутентификации протокола Kerberos Открытые ключи и биометрика 13.1. Шифрование с использованием открытых ключей Известный афоризм Бена Франклина отражает суть проблемы с коллективно используемыми секретными ключами: невозможно предотвратить распростране- ние секретной информации вследствие ошибок или транзитивной доверительно- сти. Это может служить причиной серьезных проблем, если криптографические методы используются для аутентификации важных документов, например элек- тронных чеков. С другой стороны, если можно найти механизм, который бы по- зволял безопасно подписывать чески, то его можно приспособить и к решению задачи аутентификации людей. Рассмотрим следующую ситуацию: Тим Доре выписал электронный чек Джону Дое, который должен оплатить его банк (“Я должен Джону $100). В идеале Тим передает чек Джону, который переадресовывает его в банк. Но и Джон, и банк должны иметь возможность аутентифицировать чек. Джон должен удостовериться, что банк признает этот документ чеком от Тима, прежде чем передаст Тиму то, что тот купил у него. Банк, конечно, должен аутентифицировать чек, прежде чем снимет деньги с банковского счета Тима и отдаст их Джону.
Представим себе, что происходит, когда для аутентификации электронного чека Тима используются секретные ключи коллектив- А-80 чР ного пользования, возможно даже хешированные по ключу (см. раз- дел 8.5). Тим должен сообщить свой секретный ключ каждому, кто может при- нять один из его чеков. Коллективное пользование ключом с банком уже в по- рядке вещей, так как мы используем секреты, находящиеся в коллективном пользовании с банками (PIN-коды банкомантных карточек, например). Но если Тим будет делить свой секретный ключ с тем, кто, возможно, захочет аутенти- фицировать его электронный чек (с тем же Джоном, например), то любой будет иметь возможность подделать или видоизменить один из его электронных чеков. Подделка при этом будет состоять в использовании секретного ключа Тима для пересчета правильного хешированного по ключу значения для поддельного или модифицированного сообщения. В разделе 9.1 приведены примеры того, почему банки не особенно доверяют подобным вещам, поскольку время от времени сталкиваются с нечестными сотрудниками, злоупотребляющими доступом к PIN- кодам клиентов. Как только секрет передается в коллективное пользование, ничто не помешает Джону или банку случайно (или намеренно) неправильно им воспользоваться или передать кому-нибудь. Первые паролевые системы пытались ограничить проблему утечки секретов, хешируя пароль, так что его текстовая форма оказывалась менее доступной. Это был шаг в правильном направлении, пока взломщики нуждались в текстовой форме при выполнении атак на криптографически защищенные данные. Но в более сложных системах, как например ОС Windows компании Microsoft, те- перь в службах защиты сами хешированные значения используются в качестве ба- зового секрета (см. раздел 12.6). Взломщики могут обойти эти службы, украв хе- шированный пароль, находящийся на одном из концов “защищенного” сетевого соединения; и им не нужен пароль в виде открытого текста. Шифрование с использованием открытых ключей возвращает преимущества хешированных паролей: способ реализации функции защиты с чем-то, что не является самим базовым секретом. Шифрование с использованием открытых ключей предусматривает применение пары ключей: личного ключа и открытого ключа, которые обладают особыми математическими свойствами (рис. 13.1). Ба- зовый секрет встраивается в личный ключ, который держится в секрете его вла- дельцем. Для построения открытого ключа выполняется специальная односто- ронняя математическая функция. Поскольку функция эффективно работает только в одном направлении (подобно функции одностороннего хеширования), для взломщиков сложно выводить значение личного ключа из значения откры- того ключа. Таким образом, открытый ключ может безопасно публиковаться и распространяться, даже учитывая риск его попадания в руки взломщиков. Алгоритмы работы с открытыми ключами используют эти два ключа для вы- полнения асимметричного шифрования. То есть один ключ используется для шифрования, а другой — для расшифровки. В типовых алгоритмах работы с от- крытыми ключами для шифрования может использоваться любой из ключей, но тогда для расшифровки должен использоваться другой ключ. Например, если Тим для шифрования использует свой личный ключ, то для расшифровки необ- ходимо использовать его открытый ключ. Аналогично, если что-либо шифруется с использованием открытого ключа Тима, то никто не сможет расшифровать со- общение, кроме самого Тима с использованием его личного ключа. Открытые ключи всегда работают в паре. Если мы принимаем сообщение от Тима и используем для расшифровки его открытый ключ, то нам наверняка из- вестно, что оно было зашифровано с использованием его личного ключа. Если кто-нибудь другой попытается выполнить шифрование с помощью открытого ключа Тима, то мы не сможем расшифровать это, снова используя открытый ГЛАВА 13. ОТКРЫТЫЕ КЛЮЧИ И АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ 301
ключ Тима. Как и в случае традиционных секретных ключей, различные пары открытых ключей выполняют шифрование по-разному: сообщение, зашифрован- ное с использованием личного ключа Джона, не сможет быть расшифровано правильно с помощью личного ключа Тима. Таким образом, если Тим выписывает электронный чек и шифру- W ет его с использованием своего личного ключа, то любой, который р захочет проверить его аутентичность, может сделать это, воспользо- вавшись его открытым ключом. Верификация происходит полностью автономно. Не надо выполнять транзакцию с банком или сервером аутентификации: если есть открытый ключ Тима, то есть и возможность аутентифицировать его чек. Зашифрованный электронный чек служит в качестве примитивной электронной подписи, сконструированной Тимом для аутентификации своего сообщения. На рис. 13.2 показано, как использовать шифрование с открытым ключом для генерации электронного чека, который можно аутентифицировать в авто- номном режиме. Тим выписывает чек и посылает копию Джону и в свой банк. Оба получателя имеют копии открытого ключа Тима. Оба они могут использо- вать открытый ключ для проверки того, что сообщение написал Тим. Но ни один из них не может модифицировать этот электронный чек или создать со- вершенно новый. Рис. 13.1. Генерация пары открытый — личный ключ. Сначала генерируется случайное число и используется для выбора значения личного ключа. После этого личный ключ пропускается через специальную одностороннюю функцию и получается значение откры- того ключа. Взломщики не могут получить значение личного ключа из значения открыто- го ключа, поскольку односторонняя функция сложнообратима Рис. 13.2. “Подписывание" сообщения путем его шифрования с использованием личного ключа. Чтобы аутентифицировать свой электронный чек (“Я должен Джону $100”), Тим шифрует его с помощью своего личного ключа. Получатели (Джон и банк) аутентифици- руют сообщение, расшифровывая его с использованием копии открытого ключа Тима. Атакующая сторона не может подделать сообщение: если она зашифрует его с помощью открытого ключа, то при расшифровке с использованием того же открытого ключа будет получена тарабарщина. 302 13.1. ШИФРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ОТКРЫТЫХ КЛЮЧЕЙ
Благодаря этому криптография с использованием открытых ключей снижает риск транзитивной доверительности и утечки базовых секретов. Владелец ключа держит свой личный ключ в секрете и передает копии открытого ключа потен- циальным получателям. Тим, Джон и другие клиенты банка генерируют пары открытых ключей и передают свои открытые ключи в коллективное пользование с банком и друг с другом. Они могут непосредственно проверять достоверность чеков друг друга, используя для этого программное обеспечение, установленное на их персональных компьютерах; это же может делать и банк. Хотя подобный механизм не решает проблему превышения счета, он снижает риск подделок. В плане аутентификации преимуществами шифрования с использованием от- крытых ключей можно воспользоваться, если алгоритмы на основе секретных ключей заменить на алгоритмы с использованием открытых ключей. Например, можно заменить алгоритмы, используемые протоколом на основе механизма "запрос-ответ". Вместо шифрования случайного числа с помощью коллективно используемого секретного ключа Тим может воспользоваться своим открытым ключом. Таким образом, взломщик не сможет выдать себя за Тима, просто ук- рав базу данных ключей, так как в ней содержатся только открытые ключи. Так что аутентификация с использованием открытых ключей обеспечивает более вы- сокую безопасность и гибкость. 13.2. RCA-алгоритм работы с открытыми ключами Основная идея шифрования с использованием открытых ключей связана с применением математических операций, которые легко выполняются в одном направлении, но сложны для выполнения в обратном. В отличие от односторон- них функций, используемых для одностороннего хеширования, эти функции должны давать в результате числа с четко выстроенной внутренней структурой. Это позволяет выполнять ряд однонаправленных операций, которые не распа- дутся на составляющие, благодаря действиям квалифицированных математиков. Умножение может служить примером того, как должна работать однонаправ- ленная функция. Всегда достаточно просто перемножить несколько чисел, но не всегда просто определить, какие числа были перемножены для получения ре- зультата. Например, используя карандаш и бумагу, можно легко умножить 550 на 750 и получить результат 412 500. С другой стороны, нет аналогичной проце- дуры, чтобы найти два числа, умножение которых дает результат 401 963. Это так называемая задача разложения на сомножители, поскольку связана с нахо- ждением сомножителей, умножение которых дает конкретный результат. Самое большее для нахождения сомножителей можно провести поиск методом проб и ошибок. А это может занять достаточно длительное время, если число представ- ляет собой результат умножения двух простых чисел, поскольку простые числа не делятся на меньшие числа, кроме единицы. Шифрование с помощью откры- тых ключей основано на идее использования достаточно больших чисел, чтобы сделать процесс разложения на сомножители методом проб и ошибок слишком трудоемким, чтобы он имел практическую ценность (см. примечание 1). Задача разложения на сомножителя лежит в основе алгоритма работы с от- крытыми ключами Ривеста-Шамира-Аделмана (RSA-алгоритма), созданного Роном Ривестом (Ron Rivest), Ади Шамиром (Adi Shamir) и Леном Аделманом (Len Adelman). Алгоритм RSA считается наиболее широко используемым алго- ритмом работы с открытыми ключами, так как каждый современный Web- броузер использует его для защиты транзакций электронной коммерции (см. ГЛАВА 13. ОТКРЫТЫЕ КЛЮЧИ И АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ 303
раздел 13.6). В сравнении с другими алгоритмами работы с открытыми ключами алгоритм RSA быстрее и гибче. RSA позволяет шифровать с использованием ли- бо открытого, либо личного ключа, а затем расшифровывать с помощью другого ключа. Многие протоколы используют алгоритм RSA для аутентификации лю- дей и компьютеров, а для безопасного распространения секретных ключей при- меняется их шифрование. Пара ключей алгоритма RSA фактически состоит из трех частей: открытой час- ти е, личной части d и коллективно используемого значения N. Коллективно ис- пользуемое значение N строится путем выбора и умножения двух очень больших простых чисел. На практике в качестве числа е очень часто используется стан- дартное значение, например 3 или 65537, но оно может выбираться и случайным образом, если будет удовлетворять определенным математическим ограничениям. Значение числа d вычисляется с использованием числа е и двух больших простых чисел. Открытый ключ алгоритма RSA включает в себя коллективно используе- мое значение N и открытую часть е. После удаления данных, использованных для получения ключей (в частности, значения двух начальных простых чисел), в сек- рете необходимо держать только личную часть d (см. примечание 2). Идея шифрования и дешифровки в алгоритме RSA удивительно проста. Если шифрование производится с использованием открытого ключа, то берется от- крытый текст сообщения (назовем его Р) и возводится в степень, равную откры- той части е, а затем вычисляется модуль по числу N. Другими словами, число Р увеличивается до е-той степени и затем находится остаток относительно числа N. Функция взятия модуля просто вычисляет целочисленный остаток ( заметим, что коллективно используемое значение N в алгоритме RSA тоже часто называ- ют “модулем”). Рассмотрим теперь простой пример с использованием небольших чисел. Если принять, что е = 7, N = 527 и секретное сообщение — 2, то шифрование будет выглядеть так: С = 27 mod 527 С = Р* mod N С =128 mod 527 С = 128 Таким образом, сообщение, зашифрованное с использованием открытого клю- ча, представляет собой число 128. Чтобы расшифровать его, используются такие же простые вычисления, но при этом берется другой ключ. Личная часть зави- сит от открытой части, так что при N = 527 и е = 7 имеем d = 343. Расшифров- ка производится следующим образом (см. примечание 3): d 343 Р = С mod N Р = 128 mod 527 Р = 2 Теперь можно посмотреть," как с помощью алгоритма RSA может быть реали- зована передача электронного чека. Сначала Тим должен сгенерировать для себя три части RSA-ключа и послать копию своего открытого ключа (значения N и е) в банк. После этого он должен выписать электронный чек, закодировать его большим числом и после этого зашифровать, используя свой личный RSA-ключ. Это происходит так же, как было показано выше, только на шаге шифрования вместо значения d подставляется значение е. Теперь любой, у кого есть откры- тый RSA-ключ Тима, может расшифровать его электронный ключ и убедиться для себя, что именно Тим выписал его. 304 13.2. RCA-АЛГОРИТМ РАБОТЫ С ОТКРЫТЫМИ КЛЮЧАМИ
13.3. Атаки на алгоритм RSA Рассмотрим, что происходит, когда некто по имени Генри берет открытый ключ Тима и пытается создать электронный чек от его имени. Конечно, Генри может зашифровать электронный чек с помощью открытого ключа Тима, но по- лучившийся в результате документ не будет расшифрован банком правильно с помощью того же открытого ключа Тима. Чтобы подделать подпись Тима, Генри может воспользоваться любой из двух стратегий: вычислить личный ключ Тима или повозиться с математикой шифрования, чтобы создать надлежащим образом зашифрованный чек. Обе методики могут сработать, если Тим не предпримет правильных шагов для предотвращения этого. Атаки на RSA-ключи Генри может реконструировать значение личного ключа Тима d, если найдет два сомножителя, которые образуют коллективно используемое значение N. Ес- ли ключ Тима такой, как был использован в примере (А = 527, е = 7), то задача для Генри не представляет трудности. Ему известно, что коллективно исполь- зуемое значение N является произведением двух простых чисел и что личный ключ d строится из этих двух простых чисел. Так что все, что требуется сде- лать, — найти два числа, произведение которых дает в результате число 527. В худшем случае Генри придется написать программу, которая переберет все ра- зумные пары чисел и проверит, равно ли их произведение 527; в результате про- верки будет получено несколько десятков вариантов. Если говорить об атаках на алгоритм RSA грубой силой, то именно значение числа N является ключевым. По этой причине N обычно называют RSA-ключом, а под размером RSA-ключа понимают величину числа N. Если ключ мал, как в примере, то он уязвим к атакам, и поэтому надо определить, каким должен быть RSA-ключ, чтобы противостоять атакам. К счастью, размер RSA-ключа можно увеличивать без изменения алгоритма шифрования. Только надо быть уверен- ным, что программная реализация алгоритма сможет справиться с выбранным размером ключа. Взломать RSA-ключ можно, разложив его на сомножители, и, к сожалению, для этого есть несколько очень эффективных методик. В А-81 отличие от атак на секретные ключи грубой силой, эти методики факторизации не требуют отдельного просмотра всех возможных значений клю- ча. Классические методики факторизации требуют выполнения N1/2 шагов, а это означает, что среднее пространство атаки содержит половину битов размера RSA-ключа. Но дело обстоит еще хуже (см. примечание 4). Когда алгоритм RSA был впервые представлен в 1977 году, Рон Ривест выска- зал прогноз, что для разложения на сомножители RSA-ключа, содержащего 125 десятичных цифр (416 бит), понадобится 40 квадрильонов лет, и предложил $100 тому, кто сделает это первым. Но этот прогноз оказался неточным приблизительно на 40 квадрильонов лет, когда в 1994 году команда исследователей взломала RSA- сообщение, зашифрованное с использованием 129-циферного ключа. Если говорить честно, то в 1977 году оценка Ривеста, возможно, была вполне правдоподобной. Тогда в 1977 году задача факторизации решалась только с применением классиче- ских методик, так что 416-битовый RSA-ключ давал объем среднего пространства атаки в 208 бит. Атака грубой силой на пространство такого размера не имела практического смысла тогда и остается такой и сегодня (см. примечание 5). Хотя брошенный Ривестом вызов начинался отчасти как шутка, все стало серьезным, когда математики добились невероятного прогресса в решении зада- чи факторизации. Несколько лет спустя RSA Data Security— компания, которая ГЛАВА 13. ОТКРЫТЫЕ КЛЮЧИ И АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ 305
владела патентом на алгоритм RSA (теперь это RSA Security), — официально 1 учредила конкурс на решение задачи факторизации применительно к алгоритму | RSA (RSA Factoring Challenge). Конкурсные примеры представляли собой ряд I сообщений, зашифрованных с использованием RSA-ключей различной длины, и 1 каждый пример имел название, соответствующее количеству десятичных цифр в I ключе. Таким образом, пример RSA-129 содержал в себе сообщение, зашифро- I ванное с использованием RSA-ключа длиной в 129 десятичных цифр (429 бит). I Успешная атака на пример RSA-129, выполненная Арьеном Ленстрой (Arjen I Lenstra) из Беллкора, была основана на методике факторизации, получившей | название квадратичного просеивания (quadratic sieve) — см. примечание 6. I В период с 1991 по 1999 год группы математиков и ученых в области компь- 1 ютерной техники взломали семь конкурсных примеров, решая задачу фактори- I зации для все больших чисел. Собственно говоря, пример RSA-129 был послед- | ним, для решения которого использовалась методика квадратичного просеива- I ния. В более поздних успешных атаках использовалась другая методика: 1 просеивание по числовым полям (number field sieve). Квадратичное просеивание | работало эффективно при малых длинах RSA-ключей. Когда же размеры ключа I начинали превышать 429-битовый ключ примера RSA-129, эффективной стано- ! вилась методика просеивания по числовым полям. | В 1999 году новая команда (хотя в нее входили люди, принимавших участие в | решении примера RSA-129) использовала методику просеивания по числовым по- 1 лям для взлома примера RSA-155 — сообщения, зашифрованного с использовани- | ем 512-битового RSA-ключа. По сложности эта атака примерно соответствовала I 63-битовому среднему пространству атаки. 512-битовый ключ был особенно важ- | ной вехой, поскольку именно такой размер ключа был стандартным при выполне- I нии операций электронной коммерции через World Wide Web. В связи с этим со- 1 бытием компания RSA Security выпустила рекомендацию, что RSA-ключи долж- ны быть не менее 768 бит в длину. Однако проведенное в следующем году обследование серверов электронной коммерции показало, что 25% из них продол- ! жали использовать ключи длиной 512 бит или меньше (см. примечание 7). Пресс-релиз RSA подтвердился: основной контрмерой против атак W | факторизации является использование RSA-ключей большего разме- & | ра. Обычно для оценки количества вычислительных шагов просей- i вания, необходимых для факторизации RSA-ключа заданного размера, исполь- зуется эвристика; ту же эвристику можно использовать и для оценки среднего пространства атаки на RSA-ключ. В табл. 13.1 приведены сравнительные данные j по среднему пространству атаки для RSA-ключей обычного размера и для дру- i гих методов криптографической аутентификации. Типовые размеры секретных | ключей редко приближаются к 200 битам, и соответствующее среднее простран- j ство атаки обычно только на один или два бита меньше. Поскольку среднее про- 1 странство атаки для RSA-ключа значительно меньше его размера, совершенно ’ ! очевидно, что необходимо выбирать больший размер ключа. Современные RSA- ключи часто имеют более тысячи битов в длину, а в некоторых случаях могут j иметь и свыше 2000 бит (см. примечание 8). I По сравнению с прямолинейными атаками грубой силой на алгоритмы с сек- ’ ретными ключами факторизационные атаки выглядят невероятно мощными, и ! это само по себе заставляет чувствовать себя неуютно. Если атаки на открытые i ключи столь быстро достигли такого прогресса, то что может помешать этой i тенденции сохраниться до того момента, когда криптография на основе откры- j тых ключей станет бессмысленной? i Чтобы ответить, посмотрим, почему факторизационные атаки являются наи- i лучшим способом нападения на личные RSA-ключи. Математиками было найде- i но несколько аргументов в пользу этого мнения. Попытки взломать ключ, ата- ! 306 13.3. АТАКИ НА АЛГОРИТМ RSA
Таблица 13.1. Сравнительные данные по величине среднего пространства атаки для RSA-ключей и других методов защиты Типовое использование Среднее пространство атаки Восьмисимвольный выбираемый лично пароль 22,7 бит Алгоритм DES с 56-разрядным ключом (ANSI Х9.9, другие DES-устройства аутентификации, шифрование и т.п.) 54 бит Устройство шифрования на основе одноразовых паролей SecurlD 63 бит 512-битовые открытые ключи для цифровых подписей 63 бит 768-битовый ключ - минимальный размер RSA- ключа согласно рекомендации RSA Security, 1999 г. 76 бит 1024-битовые открытые ключи 86 бит 2048-битовые открытые ключи с высокой защищенностью 116 бит Алгоритм ASE со 128-разрядным ключом 127 бит куя другие элементы шифра, например часть d личного ключа, оказывается, требуют такого же объема работы, как и атаки непосредственно на само значе- ние N. И хотя математикам не удалось убедительно доказать, что все атаки на личный RSA-ключ требуют факторизации числа N, они доказали это для похо- жей системы: системы шифрования Рабина (Rabin cryptosystem). Однако система Рабина непрактична в использовании, так что наличие сходства дает уверенность в безопасности шифрования по алгоритму RSA (см. примечание 9). Во-вторых, давайте рассмотрим, почему весьма вероятно, что факторизация ос- танется достаточно тяжелой задачей, чтобы обеспечить защиту данных. За столе- тия математики подтвердили, что факторизация представляет собой сложную вы- числительную проблему. Ни один из них не привел убедительного довода в пользу возможности существования упрощенного способа разложения на сомножители больших чисел. Не было доказано некоей “последней теоремы”, в которой бы из- вестный математик предложил решение задачи факторизации, но при этом не упустил бы деталей. В конце XX столетия благодаря разработке методов квадра- тичного просеивания и просеивания по числовым полям был достигнут огромный прогресс в решении задачи факторизации. Однако нет никаких оснований ожи- дать, что дальнейшие разработки сделают метод просеивания по числовым полям таким же устаревшим, какими сегодня выглядят классические методы. Наконец, следует учитывать риск использования алгоритма RSA в перспективе. Ни один из приведенных выше аргументов не снимает риск использования этого алгоритма, но такова природа современной криптографии. Достаточно вспомнить, что мы знаем (и чего не знаем) о силе шифрования с использованием секретных ключей. Хотя накоплен большой практический опыт работы с алгоритмами шиф- рования по секретному ключу, никто не нашел способа доказать математически, что наши алгоритмы сильные. Это справедливо и в отношении алгоритма RSA. Атаки на цифровые подписи При обсуждении методов шифрования с использованием секретного ключа были указаны способы атаки на зашифрованные данные без взлома самого клю- ча. Подобные атаки существуют и в отношении алгоритмов шифрования с ис- пользованием открытых ключей, включая алгоритм RSA. Такие атаки основаны на математической структуре этого алгоритма: они работают путем вывода ма- тематических сомножителей, которые будут контролируемым и злоумышленным образом воздействовать на зашифрованные RSА-данные. ГЛАВА 13. ОТКРЫТЫЕ КЛЮЧИ И АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ 307
Например, Генри по-прежнему пытается подделать один из чеков Тима, для чего адаптировал одну из подобных математических атак. Основной трюк состо- ит в том, что Генри должен заставить Тима подписать сообщение, которое вы- глядит совершенно бессмысленным (“Тим, я тут кое-что проверяю в системе. Посмотри на сообщение сам. Можешь крутить его как угодно. Оно ничего не оз- начает!”). Убедив Тима подписать такое сообщение, Генри может воспользовать- ся математическими свойствами модульного возведения в степень, чтобы по- строить поддельное сообщение, подписанное Тимом. Это так называемая атака с выбранным сообщением, и матема- тика открытых ключей предоставляет несколько способов для ее А-82 9 выполнения. Один из подходов заключается в том, что Генри снача- ла строит сообщение, содержащее случайные биты, и шифрует его с использова- нием открытого ключа Тима. Затем Генри объединяет результат шифрования с поддельным чеком Тима. Это дает тарабарщину, которую Генри просит Тима подписать. Вспомним, что, подписывая сообщение, Тим шифрует его с помощью личного ключа. После того как Тим подписал сообщение, Генри объединяет его с инвертированной формой исходных случайных битов, что математически озна- чает вычитание этих битов из подписи. В результате Генри получает поддельный чек, подписанный Тимом (см. примечание 10) К счастью, существует хорошо известная методика, которая не Ж позволяет сработать атаке с выбранным сообщением, которая за- ключается в вычислении хеша подписываемого сообщения и шифро- вании только хешированного значения. На рис. 13.3 показан способ конструиро- вания цифровой подписи с использованием функции хеширования. Чтобы под- писать чек, Тим сначала вычисляет односторонне хешированное значение текста. После этого он шифрует хешированное значение, используя алгоритм RSA со своим личным ключом. Рис. 13.3. Наложение цифровой RSA-подписи на сообщение. Чтобы подписать сообщение, Тим сначала вычисляет односторонний хеш текста своего сообщения. Затем он шифрует результирующее хешированное значение с использованием личного ключа. Наконец, он присоединяет эту цифровую подпись к исходному сообщению. Теперь любой может вери- фицировать содержимое сообщения, проверив значение цифровой подписи. Рис. 13.4. Проверка цифровой подписи сообщения, накладываемой с использованием алго- ритма RSA. Чтобы проверить, действительно ли Тим подписал полученное сообщение, не- обходимо сравнить хеш сообщения с хешированным значением, зашифрованным с ис- пользованием его личного ключа. Хешированное значение расшифровывается с помощью открытого ключа Тима и сравнивается с хешем, полученным из текста сообщения. 308 13.3. АТАКИ НА АЛГОРИТМ RSA
Если Джон, банк или кто-нибудь другой захочет аутентифицировать подпи- санный Тимом чек, то они просто воспользуются открытым ключом Тима, как показано на рис. 13.4. Джон берет чек и вычисляет односторонний хеш точно так же, как это делал Тим. Джон, конечно, не включает в хешируемый текст цифровую подпись, поскольку и Тим не включал ее. (Тим и не мог включить значение цифровой подписи в хеш, так как не мог знать ее значения до вычис- ления хеша: это замкнутый круг, который ему вряд ли разорвать). После этого Джон расшифровывает цифровую подпись, используя алгоритм RSA с открытым ключом Тима. Если будет иметь место аутентичность, то расшифрованное значе- ние совпадет со значением хеша. Атаки с выбранным сообщением основываются на таких классических мате- матических симметриях, как свойства ассоциативности, коммуникативности и дистрибутивности, известных нам еще из арифметики. Атака Генри на нехеши- рованную подпись была успешной, благодаря поэтапному выполнению последо- вательных шагов вычисления и объединению этих частей специальным образом. Если же в процесс формирования подписи добавляется этап хеширования, то тем самым разрушается часть симметрии математических операций, что не дает сра- ботать атаке. 13.4. Стандарт цифровой подписи К 1990 году цифровые подписи на основе алгоритма RSA уже нашли свое применение в нескольких успешных приложениях, наиболее известным из кото- рых было Lotus Notes. Однако правительственные организации и учреждения не могли пользоваться цифровыми подписями на основе открытых ключей, так как отсутствовал официально принятый стандарт для таких подписей. Чтобы запол- нить этот пробел Национальный институт стандартов и технологий США (NIST) взялся за разработку стандарта. Однако предложенный в 1991 году NIST стан- дарт имел в основе не алгоритм RSA, несмотря на популярность последнего сре- ди коммерческих пользователей. Реальная причина этого до конца не ясна. Од- ним из предполагаемых объяснений, возможно, является то, что алгоритм RSA был защищен патентом США, a NIST не хотел стандарта, который бы был свя- зан с лицензированием и оплатой (см. примечание 11). Как бы то ни было, стандарт FIPS Digital Signature Standard (DSS) имел в ос- нове не алгоритм RSA или факторизацию. Конечно, задача разложения на со- множители не единственная, которая может применяться в шифровании по от- крытому ключу. В основу алгоритма работы с открытыми ключами, использо- ванного в DSS, легла другая математическая задача, а именно: задача вычисления дискретных логарифмов. Возведение числа в степень связано с вы- полнением ряда умножений. Как уже отмечалось ранее, умножение является простой операцией, так что операция возведения в степень тоже достаточно про- ста. Однако обратная операция, т.е. взятие алгоритма, сложнее. Существует несколько практических математических методов для вычисле- ния логарифмов (собственно, получение таблиц логарифмов было одной главных целей вычислительной математики в XIX веке). Однако имеются способы моди- фикации задачи таким образом, чтобы классические методы не работали. В ча- стности, можно возводить число в степень, а затем вычислять его модуль отно- сительно какого-нибудь базового значения. Взятие модуля приводит к отбрасы- ванию старших битов результата возведения в степень, что делает обратную операцию трудновыполнимой. Чтобы добиться еще большего усложнения, опе- рации возведения в степень и взятия модуля осуществляются с большими про- стыми числами. ГЛАВА 13. ОТКРЫТЫЕ КЛЮЧИ И АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ 309
В 1985 году математик и криптограф Тайер эль Гамаль (Taher ElGamal) опуб- ликовал статью с описанием применения задачи возведения в степень для шиф- рования, и в частности для цифровых подписей. Эль Гамаль был студентом Мар- тина Хеллмана (Martin Hellman) — из создателей первого успешного алгоритма работы с открытыми ключами: алгоритма Диффи-Хеллмана (Diffie-Hellman al- gorithm). Как и в работе эль Гамаля, в основе алгоритма Диффи-Хеллмана лежало вычисление дискретных алгоритмов. Однако, в отличие от разработчи- ков алгоритма RSA, эль Гамаль опубликовал статью с описанием своего метода, не запатентовав его. На рис. 13.5 показана процедура вычисления открытого ключа в соответст- вии со стандартом DSS и другими основанными на логарифмах методиками. Вы- числение включает в себя возведение в степень и взятие модуля, которые уже встречались в алгоритме RSA, но здесь они используются для построения пары ключей. Сначала выбираются три открытых числа: большое простое число Р и два других числа — Q и R, связанных с числом Р. В качестве личного секрета выбирается случайное число А. Открытый ключ получается путем возведения числа R в А-тую степень с последующим взятием модуля по числу Р. Так как операция взятия модуля приводит к отбрасыванию старших цифр результата возведения в степень, то нет простого способа, который бы позволил взять ре- зультат (здесь он назван В) и вычислить давшее его число А. Внешне процедура сходна с подписыванием сообщения алгоритма RSA: она требует хеширования текста сообщения, а также наличия личной части пары ключей и некоторой открытой части пары ключей. Однако внутри процедура намного сложнее. Схема процедуры показана на рис. 13.6. Сначала, как обычно, вычисляется хешированное значение сообщения, но затем необходимо сгенери- ровать случайное значение К, которое используется при получении контрольного значения для процедуры верификации. Подпись состоит из двух информацион- ных объектов: значения подписи, вычисляемого по хешированному значению со- общения, и контрольного значения. В процедуре верификации подписи исполь- зуется ряд операций модульного возведения в степень и операций, обратных взятию модуля. К сожалению, процесс очень медленный и к тому же сложный (см. примечание 12). Интересной особенностью механизма является то, что он может использовать- ся только для цифровых подписей. Алгоритм RSA позволяет как шифровать данные, так и подписывать документы. В 1991 году это сделало схему эль- Гамаля более привлекательной, поскольку в те времена правительство США же- стко ограничивало экспорт криптографических систем. Алгоритм DSS, представ- Рис. 13.5. Получение открытого ключа в соответствии с методикой, подобной DSS. Здесь показана процедура получения открытого ключа в соответствии с методиками степенных открытых ключей типа DSS, алгоритма эль Гамаля или алгоритма Диффи-Хеллмана. Сна- чала выбирается большое (512 бит) простое число Р. Затем выбираются еще два числа: Q, меньшее простое число, и число R — оба на основе значения числа Р. Значение числа А вы- бирается случайным образом и держится в секрете. В соответствии с показанной на рисунке формулой вычисляется значение числа В. Значения чисел В, Р, Q и R вместе составляют от- крытый ключ. Число Q используется в качестве цифровой подписи. 310 13.4. СТАНДАРТ ЦИФРОВОЙ ПОДПИСИ
Рис. 13.6. Наложение цифровой DSS nodnucu на сообщение. Как и в случае использования алгоритма RSA, сначала Тим хеширует сообщение. Затем выбирает случайное значение К и вычисляет контрольное значение, которое используется для проверки подписи. После этого совместно со значением К и составляющими открытого ключа использует личную часть ключа А для вычисления значения подписи. На конечном этапе Тим подсоединяет к сообщению контрольное значение и значение подписи и доставляет его по назначению. Получатель аутентифицирует сообщение, решая ряд уравнений с использованием откры- того ключа, подписи и контрольного значения. лявший собой разновидность схемы эль Гамаля, был принят в качестве феде- рального стандарта в 1994 году. Основной подход, использующийся при выполнении атак на DSS-ключ или любой другой ключ, основанный на операции модульного возведения в степень, состоит в применении относительно эффективного алгоритма нахождения дис- кретных логарифмов. Один из таких алгоритмов называется вычислением ин- декса и очень похож на методику просеивания по числовым полям, которая ис- пользовалась для разложения на сомножители RSA-ключей. Собственно, оценки производительности обоих методов столь близки, что для RSA-ключей и DSS- ключей используются одинаковые оценочные величины среднего пространства атаки (см. примечание 13). 13.5. Возвращение к методике "запрос-ответ" В предыдущих разделах в качестве задачи аутентификации рассматривалась обработка электронных чеков, но она немного отличается от задачи верифика- ции пользователя, общающегося с компьютером в конкретный момент времени. Документ с электронной подписью формулирует некое неизменное утверждение типа “Тим платит Джону $100 на День Флага 2001 года” или что-либо подобное (День Флага — национальный праздник в США 14 июня. Прим, перев.). Он ниче- го не говорит о том, что это именно Тим работает за таким-то компьютером в такой-то момент времени. Шифрование с помощью открытого ключа может быть использовано и для этой цели тоже. Рис. 13.7 иллюстрирует простой протокол аутентификации пользователя, ис- пользующего шифрование по открытому ключу и метод "запрос-ответ". Когда, например, Кэтти пытается зарегистрироваться на сервере, ей передается случай- ное число запроса. Чтобы доказать свою личность, Кэтти шифрует случайное число запроса и посылает его назад. Сервер верифицирует ее личность, исполь- зуя ее открытый ключ: расшифрованный ответ должен совпадать с посланным сервером запросом. ГЛАВА 13. ОТКРЫТЫЕ КЛЮЧИ И АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ 311
Случайное Рис. 13.7. Простой протокол аутентификации с использованием шифрования по от- крытому ключу и метода запроса-ответа. В ответ на запрос о регистрации сервер посы- лает Кэтти случайное число. Чтобы аутентифицировать себя, Кэтти шифрует это число с использованием своего личного ключа, что по сути представляет собой генерацию цифро- вой подписи. После расшифровки значения случайного числа с использованием ее откры- того ключа сервер выполняет сравнение полученного значения с исходным значением случайного числа. Таким образом, сервер имеет возможность аутентифицировать Кэтти, не обращаясь к другому серверу за надежной информацией. Такой подход обеспечивает механизм для автономной аутентификации, по- скольку серверу необходимо только иметь копию открытого ключа Кэтти. Ему не надо связываться с отдельным сервером аутентификации, чтобы верифициро- вать личность Кэтти. Как было показано ранее при рассмотрении аутентификации с помощью кол- лективно используемого секрета, варианты такого подхода могут быть использо- ваны для получения одноразовых паролей без генерации запроса (см. раздел 9.3). Например, для регистрации в системе Кэтти могла бы зашифровывать по- казания часов и представлять результат вместе со своим именем пользователя. Сервер расшифровывал бы показания часов и удостоверялся, что представленное время попадает в пределы некоторого приемлемого по размеру окна. Однако в этом случае Кэтти необходимо было бы поддерживать высокую синхронизацию часов своего компьютера с часами сервера, так как иначе серверу пришлось бы допускать достаточно большой перекос в показаниях часов. А это, в свою оче- редь, могло бы сделать систему уязвимой к атаке с активной разведкой и вос- произведением (см. атаку А-79 в разделе 12.5). В качестве одноразовых паролей можно также было бы использовать показа- ния не часов, а счетчика. Однако такой подход не позволил бы осуществлять ау- тентификацию автономно. Сервер должен был бы делиться информацией о пока- заниях счетчика, а это породило бы необходимость интерактивного протокола аутентификации. Хотя, как было показано в главе 10, метод запроса-ответа используется с оп- ределенным успехом, такой подход может сделать Кэтти уязвимой к подделкам подписи и другим атакам. Поскольку математика открытых ключей уязвима к атакам, подобным тем, что описывались в предыдущем разделе (см. атаку А-81), желательно избегать использования личного ключа для шифрования данных, принимаемых от других пользователей. 312 13.5. ВОЗВРАЩЕНИЕ К МЕТОДИКЕ "ЗАПРОС-ОТВЕТ"
Протокол аутентификации LOCKOut Fortezza Приемлемое с практической точки зрения решение было разработано для ис- пользования с платой Fortezza, представлявшей собой специальный шифроваль- ный модуль, разработанный по заказу правительства США. Плата Fortezza — это стандартная PCMCIA-плата, разработанная специалистами АНБ для реали- зации функции шифрования общего назначения в правительственных и коммер- ческих приложениях. В этой плате был реализован алгоритм DSS, описанный в разделе 13.4, и алгоритм SHA, упоминаемый в разделе 8.5. Протокол аутентификации первоначально получил название “Протокол ау- тентификации Tessera”, поскольку “Tessera” было первоначальным названием платы Fortezza. После выпуска в качестве готового продукта он получил назва- ние “LOCKOut Fortezza”. В этом протоколе использовались алгоритмы SHA и DSS, так как именно они были реализованы на плате Fortezza. Базовая конст- рукция могла также работать и с алгоритмом RSA. Протокол был разработан в 1994 году для правительственных организаций, которым требовалась сильный и в достаточной степени автоматизированный механизм аутентификации на основе шифрования по открытому ключу, в частности для защиты финансового сообще- ства. Конечные пользователи устанавливали на рабочих станциях контактные устройства для ПК-плат, а вычислительные центры инсталлировали протокол на брандмауэрах (см. примечание 14). Как и в случае процедуры "запрос-ответ" в реализации компании Microsoft, процесс полностью воплощен программно, так как он предусматривает обмен слишком большим объемом данных, чтобы полагаться на ввод их пользователем с клавиатуры. Работа протокола показана на рис. 13.8. Кэтти начинает процесс аутентификации, посылая серверу свое имя пользователя. Сервер отвечает зна- чением своего идентификатора, известным Кэтти, 12-битовой временной меткой и 80-битовым запросом. Идентификатор сервера представляет собой числовое Рис. 13.8. Протокол аутентификации LOCKOut Fortezza. В этом протоколе для аутентифи- кации с применением открытых ключей используется процедура "запрос-ответ” с цифровой подписью на основе алгоритма DSS. Кэтти посылает свое имя пользователя серверу, который отвечает идентификатором хоста, случайным числом запроса и временной меткой. Кэтти в ответ посылает серверу свою подпись. Сервер, в свою очередь, использует открытый ключ Кэтти для проверки совпадения подписи с ожидаемым результатом хеширования. ГЛАВА 13. ОТКРЫТЫЕ КЛЮЧИ И АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ 313
значение, которое выбирается программным обеспечением рабочей станции Кэт- ти, когда она заносится в списки пользователей сервера и предоставляет ему значение своего открытого ключа. После проверки на актуальность временной метки рабочая станция Кэтти формирует ответ, объединяя 80-битовый постоян- ный префикс, запрос сервера и временную метку сервера и вычисляя цифровую DSS-подпись. Ответ, собственно, и является этой цифровой подписью. Стоит отметить, что по сравнению с рис. 13.6 на данном рисунке картина ра- боты алгоритма DSS упрощена. Во всех последующих рисунках различные от- крытые составляющие алгоритма DSS отдельно не показываются, как не пока- зывается отдельно и контрольное значение. Вместо этого подразумевается по умолчанию, что открытый ключ алгоритма DSS включает в себя все открытые данные, а подпись включает в себя как собственно саму подпись, так и необхо- димое контрольное значение. Чтобы верифицировать ответ Кэтти, сервер извлекает из своей памяти значе- ния запроса и временной метки, которые он послал ей, делает копию ответа, включая префиксную константу, и вычисляет хешированное значение этой ком- бинации. После этого сервер берет открытый ключ Кэтти и сравнивает значение полученной в качестве ответа подписи с вычисленным хешированным значени- ем. Эти два числа должны совпадать. Возможна ситуация, когда протокол допускает наличие несовпа- Jt дения: если Кэтти регистрировалась по принуждению, она может А-83 W скрытно дать серверу об этом сигнал. Одна из проблем с автономной аутентификацией заключается в том, что отзыв полномочий может оказаться весьма сложной процедурой; подробнее эта проблема будет рассмотрена дальше в разделе 14.6. Рассмотрим драматический сценарий, когда Кэтти берется в за- ложницы международным шпионом или гангстером, и ее принуждают войти в критически важную военную систему с помощью своей платы Fortezza. В этом случае она может дать своей рабочей станции секретный ¥ сигнал, который вносит в цифровую подпись незначительное и труд- но обнаруживаемое изменение. В частности, он изменяет значение префиксной константы. Если первая попытка сервера верифицировать подпись терпит неудачу, то он может повторить ее, используя значение префикса для ра- боты по принуждению. Если она проходит успешно, то сервер предпринимает соответствующие действия, например посылает сигнал тревоги сотрудникам службы безопасности и вносит изменения в полномочия Кэтти с учетом того, что она находится в опасности и не в том положении, когда может отвечать за свои действия. Как отмечалось в разделе 1.4, сигналы работы по принуждению орга- низовать относительно просто, но трудно эффективно воспользоваться ими. В протоколе Kerberos процесс регистрации в общем случае аутентифицирует как клиентскую рабочую станцию серверу, так и наоборот. Протокол LOCKOut Fortezza тоже обеспечивает такую функцию посредством простого дополнения к запросу сервера. Чтобы аутентифицировать себя, сервер объединяет данные за- проса с нормальным значением префикса и подписывает результат. Он посылает эту подпись вместе с остальной частью сообщения с запросом. По получении Кэтти может аутентифицировать сервер, проверив значение подписи с использо- ванием открытого ключа сервера. Стандарт аутентификации FIPS 196 В 1997 году Национальным институтом стандартов и технологий США был опубликован стандарт аутентификации на основе открытых ключей FIPS 196. Подобно протоколу LOCKOut Fortezza, он предусматривал аутентификацию кли- ента серверу, но в качестве опции позволял также аутентифицировать и сервер 314 13.5. ВОЗВРАЩЕНИЕ К МЕТОДИКЕ "ЗАПРОС-ОТВЕТ*
рабочей станции, для чего использовалось шифрование по открытому ключу. Однако стандарт FIPS 196 не вводил жестких определений протокола для обес- печения совместимости; в нем указывались только требуемые транзакции, а де- тали отдавались на откуп тем, кто занимался практической реализацией прото- кола (см. примечание 15). Работа протокола FIPS 196 иллюстрируется на рис. 13.9. Процесс начинается с соответствующей заявки клиенткой рабочей станции, которая приводит к ге- нерации сервером случайного числа запроса. В ответ Кэтти генерирует собствен- ный запрос и объединяет его с запросом сервера. Используя оба запроса, она вы- числяет цифровую подпись, и ответ включает в себя ее запрос и цифровую под- пись. В отличие от протокола LOCKOut Fortezza, протокол FIPS 196 полностью полагается на однократно используемые случайные числа и не использует вре- менные метки. Для верификации ответа Кэтти сервер извлекает из памяти посланный ей за- прос и копию ее открытого ключа. Затем сервер реконструирует подписанное Кэтти сообщение: комбинацию из запроса ее клиента и запроса самого сервера и верифицирует подпись относительно этого сообщения. Хотя эти протоколы использовались в оборонном ведомстве, они так никогда и не получили широкого признания. Ясно, что неразрывная связь протокола LOCK- Out Fortezza с платой Fortezza была не в пользу первого, так как Fortezza оказа- лась очень дорогостоящим решением при массовом внедрении. Кроме того, плата Fortezza имела плохую репутацию среди специалистов по компьютерной защите, поскольку ассоциировалась с шифрованием по условному ключу. Но, вероятно, наиболее важной причиной было появление протокола шифрованных соединений между узлами на уровне разъемов Secure Socket Layer, который обеспечивал реа- лизацию таких же функций и был успешно внедрен в World Wide Web. Рис. 13.9. Односторонняя аутентификация стандарта FIPS 196. Сервер в ответ на заяв- ку Кэтти о регистрации посылает ей запрос. Кэтти сама генерирует запрос, объединяет его с запросом сервера и с помощью своего личного ключа генерирует цифровую подпись. За- тем в качестве ответа она отсылает эту цифровую подпись вместе со своим собственным запросом. Сервер объединяет совой запрос с запросом Кэтти и использует эту комбинация для верификации ее подписи с помощью ее открытого ключа. ГЛАВА 13. ОТКРЫТЫЕ КЛЮЧИ И АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ 315
13.6. Протокол шифрованных соединений между узлами SSL В 1991 году, работая в Швейцарии в INRLA, британский ученый и специа- лист в области вычислительной техники Тим Бернерс-Ли (Tim Berners-Lee) раз- работал концепцию World Wide Web. Первоначальная цель заключалась в уп- рощении обмена техническими статьями, в частности, в области физики, хра- нящимися на Internet-серверах по всему миру. В 1993 году к работе подключился Марк Андерсен (Mark Anderssen) со своей командой разработчиков программного обеспечения из Иллинойского университета, и в результате поя- вился продукт Mosaic: общецелевой графический “просмотрщик” для посещения Web-страниц. Mosaic интегрировал в себе протоколы World Wide Web с возмож- ностями по выводу на экран графических изображений и поддержке протоколов извлечения данных, включая протокол передачи файлов File Transfer Protocol и управляемый из меню протокол Gopher. Год спустя Андерсен покинул университет, чтобы основать компанию Netscape, которая поставляла бы программное обеспечение, позволявшее пользоваться Web- ом. Естественно, методы защиты являлись важной частью этого направления, и молодая компания Netscape ввела в обиход использование алгоритмов шифрова- ния по открытому ключу на основе алгоритма RSA (см. примечание 16). Более того, разработчики из Netscape внимательно проанализировали воз- можности технологии открытых ключей и гибридных подходов, объединявших ее с шифрованием по секретному ключу. Результатом было появление весьма продуманного с технической точки зрения подхода, в соответствии с которым управление открытыми ключами возлагалось на сервер. Этот подход был реали- зован в протоколе Secure Sockets Layer (SSL) — см. примечание 17. Протокол SSL, несомненно, является самым широко распространенным при- ложением с использованием открытых ключей. По оценке Джима Барксдейла (Jim Barksdale), президента компании Netscape Communications, в 1995 году в мире работало около 20 миллионов копий броузера Netscape с протоколом SSL. Ниже представлены характеристики протокола SSL. Безопасность и удобство. Протокол SSL позволяет устанавливать защи- щенное сильным шифрованием соединение между клиентской рабочей станцией и сервером и не требует участия оператора рабочей станции. Аутентичность сервера. Протокол SSL аутентифицирует сервер, гарантируя, что клиент общается с нужным компьютером. Для такой аутентификации используются сертификаты открытых ключей, описанные в главе 14. Автоматическая аутентификация клиента. Оператор может аутентифици- ровать себя серверу с протоколом SSL, используя для этого свою пару от- крытого ключа, если установки сервера позволяют принять ее. Расширяемость. Протокол SSL может использовать большинство алгорит- мов шифрования и хеширования. Клиент и сервер могут автоматически выбирать наилучшие из поддерживаемых ими обоими алгоритмов. Хотя протокол SSL и расширяем, существует его относительно стандартная реализация, которая является практически универсальной для всех потребитель- ских серверов на World Wide Web. Типовой узел использует шифрование по от- крытому RSA-ключу для задания набора секретных ключей коллективного ис- пользования, применяемых для шифрования сообщений по алгоритму RC4 и для защиты целостности с помощью алгоритма MD5. Типовой сервер автоматически аутентифицирует себя клиенту, но не поддерживает встроенную в протокол SSL аутентификацию клиента. Однако некоторые серверы поддерживают такую встро- енную аутентификацию. В последующих разделах описываются оба варианта. 316 13.6. ПРОТОКОЛ ШИФРОВАННЫХ СОЕДИНЕНИЙ МЕЖДУ УЗЛАМИ SSL
На рис. 13.10 представлена базовая концепция, лежащая в основе протокола SSL. Кэтти связывается с сервером, и сервер отвечает посылкой копи своего от- крытого ключа. Затем Кэтти генерирует базовый секрет, шифрует его с помо- щью открытого ключа сервера и посылает серверу. Если рассмотреть это в тер- минах протокола Kerberos, то открытый ключ позволяет Кэтти действовать в качестве ее собственного KDC, генерируя мандат, посылаемый серверу. Как и в случае мандатов протокола Kerberos, коллективно используемый секрет позво- ляет рабочей станции Кэтти обмениваться с сервером зашифрованными сообще- ниями с защитой целостности. Единственным отличием является то, что сама Кзтти никак не аутентифицируется в этом процессе. Полная картина протокола в действительности выглядит, конечно, сложнее, чем показано здесь. Частично эта сложность объясняется гибкостью: разбивая про- токол на отдельные уровни и сообщения, разработчики сделали доступным весь диапазон вариантов алгоритмов работы с открытыми ключами и других служб защиты. Другие сложности возникли в результате атак на протокол: по мере изу- чения в обществе протокола SSL были выявлены вызывающие озабоченность воз- можности. В период с 1994 по 1997 год компания Netscape разработала три версии протокола SSL, при этом в каждой новой версии делалась попытка решить про- блемы, найденные в предыдущей. Последней версией протокола SSL является вер- сия 3.0, и именно она описывается здесь. Считается, что безопасность протокола SSL 3.0 сравнима с безопасностью, обеспечиваемой другими равноценными прото- колами, как например Kerberos и RADIUS (см. примечание 18). Протокол SSL проектировался с целью криптографической защиты сообще- ний, передаваемых по TCP-соединению, то есть по надежному двунаправленному соединению, устанавливаемому с использованием стандартных протоколов Inter- net. Протокол SSL обеспечивает еще один уровень поверх уровня TCP для защи- ты сообщений от подделок, модификаций и активной разведки. На начальной стадии установления SSL-соединения между двумя хост-машинами сообщения, которыми они обмениваются, встроены в транспортные SSL-сообщения, но соб- Сервер Рабочая станция Кэтти 1. Отсылка рабочей станции Кэтти открытого ключа сервера Случайное значение секрета спользование RSA спользование RSA Рис. 13.10. Протокол SSL позволяет клиенту и серверу коллективно пользоваться сек- ретным ключом. Когда Кэтти связывается с сервером и запрашивает установление защи- щенного соединения, сервер посылает ей копию своего открытого ключа. Кэтти случай- ным образом генерирует секрет для коллективного использования с сервером и шифрует этот секрет с помощью открытого ключа сервера. Расшифровать этот секрет может только сервер с помощью своего личного ключа. Кэтти посылает зашифрованный секрет серверу. Сервер расшифровывает его, и после этого они используют коллективный секрет для шифрования и аутентификации последующих сообщений, как это имеет место в случае использования ключа сеанса в протоколе Kerberos. Заметим, что протокол не аутентифи- цирует Кэтти серверу. 2. Отсылка серверу зашифрованного значения секрета для совместного использования Личный ключ сервера Случайное значение секрета ГЛАВА 13. ОТКРЫТЫЕ КЛЮЧИ И АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ 317
Рабочая станция Кэтти Рис. 13.11. Процесс квитирования по протоколу SSL. Часть 1. Рабочая станция Кэтти начинает процесс с приветствия Hello, содержащего случайные данные. Сервер отвечает последовательностью из трех сообщений, которые содержат другое случайное однократно используемое число и открытый ключ сервера (встроенные в “сертификат”). Клиент отве- чает последовательностью из трех сообщений, но на рисунке показано только одно из них. Сообщение передачи ключа клиента Client-Key-Exchange содержит коллективно исполь- зуемый секрет, зашифрованный с помощью открытого ключа сервера. Сервер расшифровывает секрет с помощью своего личного ключа, получая в результате предварительный мастер-ключ, используемый для формирования ключей совместного пользования для криптографической защиты трафика между клиентом и сервером. Для установления значения коллективно используемого с сервером ключа клиенту не требуются предварительно задаваемые ключи шифрования. ственно шифрования не происходит. Сначала хост-машины должны согласовать порядок использования служб криптографирования через процесс квитирования протокола SSL. Установление значений ключей в протоколе SSL Процесс квитирования по протоколу SSL показан на рис. 13.11. Сервер и клиент по очереди посылают друг другу ряд сообщений. После окончания обме- на криптографическая защита и коллективно используемые ключи находятся каждый на своем месте. Процесс происходит следующим образом. Клиент посылает приветственное сообщение “Hello”. После того как клиент открыл соединение, он генерирует 28 байтов слу- чайных данных и передает их серверу в виде сообщения “Hello”. Это пер- вое передаваемое сообщение из тех, что показаны на рис. 13.11. Сервер отвечает тремя сообщениями “Hello, Certificate, Hello-Done” (“При- вет”, “Сертификат”, “Выполнено”). 318 13.6. ПРОТОКОЛ ШИФРОВАННЫХ СОЕДИНЕНИЙ МЕЖДУ УЗЛАМИ SSL
После получения приветствия от клиента сервер отвечает последовательно- стью из трех сообщений, показанных на рис. 13.11 в виде второго передавае- мого сообщений. Первое. “Н^Ао” хвжта эхо» на сообщение клиента и содержит 28 случайных байтов, сгенерированных самим сервером. Следующим идет сообщение “Certificate”, которое содержит открытый ключ сервера, встроенный в структуру данных сертификата открытого ключа. Перед использованием открытого ключа сервера клиент должен проверить аутентичность сертификата сервера. Сертификаты и проверка их достоверности описываются в главе 14. Последнее сообщение “Hello-Done” просто информирует клиента, что сер- вер прошел этот этап квитирования. Клиент: “Client-Key-Exchange, Change-Cipher-Spec, Finished” (“Обмен клю- чом клиента”, “Спецификация изменений шифра”, “Закончено”). Клиент отвечает последовательностью из трех сообщений. Сообщение “Cli- ent-Key-Exchange” является сутью протокола SSL: оно передает секрет от клиента серверу и зашифровано с помощью открытого ключа сервера. В протоколе SSL коллективно используемый секрет называется предвари- тельным мастер-секретом. Как показано на рис. 13.11, клиент извлекает открытый ключ из сертификата сервера и выполняет шифрование с ис- пользованием алгоритма RSA. По получении сообщения сервер, используя алгоритм RSA со своим личным ключом, получает предварительный мас- тер-секрет. После завершения этого шага как клиент, так и сервер имеют в коллективном использовании секретную и несекретную информацию, необходимую для генерации ключей SSL-сеанса. Процесс генерации клю- чей проиллюстрирован на рис. 13.12. На рис. 13.13 показан процесс обработки двух других сообщений последо- вательности. Сообщение клиента “Change-Cipher-Spec” просто сигнализи- рует о моменте, когда клиент начнет использовать ключи, установленные в ходе квитирования. Сообщение “Client-Finished” передает хешированные значения всех данных, коллективно использованных в ходе процесса кви- Предзаданные Предварительный Одноразовое случайное Одноразовое случайное данные мастер-секрет число клиента число сервера Рис. 13.12. Построение ключей шифрования протокола SSL. В протоколе SSL все рабочие ключи строятся путем хеширования одноразовых случайных чисел с использованием предварительного мастер-секрета и других, заранее заданных данных, при этом формиру- ется большой блок данных, называемый блоком ключей. Для построения отдельных клю- чей блок ключей делится на отдельные секции из расчета по одной на ключ. Согласую- щиеся наборы ключей строятся сервером и клиентом из блока ключей. ГЛАВА 13. ОТКРЫТЫЕ КЛЮЧИ И АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ 319
Рабочая станция Кэтти Выходной ключ клиента _____ Одноразовое случайное число сервера Предварительный мастер-секрет Шифрование 'I Сервер Change-Cipher-Spec, Client-Finished асшифровк Пред-мастер-секрет Server Server Client-Finished Server-Finished Выходной ключ сервера Выходной ключ клиента Выходной ключ сервера Одноразовое случайное число сервера Одноразовое случайное число клиента Одноразовое случайное число клиента асшифровка Шифрование Change-Cipher-Spec, Client-Finished Рис. 13.13. Процесс квитирования по протоколу SSL. Часть 2. В этот момент клиент н сервер готовы переключиться на работу с новыми согласованными ключами и верифици- ровать выбор ими одних и тех же ключей. Сообщение Change-Cipher-Spec от каждого из них сигнализирует, что хост готов перейти на новые ключи. Сообщения Client-Finished и Server-Finished передают хешированное значение всех сообщений, принятых соответст- вующим хостом, так что противоположный хост может выполнить верификацию того, что оба они приняли одинаковую последовательность сообщений. Client-Finished Server-Finished тирования. Хеш вычисляется дважды: один раз с использованием алго- ритма MD5 и второй — с использованием алгоритма SHA. Полученные в результате хешированные значения шифруются, и их целостность защи- щается с применением только что установленных ключей. После получения этих данных сервер использует выходной ключ клиента и расшифровывает сообщение “Finished”. После этого сервер сверяет со- держимое сообщения со своими хешами сообщений квитирования. Если все было правильно, то они должны совпасть. Это указывает серверу, что клиент установил ключи правильно. Сообщения сервера “Change-Cipher-Spec, Finished” (“Спецификация изме- нений шифра”, “Закончено”). Эта финальная последовательность является эхом двух последних сообще- ний, посылаемых клиентом, но со стороны сервера. Сообщение “Change- Cipher-Spec” указывает, что сервер сейчас начнет использовать только что установленные ключи. Все последующие данные шифруются, и их целост- ность защищаться с помощью этих новых ключей. Сообщение “Server-Finished” передает почти тот же хеш данных, что и предыдущее сообщение клиента, только теперь в него включается хеширо- 320 13.6. ПРОТОКОЛ ШИФРОВАННЫХ СОЕДИНЕНИЙ МЕЖДУ УЗЛАМИ SSL
ванное значение сообщения “Client-Finished”. Сервер строит соответствую- щие хеши, шифрует их с использованием серверных выходных ключей и посылает это сообщение клиенту. После получения сообщения “Server-Finished” клиент расшифровывает его с помощью серверных выходных ключей и сравнивает его содержимое с ре- зультатами собственных вычислений правильных хешированных значений. Если они совпадают, клиент может быть уверен, что сервер обладает соот- ветствующим личным ключом и, таким образом, должен быть аутентичным. Аутентификация с использованием типового протокола SSL Теперь, когда клиент установил аутентичность сервера, как сервер установит аутентичность клиента? На практике серверы стараются использовать типовые методы аутентификации, часто пользуясь тем преимуществом, что при установ- лении защищенного шифрованием SSL-соединения пароли не перехватываются. Ниже приведен перечень методик, с помощью которых может выполняться ау- тентификация клиента в рамках SSL-соединения. Самостоятельны выбираемые имена пользователей и пароли. Адреса электронной почты и пароли. Информация о номерах счетов кредитных карточек. Имена пользователей и пароли, назначаемые извне. Вопросы из сферы культорологических секретов, принадлежащих выбран- ной группе. Системы на основе одноразовых паролей. Достойным сожаления наследием ограничительного экспортного законода- тельства США является тот факт, что на многих настольных системах все еще выполняются старые версии протокола SSL, в которых используются ключи шифрования размером всего 40 бит. Хотя большинство распространяемых сего- дня броузеров обеспечивают размерность ключей как минимум в 128 бит, более старые броузеры по-прежнему используются. Часто пользователи даже не знают, что для защиты данных они используют относительно слабое шифрование. Аутентификация клиента в протоколе SSL Клиенты также могут аутентифицировать себя серверам путем использования встроенного в протокол SSL механизма аутентификации клиента. Этот протокол использует пару открытого ключа, принадлежащую пользователю рабочей стан- ции, и выполняет транзакции "запрос-ответ", верифицируя наличие у пользова- теля соответствующего личного ключа. Процесс происходит, как показано на рис. 13.14. Он интегрирован в последо- вательность квитирования по протоколу SSL в последнее сообщение сервера и ответ на него клиента. Сервер запрашивает открытый ключ клиента в форме сертификата, и клиент отвечает как сертификатом, так и ответом, зашифрован- ным с помощью личного ключа. Сервер запрашивает аутентификацию со стороны клиента, включая в после- довательность сообщений “Hello” запрос сертификата “Certificate-Request”. В это сообщение входит информация о сертификате, который сервер согласен принять. Если клиент не может удовлетворить ожидания сервера, то посылает предупре- ждение об отсутствии сертификата “No-Certificate”. Получив такое сообщение, сервер может либо разорвать соединение, либо потребовать аутентификации в другой форме. ГЛАВА 13. ОТКРЫТЫЕ КЛЮЧИ И АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ 321
В ответ клиент включает в последовательность своих сообщений два дополни- тельных сообщения. В сообщение “Certificate” включается сертификат клиента. Сообщение “Certificate-Verify” служит в качестве “ответной” части протокола "за- прос-ответ". В качестве запроса сообщение использует вычисленные хешированные значения предыдущих сообщений процесса квитирования. Оно похоже на сообще- ния “Finished”, показанные на рис. 13.13. Однако в сообщении “Certificate-Verify” вычисляется цифровая подпись для хешей, и результат передается серверу. С точки зрения обеспечения защиты аутентификация клиента в протоколе SSL является достаточно сильной. Запрос включает в себя случайные одноразо- вые числа, сгенерированные сервером и клиентом, так что атака воспроизведе- нием не имеет смысла. Более практичными атаками являются те, которые наце- лены либо на сертификаты, либо на личный ключ клиента. Подобные атаки и методы защиты от них описываются в главах 14 и 15. 13.7. Открытые ключи и биометрика Тем, кто читал раздел 7.7, посвященный шифрованию биометрических пока- зателей, может показаться, что открытые ключи могут решить проблемы био- метрики. Но как и в случае других технологий, использование технология от- крытых ключей просто реструктурирует проблему, в действительности не решая ее. Ниже приведены два возможных применения открытых ключей в биометри- ке и их ограничения. Защита биометрических показателей от активной разведки. Можно создать открытый ключ для биометрической системы и встроить его во все биометрические считывающие устройства. Снятая биометрическая подпись, посылаемая для аутентификации, шифруется с помощью открыто- го ключа. Это не позволяет взломщикам перехватывать биометрику. Хотя подобный подход снизит риск перехвата биометрических показателей, снятых системой, он никак не помешает взломщику получить биометрику жертвы каким-либо другим способом. Хотя есть определенные веские сооб- ражения в пользу неприкосновенности личной информации, которые оправ- дывают шифрование биометрики, нет оснований считать, что подобная за- Рис. 13.14. Аутентификация клиента по протоколу SSL. В целях аутентификации Кэтти ее клиент посылает два отдельных сообщения. Сообщение “Certificate” передает сертифи- кат ее личного открытого ключа. Позднее она посылает сообщение “Certificate-Verify”, содержащее хешированное значение всех сообщений, которыми она обменивалась с серве- ром во время SSL-квитирования. Это хешированное значение зашифровано с использова- нием ее личного ключа. 322 13.7. ОТКРЫТЫЕ КЛЮЧИ И БИОМЕТРИКА
щита сохранит биометрические показатели в секрете. Это просто дает логич- ное чувство защищенности, позволяющее пользователям считать, что их биометрика может служить в качестве безопасного базового секрета. Аутентификация источников биометрических показателей Можно пойти дальше, встроив механизм открытых ключей в устройства считывания биометрических показателей. Ключ считывателя будет ис- пользоваться для цифрового подписывания биометрики, так что система будет “иметь уверенность” в том, что показатели поступают от нужного считывающего устройства. Это дает системе возможность обнаруживать имитацию биометрики, если предположить, что считывающее устройство способно надежно обнаруживать имитацию. Конечно, такой подход заменяет проблемы биометрики проблемами управ- ления личными ключами, которые должны быть введены во все биометри- ческие считывающие устройства. Если владелец согласен потратить адми- нистративные ресурсы, необходимые для управления личными ключами, то, возможно, лучше назначить ключи непосредственно пользователям, а не биометрическим считывающим устройствам. Это архитектурный ком- промисс, который должны находить сами вычислительные центры и сис- темные администраторы. Хотя SSL-подход к шифрованию по открытому ключу действительно может использоваться для защиты биометрических показателей от перехвата, его нель- зя использовать в качестве средства защиты от имитации. Для этого необходимо привязать базовый секрет к передатчику биометрических показателей, чтобы система “была уверена”, что показатели поступают из заслуживающего доверия источника. В противном случае взломщик с копией открытого ключа и убеди- тельной версией биометрических показателей жертвы может выдать себя за эту жертву. Как отмечалось в главе 7, существует множество способов получения биометрических показателей даже без содействия жертвы. 13.8. Сводные таблицы Таблица 13.2. Сводная таблица атак Атака Проблема системы защиты Характер атаки Описание атаки А-80 Использование коллективного ключа для подделки Маскировка под другого человека Простая Для подделки сообщения применяется секретный ключ, коллективно используемый вместе с заслуживающей доверия стороной А-81 Факторизация RSA-ключа Восстановление закрытой информации (RSA-ключа) Сложная RSA-произведение раскладывается на множители и выводится значение личного ключа А-82 Атака с выбранным сообщением Восстановление закрытой информации (RSA-ключа) Обычная Строится сообщение со специальной математической структурой. Жертва подписывает его, и результат может быть преобразован для переноса в другое сообщение А-83 Регистрация с Маскировка под другого Физическая и Взломщик заставляет владельца личного личным ключом под принуждением человека сложная ключа войти в систему, после чего использует установленное соединение ГЛАВА 13. ОТКРЫТЫЕ КЛЮЧИ И АВТОНОМНАЯ АУТЕНТИФИКАЦИЯ 323
Таблица 13.3. Сводная таблица методов защиты Защита Срываемые атаки Описание D-80 Шифрование по открытому ключу А-80 Использование коллективного ключа для подделки Используется шифрование по открытому ключу, так что каждый может проверить и связать сообщение с владельцем конкретного личного ключа D-81 Значительное увеличение размеров RSA-ключей А-81 Факторизация RSA-ключа Генерируются RSA-ключи, содержащие тысячи бит D-82 Хешированная цифровая подпись А-82 Атака с выбранным сообщением Путем шифрования результата одностороннего хеширования конструируется цифровая подпись D-83 Подпись под принуждением А-83 Регистрация с личным ключом под принуждением Конструируется специальная форма цифровой подписи, показывающая, что пользователь работает под принуждением 324 13.8. СВОДНЫЕ ТАБЛИЦЫ
ГЛАВА 14 Сертификаты открытых ключей 16И заставил он всех, малых и больших, бедных и бо- гатых, вольных и рабов,, иметь клеймо на правой руке своей или на лбах своих: пИ никто не мог покупать или продавать, кроме то- го, что имел клеймо скота или номер вместо имени своего. - Откровения Иоанна Богослова, глава 13, стихи 16-17. В этой главе... Сертификаты открытых ключей используются для того, чтобы надежно свя- зать объект с открытым ключом. Большая часть примеров в этой главе относят- ся к проблеме аутентификации Web-серверов, но концепция применима и для аутентификации открытых ключей пользователей. Фиктивные открытые ключи и основы идеи сертификатов Стратегии выпуска сертификатов открытых ключей Отзыв открытых ключей Использование сертификатной аутентификации в рамках протокола Kerberos 14.1. Привязка имен к открытым ключам Если мы хотим иметь возможность выполнять автономную аутентификацию человека или компьютера, то необходимо иметь копию их открытого ключа. И пока есть пути получения правильного значения открытого ключа Кэтти, Тима или, скажем, Web-сервера Acme. com, мы можем точно аутентифицировать их в сети. Однако взломщики способны разрушить эту картину, подставив фиктив- ные “верительные данные”. Простейший и самый очевидный подход состоит в том, что некто, + к примеру Генри, убеждает пользователей и программное обеспече- А-84 ние, что это именно его открытый ключ и является тем самым клю- чом, которым пользуется какой-нибудь важный компьютер, например банков- ский сервер. Генри может добиться выгоды, даже если ему удастся обмануть по- добным образом всего одного или двух человек. К примеру, Генри может по- слать сообщение Кэтти, выдавая себя за банк, и дать ей “открытый ключ банка”, который в действительности является его собственным ключом. Если затем Кэт- ти попытается послать банку секретную информацию, скажем, защищенные па- ролем сообщения, то Генри может выдать себя за банк.
Кэтти раскроет это жульничество, как только поймет, что банк не получал ни одной из ее транзакций. Но это совсем не гарантирует, что подделка Генри будет всегда обнаружена. Существует риск, что Генри сможет постоянно участвовать во всех транзакциях Кэтти с банком, подставляя свой собственный открытый ключ вместо ключа банка. В результате получается еще одна разновидность ата- ки с человеком посередине (см. рис. 14.1). Чтобы реализовать подобную атаку, Генри размещается (вернее, л размещает свое программное обеспечение) между Кэтти и банком и А-85 9 перехватывает все сообщения, которые они посылают друг другу. Когда банк посылает Кэтти свой открытый ключ, Генри подставляет вместо него свой ключ. И если Кэтти посылает банку какую-нибудь секретную информацию, зашифрованную с помощью его ключа, то она невольно использует ключ Генри. Генри перехватывает данные, расшифровывает их, используя свой личный ключ, вновь шифрует их с помощью открытого ключа банка и посылает их дальше. Ни Кэтти, ни банк не смогут определить разницу. Но у Генри есть воз- можность просматривать все операции Кэтти с банком. Решение этой проблемы приписывают Леону Корнфелдеру (Leon W Kornfelder), который, будучи студентом последнего курса МТИ, предложил для предотвращения подобных атак использовать серти- фикаты. Основное содержание сертификата открытого ключа показано на рис. 14.2. Сертификат представляет собой элемент данных, содержащий откры- тый ключ, имя владельца ключа и цифровую подпись. На рис. 14.3 показан сер- тификат, выводимый на экран Web-броузер. Аутентичность сертификата вери- фицируется путем проверки содержащейся в нем цифровой подписи. Сертифика- ты помогают обнаруживать подмену открытого ключа и атаки типа “человек посередине”. Взломщик теряет возможность вставить поддельный открытый ключ, если владельца ключа можно верифицировать (см. примечание 1). Органы по выдаче сертификатов Применение сертификатов сразу же ставит один вопрос: кто их подписывает? Подписывающая сторона должна удовлетворять двум требованиям: она должна быть надежной и ее открытый ключ должен быть широко доступен, чтобы иметь возможность проверять подписи. Подписывающая сторона получила название органа по выдаче сертификатов. Рис. 14.1. Генри выполняет атаку типа “человек посередине". Кэтти запрашивает копию открытого ключа банка, чтобы установить с ним защищенное соединение, возможно, с использованием протокола SSL. Генри перехватывает ответ банка и подставляет свой от- крытый ключ вместо ключа банка. Каждый раз, когда Кэтти использует этот ключ, Генри перехватывает сообщение и перешифровывает его с использованием открытого ключа банка. Ни Кэтти, ни банк не могут обнаружить присутствие Генри. 326 14.1. ПРИВЯЗКА ИМЕН К ОТКРЫТЫМ КЛЮЧАМ
Рис. 14.2. Основное содержание сертификата открытого ключа. Здесь показан базовый вид сертификата банка. Подобно всем сертификатам открытых ключей, он представляет собой элемент данных, содержащий имя владельца (“www.bank.com”), открытый ключ (“3,5555”) и цифровую подпись. Сертификат выдается заслуживающей доверия сторонней организацией, т.н. “органом по выдаче сертификатов”, личный ключ которой использует- ся для подписи сертификата. Чтобы верифицировать сертификат, необходимо использо- вать открытый ключ, принадлежащий организации, подписавшей сертификат. Под термином “надежный” понимается, что орган не должен подписывать сертификат, не будучи уверенным, что имя на сертификате действительно соот- ветствует открытому ключу. Представим, что могло бы произойти, если бы Ген- ри удалось получить сертификат, содержащий имя банка и его собственный от- крытый ключ: в этом случае он смог бы подписывать электронные документы и аутентифицировать себя удаленным системам под именем “www.bank.com”. С подобной проблемой пришлось реально столкнуться в 2001 году компании Mi- crosoft Corporation: кто-то, выдав себя за представителя Microsoft, представил в Verisign, крупную компанию по выдаче сертификатов, ряд открытых ключей, и та выдала сертификаты, свидетельствующие, что эти ключи принадлежат ком- пании Microsoft. Позднее оказалось, что соответствующие личные ключи в дей- ствительности не принадлежат компании Microsoft. Полученные сертификаты позволили бы владельцу личных ключей производить программное обеспечение, которое можно было бы выдавать за легальное, произведенное самой компанией Microsoft (см. примечание 2). Очевидной защитой является введение первого требования к op- W ганам по выдаче сертификатов, чтобы они в обязательном порядке гарантировали соответствие между именем и ключом. В общем слу- ’° чае это означает гарантию, что владелец конкретной пары открытого ключа дей- ствительно имеет право использовать указанное имя. Органы по выдаче серти- фикатов делают это путем установления жестких правил процедуры верифика- ции и получения прав на использование имени. Если Кэтти попросит о выдаче сертификата, идентифицирующего ее как вице-президента по дизайну компании Acme Corporation, то ей надо будет показать, что она действительно занимает этот пост. Что касается инцидента с компанией Microsoft, то на момент написа- ния этой книги все еще было неясно, как получилось, что Verisign выпустила по сути поддельные сертификаты на имя компании Microsoft. Существующие в Verisign правила и процедуры должны были не допустить этого. Второе требование, которое должно соблюдаться при подписании сертифика- тов, состоит в том, что открытый ключ органа по выдаче сертификатов должен быть всегда доступен для проверки подписей. Чтобы иметь практическую цен- ность, ключ не должен быть просто “опубликованной информацией”, которую можно получить после некоторого поиска, пусть даже самого поверхностного. Ключ должен быть всегда под рукой, чтобы программное обеспечение по работе с открытыми ключами могло использовать его для аутентификации сертификатов, выданных этим органом. ГЛАВА 14. СЕРТИФИКАТЫ ОТКРЫТЫХ КЛЮЧЕЙ 327
Netscape: View A Certificate This Certificate belongs to: www.ifbean.com Information Services L.L. Bean, Inc. Freeport, Maine, US ' This Certificate was issued by Secure Server Certification Authority RSA Data Security, Inc. Жй®Ия1»®Яв1явяиЯвя Serial Number: 61:8E:44:Cl:B9:17:A6:51i80:FA:E3:.2S:8Bt9F:67,-DD This Certificate is valid from Tue Aug 17, USS to Wed Sep 08, 2000 Certificate Fingerprint: 3C:10iEB:Al:Sl:60:6Ei8Cs96:B8l9D:94:22:BB:B1<46 Puc. 14.3. Сертификат открытого ключа, выводимый на экран броузером. Этот сертифи- кат был выдан компании L.L. Bean из Фрипорта, шт. Мэн, США для аутентификации ее Web-сервера клиентам при покупке товаров. Компания Netscape столкнулась с этой проблемой, когда впервые внедряла свое программное обеспечение для использования протокола SSL в электронной ком- мерции через Internet. Это программное обеспечение объединяло в себе ПО Web- сервера “Commerce Server” и широко известный броузер компании Netscape “Navi- gator”. Сервер аутентифицировал себя броузеру, посылая сертификат открытого ключа. Компания Netscape договорилась с корпорацией RSA Data Security, Inc., что та будет играть роль органа по выдаче сертификатов и выдавать сертификаты открытых ключей. Для реализации этой функции компанией RSA была основана отдельная организация, которая в конечном итоге стала компанией Verisign, Inc. Для подписи первых сертификатов использовалась вполне конкретная пара откры- того ключа. Поскольку все сертификаты подписывались с использованием этого ключа, компания Netscape ввела его код в ту часть программного обеспечения броузера Navigator, которая реализовывала протокол SSL (рис. 14.4). И броузер использовал этот ключ для аутентификации сертификатов, используемых в прото- коле SSL (см. примечание 3). Использование правильного сертификата Поскольку открытые ключи имеют большой размер и их аутентификационная обработка сложна, она выполняется рабочей станцией. А это может быть палкой о двух концах. Например, недостаточно, чтобы при установлении связи с сервером электронной коммерции броузер получал аутентичный сертификат открытого ключа. Необходимо еще, чтобы принимаемый сертификат был сертификатом именно того сервера, с которым, как предполагается, была установлена связь. Например, взломщик может быть владельцем законного сервера л* электронной коммерции и иметь законный сертификат открытого А-87 9 ключа для этого сервера. А если он установит второй сервер, который Личный ключ Рис. 14.4. Броузер аутентифицирует открытый ключ. Это первый подход, который ис- пользовался для аутентификации открытых ключей в броузере Navigator компании Net- scape. Все ключи включались в состав сертификатов, и все сертификаты подписывались одним органом по выдаче сертификатов. Код ключа органа был введен в состав программ- ного обеспечения. Сегодня, как описывается в разделе 14.4, броузеры обычно содержат много таких ключей в виде “списка органов по выдаче сертификатов”. 328 14.1. ПРИВЯЗКА ИМЕН К ОТКРЫТЫМ КЛЮЧАМ
Рис.14.5. Броузер верифицирует имя в сертификате. Когда Кэтти связывается с защи- щенным сервером банка, имя хоста банка указывается в URL. Банк посылает в ответ свой сертификат открытого ключа как часть процесса квитирования протокола SSL. Броузер, убедившись, что общается с нужным хостом, сравнивает имя хоста в сертификате с име- нем домена, который указывается в URL, посылаемом Кэтти. будет выдавать за сервер www.bank.com, и организует перехват сообщений Кэтти банку? По сути мы возвращаемся к проблеме, с которой начинался данный раздел. Частично эта проблема возникает из-за того, что программное обеспечение за- щиты протокола SSL работает на одном уровне, игнорируя данные, в то время как Web-сервер или другое прикладное программное обеспечение работают совершенно на другом уровне. Решение проблемы состоит в том, чтобы прикладное программ- ное обеспечение само верифицировало соответствие имени в сертификате сообще- ниям, обрабатываемым приложением. В броузере компания Netscape решила эту задачу путем сравнения имени в сертификате с именем сервера, запрашиваемого по протоколу HTTP (см. рис. 14.5). Это напоминает сравнение имени держателя счета на электронном чеке с именем в сертификате открытого ключа. Чек законен, если имя в сертификате совпадает с именем владельца счета. На рис. 14.6 показано, как отвечает броузер в том случае, если проверка, изо- браженная на рис. 14.5, дает отрицательный результат. Броузер пытался открыть SSL-соединение с сервером “www.sprintpcs.com” и получил для установления со- единения сертификат. Однако принятый сертификат не содержал в себе имя хос- та “www.sprintpcs.com”. Поэтому броузер выводит на экран диалоговое окно, ко- торое кратко идентифицирует имя хост-машины, основную идентифицирующую информацию по сертификату и просит пользователя рабочей станции принять решение о соответствии сертификата серверу. Подобная проблема может возник- нуть, если владелец сервера заказал сертификат, который содержал ошибочное имя хоста или вообще его не имел, или если имя хост-машины пришлось позд- нее заменить по техническим или административным причинам. Однако пробле- ма может проявиться и как результат атаки на открытый ключ типа “человек посередине”. По сути, пользователь должен решить, насколько вероятно, что ор- ган по выдаче сертификатов, который подписал сертификат (“RSA Data Security”), выдал сертификат с именем “Sprint PCS” кому-то другому, не яв- ляющемуся владельцем сервера “www.sprintpcs.com”. В данном случае сертифи- кат выглядит законным и может быть безопасно принят. С другой стороны, ве- роятно, рискованно принимать сертификат, принадлежащий, скажем, “Henry’s Internet Company”, когда делалась попытка установить соединение с сервером банка “www.bank.com”. В этом случае отсутствует очевидная связь между URL и именем в сертификате, а это плохой знак. Компания Microsoft в свое время столкнулась с вариантом подобной проблемы соответствия с сертификатом в своем механизме верификации сгружаемого по сети программного обеспечения на предмет его действительной принадлежности компа- ГЛАВА 14. СЕРТИФИКАТЫ ОТКРЫТЫХ КЛЮЧЕЙ 329
Netscape: Certificate Name Check tl Certificate Name Check The certificate that the site ’www.fpnntpcj.com' has presented does not contain the correct site name. It is possible* though unlikely* that someone may be trying to intercept your communication with this site. If you suspect the certificate shown below does not belong to the site you are connecting with* please cancel the connection and notify the site administrator. Hare is the Certificate that is being presentedi Certificate for: Sprint PCS Signed by! RSA Data Security, Inc. ( More Info I Encryption: Highest Grade (RC4 with 128-bit secret key) I J Puc. 14.6. Броузер предупреждает о наличии в сертификате неправильного имени. Здесь броузеру Netscape Navigator был предъявлен сертификат для установления защищенного соединения, но имя сервера в URL не соответствует имени, указанному в сертификате. Это может быть вызвано ошибками при инсталляции или указывать на попытку соверше- ния атаки типа “человек посередине”. Необходимо удостовериться, что имя в сертификате согласуется с именем сервера и что орган по выдаче сертификатов (указанный выше в строке “Signed by” — “Подписано”) широко известен и имеет хорошую репутацию. нии. Этот механизм предназначался для того, чтобы не дать возможности взлом- щикам распространять модифицированное программное обеспечение под видом произведенного компанией Microsoft. Большинство компонент, которые инсталли- руют или выполняют загружаемое по сети программное обеспечение, включают в себя процедуру верификации цифровой подписи, сопровождающей такое про- граммное обеспечение. Для верификации таких подписей процедура содержит спи- сок сертификатов компании Microsoft. В свое время компанией Verisign непред- намеренно был выпущен ряд ошибочных сертификатов, но они не вошли в список принимаемых. Так что, даже если и имеется поддельный сертификат, содержащий имя “Microsoft Corporation”, вряд ли кто-нибудь станет загружать поддельное про- граммное обеспечение (см. примечание 4) 14.2. Создание сертификатов Если под рукой имеется соответствующее программное обеспечение, то в про- цедуре сознания пары открытого ключа нет ничего особенного, но сертификат обычно создается отдельно. На рис.14.7 показано, как Кэтти создает свою пару ключей и получает сертификат. Сначала она в пределах своего компьютера соз- дает пару ключей и сохраняет в тайней свой личный ключ. Затем копию своего открытого ключа вместе со своим именем она передает в орган по выдаче серти- фикатов, который будет выпускать для нее сертификат. Орган, проверив, дейст- вительно ли ключ соответствует имени Кэтти, объединит имя и ключ в структу- ре данных сертификата и поставит свою цифровую подпись. После этого орган может передать копию назад Кэтти, занести при необходимости сертификат в собственную директорию или передать в пользование другими способами. Современные Web-броузеры могут генерировать пары открытого ключа и представлять открытый ключ на сертификацию. Пользователь может зайти на Web-сервер органа по выдаче сертификатов, сгенерировать внутри своего броузе- ра личный ключ и представить органу соответствующий открытый ключ для 330 14.2. СОЗДАНИЕ СЕРТИФИКАТОВ
сертификации. Некоторые органы требуют более высокого уровня подтвержде- ния личности, чем тот, что обеспечивается интерактивным режимом общения. Например, для выдачи сертификатов приложениям электронной коммерции час- то требуется наличие нотариально заверенных документов, аттестующих права заявителя на использование заданного имени домена. Заявитель должен пред- ставить через курьерскую службу комплект документов и копию открытого ключа в виде, пригодном для машинной обработки. Альтернативная стратегия, которая используется в некоторых ситуациях, за- ключается в том, что владелец системы сам генерирует все пары ключей и сер- тификаты и организует их передачу пользователю. Таким образом, такому поль- зователю, как Кэтти, необходимо только получить свою пару ключей и сертифи- кат от владельца системы и не надо самой заниматься генерацией ключей. Для нее остается только одна задача: занести данные о ключе после их получения. В Lotus Notes традиционно используется именно такой подход распределения пар открытого ключа. Он несет в себе повышенный риск просто потому, что личный ключ создается и копия его может быть сохранена в архиве владельцем системы. С другой стороны, он упрощает конфигурирование для конечных пользователей и снижает риск потери важной информации, если личный ключ пользователя случайно уничтожается. На практике современные сертификаты содержат значительно больший объем информации, чем просто ключ, имя владельца и подпись. По крайней мере они должны идентифицировать орган по выдаче сертификатов, чтобы знать, какой ключ использовать для верификации подписи. Сертификаты, как правило, несут в себе и другую информацию, облегчающую их надежное использование. Эта информация включает в себя следующие данные: дату выдачи; дату окончания срока действия; версию формата данного сертификата; указания относительно типа включенного в него ключа; имя владельца в различных форматах; другие атрибуты владельца (адрес, например); права и привилегии владельца. Рис. 14.7. Создание сертификата открытого ключа. Сначала Кэтти внутри своей рабочей станции создает пару открытого ключа. Затем она передает копию своего открытого клю- ча и идентифицирующую ее информацию органу по выдаче сертификатов. Орган верифи- цирует права Кэтти на использование представленного имени и факт владения соответст- вующим личным ключом. После этого орган строит сертификат и дополняет его своей цифровой подписью. ГЛАВА 14. СЕРТИФИКАТЫ ОТКРЫТЫХ КЛЮЧЕЙ 331
Вопрос о внесении той или иной информации в сертификат достаточно спо- рен. Некоторая информация появилась там из практических соображений. На- пример, даты начала и окончания срока действия помогают минимизировать проблему с недействующими ключами, так как гарантируют, что в конечном итоге все ключи “умирают”. Имя владельца должно иметь формат имени доме- на, чтобы броузеры могли сравнить его с именем домена в URL, тогда как “офи- циальные” имена владельцев обычно имеют другой, несовместимый формат. Не- которые специалисты утверждают, что сертификаты работают лучше, если их задача ограничивается связыванием имен с ключами. Другие же приводят дово- ды в пользу наличия дополнительных функций — указание гражданства вла- дельца, даты рождения (для получения информации о возрасте) или других пер- сональных данных, что может быть полезно в Web-приложениях. Есть и такие, которые предлагают ввести в сертификаты поля для хранения информации о привилегиях компьютерной системы и правах доступа. Стандарты сертификатов открытого ключа могут поддерживать ряд расширений, но большинство про- граммных продуктов по формированию сертификатов опускает персональные данные и информацию о привилегиях. Стандарты сертификатов Сертификаты открытых ключей обычно основаны на стандарте Х.509, кото- рый первоначально был введен для электронных почтовых систем стандарта Х.400. В начале 1990-х годов подобный выбор выглядел оправданным, посколь- ку многие крупные организации, включая Министерство обороны США, объяви- ли о намерении использовать стандарт Х.400 в своих перспективных системах электронной почты. Сейчас стандарт Х.400 представляет собой только историче- ский интерес с точки зрения оказанного им влияния на форматы сертификатов открытых ключей (см. примечание 5). В частности, стандарт Х.509 оказал влияние на сертификаты открытых клю- чей в двух основных аспектах: использование стандартного языка абстрактно- го синтаксиса Abstract Syntax Notation #1 (ASN.1) и отличительных имен. Стандарт Х.509 определяет содержание и компоновку данных в сертификате с использованием операторов языка ASN.1. На рис. 14.8 показан пример сертифи- ката на языке ASN.1, взятый из спецификации Internet-сертификата в редакции 1993 года. Каждый оператор обеспечивает этикетку для идентификации различ- ных полей и типов, показывая, какого типа данные заносится в поля. Для гене- рации кода, строящего соответствующие структуры данных и извлекающего из них эти данные разработчики программного обеспечения использовали компиля- торы ASN.1 (см. примечание 6). Отличительное имя представляет собой имя, содержащее несколько отдельно именуемых элементов, которые делают идентифицирующее человека имя уни- кальным. Часто элементы отражают уровни иерархии. Например, отличительное имя может базироваться на географическом принципе; таким образом, самый высокий уровень идентифицирует страну, затем идет название штата, города, улицы, номер дома и имя лица. Для Джона Дое такой подход может привести к формированию следующего отличительного имени: /C=,'US"/SP=,,Minnesota"/L="Red Wing"/PA="123 Main Street"/CN="John Doe" Подобный иерархический подход дает хороший способ для делегирования от- ветственности за сертифицирование и гарантирование уникальности. Можно на- значать различные органы по выдаче сертификатов ответственными за различные “суффиксы” отличительного имени. Например, может быть орган “Red Wing”, ко- торый будет отвечать за выдачу сертификатов с адресами, в которых присутствует 332 14.2. СОЗДАНИЕ СЕРТИФИКАТОВ
название города Red Wing, и такой орган может быть в каждом городе штата. Эти органы будут обеспечивать уникальность имен в своих сертификатах. Поскольку каждый орган выдает сертификаты с различным названием штата и города, то ни один сертификат не будет повторяться, если каждый из органов не будет допус- кать возникновения дубликатов на локальном уровне. Сертификаты и управление доступом Этот вопрос остается открытым. Если программное обеспечение способно ра- ботать с широким набором сертификатов из многочисленных источников, то можно надежно аутентифицировать большое количество пользователей и ком- пьютеров. Но тогда неизбежно придется столкнуться с проблемой управления доступом. Вспомним, что броузер компании Netscape принимает любой защи- щенный сервер, если имя в сертификате совпадает с именем домена хост- машины. Но такой уровень управления доступом достаточен не для каждого приложения. Это все равно, что считать каждую карточку с магнитной полосой кредитной. А что если это магнитный пропуск для входа в помещение или води- тельские права? Ничто не говорит о кредитоспособности владельца. Аутентифи- кация — это одна проблема, а управление доступом •— совершенно другая. 14.3. Органы по выдаче сертификатов Мы уже кратко обсудили, как создаются и форматируются сертификаты, но только слегка коснулись работы органов по выдаче сертификатов. Что делает конкретное лицо или организацию заслуживающим доверия органом по выдаче сертификатов? Рассмотрим этот вопрос в данном разделе. Certificate ::= SIGNED version [0] serialNumber signature issuer validity subject subjectPublicKeyInfо SEQUENCE{ Version DEFAULT V1998, CertificateSerialNumber, Algorithmidentifier Name, Validity, Name SubjectPublicKeyInfo} Version ::= INTEGER {v!988(0)} CertificateSerialNumber ::= INTEGER Validity ::= SEQUENCE { notBefore UTCTime, notAfter UTCTime} SubjectPublicKeylnfo :: = SEQUENCE { algorithm Algorithmidentifier, subjectPublicKey BIT STRING} Algorithmidentifier ::= SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL} Puc. 14.8. Синтаксис сертификата открытого ключа на языке ASN.1. Это определение взято из документа RFC 1422, включающего в себя стандарты на почтовую систему с улучшенной конфиденциальностью — Privacy Enhanced Mail (PEMj. Для описания сертификата использован язык ASN.1. ГЛАВА 14. СЕРТИФИКАТЫ ОТКРЫТЫХ КЛЮЧЕЙ 333
Как и в случае многих других вопросов, связанных с безопасностью и защи- той, решение этого фундаментального вопроса является компромиссом между степенью риска и удобством. Ошибки в сертификатах приведут к ошибкам в ау- тентификации: система будет признавать данные, которые поступят от того, кто их в действительности не создавал. С другой стороны, чрезмерная осторожность при сертифицировании увеличит эксплутационные расходы. Одним из способов нахождения компромисса является учет опыта использо- вания похожей системы, которая развилась за последние 40 лет, а именно: сис- темы обработки кредитных карточек. Кредитные карточки при совершении транзакций выполняют роль средства аутентификации третьей стороной: Джон Дое предъявляет свою карточку клерку, и карточка свидетельствует о его спо- собности оплатить покупку в будущем. В своем развитии за последние несколько десятков лет кредитные карточки прошли несколько фаз, которые во многом параллельны тому, с чем приходится сталкиваться сейчас сертификатам. Этап 1: первые организации, к примеру American Express, ввели специ- альные карточки для расчетов за транспортные и туристические услуги от определенных торговцев. Этап 2: для удобства клиентов нефтяные компании, универмаги и авиали- нии выпустили собственные кредитные карточки. Кредитоспособное лицо могло иметь десятки таких кредитных карточек. Этап 3: компании объединили свои кредитные операции и начали прини- мать карточки одной компании в торговых точках другой. Этап 4: этап консолидации, когда несколько крупных операторов кредит- ных карточек, как например American Express, Visa (“Bank Americard”) и MasterCard (“Master Charge”), договорились, что их карточки будут при- ниматься большим количеством производителей товаров и услуг, в резуль- тате чего потребность в отдельных карточках снизилась. Операторы карто- чек конкурируют друг с другом, рекламируя огромное количество мест, где их карточки принимаются в качестве платежного средства. Сравнение кредитных карточек с открытыми ключами вполне правомерно, поскольку в идеальном мире персональный открытый ключ точно так же, как карточки Visa или MasterCard, способен выполнять множество функций. Но хо- тя сертификаты общего назначения имеют множество преимуществ, они также вызывают ряд практических проблем, которые похожи на те, с которыми при- шлось столкнуться в случае кредитных карточек. Выдача сертификатов владельцами систем Если брать в качестве аналогии традиции более старых систем аутентифика- ции, то можно ожидать, что полностью ответственным за выпуск сертификатов будет владелец системы. Так что, если, скажем, корпорация Acme Corporation хо- чет выдать сертификаты своим сотрудникам, то она закупает необходимые аппа- ратные и программные средства и выдает их через свое подразделение информаци- онных технологий. Это сходно с фазой 2 в истории кредитных карточек: времени, когда каждая организация выпускала собственные кредитные карточки. Большим преимуществом сосредоточения всего процесса в одних руках являет- ся возможность контроля за стоимостью. Это было верно и в отношении кредит- ных карточек. Компания могла выдавать кредитные карточки бесплатно кому хо- тела, поскольку весь выпуск контролировала она сама. Для уменьшения риска компании могли в своих формах заявок задавать какие угодно вопросы или не за- давать их вообще. Они могли контролировать срок действия карточек и количест- во людей, которым разрешалось пользоваться карточками до фактической оплаты. 334 14.3. ОРГАНЫ ПО ВЫДАЧЕ СЕРТИФИКАТОВ
Во многом это справедливо и для компании, которая выпускает собственные сертификаты. Компания может структурировать процесс внедрения и раздачи сертификатов под свои собственные плановые показатели административных расходов. Компания может пойти на определенный риск, если считает его при- емлемым, и установить такие требования, которые будут удерживать этот риск на заданном уровне. С другой стороны, процесс требует наличия инфраструктуры, за которую не- обходимо платить. В некоторых компаниях количество операций с кредитными карточками стало достаточно большим, и благодаря процентным отчислениям в некоторых случаях они сами превратились в центры прибыли. В отношении ор- ганов по выдаче сертификатов не ясно, как они могут стать центрами прибыли, так как потенциально они требуют наличия достаточно дорогой инфраструкту- ры. Скажем, правительство США в середине 1990-х годов тратило до 40 долла- ров в год на один телефонный аппарат для поддержания сертификатов открытых ключей для защищенных телефонных линий STU III (см. примечание 7). Недостатком выпуска собственных ключей является трудность масштабиро- вания. Если необходимо, чтобы сертификаты корпорации Acme принимались многими организациями, тогда этим организациям необходимо иметь копию от- крытого ключа Acme. Если каждая компания из списка Fortune 500 будет иметь свой орган по выдаче сертификатов и нам придется проверять их сертификаты с этими ключами, то программное обеспечение системы обработки открытых клю- чей должно будет отслеживать огромное количество отдельных органов по выда- че сертификатов. Коммерческие органы по выдаче сертификатов Коммерческие органы по выдаче сертификатов предоставляют услуги, подоб- но крупным операторам кредитных карточек; они являются субъектами с усто- явшейся репутацией и признаны во многих местах. Если Web-сервер имеет сер- тификат, выданный широко известным органом, например компанией Verisign, то такой сертификат будет автоматически признаваться большинством пользова- тельских броузеров. В противном случае броузеру для признания сертификата придется сделать несколько дополнительных шагов, и в общем случае он должен будет обратиться за разрешением к оператору рабочей станции. Естественно, лучше избегать необходимости подобного взаимодействия. Коммерческие Web-серверы, как правило, получают сертификаты, подписан- ные коммерческим органом, так как в этом случае большинство броузеров при- знает сертификаты автоматически. Конечно, это — положительный момент. Но как быть с вычислительными центрами, которые выпускают сертификаты для индивидуальных пользователей? Что если вычислительный узел использует про- токол на основе открытого ключа для аутентификации пользователей? Что зна- чит для такого узла нанять коммерческий орган по выдаче сертификатов? В этом случае владелец по сути делегирует процесс внедрения сертификатной технологии коммерческому органу по выдаче сертификатов. Поскольку орган контролирует подпись, стоящую в сертификатах, владелец должен полагаться на правильность проведения внедрения органом. И владелец должен согласиться с определенным уровнем риска, связанным с некорректностью внедрения, выпол- няемого органом по выдаче сертификатов. В некоторых случаях такой риск мо- жет быть приемлемым в обмен на удобство использования существующих кон- фигураций броузеров. В других случаях, когда, например, неправильно выдан- ные полномочия приводят к серьезному риску, использование услуг коммерческих органов, возможно, не тот вариант, что нужен. ГЛАВА 14. СЕРТИФИКАТЫ ОТКРЫТЫХ КЛЮЧЕЙ 335
Поскольку сертифицирование является относительно новым видом бизнеса, коммерческие органы осторожны в предлагаемых ими услугах. Обычно они вы- дают сертификаты, только когда им представлены убедительные доказательства тождественности личности, но, как правило, они не принимают на себя никакой финансовой ответственности за неправильно принятое решение. Эта ситуация обычно оговаривается в выпускаемом органом документе “Порядок сертифици- рования”. Целью подобных документов является предоставление клиентам чет- кого объяснения состава услуг, оказываемых органом. Как правило в таком до- кументе также объясняется, что орган не предоставляет услуг со взятием на себя потенциальной ответственности за ошибки аутентификации пользователей. В конечном итоге вся ответственность ложится на владельца, который и несет убытки в результате неправильно выданного сертификата. И это принципиаль- ный недостаток в работе коммерческих органов по выдаче сертификатов (см. примечание 8). 14.4. Инфраструктура открытых ключей Инфраструктура открытых ключей (ИОК) — это конгломерат организа- ций, механизмов, протоколов и процедур, которые позволяют создавать, вери- фицировать и распределять открытые ключи. ИОК может предоставлять откры- тые ключи небольшой группе пользователей, одному предприятию или всем гражданам. Соответствующим образом работающая ИОК предоставляет средства как для создания сертификатов, так и для их надежной проверки. В этой книге уже упоминалось по крайней мере о двух ИОК: созданной Агентством нацио- нальной безопасности США для поддержки защищенных телефонных линий STU III и созданной компанией RSA Data Security для поддержки основанных на протоколе SSL Web-ориентированных средств защиты. Для автономной проверки достоверности сертификатов конечные пользовате- ли должны иметь аутентичные копии ключей органов по выдаче сертификатов. Может показаться, что наиболее удобный подход заключается в привлечении единственного органа выдачи сертификатов, ключ которого помещается во все программное обеспечение, используемое конечными пользователями, как это было первоначально сделано компанией Netscape. Однако это тем труднее осуще- ствить, чем больше количество сертификатов. Естественный подход заключается в делегировании задачи сертифицирова- ния. Сделано это может быть путем выдачи сертификатов органам по выдаче сертификатов, которые подписываются с помощью ключа, принадлежащего ор- гану по выдаче сертификатов, стоящему на более высокой ступени иерархии. То- гда программное обеспечение конечного пользователя может проверять досто- верность ключей от многочисленных органов путем проверки достоверности сер- тификатов самих этих органов. Это приводит к возникновению понятия цепи сертификатов. Каждый серти- фикат в цепи удостоверяет предыдущий сертификат, и этот процесс продолжает- ся до тех пор, пока мы не доходим до “корневого” органа выдачи сертификатов, открытый ключ которого у нас уже есть. На рис. 14.9 показано, как Джон полу- чает экземпляр сертификата Кэтти Рое. Заметим, что каждый сертификат со- держит четыре важных записи: имя владельца, название органа, выдавшего данный сертификат, открытый ключ и подпись сертификата. Таким образом, Джон может проверить сертификат, получив открытый ключ органа, выдавшего данный сертификат. Начинает он с сертификата Кэтти, который был подписан отделом по связям с общественностью компании Acme (“Acme PR Department”). Он получает сертификат, выданный отделу и использует его для проверки достоверности 336 14.4. ИНФРАСТРУКТУРА ОТКРЫТЫХ КЛЮЧЕЙ
Рис. 14.9. Аутентификация цепи сертификатов. Сертификат Кэтти Рое верифицируется путем проверки ее подписи с использованием открытого ключа органа по выдаче серти- фикатов “Acme PR Department”. Сертификат Acme PR Department верифицируется путем проверки его подписи с использованием открытого ключа органа по выдаче сертификатов "Acme Corporation”, и его сертификат проверяется с использованием ключа органа, кото- рый его выдал. В конце концов цепь приводит к заслуживающему доверия открытому ключу, или процесс аутентификации дает отрицательный результат. фикат, выданный отделу и использует его для проверки достоверности подписи на сертификате Кэтти. Теперь он знает, что сертификат Кэтти подлинный, но только если также подлинен сертификат отдела по связям с общественностью. Сертификат отдела был подписан самой корпорацией Acme, так что Джон, чтобы проверить сертификат отдела, должен получить сертификат на корпорацию. Убедившись в подлинности сертификата отдела, Джон еще должен проверить сертификат корпорации. Этот сертификат был подписан коммерческим органом выдачи сертификатов с названием “РК Vendor” (“Поставщик открытых клю- чей”). У Джона уже есть надежная копия открытого ключа компании РК Vendor, так что он может использовать ее для верификации сертификата корпо- рации Acme. Теперь, когда все сертификаты в цепи проверены на достоверность, Джон может считать достоверным и сертификат Кэтти. Вначале казалось, что мир вычислений будет охвачен единственной и универ- сальной ИОК. Будет единственный “корневой” орган выдачи сертификатов, к которому будут приводить все цепи. На практике оказалось, что такой подход не очень хорош, и на сегодня существует множество “корней”, к которым могут привести цепочки сертификатов. Чтобы справиться с подобной ситуацией, при- ложения, подобные броузерам, имеют в своем составе списки органов. Несколько иная стратегия существует для взаимной сертификации ключей друг друга раз- личными органами выдачи сертификатов, так что цепочки могут приводить к различным “корням”. Такие альтернативы рассматриваются далее. Централизованная иерархия Казалось бы, централизованная иерархия обеспечивает прямолинейную орга- низацию ИОК. Есть один “корневой” орган по выдаче сертификатов, который подписывает все сертификаты для других органов, и все цепочки сертификатов будут приводить к этому “корню”. Поставщики программного обеспечения могут занести ключ корневого органа во все программное обеспечение, что облегчит верификацию любого сертификата. ГЛАВА 14. СЕРТИФИКАТЫ ОТКРЫТЫХ КЛЮЧЕЙ 337
Такая иерархия была предложена для сети Internet как элемент специфика- ции почтовой системы с улучшенной конфиденциальностью (РЕМ). Корневая структура получила название “Орган регистрационной политики Internet” и должна была выпускать сертификаты для “Органов сертификационной полити- ки” (так называемых “РСА” от английского “Policy Certification Authority”). Каждый РСА должен был иметь свою политику выдачи сертификатов, что по смыслу напоминает документ “Порядок сертифицирования” современных ком- мерческих органов выдачи сертификатов. РСА выпускал бы сертификаты для сертифицирования органов, которые, в свою очередь, сертифицировали бы орга- ны более низкого уровня или конечных пользователей. РСА были введены, поскольку сертификаты выпускались для разных целей и нужно было иметь системный способ проведения между ними различий. Теоре- тически пользовательское программное обеспечение могло бы находить имя РСА в конкретном сертификате и принимать и отвергать сертификат на этой основе (см. примечание 9). На практике централизованная иерархия показала себя рациональной схемой организации процесса. Схема заставляла каждого покупать сертификат у РСА, даже для прототипов и локальных тестов. Проблема состояла в том, что ни у од- ной организации не было достаточного доверия в обществе, что позволило бы ей держать у себя корневой ключ системы Internet, не вызывая с определенного момента подозрения. Списки органов по выдаче сертификатов Хотя броузеры начались, когда все сертификаты были привязаны к одному дереву, сейчас с выпуском в свет новых броузеров ситуация изменилась. Сегодня броузеры включают в себя список органов выдачи сертификатов, сертификаты которых они узнают. В продукте Netscape Navigator такой список называется списком “сертификатов заверителей сертификатов” (“sertificate signer certificates”). На рис. 14.10 показана часть списка продукта компании Netscape в том виде, как он поставлялся в средине 2000 года. На то время список включал 70 разных ключей (13 только от одной компании Verisign). Обычно ключ органа хранится в сертификате, подписанном с использованием собственного ключа этой организации. Структура списка позволяет броузеру добавлять новые ключи, а также распо- знавать уже установленные ключи. Когда пользователь заходит на сервер, серти- фикат которого не аутентифицируется, это может происходить почти автоматиче- ски. Предположим, Джон просматривает содержимое сервера, принадлежащего новому поставщику услуг электронной коммерции, а сертификат сервера подписан незнакомым ему органом выдачи сертификатов. При отсылке сертификатов бро- узеру протокол SSL обычно предоставляет всю цепь сертификатов. Если броузер не узнает сертификат старшего в цепи органа выдачи сертификатов, то он может за- просить Джона о том, стоит ли ему добавить этот орган в свой список. Процесс внесения в список нового органа выдачи сертификатов обычно явля- ется многоступенчатым. Сначала броузер выводит сертификат органа на экран и запрашивает Джона о том, стоит ли ему воспринимать этот сертификат, и если да, то как. У Джона есть выбор полностью отвергнуть сертификат, хотя это ли- шит его возможности открыть соединение с этим сервером. Чаще Джон просто добавит этот орган во встроенный в броузер список. Если Джон потом подклю- чится к другим серверам, сертификаты которых были выпущены этим же орга- ном, то броузер признает эти сертификаты автоматически. Однако Джон также может принять решение признать сертифицирующий орган только для данного соединения, но отвергать его потом. 338 14.4. ИНФРАСТРУКТУРА ОТКРЫТЫХ КЛЮЧЕЙ
К сожалению, этот удобный процесс не всегда безопасен. Он уп- л* рощает жизнь тем взломщикам, которые хотят “подсунуть” броузеру А-86 ^9 поддельный сертификат. В этом случае все, что надо сделать взлом- щику, это создать пару открытого ключа для органа по выдаче сертификатов, дать ему благозвучное название и подписать сертификаты с использованием ключа этого органа. Взломщик может даже установить законный сервер или два, сертификаты которых будут подписаны фиктивным органом. Как только Джон или какой-нибудь другой ничего не подозревающий пользователь зайдет на один из этих серверов, его броузер попытается установить у себя сертификат фиктивного органа. Если Джон добавит орган в список своего броузера, то тогда фиктивный сервер может обмануть Джона и заставить принимать поддельные сертификаты, заявляющие что они от законных серверов. Например, взломщик может создать ряд фиктивных серверов, выдающих се- бя за серверы хорошо известных компаний электронной коммерции, скажем, Amazon, Barnes and Noble или Wells Fargo. Когда Джон сгружает себе сертифи- кат сервера, подписанный фиктивным органом, его броузер будет считать его подлинным. Это происходит из-за того, что броузер Джона был “инфицирован” сертификатом фиктивного органа. Конечно, взломщику неразумно выдавать себя за широко известный и сложно организованный коммерческий сервер, но он может воспользоваться поддельным сертификатом для организации атаки типа “человек посередине”, описанной в разделе 14.1. Эта атака по сути приводит нас к пределу возможностей косвенного подхода при аутентификации. Добиться уверенности в происхождении некоторого набора цифровых данных можно, только аутентифицировав его в сравнении с проверен- ными данными. При получении абсолютно нового открытого ключа не существу- ет способа добиться какой-нибудь определенности относительно реальной при- надлежности ключа. Кросс-сертифи каи ция Хотя первоначально предполагалось, что цепочки сертификатов будут под- держивать иерархию органов их выдачи, они также позволяют органам серти- фицировать открытые ключи друг друга. Это, в свою очередь, позволяет исполь- зовать для аутентификации широкого диапазона сертификатов меньшее количе- Certificate Signers' Certificates certificates Jdeutiiy the certificate signers that you accept: Security Info Java/JavaScript Certificates АВАесоя (sub., An. Bankers Assn.) Root CA AT&T Certificate Services AT&T Directory Services ATT CA ATT Research CA American Express CA American Express Global CA BelSign Object Publishing CA BelSign Secure Server CA Canada Post Corporation CA ConwerceNet CA Deutsche Telekon AG Root CA Digital Signature Trust Co. Global CA 1 Puc. 14.10. Список органов no выдаче сертификатов в броузере компании Netscape. Здесь показана часть списка сертифицированных органов, сертификаты которых будут автома- тически аутентифицироваться броузером при обработке SSL-соединения или другой за- щищенной операции. Используя кнопки справа, пользователь может при желании прове- рить или удалить орган из списка. ГЛАВА 14. СЕРТИФИКАТЫ ОТКРЫТЫХ КЛЮЧЕЙ 339
ство ключей органов по их выдаче. Кроме того, это снижает риск, так как орган, подписывая ключ другого органа, по сути голосует за его законность. Идея кросс-сертификации была представлена в проекте Распределенной службы защиты аутентификации (Distributed Authentication Security Service, DASS), разработанном компанией Digital Equipment Corporation. DASS иденти- фицировала конкретные органы по выдаче сертификатов, которые могут выда- вать сертификаты, содержащие открытые ключи других органов, даже если эти органы, строго говоря, не подчинены друг другу. В результате рабочие станции получали возможность обходится небольшим количеством колючей, принадле- жащих органам по выдаче сертификатов, которым разрешалось выполнять кросс-сертификацию других органов (см. примечание 10). Хотя кросс-сертификация выглядит перспективной, она также приводит к некоторым проблемам. В частности, непонятен уровень ответственности, кото- рую берет на себя орган по выдаче сертификатов, сертифицируя ключи других органов по выдаче сертификатов. Если орган сертифицирует ключи недобросове- стного органа, то это выведет из строя всю систему открытых ключей. Кроме то- го, существует еще вопрос о том, что действительно понимать под кросс- сертификацией. Возможно, один орган предпочел бы сертифицировать ключи другого органа для одних целей и не хотел бы сертифицировать их для других. Различные исследователи рассматривали эту проблему в контексте “систем управления доверием”. 14.5. Личная сертификация Мир сертификации и органов по выдачи сертификатов подходит не всем по- тенциальным пользователям. Многие не хотят пользоваться услугами сторонних организаций для получения дорогостоящего шифрованного удостоверения лич- ности, когда у них под рукой имеется необходимое программное обеспечение. Сложность крупномасштабных ИОК-систем отнюдь не помогает в продвижении простых приложений на основе технологии открытых ключей. Однако, реализа- ция не всех преимуществ этой технологии требует наличия крупномасштабной инфраструктуры. Продукт Pretty Good Privacy (PGP) является первым пакетом, который позволил использовать открытые ключи в отсутствие развитой инфра- структуры. Вместо того чтобы полагаться на органы выдачи сертификатов с вы- соким уровнем доверия, пакет PGP позволяет людям самим сертифицировать собственные ключи и ключи друзей, коллег и знакомых (см. примечание 11). PGP способен обеспечить достаточно высокий уровень доверия к аутентично- сти ключей в двух конкретных случаях, приведенных ниже. В первом случае самоподписанный ключ пользователя может свидетельствовать об аутентичности благодаря “репутации” его использования в обществе. Во втором случае ключ может подтверждать аутентичность тем, что за его аутентичность уже проголо- совали другие. Сертификация на основе репутации Internet породил уникальный общественный форум, в котором люди могут обсуждать идеи, спорить и завоевывать репутацию, целиком основанную на силе публичных выступлений. Отдельные персоны приобретают известность и уваже- ние благодаря своим выступлением, и люди называют такой уровень уважения репутационным капиталом. Большинство участников обсуждений в Internet не имеют особого репутационного капитала, но многие все же приобретают его бла- годаря активному участию в дискуссиях. 340 14.5. ЛИЧНАЯ СЕРТИФИКАЦИЯ
Рис. 14.11. Самоподписанный сертификат открытого ключа. Кэтти генерирует пару от- крытого ключа, а затем — самоподписанный сертификат, используя для подписи своего сертификата собственный личный ключ. Это разумный подход в средах, где тождествен- ность личности и репутация устанавливаются со временем. Ряд людей, которые участвуют в этих обсуждениях, ставят на свои сообще- ния цифровые подписи. Открытый ключ для таких подписей помещается в са- моподписанный сертификат. Подобный сертификат содержит имя человека, используемое им в Internet, и подписывается с помощью открытого ключа, ко- торый встраивается внутрь сертификата. Эта процедура показана на рис. 14.11. Рассмотрим, что происходит, когда Кэтти Рое приобретает репутационный ка- питал благодаря ряду подписанных сообщений. Кэтти создает пару открытого ключа и публикует сертификат открытого ключа, который она подписывает с ис- пользованием того же открытого ключа. Всякий, кто получает копию этого серти- фиката, может удостовериться, что содержащийся внутри ключ был использован для подписания сертификата и что сертификат содержит имя Кэтти. Когда Кэтти публикует свои подписанные сообщения, любой может верифицировать их с по- мощью открытого ключа, содержащегося в опубликованном ею сертификате. Теперь, когда сообщения Кэтти читаются другими участниками, у них созда- ется представление о личности Кэтти и уровне ее знаний и способностей. Это представление о Кэтти основывается на сообщениях, которые она подписала с использованием своего открытого ключа. Каждый может удостовериться, что все сообщения были созданы лицом, которое владеет этим конкретным открытым ключом и что этим лицом, как указывается в сертификате, является Кэтти Рое. Что произойдет, если кто-то другой сгенерирует самоподписанный сертифи- кат, заявляя, что он — Кэтти Рое? Предположим, Генри решил разрушить репу- тацию Кэтти, подделывая сообщения от ее имени. Прежде всего он создает само- подписанный сертификат, содержащий имя Кэтти. Затем он публикует сертифи- кат и использует его для подписи сообщений, якобы поступающих от Кэтти. Хотя некоторые читатели, возможно, и будут обмануты уловкой Генри, Кэтти может ответить, публично денонсировав сертификат в сообщении, подписанном с использованием ее собственного ключа. Любой может воспользоваться для ау- тентификации этого сообщения ее более старым сертификатом. У Генри нет воз- можности подписывать сообщения старым ключом; все его сообщения должны быть подписаны его поддельным ключом. Таким образом, люди могут использо- вать самоподписанный сертификат, чтобы надежно отличать подделки Генри от законных сообщений Кэтти. Сертификация на основе сети доверия В крупномасштабных ИОК единственными объектами, которые могут подпи- сывать сертификаты, являются органы выдачи сертификатов. В технологии PGP каждый может подписать любой сертификат. Фактически сертификаты могут содержать множество подписей. Подписи служат приблизительно той же цели, ГЛАВА 14. СЕРТИФИКАТЫ ОТКРЫТЫХ КЛЮЧЕЙ 341
что и подпись органа по выдаче сертификатов: они удостоверяют тот факт, что данное имя и ключ идут в паре. Но в технологии PGP ключи друг друга серти- фицируют отдельные люди, а не формально созданные сторонние органы. В PGP, как и в других системах на основе открытых ключей, аутентифици- рование ключа производится путем проверки подписи сертификата в сравнении подписью, которая не вызывает сомнения. Если Джон получает копию сертифи- ката Кэтти непосредственно от нее самой, то он будет считать такой сертификат подлинным. Если он получает по электронной почте сертификат Тима, подпи- санный Кэтти, то скорее всего он будет полагать, что и сертификат Тима тоже подлинный. Теперь, что происходит, если Джон получает сертификат от некоего лица по имени Боб, подписанный Тимом? По сути у Джона имеется цепь серти- фикатов, ведущая от Боба к Тиму и затем к Кэтти, что позволяет ему аутенти- фицировать сертификат Боба. Подобный тип цепи называется сетью доверия (web of trust). 14.6. Отзыв сертификатов Непрямая аутентификация является очень удобна в работе, но за это удобство приходится платить, когда необходимо отозвать серти- А-89 ЧР фикат. Если кто-то теряет свой личный ключ и он попадает к взломщику, то не существует простого способа отзыва сертификата. Невозможно узнать, сколько копий этого сертификата существует в различных броузерах и рабочих станциях. Поскольку программное обеспечение использует сертификат для автономной аутентификации пользователей, оно может не обнаружить, что сертификат нельзя использовать. Для решения этой проблемы предложено три общих стратегии. Первая преду- сматривает наличие списка отозванных сертификатов (certificate revocation list, CRL), в котором публикуется перечень всех сертификатов, которые должны быть отозваны. Вторая основана на идее интерактивной проверки сертификатов. И тре- тья предусматривает использование краткосрочных сертификатов, чтобы миними- зировать риск от кражи полномочий. Ниже описываются эти три стратегии. Список отозванных сертификатов Среди формальных органов по выдаче сертификатов использова- W ние списка отозванных сертификатов считается стандартным подхо- d 87 дом. Каждый орган несет ответственность за составление списка сер- тификатов, подлежащих отзыву, и его доставку конечным пользователям на ре- гулярной основе. Каждый сертификат содержит дату окончания срока действия, и отозванный сертификат остается в списке до наступления этой даты. К сожа- лению, списки отзыва часто являются последним элементом ИОК-технологии, который внедряется, и по этой причине компьютеры могут быть уязвимы со сто- роны поддельных сертификатов (см. примечание 12). Основным преимуществом стратегии на основе списка отозванных сертифика- тов является то, что она позволяет проверять сертификаты в автономном режи- ме. Большинство операторов кредитных карточек в 1970-е и 1980-е годы исполь- зовали подобную стратегию в отношении отозванных кредитных карточек, пока не нашла широкое применение интерактивная проверка. Обычно каждая компа- ния, обслуживающая кредитные карточки, периодически публиковала список отозванных кредитных карточек и распространяла этот список среди всех тор- говцев, которые принимали их карточки. В некоторых случаях компании пред- лагали премию за каждую выявленную торговцем отозванную карточку, давая тем самым дополнительный стимул для проверки карточек. 342 14.6. ОТЗЫВ СЕРТИФИКАТОВ
У списка кредитных карточек есть очевидный недостаток: вор мог во всю по- пользоваться карточкой в промежуток времени между ее кражей и моментом опубликования следующего перечня украденных карточек. Эта же проблема суще- ствует и для CRL-списков: кража могла произойти после выпуска последнего CRL- списка, или у конечного пользователя по какой-либо причине не было возможно- сти получить последнюю версию списка. Это вскрывает одно из мест, где системы с автономной аутентификацией ведут себя неустойчиво: взломщик может предос- тавить “наилучшие” доказательства законности ключа, и некоторые пользователи могут удовлетвориться тем, что аутентификация прошла “достаточно близко”, да- же если отдельные моменты будут выглядеть очевидной подделкой. Продукты для работы с открытыми ключами не реализуют CRL-списки, так как они связаны с задействованием сложного и редко используемого механизма. В ранних версиях Web-броузеров CRL-списки игнорировались полностью, хотя последние версии основных броузеров поддерживают их. К сожалению, это не гарантирует, что благодаря CRL-спискам будут действительно отзываться под- дельные сертификаты, поскольку работа механизма зависит от тесного техниче- ского сотрудничества между органами по выдаче сертификатов и производите- лями программных продуктов. Производители могут даже и не подозревать о существовании проблемы, пока не возникнет необходимость воспользоваться ме- ханизмом CRL-списков. Например, когда компанией Verisign были выпущены неправильные серти- фикаты, содержащие имя компании Microsoft, в их обработке CRL-списков об- наружилась дыра, которая не давала возможности пользоваться списками. Про- граммное обеспечение Microsoft полагалось в нахождении местоположения CRL- списка на указатель в сертификате, но в сертификатах компании Verisign не бы- ло этого указателя. Поэтому компании Microsoft пришлось выпустить специаль- ный модуль корректировки, который инсталлировал CRL-список компании Verisign на каждый компьютер и заставлял программное обеспечение проверки сертификатов просматривать этот список, обеспечивая отзыв сертификатов (см. примечание 13). Интерактивный отзыв Этот подход больше похож на то, что сегодня происходит почти со всеми кредитными карточками: перед приемом к оплате торговец проверяет статус кредитной карточки в интерактивном режиме. Этот подход не так надежен, как истинная автономная аутентификация, поскольку отказы в коммуникационной системе или отказы других компонентов могут привести к невозможности выполнения транзакции. Преимуществом же инте- рактивного отзыва является то, что он гарантирует получение абсолютно точной информации (см. примечание 14). В среде с использованием сертификатов открытого ключа конечный пользова- тель обычно верифицирует сертификат в интерактивном режиме путем установ- ления связи с органом выдачи сертификатов. Орган имеет возможность прокон- тролировать, не был ли заданный сертификат уже отозван. Однако не все органы выдачи сертификатов поддерживают верификацию сертификатов в реальном времени; хост-машины могут только связаться с органом для получения послед- ней версии CRL-списка. Кроме того, не все приложения для работы с открытыми ключами поддерживают работу с CRL-списками, так что мы имеем среду, в ко- торой на самом деле невозможно отозвать сертификат. D-88 Я ГЛАВА 14. СЕРТИФИКАТЫ ОТКРЫТЫХ КЛЮЧЕЙ 343
Периодическое сертифицирование Роном Ривестом, одним из создателей алгоритма RSA, был предложен другой подход к решению проблемы отзыва. Он предполагал использование не долго- живущих сертификатов, а только свежевыпущенных. Ривест полагал, что основ- ной риск падает на хост-машину, которая принимает сертификат, и что способом снижения этого риска является контроль за тем, как давно сертификат был под- твержден. В зависимости от приложения хост-машина могла бы требовать сер- тификат с достаточно недавней датой подтверждения. С этой точки зрения под- ход на основе CRL-списков ошибочен, так как в этом случае то, насколько све- жей может быть дата подтверждения сертификата, определяет орган по выдаче сертификатов, а не получатель (см. примечание 15). Ривест предложил, чтобы предоставление свидетельств достоверно- сти сертификатов было делом тех, кто их подписал, и таким свиде- & тельством должен быть сертификат с недавней датой создания. Орга- ны по выдаче сертификатов должны выпускать по требованию обновленные копии достоверных сертификатов. Если Джону для выполнения транзакции необходимо предоставить своему банку сертификат, то сначала он получает новую копию сво- его сертификата, которая будет содержать свежую временную метку. У банка то- гда будет возможность просмотреть этот сертификат и на основании временной метки определить, что сертификат действителен, так как выпущен недавно. Если Генри удастся украсть личный ключ Джона, то Джон может поставить в известность орган выдачи сертификатов о возможной угрозе. Когда Генри или кто-либо другой попросит орган обновить копию сертификата Джона, содержа- щего скомпрометированный ключ, то орган сообщит, что сертификат отозван. Тем временем Джон может зарегистрировать в органе новый открытый ключ и распространять сертификаты с новым именем и новым ключом. 14.7. Сертификаты в протоколе Kerberos В главе 12 кратко указывалось, что существуют способы интеграции шифро- вания на основе открытого ключа в протокол Kerberos. Хотя эти методы не обя- зательно преобразовывают среду Kerberos в архитектуру с истинно автономной аутентификацией (процесс всегда будет зависеть от присутствия KDC протокола Kerberos), они исключают необходимость в коллективно используемом секрете, основанном на пароле многократного применения. На рис. 14.12 проиллюстрирована методика, называемая PKINIT (от “public key initialization” — инициализация открытого ключа). PKINIT использует пару открытого ключа Кэтти в специальной версии процесса предаутентификации, описанного в разделе 12.3. Кэтти регистрируется в своей рабочей станции и пре- доставляет личный ключ. Рабочая станция связывается с KDC, посылая предау- тентификационный запрос на получение TGT-мандата. В запросе содержится обычная информация и копия сертификата открытого ключа Кэтти. Запрос под- писывается цифровой подписью, получаемой с использованием ее личного ключа (см. примечание 16). Получив запрос, KDC сначала пытается проверить достоверность сертификата Кэтти. Он должен быть выпущен органом, известным KDC, иначе он будет отверг- нут. Затем KDC генерирует TGT для Кэтти и шифрует соответствующий ключ се- анса с использованием открытого ключа Кэтти. После этого ответ подписывается с помощью собственного ключа KDC, так что Кэтти имеет возможность по получе- нии проверить его целостность. После того как Кэтти расшифрует ключ сеанса, она может использовать его вместе с TGT для аутентификации себя другим серве- рам. Личный ключ ей не понадобится до следующей регистрации в системе. 344 14.7. СЕРТИФИКАТЫ В ПРОТОКОЛЕ KERBEROS
Рис. 14.12. Предаутентификация протокола Kerberos и использование открытых ключей. В соответствии с этим подходом, именуемым PKINIT, для аутентификации Кэтти в KDC протокола Kerberos используется не запоминаемый пароль, а сертификат открытого ключа Кэтти. В ответе для шифрования ключа сеанса в TGT используется открытый ключ. Это не единственный способ использования механизма PKINIT. Им также можно воспользоваться для генерации коллективно используемого секрета вре- менными ключами алгоритма Диффи-Хеллмана. В этом случае предаутентифи- кационный запрос Кэтти содержит временный ключ Диффи-Хеллмана. По- прежнему Кэтти должна подписать запрос отдельным ключом и предоставить копию сертификата ключа ее подписи. Перед генерацией TGT с использованием коллективного секрета Диффи-Хеллмана KDC верифицирует сертификат и под- пись Кэти на основе данных предаутентифиукации. Важным свойством метода PKINIT является то, что он может исключить KDC из процесса аутентификации, полностью полагаясь на сертификаты пользовате- лей. Ответственность за верификацию личности пользователя несет тот орган, который выпустил сертификат. Приняв сертификат, KDC фактически аутенти- фицировал соответствующего пользователя. По этой причине KDC должен скру- пулезно проверять сертификаты и выдавать мандаты только в том случае, если сертификат признается им без оговорок. В ОС Windows 2000 метод PKINIT используется для интеграции открытых ключей в свою среду аутентификации на основе протокола Kerberos. Запрос TGT содержит копию сертификата пользователя и подписывается с помощью его лич- ного ключа. KDC ОС Windows 2000 подтверждает достоверность сертификата и факт его выдачи органом, который ему известен. После этого KDC верифицирует временную метку процесса предаутентификации и цифровую подпись (см. при- мечание 17). Проверив достоверность предаутентификационных данных, KDC строит TGT, который включает в себя специфические для ОС Windows 2000 авторизационные данные — идентификаторы пользователя и группы, к которой он относится. По- сле этого KDC шифрует ответ с помощью открытого ключа из сертификата поль- зователя и подписывает его собственным ключом. Получив ответ, система поль- зователя расшифровывает и верифицирует его и затем, как того требует прото- кол Kerberos, использует TGT для запроса доступа к другим серверам. ГЛАВА 14. СЕРТИФИКАТЫ ОТКРЫТЫХ КЛЮЧЕЙ 345
14.8. Сводные таблицы Таблица 14.1. Сводная таблица атак Атака Проблема системы защиты Характер атаки Описание атаки А-84 Подделка открытого ключа Восстановление или модификация закрытой информации Простая Если получатель принимает неаутентифициро- ванный открытый ключ, то взломщик просто подставляет свой собственный ключ вместо правильного ключа А-85 Человек посередине Восстановление или модификация закрытой информации Сложная Взломщик подставляет собственный открытый ключ вместо другого ключа и перешифровывает сообщения между двумя объектами А-86 Фиктивное имя в сертификате Маскировка под другого человека Простая Взломщик ставит имя жертвы в заявке на получение сертификата открытого ключа А-87 Подмена сертификата Маскировка под другого человека Простая Взломщик использует законный сертификат для реализации протокола SSL на поддельном сервере, который выдает себя за другой сервер А-88 Фиктивный орган выдачи сертификатов Маскировка под другого человека Обычная Взломщик использует фиктивный орган выдачи сертификатов для создания поддельных серти- фикатов и затем заставляет броузеры принять ключ его органа по выдаче сертификатов А-89 Использование личного ключа Маскировка под другого человека Программная Взломщик полагается на автономную аутенти- фикацию и использует украденный личный ключ Таблица 14.2. Сводная таблица методов защиты Защита "3 Срываемые атаки Описание D-84 Сертификаты открытого ключа А-84 Подделка открытого ключа А-85 Человек посередине Публикуется назначение открытого ключа владельцу, и под этой публикацией ставится заслуживающая доверия цифровая подпись D-85 Требование владения ключом А-86 Фиктивное имя в сертификате Сертификаты выдаются только лицу, которое владеет запрошенным именем D-86 Проверка достоверности имени хоста в сертификате А-87 Подмена сертификата Имя в сертификате сравнивается с именем хост-машины, участвующей в SSL-соединении D-87 Список отозванных сертификатов А-89 Использование личного ключа Периодически выпускается список всех сертификатов, которые были отозваны D-88 Интерактивный отзыв сертификатов А-89 Использование личного ключа Обеспечивается механизм выполнения запроса органу по выдаче сертификатов для подтверждения того, что сертификат не был отозван D-89 Периодическое сертифицирование А-89 Использование личного ключа Выдвигается требование, чтобы все сертификаты были выданы недавно, и обеспечивается механизм, который позволял бы сертифицирующим органам выпускать такие сертификаты, если сертификат не был отозван 346 14.8. СВОДНЫЕ ТАБЛИЦЫ
Угрозы, от которых нет защиты А-88 Фиктивный орган выдачи сертификатов — Интерфейс пользователя современных типовых броузеров не обеспечивает приемлемой защиты от такой атаки, поскольку нет способа определения разницы между новым ключом от за- конного органа и ключом от фиктивного органа выдачи сертификатов. ГЛАВА 14. СЕРТИФИКАТЫ ОТКРЫТЫХ КЛЮЧЕЙ 347
ГЛАВА 15 Способы защиты личных ключей Я не умею хранить секреты — бесполезно и пытаться. — Л.М. Монтгомери, Ани с острова В этой главе... Шифрование с использованием открытых ключей успешно, только если вла- делец личного ключа может контролировать его: всегда иметь под рукой, но не раскрывать никому. Существует множество способов достичь этого: генерировать личные ключи; хранить личные ключи в файлах и смарт-картах; хранить личные ключи на сервере; использовать сильную аутентификацию и слабые пароли. 15.1. Генерация личных ключей Еще до возникновения проблемы защиты личных ключей возникает проблема их генерации. Если используется алгоритм Диффи-Хеллмана, DSS или какой-либо другой алгоритм с ключом на основе возведения в степень по модулю, то это про- сто вопрос выбора подходящего большого случайного числа. Если же используется алгоритм RSA, то необходимо выбрать два больших простых числа. И это само по себе проблема. Математически оперировать с большими простыми числами непро- сто, и именно поэтому они обеспечивают такую хорошую защиту. Но качество за- щиты зависит от выбора чисел, которые действительно являются простыми. Стандартный подход к выбору простых чисел состоит в конструировании слу- чайного числа, которое может быть простым, с последующей его математической проверкой. Число отбрасывается, если в результате проверки не оказывается простым. К сожалению, нет практичных математических способов проверки, ко- торые бы позволили точно сказать, что число действительно простое. Чтобы до- биться этого, надо провести полное разложение его на сомножители, а это не должно быть практически реализуемой вычислительной задачей для тех чисел, которые используются в качестве RSA-ключей. Иначе можно было бы самим ис- пользовать такие факторизационные вычисления для взлома RSA-ключей. Для обнаружения возможных сомножителей числа делается несколько прове- рок различными способами. Если такие сомножители не обнаружены, то делает- ся вывод о том, что число — простое. Использование нескольких различных проверок снижает вероятность ошибки, ведь если в RSA-ключе есть дополни- тельные сомножители, то взломщику будет легче взломать его.
Первым шагом в конструировании простого числа является генерация слу- чайного двоичного числа желаемого размера. После этого старший и младший биты устанавливаются в значение единица. Установка старшего бита в единицу гарантирует, что число будет иметь желаемый размер. Установка младшего бита в единицу гарантирует нечетность числа: четное число явно не будет простым. После построения такого числа осуществляется проверка его простоты. Обыч- но проверяется его делимость на “малые” простые числа. Шнайер (Schneier) предлагает проверять число на делимость на числа, которые меньше 256, или даже на все числа, меньшие 2000 (см. примечание 1). Следующим шагом осуществляется вероятностный тест простоты числа. Это тест, который позволяет с очень высокой долей вероятности находить простые числа. Существует несколько вероятностных тестов, и все они работают путем выбора случайного числа, относительно которого затем осуществляется система- тическая проверка простого числа. Наиболее эффективный алгоритм называется тестом Миллера-Рабина (Miller-Rabin test). Прогоняя алгоритм Миллера-Рабина четыре раза, можно добиться чрезвычайно высокой степени уверенности в том, что число является простым (см. примечание 2). По сути такой же подход используется для генерации RSA-ключей в пакете PGP. Сначала PGP конструирует число с разрядностью п бит, для чего генериру- ется случайное число с разрядностью п-2, и два старших бита устанавливаются в значение единица. После этого для проверки наличия у числа сомножителей PGP использует таблицу первых ста простых чисел (до 541). PGP случайным об- разом выбирает из таблицы значения и вычисляет остатки, выполняя поиск со- множителей в остатках. Наконец, PGP четыре раза прогоняет алгоритм вероят- ностной проверки на простоту числа. Эта операция выполняется в пакете PGP два раза, в результате чего оказываются сгенерированными два простых числа, которые и выбираются в качестве составляющих RSA-ключа (см. примечание 3). 15.2. Проблема хранения личных ключей Защита секретных ключей является проблемой просто потому, что на самом деле их две: владелец стоит перед проблемой распространения ключей и их защи- той в конечном пункте нахождения. В этом смысле защита пары открытого ключа должна быть легче, так как не надо распространять ключ или хранить его вторую копию в пункте назначения. Но защита личного ключа по-прежнему нужна. Сегодня наиболее распространен подход, когда ключ хранится в файле, а файл шифруется с использованием секретного ключа. Ключ обычно представля- ет собой пароль или паролевую фразу. Такой подход используется в продукте Lotus Notes, который является, наверное, самым старым приложением, исполь- зующим принцип открытого ключа. Личный ключ пользователя Lotus Notes хранится в файле с названием ID-файл. Кроме личного ключа в нем содержатся идентификационные данные пользователя и другая специфическая для конкрет- ного пользователя информация (см. примечание 4). Преимущества подхода на основе хранения в файле можно увидеть, если рас- смотреть, как пользователь, например Тим, может работать с ним. Файл дает Тиму прямой контроль над его личным ключом. Он имеет возможность сделать столько копий, сколько захочет иметь в целях резервного копирования. Храня ID-файл на дискете, он может использовать его в качестве слабой формы двух- факторной аутентификации: шифрующий пароль представляет собой “нечто, че- го мы знаем”, а дискета является “тем, что мы имеем”. Такой подход обеспечи- вает мобильность, если Тиму необходимо входить в систему из разных мест. Ко- нечно, это все слабее, чем двухфакторная система на основе карточек, так как достаточно легко сделать копию ID-файла, а Тим может не знать об этом. ГЛАВА 15. СПОСОБЫ ЗАЩИТЫ ЛИЧНЫХ КЛЮЧЕЙ 349
Другим преимуществом является то, что Тиму не надо хранить свой личный ключ на сервере, как того требует, скажем, методика, описываемая в разделе 15.5. Это снижает риск словарной атаки на пароль, так как взломщик не имеет возможности снять зашифрованные ключи с сервера. Более того, у Тима есть возможность выполнять операции с шифрованием, работая в автономном режи- ме, скажем, с использованием своего переносного компьютера. Для большинства разработчиков, возможно, наибольшим преимуществом является то, что хране- ние личного ключа в файле относительно просто в реализации. Эта методика ис- пользуется также в Web-броузерах, если владелец броузера устанавливает у себя персональный личный ключ для использования в SSL-соединениях, для аутен- тификации клиента или шифрования электронных почтовых сообщений. Пакет PGP также предусматривает хранение личного ключа поль- л зователя в зашифрованном виде в файле ключей пользователя. Ключ А-90 Ф шифруется с помощью паролевой фразы, которая может содержать десятки символов. Однако на практике пользователи часто защищают свои PGP- ключи коротким паролем, что создает уязвимость к атаке грубой силой. Существу- ет даже программа, специально написанная для взлома паролевых фраз PGP. Эта программа, как и другие программы для взлома паролей, использует словарь ве- роятных кандидатов и выполняет перебор всех таких кандидатов до тех пор, пока не получает расшифрованное значение личного ключа (см. примечание 5). Хранению личных ключей в файлах свойственен еще один риск, л связанный с тем, что преднамеренно модифицированное программ- А-91 U ное обеспечение может перехватывать личный ключ пользователя в тот момент, когда он расшифровывается для использования программой работы с открытыми ключами. Например, Генри может написать специальную добавку к Web-броузеру Тима, которая будет “охотиться” за личным ключом Тима в мо- мент его расшифровки для использования. Перехватив ключ, программа Генри может передать его посредством какой-нибудь Web-транзакции, связанной с этой программой-добавкой (см. примечание 6). 15.3. Смарт-карты и личные ключи Смарт-карты уже упоминались в этой книге в разделе 9.1. Как видно на рис. 15.1, смарт-карта представляет собой активное устройство аутентификации, которое обычно имеет размер кредитной карточки. Вставленная в соответствую- щий считыватель карточка будет отвечать на различные команды и обновлять хранящуюся в ней информацию. Каждая карточка может хранить определенный объем переменной информации, даже если она никуда не вставлена. Некоторые производители использовали эти возможности смарт-карт для реализации функ- ций шифрования на основе открытого ключа. Смарт-карта может хранить персональный личный ключ и обес- W печивать функцию шифрования по открытому ключу с одновремен- D-90 *3 ной защитой личного ключа от кражи или разглашения. Несколько производителей систем на основе открытого ключа разработали для этого смарт- карты. Использующая шифрование по открытому ключу рабочая станция будет выполнять функции, требующие значение личного ключа, посылая соответст- вующий запрос смарт-карте, которая, в свою очередь, будет посылать назад ре- зультат такого запроса. При таком подходе рабочая станция никогда не видит личного ключа, который никогда не выходит за пределы карты. Фактически та- кие карточки могут даже не иметь функции, позволяющей узнать реальное зна- чение личного ключа. 350 15.3. СМАРТ-КАРТЫ И ЛИЧНЫЕ КЛЮЧИ
Смарт-карта устраняет все риски, связанные с хранением личных ключей в файлах. Совершенно очевидно, что никакая программа перехвата не сможет ук- расть личный ключ, если он не находится в рабочей станции. Нет также и за- шифрованного файла с открытым ключом, который можно было бы взломать. Хотя смарт-карты не обеспечивают абсолютной защиты, они дают более высокий уровень защиты, чем может обеспечить обычный настольный компьютер. Существует несколько способов хранения и использования личного ключа в смарт-карте, и разные производители используют различные подходы. Одни производители могут использовать карту в качестве варианта хранения инфор- мации на дискете: карта при возникновении потребности экспортирует личный ключ, а весь алгоритм шифрования размещается в рабочей станции. Такой под- ход, конечно, уязвим для атак с использованием средств активной разведки, но устойчив к словарным атакам. Хотя подобный подход дает ограниченные пре- имущества с точки зрения защиты, для некоторых производителей он оказался привлекательным, поскольку относительно прост в реализации и не выдвигает значительных требований к смарт-карте. Существует два других общих подхода, которые обеспечивают значительно более высокую безопасность и в соответствии с которыми функции криптогра- фической обработки возлагаются на смарт-карту. Первый подход состоит в том, что личный ключ генерируется рабочей станцией и хранится на смарт-карте. Второй подход предусматривает генерацию личного ключа на самой смарт-карте. Federal Deposit Insurance Corporation Washington, D.C. 20429 II found, drop in any mail box. Return postage guaranteed Рис. 15.1. Смарт-карты для шифрования с использованием открытого ключа. Здесь по- казаны карты ряда Model 330 компании Datakey, Inc, предназначенные для хранения личного ключа и выполнения криптофункций с использованием открытого ключа. Кар- точка, показанная внизу, используется сотрудниками Федеральной корпорации страхова- ния вкладов (Federal Deposit Insurance Corporation) для защищенного обмена информаци- ей по сети предприятия, а также в качестве пропуска для входа в помещения корпора- ции. Вверху справа показан нефункционирующий макет карты, использованной 5 июля 2000 года Билом Клинтоном для подписания Акта об электронных подписях в междуна- родной и национальной коммерческой деятельности. Фотография любезно предоставлена корпорацией Datakey, Inc. (см. примечание 7). ГЛАВА 15. СПОСОБЫ ЗАЩИТЫ ЛИЧНЫХ КЛЮЧЕЙ 351
Генерация ключа вне карточки В соответствии с этим подходом для генерации пары открытого > ключа используется программное обеспечение, размещающееся на gj рабочей станции. После этого ключ загружается в смарт-карту в процессе ее инициализации. Эта процедура показана на рис. 15.2. Карта обеспе- чивает выполнение функции шифрования по методу открытого ключа, не рас- крывая значение личного ключа. Такой подход исключает риск раскрытия зна- чения личного ключа какими-либо средствами перехвата на рабочей станции. Простейшая карта подобного типа может обходиться двумя операциями: install private key (установить личный ключ) и apply private key (применить лич- ный ключ). Первая функция будет размещать личный ключ в соответствующей области хранения карты. Вторая — инициировать обработку данных на входе по алгоритму RSA с использованием личного ключа. Функция вывода значения личного ключа отсутствует; существует только опция замены существующего значения личного ключа новым его значением. Хотя, возможно, и соблазнительно ввести функцию, которая при определен- ных обстоятельствах позволяла бы экспортировать значение личного ключа, ее весьма сложно реализовать безопасным образом. Очень трудно формализовать понятие “определенные обстоятельства”, обеспечив при этом устойчивость перед лицом серьезной атаки. Значительно безопаснее просто исключить наличие лю- бых функций, которые бы могли бы раскрыть значение личного ключа, позво- лив только функции его замены. Подобный подход допускает многократное ис- пользование смарт-карт с “истекшим сроком действия” без раскрытия значения старого личного ключа. При генерации личного ключа у Тима есть возможность сделать его резервную копию и хранить ее на дискете в безопасном месте. А-92 Если смарт-карта Тима выйдет из строя (в конце концов аппаратура не обладает 100-процентной надежностью), то он сможет создать новую копию, воспользовавшись резервной копией. Это особенно важно, если Тим использует личный ключ для защиты хранимых файлов. В противном случае при отказе смарт-карты Тим потеряет содержимое этих файлов. Такая стратегия несет в се- бе очевидный риск с точки зрения безопасности, так как чем больше копий ключа существует, тем выше риск той или иной утечки данных о его значении. Здесь приходится искать компромисс между выгодой от наличия резервной ко- пии и возрастанием риска раскрытия секретной информации. На практике производители смарт-карт часто вводят дополнительные функ- ции. Некоторые карточки имеют функции хранения и извлечения сертификата Рис. 15.2. Генерация ключа вне карточки. Тим генерирует пару открытого ключа с помо- щью программного обеспечения рабочей станции и загружает личный ключ на свою смарт-карту. Он также может сделать резервную копию ключа. 352 15.3. СМАРТ-КАРТЫ И ЛИЧНЫЕ КЛЮЧИ
открытого ключа, связанного с личным ключом. Хотя минимальная конфигура- ция карточки, на которой хранится личный RSA-ключ, может включать единст- венную функцию — apply RSA (применить RSA), как это показано на рис. 15.2, в других карточках, в зависимости от используемых алгоритмов, могут быть реализованы отдельные функции для шифрования, расшифровки и подписыва- ния с использованием личного ключа. Генерация ключа на карточке При таком подходе личный ключ генерируется внутри самой W смарт-карты, и полностью исключается раскрытие его значения (рис. 15.3). Это исключает кражу резервной копии личного ключа, а также снимает риск, связанный с использованием личного ключа внутри рабо- чей станции. Единственным способом использования личного ключа является обладание смарт-картой, внутри которой он находится. Хотя этот подход имеет реальные преимущества по уровню обеспечиваемой за- щиты, он обладает несколькими недостатками. Прежде всего он накладывает на смарт-карту серьезные требования по производительности. Как объяснялось в раз- деле 15.1, создание и проверка RSA-ключей требуют большого объема математиче- ской обработки. Это выражается в большом количестве вычислительных тактов и большом объеме требующейся памяти. Например, у карточки Datakey Model 330 генерация 1024-разрядного ключа занимает в среднем 23 секунды, а генерация 2048-разрядного ключа требует в среднем три минуты. Такой подход более прак- тичен при использовании ключей для алгоритмов Диффи-Хеллмана и DSS. Кроме того, карточка будет задействовать определенный объем памяти на хранение про- граммного обеспечения, требующегося для генерации ключей; в большинстве слу- чаев она будет использовать его только один раз (см. примечание 8). Другим недостатком подобных карточек является то, что их не следует ис- пользовать для хранения ключей, которые защищают зашифрованные файлы. Объясняется это тем, что всегда надо помнить о возможности отказа карточки. Отказ карточки приведет к уничтожению ключа и сделает нечитаемыми файлы, для расшифровки которых нужен этот ключ. С другой стороны, такие карточки идеальны для выполнения цифровых под- писей транзакций. Если карточка отказывает, то владелец может взять другую, опубликовать новый открытый ключ и использовать ее в последующих транзак- циях. Ранее подписанные транзакции по-прежнему могут быть верифицированы Рис. 15.3. Генерация ключа на карточке. Карта этого типа генерирует собственную пару ключей и “не разглашает” значение личного ключа. Кроме шифрования с использованием личного ключа, такие карточки могут эмитировать открытый ключ и генерировать новые пары ключей. ГЛАВА 15. СПОСОБЫ ЗАЩИТЫ ЛИЧНЫХ КЛЮЧЕЙ 353
путем использования копий старого открытого ключа. Новые же транзакции мо- гут верифицироваться с помощью нового открытого ключа. В определенным смысле замена открытого ключа похожа на выдачу кредитной карточки с новым номером, когда старая карточка была утеряна или украдена. 15.4. Управление доступом к смарт-карте Некоторые производители реализуют с помощью смарт-карт двухфакторную аутентификацию. Обычно карточка имеет свой PIN-код, и пользователь должен ввести его значение, чтобы карточка начала выполнять заложенные в нее крип- тографические функции. Некоторыми производителями в качестве метода кон- троля доступа используется биометрика, которая совместно с PIN-кодом дает в результате трехфакторную аутентификацию. PIN-коды В разделе 9.5 описывались методики практической реализации PIN-кодов. Для смарт-карт лучшим методом является использование PIN-кода в качестве пароля. Обычно смарт-карта с PIN-кодом отказывается воспринимать команды до тех пор, пока оператор не введет его правильное значение. Карточка может обладать определенными средствами защиты для противостояния попыткам най- ти значение PIN-кода методом проб и ошибок. При обсуждении устройств с одноразовыми паролями уже рассматривался подход к объединению PIN-кода с базовым секретом. Когда взломщик вводит неправильный PIN-код, устройство работает как будто правильно, но дает при этом неправильный результат. И взломщик может обнаружить, что результат неправилен, только при попытке зарегистрироваться на сервере с использовани- ем этого одноразового пароля. Если взломщик делает множество подобных по- пыток, то сервер обнаруживает попытку проникновения в систему грубой силой. К сожалению, подобная стратегия плохо работает в шифровании с использовани- ем метода открытого ключа. Если смарт-карта использует PIN-код для построе- ния личного ключа, то использование неправильного PIN-кода не позволит рабо- тать с открытым ключом карточки. Таким образом, взломщик имеет возмож- ность проверить правильность PIN-кода, не связываясь с сервером, что делает бессмысленным его использование в качестве части личного ключа смарт-карты. Практичный подход состоит в том, чтобы карточка хранила копию PIN-кода и верифицировала его перед ее использованием. Принципиальным недостатком PIN-кодов ^является то, что злонамеренно ус- тановленное на рабочую станцию программное обеспечение может перехватить PIN-код, используемый для разблокирования смарт-карты. Некоторые изготови- тели пытаются обойти эту проблему, вводя в состав считывающего устройства для самарт-карты клавиатуру набора PIN-кода, хотя это и увеличивает стои- мость считывателя. Биометрика Биометрика предоставляет возможность реализации интересного подхода к управлению доступом к смарт-карте. В общих чертах стратегия состоит в хране- нии биометрического образа владельца на карточке и введении требования ра- зумного его совпадения с биометрической подписью. Это дает три архитектур- ных концепции, каждая из которых увеличивает степень защищенности по сравнению с предыдущей. 354 15.4. УПРАВЛЕНИЕ ДОСТУПОМ К СМАРТ-КАРТЕ
Карточка как устройство хранения биометрического образа При этом подходе смарт-карта представляет собой внешнее устройство хранения биометрического образа. Когда рабочая станция запрашивает доступ к смарт-карте, последняя передает образ, который рабочая станция сравнивает с биометрической подписью, полученной от оператора, и сооб- щает карте о наличии или отсутствии совпадения. Подобный подход при- влекателен для людей, обеспокоенных конфиденциальностью биометриче- ских показателей. Пользователи всегда сохраняют личный контроль над своими биометрическими образами, и в системе не надо создавать крупно- масштабную базу данных биометрики (см. примечание 9). К сожалению, такой подход легко обходится взломщиком, особенно если процедура проверки совпадения биометрических показателей выполняется с использованием программного обеспечения, выполняемого на рабочей станции оператора. Взломщик может подменить программное обеспечение на специальным образом модифицированную программу, которая будет сообщать смарт-карте о совпадении биометрических показателей, даже не получая подписи от оператора. Одной из стратегий, решающих эту проблему, является совмещение уст- ройства считывания биометрических показателей со считывателем для смарт-карты. В этом случае биометрические данные никогда не поступают внутрь рабочей станции, а считыватель сам получает биометрическую под- пись и выполняет ее наложение на образ. Хотя это и не устраняет риска атаки через считыватель смарт-карты, который не имеет биометрического считывающего устройства, но увеличивает объем работы для взломщика. Совмещение биометрики на карточке Немного лучший подход состоит в том, чтобы требовать от рабочей стан- ции предоставления биометрической подписи до того, как карточка раз- блокирует себя. В этом случае карточка выполняет совмещение биометри- ческих данных с хранящимся внутри нее образом. Если подпись достаточ- но близко совпадает с образом, то карточка позволяет рабочей станции использовать себя. Этот подход похож на получение PIN-кода. Здесь существует тот же риск, что взломщик перехватит биометрику и воспроизведет ее для разблокиро- вания карточки. Однако тут возникает еще одна практическая проблема, поскольку процесс сравнения биометрических данных предъявляет дополнительные требова- ния к ресурсам карточки. Карточка должна иметь дополнительный объем программной памяти для хранения процедуры сравнения биометрики; кроме того необходим дополнительный объем рабочей памяти для выпол- нения вычислений, связанных с определением степени совпадения. Содер- жащие необходимые ресурсы карточки достаточно дороги, хотя с развити- ем технологии смарт-карт цены будут падать. Встроенный считыватель биометрических показателей В соответствии с этим подходом считыватель биометрических показателей встраивается в смарт-карту, так что она может непосредственно снимать биометрический образ. Такой подход чаще всего используется в системах, основанных на распознавании отпечатков пальцев, поскольку считыватель отпечатков может быть сконструирован с размерами, согласующимися с коэффициентом формы смарт-карты. ГЛАВА 15. СПОСОБЫ ЗАЩИТЫ ЛИЧНЫХ КЛЮЧЕЙ 355
Этот подход решает проблему перехвата и воспроизведения биометриче- ской подписи взломщиком, так как карточка будет воспринимать подписи, поступающие только от встроенного в нее считывателя. Однако при этом возникает проблема, связанная с технологией изготовления смарт-карт, поскольку требуется наличие значительных ресурсов по обработке, а так- же высококачественного считывателя отпечатков пальцев, умещающегося в тонкий корпус. На рис. 15.4 показан внешний вид прибора Puppy комапнии Sony, пред- ставляющего собой устройство аутентификации со встроенным считывате- лем отпечатков пальцев. Однако прибор Puppy не является смарт-картой. Хотя его длина и ширина соответствуют размерам карточки, он имеет толщину калькулятора. Карточки подобного типа были бы практичны для выполнения транзакций с цифровой подписью, так как обработка биометрических данных ставит проблемы надежности. Биометрика уязвима, если физические параметры человека меняются в результате ранения или подвергаются другим естест- венным изменениям. С точки зрения защиты данных в таких ситуациях самой безопасной реакцией была бы замена смарт-карты. Альтернативой также может быть установка “черного хода”, который бы позволял раз- блокировать карточку в тех случаях, когда биометрика не распознает за- конного владельца карточки, но подобным “черным ходом” может вос- пользоваться и взломщик. Рис. 15.4. Устройство аутентификации со встроенным биометрическим считывающим устройством. Здесь показано устройство аутентификации компании Sony Puppy со встро- енным считывателем отпечатков пальцев. Прибор Puppy обеспечивает внутреннюю гене- рацию пары открытого ключа и стандартные функции шифрования по методу открытого ключа. Для снятия блокировки личного ключа владелец вводит отпечаток своего пальца. Кабель подключается к одному из USB-портов компьютера. 356 15.4. УПРАВЛЕНИЕ ДОСТУПОМ К СМАРТ-КАРТЕ
В современных смарт-картах PIN-коды обеспечивают несколько лучшую об- щую защиту, чем биометрика, поскольку совмещение биометрических показате- лей обычно выполняется не на смарт-картах. Если карточка способна выполнять такое совмещение, то биометрика обеспечивает такой же уровень защиты, как и PIN-коды. В тех случаях, когда совмещение биометрики происходит на рабочей станции оператора, возникает риск использования поддельного программного обеспечения для совмещения. Подобное программное обеспечение может обма- нуть карточку и заставить ее разблокироваться, сообщив, что совмещение про- шло успешно, на самом деле даже не делая такого совмещения фактически. Этот риск имитации снижается при выполнении совмещения на самой карточке. 15.5. Хранение личных ключей на сервере Хотя смарт-карты дают некоторые очевидные преимущества, за эти преиму- щества приходится платить привлечением дополнительных аппаратных средств. Если внедряется система на основе смарт-карт, то люди ограничены использова- нием компьютеров, которые оснащены соответствующими считывающими уст- ройствами. Можно, конечно, пользоваться файлами с личными ключами и но- ситься с дискетами вместо смарт-карт, но это создает определенную нагрузку на конечных пользователей. Третий подход к управлению личными ключами состоит в хранении их на сервере. В этом случае после того, как пользователь регистрируется в сети, сер- вер сгружает его личный ключ непосредственно ему в рабочую станцию. Впервые такой подход был использован в протоколе DASS компании Digital. Личные ключи пользователей и другие объекты обычно хранятся на сервере, на- зываемом центром распространения сертификатов. Для аутентификации поль- зователя в процессе регистрации в системе используется хешированное значение его секретного пароля. В протоколе DASS шифрование по открытому ключу ис- пользовалось для распространения секретного ключа коллективного пользова- ния, который, в свою очередь, защищал личный ключ в процессе его передачи владельцу. Хотя протокол DASS не нашел широкого применения, его архитек- турная концепция получила продолжение (см. примечание 10). Сегодня существуют две общих стратегии управления личными ключами на серверах. Подход на основе загрузки ключей, впервые реализованный в прото- коле DASS, используется в продукте компании Novell NetWare v.4 и в пакете Кеоп компании RSA Security. Другой подход с применением так называемого сервера виртуальных смарт-карт не предусматривает загрузки личного ключа, а все криптографические услуги предоставляются сервером. Оба эти подхода описываются в данном разделе. Novell NetWare: загрузка ключей Подход компании Novell представляет собой коммерческую реализацию прото- кола DASS для загрузки личных ключей. Система состоит из специализированного сервера, реализующего службу каталогов ОС NetWare (NetWare Directory Service, NDS), и специализированного клиентского программного обеспечения ОС NetWare, устанавливаемого на рабочих станциях. Процесс проиллюстрирован на рис. 15.5. NDS хранит личный ключ в зашифрованном виде и передает его клиен- ту по получении аутентифицированного запроса. Запрос аутентифицируется с ис- пользованием запоминаемого пароля пользователя. Личный ключ работает пра- вильно только после его расшифровки с применением запоминаемого пароля, ко- торый нигде постоянно не хранится (см. примечание 11). ГЛАВА 15. СПОСОБЫ ЗАЩИТЫ ЛИЧНЫХ КЛЮЧЕЙ 357
1. Имя пользователя: Тим Рабочая станция Тима Рис. 15.5. Общая структура процесса загрузки личного ключа, реализуемая в ОС NetWare v.4. Тим начинает процесс, сообщая службе NDS, кто он такой. NDS просматривает свою информацию и отвечает копией его “паролевого постоянного случайного числа” и вновь сгенерированным случайным числом однократного использования. Тим из этих данных и своего пароля генерирует секретный ключ. Он шифрует этот ключ вместе со случайным образом сгенерированным ключом сеанса, используя для этого открытый ключ NDS. По- сле этого он отсылает эти ключи серверу NDS, который расшифровывает их и использует для шифрования его личного ключа в процессе доставки. 3. Отсылка секретных ключей, зашифрованных с помощью открытого ключа сервера NDS Сервер NDS 2. Отсылка многократно и однократно используемых случайных чисел 4. Отсылка Тиму его зашифрованного личного ключа Процесс загрузки ключа с сервера приводит к возникновению нескольких не- надежных с точки зрения безопасности моментов, которые устраняются благода- ря наличию в используемом NDS протоколе загрузки специальных функцио- нальных особенностей. Начинается все еще с момента первоначальной регистра- ции пользователя в системе, что показано на рис. 15.6. Чтобы зарегистрироваться, Тим предоставляет свое имя пользователя и пароль. Процесс первоначальной регистрации генерирует для него пару открытого ключа и шиф- рует личный ключ с использованием хешированного значения его пароля. Про- цесс также генерирует второе хешированное значение его пароля с использова- нием постоянного случайного числа. Два хешированных значения пароля работают вместе на аутентификацию Тима, но служат разным целям. Первое хешированное значение защищает его личный ключ, находящийся в хост-машине службы NDS. Хотя NDS и использу- ет в отношении файла средства защиты операционной системы для противостоя- ния атакам, успешное проникновение не дает взломщику мгновенного доступа к личным ключам. Чтобы расшифровать личный ключ, ему надо будет построить словарную атаку и взломать пароль пользователя. Второе хешированное значение пароля используется для аутентификации Ти- ма в момент его входа в систему и попытке загрузить свой личный ключ. NDS не будет сгружать личный ключ, даже в зашифрованном виде, пока Тим не под- твердит, что знает свой пароль. Далее NDS использует это хешированное значе- ние пароля вместе со вторым случайным образом сгенерированным ключом для шифрования личного ключа при передаче его на рабочую станцию Тима. Процесс аутентификации и загрузки личного ключа довольно сложен, поэто- му его описание здесь разделено на две части. На рис. 15.7 иллюстрируется пер- вая часть: процесс аутентификации пользователя в NDS с использованием сек- ретного пароля. Тим сообщает службе NDS свое имя пользователя, a NDS посы- лает рабочей станции Тима однократно используемое случайное число и копию постоянного случайного числа, приписанного паролю Тима. 358 15.5. ХРАНЕНИЕ ЛИЧНЫХ КЛЮЧЕЙ НА СЕРВЕРЕ
tdore xyzzy Имя пользователя еширование Тим Зашифрованный личный ключ Открытый ключ Запись Тима в базе данных пользователей Хост-машина регистрации Открытый ключ Тима Имя пользователя: tdore Хешированные пароль/ однократное случайное число Генерация пары открытого ключа Шифрование по секретному ключу Рис. 15.6. Регистрация в службе NDS. Тим регистрируется, предоставляя свое имя пользова- теля и выбирая секретный пароль. Процесс начальной регистрации генерирует для него па- ру открытого ключа и шифрует личный ключ с помощью хешированного значения его па- роля. База данных пользователей хранит значение пароля Тима, хешированное с использо- ванием постоянного случайного числа, которое используется при его аутентификации. Запись о Тиме в базе данных ие содержит достаточно данных для прямой расшифровки его личного ключа, хотя слабый пароль будет делать его уязвимым к словарной атаке. Постоянное случайное число 3fbd247c Личный ключ Тима Рис. 15.7. Аутентификация пользователя в ОС NetWare. Чтобы аутентифицировать Ти- ма, NDS посылает его рабочей станции однократно используемое случайное число и ко- пию постоянного случайного числа, приписанного паролю Тима. Рабочая станция воссоз- дает пароль Тима, смешанный с постоянным случайным числом и хеширует его с исполь- зованием однократно используемого случайного числа, вырабатывая так называемое “смешанное хешированное значение”. Рабочая станция генерирует еще один случайный ключ. После этого она шифрует эти два результата с использованием открытого ключа NDS и посылает их в NDS. По получении этих значений NDS вычисляет тот же самый хеш с использованием однократно используемого случайного числа и хешированного па- роля Тима и аутентифицирует Тима, если эти два хешированных значения совпадают. ГЛАВА 15. СПОСОБЫ ЗАЩИТЫ ЛИЧНЫХ КЛЮЧЕЙ 359
Рабочая станция Тима отвечает генерированием двух секретных ключей. Один из них строится путем двукратного хеширования пароля. Первый раз она хеширует пароль, объединяя его со значением полученного от NDS постоянного случайного числа; результирующее значение должно совпадать с аналогичным объединенным значением, хранящимся в записи Тима в базе данных пользова- телей NDS. После этого она хеширует этот результат вместе с полученным от NDS однократно используемым случайным числом. В итоге получается ключ, называемый смешанным хешированным значением. Затем рабочая станция ге- нерирует второй ключ, который называется длинным ключом. Этот ключ имеет то же количество битов, что и личный ключ, и использует в качестве одноразо- вого ключа дополнения для последующего шифрования личного ключа. Рабочая станция помещает оба эти ключа в сообщение, которое шифрует с использовани- ем открытого ключа NDS, и посылает результат серверу NDS. Тем временем сервер NDS извлекает из базы данных пользователей объеди- ненный с постоянным случайным значением пароль Тима и хеширует его с ис- пользованием однократно используемого случайного числа, получая свою версию смешанного хешированного значения. Получив ответ от Тима, сервер NDS срав- нивает смешанное хешированное значение, вычисленное Тимом, со своим собст- венным результатом вычисления этого смешанного хешированного значения. Эти значения совпадут, если Тим предоставил рабочей станции правильное зна- чение пароля. Аутентифицировав Тима, NDS зашифровывает его личный ключ для последую- щей доставки. Сначала она использует операцию ’’исключающее или”, чтобы за- шифровать личный ключ с помощью длинного ключа. Потом она использует тради- ционное шифрование по секретному ключу, чтобы зашифровать результат, при этом в качестве секретного ключа используется смешанное хешированное значение. После этого NDS передает результирующее сообщение рабочей станции Тима. Рис. 15.8. Загрузка личного ключа из сервера NDS. Сначала рабочая станция использует смешанное хешированное значение в качестве секретного ключа, чтобы расшифровать со- общение. После этого она выполняет над результатом операцию “исключающее или” вме- сте с длинным ключом. Это дает значение личного ключа в том виде, в котором он хра- нится в базе данных NDS. Наконец, рабочая станция дешифрирует личный ключ, исполь- зуя в качестве секретного ключа хешированное значение пароля. 360 15.5. ХРАНЕНИЕ ЛИЧНЫХ КЛЮЧЕЙ НА СЕРВЕРЕ
Рис. 15.8 иллюстрирует процесс дешифрирования личного ключа рабочей стан- цией Тима после получения его от сервера NDS. Сначала рабочая станция рас- шифровывает сообщение, применяя алгоритм с секретным ключом, в качестве ко- торого используется смешанное хешированное значение. После этого рабочая стан- ция вычисляет результат выполнения операции “исключающее или” над полученным на первом шаге значением и длинным ключом. Это приводит к полу- чению значения личного ключа в том виде, в котором он хранится в базе данных NDS. В конце рабочая станция вычисляет хешированное значение пароля Тима и использует его в качестве ключа для выполнения последнего раунда расшифровки по секретному ключу. Таким образом, получается значение личного ключа. Этот сложно организованный процесс обеспечивает несколько уровней защи- ты от типовых атак. Взломщики не имеют возможности выполнять словарные атаки, поскольку сообщения не содержат распознаваемых элементов данных, в отношении которых можно было бы проверять предположения. Если бы в ответ на сообщение NDS рабочая станция посылала смешанное хешированное значе- ние, то взломщики могли бы проверять свои предположения относительно него. Включение в алгоритм RSA-шифрования случайным образом генерируемого длинного ключа лишает их способа верификации своих попыток угадывания па- роля. Единственным практичным подходом была бы попытка украсть зашифро- ванную базу данных, но благодаря архитектуре службы NDS сделать это сложно. После того как рабочая станция Тима получает личный ключ, ОС NetWare предпринимает последний шаг для защиты от возможной утечки. Вместо исполь- зования для шифрования или формирования подписи фактического значения лич- ного ключа клиент NetWare строит другой случайный личный ключ, выводя его из значения личного ключа Тима. Этот другой ключ используется в алгоритме формирования цифровой подписи Джиллоу-Квисквотера (Gillou-Quisquater digital signature algorithm, GQ). После того как рабочая станция построила этот GQ-ключ, она стирает личный ключ Тима. Это снижает риск перехвата и получения значе- ния личного ключа ОС NetWare программами активной разведки. Единственным видимым в NetWare-клиенте ключом является временный GQ-ключ. Виртуальная смарт-карта SafeWord: подгрузка данных Сервер виртуальных смарт-карт реализует другой подход, который отличает- ся от того, что используется в ОС NetWare и в протоколе DASS: вместо загрузки личного ключа в клиента, последний сам отправляет запрос на шифрование и контролирует его выполнение на сервере (рис. 15.9). Сервер несет ответствен- ность за защиту всех личных ключей пользователей и аутентификацию запросов на их использование. Как и в ОС NetWare, единственное техническое требование состоит в установке на рабочей площадке необходимых серверов и соответст- вующего клиентского программного обеспечения на рабочих станциях. Клиент- ское программное обеспечение взаимодействует с приложениями на основе от- крытого ключа либо через интерфейс Crypto API компании Microsoft, либо через интерфейс стандарта PKCS #11 (см. примечание 12). Для защиты трафика между сервером и клиентской частью в протоколе мето- да виртуальной смарт-карты объединяются два отдельных механизма обеспече- ния безопасности. Во-первых, связь осуществляется с использованием стандарт- ного SSL-соединения, которое обеспечивает шифрование, защиту целостности и аутентификацию сервера смарт-карт. Во-вторых, для аутентификации оператора рабочей станции перед выдачей ему прав на работу с личным ключом сервер ис- пользует SafeWord-совместимую процедуру аутентификации. Эта процедура мо- жет требовать предоставления запоминаемого пароля или использовать устрой- ство аутентификации с генерацией одноразового пароля (см. раздел 9.3). ГЛАВА 15. СПОСОБЫ ЗАЩИТЫ ЛИЧНЫХ КЛЮЧЕЙ 361
После того как сервер виртуальных смарт-карт аутентифицирует соединение клиента, он извлекает из базы данных личный ключ пользователя. Все храни- мые ключи зашифрованы с использованием колюча сервера, так что сервер сле- дующим шагом расшифровывает личный ключ пользователя. Далее сервер, по- лучая через SSL-соединение запросы на оказание криптографических услуг, вы- полняет их с использованием личного ключа и передает результат назад по соединению. Если продолжительность соединения превышает ранее установлен- ный период, сервер может потребовать от клиента повторной аутентификации, что заставит пользователя повторно ввести пароль или новый одноразовый па- роль. При закрытии соединения сервер стирает личный ключ, оставляя только его зашифрованное значение в базе данных. Сервер виртуальных смарт-карт имеет доступ к незашифрованным версиям личных ключей пользователей. Это не идеальный подход к решению задачи управления личными ключами, т.е. необходимо учитывать ту же угрозу, кото- рая стоит перед KDC протокола Kerberos и коммерческими серверами аутенти- фикации для таких продуктов с генерацией одноразовых паролей, как SafeWord и SecurlD. Но крупные коммерческие пользователи показали, что подобные сис- темы обеспечивают адекватный уровень защиты даже в таких средах с высокой опасностью, как финансовая. 15.6. Возвращаясь к паролям Пароли имеют относительно небольшое среднее пространство атаки по той причине, что известно, как составить список вероятных кандидатов и сравнить их с хешированной или зашифрованной формой пароля. Если в целях защиты пароль хешируется, то взломщики последовательно хешируют свои варианты и затем сравнивают с атакуемым хешированным значением. Если для шифрования данных используется однократно используемое случайное число в протоколе ау- тентификации, то обычно у взломщиков есть возможность увидеть это число и использовать его для выполнения атаки перебором по методу проб и ошибок. Но что если пароль используется для шифрования данных, которые не могут быть так легко проверены взломщиком? Тим Приложение на основе метода открытого ключа PKCS11 или Crypto API Клиент виртаульной смарт-карты Сервер виртуальных смарт-карт Рис. 15.9. Виртуальная смарт-карта. Виртуальная смарт-карта состоит из клиента, кото- рый размещается на рабочей станции пользователя и взаимодействует с программным обеспечением для шифрования по открытому ключу. Приведенный здесь пример показы- вает приложение на основе открытого ключа, использующее для аутентификации вирту- альную смарт-карту. Приложение обменивается информацией со смарт-кртой через стан- дартный интерфейс. Клиентская часть виртуальной смарт-карты обменивается данными с сервером виртуальных смарт-карт по сети, посылая тому данные для криптографической обработки и принимая результаты. 362 15.6. ВОЗВРАЩАЯСЬ К ПАРОЛЯМ
Эту проблему начали обсуждать в конце 1980-х годов, мотивом при этом бы- ли результаты проведенных исследований, показавшие, что всегда будут люди, которые выбирают легко угадываемые пароли. Ученые искали способ, как, пользуясь паролями с низким уровнем энтропии, создать для двух объектов, скажем, для сервера и рабочей станции, сильный и сложный для угадывания секрет (см. примечание 13). В 1992 году Стив Беллоувин (Steve Bellovin) и Майкл Меррит (Michael Merritt) описали несколько протоколов под общим названием Encrypted Key Exchange (EKE) (“Шифрованный обмен ключами”), которые оказывали серьез- ное сопротивление словарным атакам. Протоколы работали, объединяя в себе шифрование по открытому ключу с шифрованием по секретному ключу. В отли- чие от описываемых в этой книге методов шифрования по открытому ключу, протоколы ЕКЕ предусматривали сохранение в секрете как открытого, так и личного ключа (см. примечание 14). Чтобы продемонстрировать работу протокола, рассмотрим ситуацию, когда Тим пытается зарегистрироваться на сервере, использующем протокол ЕКЕ. Сначала рабочая станция Тима генерирует пару открытого ключа для использо- вания в этом соединении с сервером. Затем рабочая станция шифрует открытый ключ, используя для этого пароль Тима, и передает серверу зашифрованный от- крытый ключ. Одновременно сервер делает то же самое, шифруя собственный временный открытый ключ с помощью пароля Тима. После того как состоялся обмен открытыми ключами, они могут использоваться для генерации другого секретного ключа, который будет достаточно большим, чтобы оказывать сопро- тивление атакам по методу проб и ошибок. Протоколы ЕКЕ могут противостоять атакам по методу проб и ошибок благодаря тому, что для взломщиков не имеет практического смысла пробовать возможные значения пароля Тима со всеми возможными значениями его открытого ключа. В некотором смысле протокол усиливает энтропию пароля. Он начинает рабо- ту с низкоэнтропийным паролем и использует его для защищенного обмена от- крытым ключом с более высокой энтропией. Этот ключ может быть затем ис- пользован для установления секретного ключа с достаточно высокой энтропией для сопротивления атакам, усиливая энтропию исходного пароля. Чтобы обойти ограничения первых версий, были разработаны дополнительные варианты. В опубликованной в 2000 году работе Квона (Kwon) описывались почти два десят- ка различных протоколов, выведенных из ЕКЕ и результатов более ранней рабо- ты Ломаса и др. (Lomas et al.). Хотя эти протоколы с усилением паролей пока не вошли в основные приложения, в их разработке начинают участвовать и некото- рые коммерческие организации. Исследовательскую группу по разработке про- токолов для стандартизации сильных механизмов паролевой аутентификации и обмена ключами финансирует Институт инженеров по электротехнике и элек- тронике (IEEE) — (см. примечание 15). ГЛАВА 15. СПОСОБЫ ЗАЩИТЫ ЛИЧНЫХ КЛЮЧЕЙ 363
15.7. Сводные таблицы Таблица 15.1. Сводная таблица атак Атака ¥ Проблема системы защиты Характер атаки Описание атаки А-90 Взлом паролевой фразы пакета PGP Маскировка под другого человека Обычная Взломщик использует программу взлома, спроектированную для выполнения атак на паролевые фразы пакета PGP А-91 Активная разведка личного ключа Маскировка под другого человека Обычная Взломщик внедряет программу активной разведки в систему жертвы и перехватывает личный ключ в момент его использования А-92 Кража резервной копии личного ключа Маскировка под другого человека Физическая Взломщик крадет копию личного ключа, хранящуюся на дискете или в другом устройстве Таблица 15.2. Сводная таблица методов защиты Защита ъ Срываемые атаки Описание D-90 Личный ключ на смарт-карте D-91 Реализация функций шифрования по открытому ключу на смарт-карте D-92 Создание личного ключа на смарт-карте А-90 Взлом паролевой фразы пакета PGP А-91 Активная разведка личного ключа А-92 Кража резервной копии личного ключа Личный ключ хранится на смарт-карте, а не в зашифрованном файле Личный ключ хранится на смарт-карте, которая реализует также функции шифрования, т.е. личный ключ не покидает пределов смарт-карты Личный ключ генерируется на смарт-карте и никогда не находится вне ее 364 15.7. СВОДНЫЕ ТАБЛИЦЫ
Примечания В этой главе... Здесь приводятся ссылки на источники информации, использованной в книге. Примечания не углубляют техническую сторону информации, а только указы- вают на ее источник. Если читателю необходимо знать источник конкретных данных, то для этого ему достаточно руководствоваться расставленными в тексте указателями. Если читателю захочется просмотреть все примечания к конкретной главе, прочитав ее текст, то ему следует просто прочитать их от начала до конца в этом приложении. Примечания содержат только название и автора каждого источника. Полное цитирование источника можно найти в приложении Список литературы. Если какая-либо позиция не содержит фамилии автора и является продуктом компа- нии, правительственного агентства или организации, то в качестве автора ука- зывается название организации. Если в примечании дается ссылка на произво- дителя или Web-сервер, то соответствующую контактную информацию и URL можно найти в приложении Список Web-ресурсов и производителей. Примечания к главе 1 1. Ученые не имеют общей точки зрения относительно того, как и когда сказка об Али-Бабе появилась в составе сборника со многовековой истори- ей под названием Тысяча и одна ночь, или Арабские ночи. Классический перевод этих сказок был опубликован сэром Ричардом Фрэнсисом Барто- ном (Richard Francis Burton) в 1880 году. Бартон добавил рассказ об Али- Бабе в сборник в дополненном издании. Сама история, вероятно, была взята из индийской версии книги, имевшей название Хазар Дастан (“Ты- сяча историй”) и составленной Тотарамом Шайямом (Totaf-am ShAyAm). Джек Зайпс (Jack Zipes) из Миннесотского университета включил рассказ об Али-Бабе в свое сокращенное издание перевода Бартона. 2. Стандарты на обязательные меры защиты являются центральной темой книги Донна Паркера (Donn Parker) Борьба с компьютерными преступле- ниями (“Fighting Computer Crime”). Это понятие также обсуждается в классической книге Билла Чесвика (Bill Cheswick) и Стива Белловина (Steve Bellovin) Брандмауэры и безопасность в Internet: отражая Уайли Хакера (“Firewalls and Internet Security: Repelling the Wily Hacker”). 3. Федеральные стандарты методов анализа рисков были опубликованы На- циональным бюро стандартов США в документе FIPS Publication 65 “Ру- ководство по выполнению анализа рисков при автоматической обработке данных” (“Guideline for Automatic Data Processing Risk Analysis”), хотя в 1995 году этот официальный подход был отменен. Пошаговый подход к анализу рисков описан в книге Тома Пелтьера (Tom Peltier) Анализ рисков для обеспечения защиты информации (“Information Security Risk
Analysis”). Группа реагирования на нарушения компьютерной защиты в сети Internet (CERT) также разработала метод анализа рисков, который был описан в статье Альбертса (Alberts) и Дорофи (Dorofee) “Введение в метод OCTAVE” (“An Introduction to the OCTAVE Method”). Паркер в свое книге Борьба с компьютерными преступлениями тоже анализировал рис- ки, хотя практических рекомендаций не давал. 4. Описание системы CTSS и появления концепции паролей основано на вос- поминаниях Фернандо Дж. Корбато (Fernando J. Corbato), Ричарда Миллса (Richard Mills) и Тома ван Влека (Tom Van Vleck). 5. Рассказ об эволюции хакерской культуры, особенно в МТИ, можно найти в книге Стива Леви (Steve Levy) Хакеры: герои компьютерной революции (“Hackers: Heroes of the Computer Revolution”). Менее привлекательный портрет экстремальных случаев страстной увлеченности компьютерами на- рисован в книге Джозефа Вейзенбаума (Joseph Weizenbaum) Сила компь- ютеров и человеческий фактор (“Computer Power and Human Reason”). Вейзенбаум не высказывал своего отрицательного отношения к хакерам как таковым, но в главе 4 провел параллель между “навязчивым програм- мированием” и психическим расстройством, схожим с маниакальной стра- стью к азартным играм. 6. История создания системы CTSS была основным примером в лекции “О построении систем, которые будут отказывать”, прочитанной Фернандо Дж. Корбато при вручении ему премии Тьюринга. Подробности были опи- саны Томом ван Влеком в его серии рассказов о системе Multics: Multics: Средства защиты (“Multics: Security”) и IBM 7094 и CTSS, а также в ча- стной переписке с автором этой книги. 7. Система с разделением времени “Титан” была описана Морисом Уилкесом (Maurice Wilkes) в книге Вычислительные системы с разделением време- ни (“Timesharing Computer Systems”), правда, там он называл ее “Кем- бриджской системой”. 8. Первое известное описание одностороннего шифрования появилось в книге Уилкеса Вычислительные системы с разделением времени, в которой он приписал идею Р.М. Нидхэму (R.M. Needham). В частной переписке с ав- тором этой книги Роджер Нидхэм описал историю происхождения кон- цепции и отдал пальму первенства Майку Гаю (Mike Guy). 9. Том ван Влек подробно описывает ситуацию с хешированием паролей в системе Multics в своем рассказе Multics: Средства защиты, опубликован- ном на его Web-сервере сообщества энтузиастов Multics. 10. Документ “Критерии оценки доверительных компьютерных систем” (так- же называемый TCSEC или даже “Оранжевой книгой”), выпущенный На- циональным центром по компьютерной безопасности США (National Com- puter Security Center, NCSC), включает в себя классическое описание тре- бований к системам с высоким уровнем защищенности. Более подробное описание того, как должна работать система проверки, приводится в отче- те NCSC “Руководство по выполнению проверки в доверительных систе- мах” (A Guide to Audit in Trusted Systems”). 11. Случай с Джерри Нилом Шнайдером описан в книге Донна Паркера Пре- ступления с помощью компьютера (“Crime by Computer”). 12. История о “технике-весельчаке” рассказана в книге Кати Хафнер и Джона Маркоффа Компьютерные хулиганы: нарушители закона и хакеры на 366 ПРИМЕЧАНИЯ К ГЛАВЕ 1
компьютерных границах (“Cyberpunk: Outlaws and Hackers on Computer Frontier”). 13. CERT сообщила об этой атаке в своем информационном бюллетене CERT Advisory СА-1991-03 “Несанкционированные запросы на изменение паро- лей с помощью сообщений по электронной почте”. Приведенное в тексте электронное сообщение скопировано из этого бюллетеня. 14. Лео Маркс описал случаи работы по принуждению, с которыми ему при- шлось столкнуться во время войны, в книге С плащом и ядом (“Between Silk and Cyanide”). 15. Майкл Дж. МакКарти (Michael J. MacCarthy) описал проблемы использо- вания мониторов клавиатуры в бизнесе в статье в Wall Street Journal “Размышления вслух” (“Thinking out Loud”). 16. Сообщение об атаках средствами активной разведки с указанием контрмер было опубликовано CERT в бюллетене Advisory СА-1994-01 “Продолжаю- щиеся атаки методом мониторинга по сети” (“Ongoing Network Monitoring Attacks”). Подобные атаки описываются также в статье Евгения Шульца (Eugene Schultz) и Томаса Лонгстаффа (Tomas Longstaff) “Атаки средства- ми активной разведки в Internet” (“Internet Sniffer Attacks”). 17. TCSEC устанавливает требование наличия сигнала привлечения внимания в качестве меры защиты от атак с помощью программ троянского входа в систему. 18. Статья Вима ван Эка называлась “Электромагнитное излучение видеомо- ниторов: риск прослушивания?” (“Electromagnetic Radiation from Video Display Units: An Eavesdropping Risk?”). 19. Вим Швартау описал свои исследования излучения ван Эка и привел воз- никшие по этому поводу соображения в главе 7 книги Способы ведения информационной войны (“Information Warfare”). 20. Самое первое упоминание о характеристиках трех факторов аутентифика- ции автор этой книги встретил в документе FIPS PUB 41 “Руководство по организации защиты в компьютерных системах в соответствии с требова- ниями Закона “О защите личных прав” 1974 года (“Computer Security Guidelines for Implementing Privacy Act of 1994”). Факторы аутентифика- ции также были подробно рассмотрены в вышедшей в 1988 году статье со- трудников NCSC Стивена Карлтона (Steven Carlton), Джона Тейлора (John Taylor) и Джона Вышински (John Wyschynski) “Альтернативные механиз- мы аутентификации” (“Alternating Authentication Mechanisms”). 21. Описание простейших и обычных (а также других) атак можно найти во многих книгах, начиная от тех, где описываются способы их реализации, например книга Удачливый хакер (“Happy Hacker”) Каролин Мейнель (Carolyn Meinel), и заканчивая теми, в которых описываются меры защи- ты, например книга Максимальная защита (“Maximum Security”) ано- нимного автора. 22. Увлекательное описание борьбы Клиффорда Столла с Вайли Хакером при- ведено в его бестселлере Яйцо кукушки (“Cuckoo’s Egg”). 23. Институтом Брукингса были опубликованы две книги с описанием команд управления и контроля в ядерных установках и устройствах: Управление ядерными операциями (“Managing Nuclear Operations”) под редакцией Кар- тера (Carter), Стейнбрунера (Steinbruner) и Зракета (Zraket) и Логика слу- чайной ядерной войны (“Logic of Accidental Nuclear War”) Брюса Г. Блейе- ПРИМЕЧАНИЯ 367
pa (Bruce G. Blair). Хороший обзор также представлен в главе 11 книги Росса Андерсона (Ross Anderson) Методы проектирования систем защи- ты: Руководство по построению зависимых распределенных систем (“Se- curity Engineering: A Guide to Building Dependable Distributed Systems”). Примечания к главе 2 1. Книга Уэйна Б. Еигера (Wayne В. Yeager) Методы вскрытия сейфов (“Techniques of Safecracking”) содержит приложение, в котором приводят- ся комбинации-кандидаты для восьми различных производителей. В главе 2 в качестве метода вскрытия сейфов рассматривается поиск записанных комбинаций. Также смотрите главу “Медвежатник встретился с медвежат- ником” в книге известного физика Ричарда Фейнмана Вы, конечно, шу- тите, мистер Фейнман!. 2. Об аналогичной проблеме в работающих под управлением ОС UNIX систе- мах Unisys U5000 сообщалось CERT в бюллетене Advisory СА-1990-03. 3. Информацию о замках и ключах можно найти в книге Эдди — Отмычки (Eddie the Wire) Полное руководство по подбору замков (“The Complete Guide to Lock Picking”) или в книге Ропера (Roper) и Филлипса (Phillips) Полный справочник по замкам, их установке и ремонту (“The Complete Book of Locks and Locksmithing”). История о Джерри Ниле Шнайдере опи- сана в книге Донна Паркера Преступления с помощью компьютера. 4. Описание начального этапа развития системы UNIX можно найти в книге Питера Г. Салюса (Peter Н. Salus) Четверть века UNIX (“A Quarter Cen- tury of Unix”). 5. Краткое описание системы Multics приводится в книге Корбато, Сальтцера (Saltzer) и Клингена (Clingen) Multics — первые семь лет (“Multisc — The First Seven Years”). 6. Комментарии Лайонза были опубликованы двумя частями с названиями “Комментарии к операционной системе UNIX” (“Commentary on the Unix Operating System”) и “Исходный код операционной системы INIX — уро- вень шесть” (“Unix Operating System Source Code Level Six”). Хотя компа- ния AT&T отчаянно сопротивлялась распространению этих комментариев, они, пусть и подпольными путями, стали известны довольно широкой ау- дитории. Сенсационность заключалось в том, что исходный код в них был представлен в виде “печатного” читаемого материала. Подобные листинги печатаются и сегодня, например в работе Скотта Максвелла (Scott Max- well) Комментарии к центральному ядру системы Linux (“Linux Core Kernel Commentary”). 7. Обзор начальных этапов разработки паролевой защиты в ОС INIX приве- ден в классической статье Роберта Морриса (Robert Morris) и Кена Томп- сона (Ken Thompson) “Паролевая защита: история вопроса” (“Password Se- curity: A Case History”). 8. Смотрите работу Ридса (Reeds) и Вейнбергера (Weinberger) “Защита файлов и команда crypt в ОС UNIX” (“File Security and the Unix Crypt Command”). 9. Брюс Шнейер (Bruce Schneier) рассмотрел риски, связанные с модифика- цией существующих алгоритмов, в своей статье “Почему криптография сложнее, чем кажется” (“Why Cryptography Is Harder Then It Looks”). 368 ПРИМЕЧАНИЯ К ГЛАВЕ 2
10. Даниэль Кляйн (Daniel Klien) выполнил тщательно продуманный экспе- римент по оценке атак на пароли методом проб и ошибок и описал его в своей статье “Обзор и способы улучшения паролевой защиты” (“Survey of, and Improvements to, Password Security”). См. также соседние примечания по другим источникам. 11. Описание развития атак на функцию DES crypt() можно найти в работе Дэвида К. Фелдмейера (David С. Feldmeier) и Филипа Р. Карна (Philip R. Karn) “Паролевая защита в ОС UNIX — десять лет спустя” (“UNIX Pass- word Security — Ten Years Later”). 12. Первый обзор проблемы словарных атак появился в статье Артура Эванса (Arthur Evans), Уильяма Кантровица (William Kantrowitz) и Эдвина Вейс- са (Edwin Weiss) “Схема аутентификации пользователя, не требующая секретности в компьютере” (“A User Authentication Scheme Not Requiring Secrecy in the Computer”). 13. Под редакцией Питера Деннинга (Peter Denning) вышла книга Атаки на компьютеры: программы вторжения, черви и вирусы (“Computers Under At- tacks: Intruders, Worms and Viruses”), в которой перепечатано несколько классических отчетов об интернетовском черве. Подробный отчет о зараже- нии и лечении приводится в статье Йона Рохлиса (Jon Rochlis) и Марка Эй- чина (Mark Eichii ) “С микроскопом и пинцетом: взгляд на червя из МТИ” (“With Microscope and Tweezers: The Worm from MIT’s Perspective”). Заметьте, что в книге упоминаются два человека с именем Роберт Моррис. Роберт Т. Моррис, автор червя — сын Роберта Г. Морриса, соавтора статьи “Паролевая защита: история вопроса”. В этой книге ссылка на сына всегда будет включать имя и средний инициал. 14. Подробное описание работы интернетовского червя приводится в статье Юджина Спаффорда (Eugene Spafford) “Кризис и последствия” (“Crisis and Aftermath”). 15. Джон Шох (John Shoch) и Йон Хапп (Jon Hupp) описали первый опыт (удачный и неудачный) борьбы с программами-червями на системе Xerox PARC в статье “Программы-черви: первый опыт в среде с распределенны- ми вычислениями” (“The ‘Worm’ Programs — Early Experience with a Dis- tributed Computation”). В упомянутой ранее статье Рохлиса и Эйхина опи- сываются методы борьбы с Интернетовским червем, использованные сете- выми администраторами в МТИ. 16. Рей Каплан (Ray Kaplan) описал черный ход в процедуре регистрации ОС VMS в незабвенной рассылке по сети Usenet, озаглавленной “Дневник взлома защиты” (“Diary of a Security Incident”). О проблеме было сообще- но в бюллетене CERT Advisory СА-1992-14. Проблема с СУБД Interbase была описана в бюллетене CERT Advisory СА-2001-01. 17. Подробное описание работы брандмауэров можно найти в книге Чесвика (Cheswick) и Беллоувина Брандмауэры и защита в Internet (“Firewalls and Internet Security”). 18. В этой же книге Чесвика и Беллоувина рассматривается защита серверов в Internet с помощью функции chroot(). В статье этих авторов “Обязательная защита для программного обеспечения серверов, работающих в Internet” (“Mandatory Protection for Internet Server Software”) проводится сравнение функции chrootQ с другими методиками инкапсуляции в плане защиты от переполнения буфера на сервере. ПРИМЕЧАНИЯ 369
19. Как CERT, так и CIAC имеют Web-серверы общего пользования, на кото- рых они помещают сообщения о случаях взлома защиты, различных про- блемах и способах их устранения. URL этих серверов можно найти в раз- деле Web-ресурсы и производители. 20. Документ Руководство Министерства обороны США по управлению па- ролями был разработан NCSC в 1985 году. Примечания к главе 3 1. Статистику мошенничеств в финансовой сфере можно найти в отчетах, по- добных, например, “Отчету о проколах и мошенничествах в финансовых ор- ганизациях за 1998 финансовый год” (“Financial Institution Fraud and Fail- ure Report: Fiscal Year 1998”), составленном Федеральным бюро расследова- ний США. Отчет Института вычислительной техники/ФБР опубликован под названием “Обзор компьютерных преступлений и защиты от них ИВТ/ФБР за 2001 год” (“2001 FBI/CSI Computer Crime and Security Survey”). 2. В документе “Развитие проекта МАС. Отчет III” (“Project MAC Progress Report III”), подготовленном сотрудниками МТИ Миллсом и ван Влеком, описывается организация защиты системы CTSS. Описание сопровождает- ся кратким комментарием деятельности местных хакеров. 3. Донн Паркер пересказал эту историю Вала Смита (это не настоящее имя) в главе 9 своей книги Преступления с помощью компьютера. 4. См. бюллетень CERT Advisory СА-1994-01 “Продолжающиеся атаки мето- дом мониторинга по сети”. 5. История мошенничества с использованием систем оптического телеграфа была пересказана в главе 2 книги Хольцмана (Holzmann) и Персона (Pehrson) История первых сетей данных (“Early History of Data Networks”). Подобные истории, но связанные уже с электрическим теле- графом, описаны в книге Тома Стендейджа (Tom Standage) Internet вик- торианской эпохи (“The Victorian Internet”). 6. Опыты по “чтению мыслей” широко практиковались медиумами вплоть до начала 20-го столетия. Известный фокусник Гарри Гудини (Harry Houdini) опубликовал книгу Маг среди духов (“Magician Among Spirits”), в 20-й главе которой описал приемы получения информации. 7. Опыт компании AT&T описан в книге Морриса Томпсона Паролевая за- щита: история вопроса. Опыт центра в Пердью описывается в работе Юджина Спаффорда “Наблюдения относительно способов выбора много- кратно используемых паролей” (“Observing Reusable Password Choices”). Собственные исследования записи и хранения паролей, выполненные авто- ром этой книги, описаны в главе 6. 8. Оценки энтропии текстов на английском языке часто приводятся в раз- личных источниках. В частности, можно назвать книгу Дугласа Стинсона (Douglas Stinson) Теория и практика криптографии (“Cryptography Theory and Practice”) (см. главу 2), а также книгу Брюса Шнейера (Bruce Schneier) Прикладная криптография: протоколы, алгоритмы и исходный код на языке С (“Applied Cryptography: Protocols, Algorithms, and Source Code in C”). 370 ПРИМЕЧАНИЯ К ГЛАВЕ 3
9. Эти словари паролей взяты из производимого Форумом групп реагирова- ния на случаи нарушения систем защиты (Forum of Incident Response and Security Teams, FIRST) компакт-диска с названием “Библиотека инстру- ментальных средств и методов организации защиты компьютеров” (“Secu- rity Tools and Techniques Library”). 10. Детали словарной атаки интернетовского червя приводятся в статье Юд- жина Спаффорда “Кризис и последствия”. 11. Эксперименты Кляйна описываются в его статье “Обзор и способы улуч- шения паролевой защиты”. 12. Размер, приведенный для пространства паролей Кляйна, представляет со- бой оценку, сделанную на основе его статьи. Сам Кляйн не сообщал дейст- вительный размер пространства паролей. 13. Исследование паролей Спаффорда было описано в его отчете “Наблюдения относительно способов выбора многократно используемых паролей”. 14. Инцидент 1998 года был описан в документе CERT Incident IN-98-03 “Деятельность по взлому паролей” (“Password Cracking Activity”). Иссле- дование Яна (Yan), Блеквелла (Blackwell), Андерсона (Anderson) и Гранта (Grant) имеет название “Запоминаемость и безопасность паролей: некото- рые эмпирические результаты” (“The Memorability and Security of Pass- words - Some Emperical Results”). 15. Программа crack описана в статье Рейлейя (Raleigh) и Андервуда (Under- wood) “Программа CRACK: распределенный консультант по выбору паро- лей” (“CRACK: A Distributed Password Advisor”). Утилита lOphtcrack опи- сывается в форме вопросов и ответов, подготовленных автором “lOpht”. Инструмент для оценки средств защиты Дэна Фармера SATAN был описан в бюллетене CERT Advisory СА-1995-06. 16. Рэнделл Шварц приводит на своем Web-сайте огромное количество мате- риалов по делу с корпорацией Intel, включая материалы своего судебного процесса и ссылки на информацию из других сайтов. 17. NIST опубликовал стандарт FIPS 181 “Автоматический генератор паролей” в 1993 году. 18. Слабый генератор паролей описывается в статье Морриса и Томпсона “Па- ролевая защита: история вопроса”. 19. Генсен (Ganesan) и Дэвис (Davies) описывают атаку на генераторы паролей стандарта FIPS 181 в своей статье “Новая атака на генераторы случайных произносимых паролей” (“A New Attack on Random Pronounceable Pass- word Generators”). 20. Кляйн описал свою стратегию проактивной проверки в статье “Обзор и способы улучшения паролевой защиты”. 21. Спаффорд описывает утилиту OPUS в свой статье “OPUS: предотвращение выбора слабых паролей” (“OPUS: Preventing Weak Password Choices”. 22. Как ОС Windows NT, так и ОС Widows 2000 позволяют ввести ограничения на сложность паролей, что описывается в базе знаний компании Microsoft в документе Q161990 “Как активировать в Windows NT функцию сильных па- ролей” (“How to Enable Strong Password Functionality in Widows NT”). 23. Комментарии генерала ВВС США в отставке Юджина Э. Хэбигера (Eugene Е. Habiger) были процитированы Верноном Лоебом (Vernon Loeb) в статье “Главный ядерщик настаивает на обновлении средств защиты в атомных лабораториях” (“Energy Chief Touts Security Upgrades at Nuclear Labs”). ПРИМЕЧАНИЯ 371
Примечания к главе 4 1. Книга Кристофера Александра, написанная вместе с Ишикавой (Ishikawa) и Сильверстейном (Silverstein) имеет название Язык паттернов: города, здания, строительство (“A Pattern Language: Towns, Buildings, Construc- tion”). Стандартный набор шаблонов для разработки объектно- ориентированного программного обеспечения описывается в книге Гаммы (Gamma), Хелма (Helm), Джонсона (Johnson) и Влиссидиса (Vlissides). 2. Использование архитектурных шаблонов для аутентификации в этой главе впервые было изложено в статье "Аутентификация: шаблоны доверитель- ности” (“Authentication: Patterns of Trust”), опубликованной автором этой книги в журнале Information Security. 3. Привилегированные режимы системы Ферранти (Ferranti) Atlas описаны в статье Килбурна (Kilburn) и др. “Операционная система Манчестерского университета Atlas” (“Manchester University Atlas Operating System”) и в статье Самнера (Sumner) и др. “Центральный блок управления ЭВМ Atlas” (“The Centrak Control Unit of the ‘Atlas’ Computer”). Сводный обзор соот- ветствующих функций можно найти в статье автора данной книги “Исто- рический обзор архитектуры компьютеров” (“Historical Overview of Com- puter Architecture”). 4. Привилегированные режимы работы процессоров описываются во всех книгах по архитектуре компьютеров. Например, см. раздел 7.3 книги Гер- рита Блаау (Gerrit Blaau) и Фреда Брукса (Fred Brooks) Архитектура компьютеров: концепции и эволюция (“Computer Architecture: Concepts and Evolution”). 5. Атаки на пароли BIOS описываются в различных хакерских источниках и книгах по методам защиты компьютеров, в частности в работах Анонима Максимальная защита (“Maximum Security”) (см. главу 17) и Макси- мальная защита в Linux (“Maximum Linux Security”) (см. главу 2). 6. См. подготовленный Снайдером (Snider) и Сейкели (Seikaly) документ “От- чет о расследовании: Неправильное обращение с секретной информацией Джона М. Дойтша”, параграф 82 (“Report of Investigation: Improper Han- dling of Classified Information by John M. Deutsch”), в котором эксперты выражают озабоченность по поводу необнаруженного физического проник- новения в домашние компьютеры Дойтша. 7. Примеры дешевых атак на смарт-карты можно найти в статье Росса Ан- дерсона и Маркуса Кюна (Markus Kuhn) “Сопротивление проникновению: предостережение” (“Tamper Resistance — A Cautionary Note”). Похоже, что подобные методики работают и в отношении USB-устройств аутентифика- ции, о чем свидетельствует статья Кингпина (Kingpin) “Атаки и меры про- тиводействия для аппаратно реализованных USB-устройств аутентифика- ции” (“Attacks on and Countermeasures for USB Hardware Token Devices”). 8. См. статью Кохера (Kocher), Яффе (Jaffe) и Джуна (Jun) “Дифференциаль- ный анализ потребляемой мощности” (“Differential Power Analysis”). Ме- тоды, используемые против смарт-карт и других криптографических про- цессоров, описываются в книге Андерсона Проектирование защиты ком- пьютеров (“Security Engineering”). 9. ФБР использовало монитор клавиатуры для получения PGP-ключей, ис- пользуемых Никодемо Скарфо, Малышом Ники — предполагаемым глава- 372 ПРИМЕЧАНИЯ К ГЛАВЕ 4
рем мафии. См. статью Джорджа Анастасия (Goerge Anastasia) “Дело Скарфо помогло проверить тактику разведки средствами кибернетики” (“Scarfo Case Could Test Cyber-Spying Tactic”). 10. Краткий обзор эволюции службы аутентификации ОС NetWare компании Novell можно найти в главе 17 книги Чарли Кауфмана (Charlie Kaufman), Радии Перлмен (Radia Perlman) и Майка Спесинера (Mike Speciner) Сете- вая безопасность: ЧАСТНЫЙ обмен данными в ОТКРЫТОМ мире (“Net- work Security: PRIVATE Communication in a PUBLIC World”). История развития подхода к организации сетей компании Microsoft излагается в главе 9 книги Хелен Кастер (Helen Custer) Windows NT изнутри (“Inside Windows NT”) (только в первом издании; второе издание принадлежит другому автору и не освещает вопросы организации сети). 11. Действительно хорошее описание протоколов можно найти в главе 18 кни- ги Радии Перлман Объединение сетей: мосты, маршрутизаторы, комму- таторы и межсетевые протоколы (“Interconnections: Bridges, Routers, Switches, and Internetworking Protocols”). Примечания к главе 5 1. Идея о циклах в истории развития компьютеров впервые была представ- лена в вышедшей в свет в 1968 году статье Майера (Myer) и Сюзерленда (Sutherland) “К вопросу о проектировании видеопроцессоров” (“On the De- sign of Display Processors”), а потом проиллюстрирована в статье автора этой книги “Исторический обзор архитектуры компьютеров”. 2. Критерии проектирования системы UNIX рассматриваются в работе Ден- низ Ритчи (Dennis Ritchie) “Ретроспектива системы с разделением времени UNIX” (“The Unix Timesharing System: Retrospective”). Критерии проекти- рования ОС Windows NT рассматриваются в главе 1 первого издания кни- ги Хелен Кастер “Windows NT изнутри”. 3. Особенности системы защиты в компьютерах Macintosh описываются в следующих документах компании Apple: “Техническая справка TN1176: Mac OS 9” (“Technical Note TNI 176: Mac OS 9”), “Спецификация MAC OS 9.1” (“Mac OS 9.1 Specification Sheet”) и “Спецификация Mac OS X” (“Mac OS X Specification Sheet”). 4. Брюс Шнейер приводит краткий обзор сильных и слабых сторон пакетов PKZIP и PGP в своей книге Прикладная криптография. Более подробное описание пакета можно найти в книге Симеона Гарфинкеля (Simson Garfinkel) PGP: Конфиденциальность хорошего уровня (“PGP: Pretty Good Privacy”). Описание атак на пакет PKZIP можно найти в статье Бихема (Biham) и Кохера (Kocher) “Известные атаки на шифр пакета PKZIP с ис- пользованием открытого текста” (“A Known Plaintext Attacks on PKZIP Encryption”). 5. См. документ NCSC “Руководство по разбору остаточных данных в автома- тизированных информационных системах” (“A Guide to Understanding Data Remanence in Automated Information Systems”). 6. Возможно, награда в 10 000 долларов была мифом. Награда за возвраще- ние другого украденного переносного компьютера описывалась в Прило- жении J знаменитого отчета по политике шифрования Национального со- вета по перспективным исследованиям США Роль криптографии в обеспе- ПРИМЕЧАНИЯ 373
чении безопасности в информационном обществе (“Cryptography’s Role In Securing the Information Society (CRISIS)”). 7. Стандарт DES был опубликован NIST в документе FIPS PUB 46-3 “Стан- дарт шифрования данных”, последняя версия которого требовала тройного использования алгоритма DES. Описание других алгоритмов можно найти в книге Шнейера Прикладная криптография. 8. Уильям П. Кроуэл давал показания Конгрессу CTITA на закрытом заседа- нии, но сокращенная стенограмма была предана гласности и опубликована на Web-сайте Cryptome. 9. Проблемы с шифрованием в сотовой телефонии описывались в таких статьях, как “Криптоанализ алгоритма шифрования в сотовых телефонах” (“Cryptanalysis of the Cellular Message Encryption Algorithm”) Вагнера (Wagner), Шнеера (Schneier) и Келси (Kelsey) и “Криптоанализ алгоритма А5/1 на ПК в реальном времени” Бирюкова (Biryukov), Шамира (Shamir) и Вагнера (Wagner). Программа DeSS для дешифровки DVD-дисков была выловлена в юридических сражениях с кинопроизводителями, и одновре- менно получила широкую огласку в прессе. Описание алгоритма DeSS бы- ло приведено в журнале 2600, принадлежащем одному из ответчиков, в частности, в одном из последних номеров за 2000 год. Этот номер включал статью “DeSS в нескольких словах” (“DeSS in Words”), принадлежащую автору “CSS”, в которой описывался механизм работы шифрования DVD. 10. На момент написания данной книги стандарт FIPS на алгоритм AES опуб- ликован не был, хотя проект стандарта под названием “Стандарт усовер- шенствованного шифрования” был распространен NIST в целях получения отзывов общественности. В статье Нехватал (Nechvatal) и др. “Отчет по разработке Стандарта усовершенствованного шифрования (AES)” (“Report on the Development of the Advanced Encryption Standard (AES)”) объясня- ется, почему AES был выбран среди пяти алгоритмов-финалистов, и опи- сывается методика анализа, которому были подвергнуты эти алгоритмы. Краткое описание алгоритма, причин его выбора и перспектив можно най- ти в статье автора этой книги “Расшифровывая алгоритм стандарта усо- вершенствованного шифрования” (“Deciphering the Advanced Encryption Standard”). 11. Сьюзен Ландау (Susan Landau) опубликовала интересный обзор алгоритма DES в своей статье “Проверка временем выдержана: Стандарт шифрования данных” (“Standing the Test of Time: The Data Encryption Standard”). Опи- сание других алгоритмов можно найти в книге Шнеера Прикладная криптография. 12. Комплементарность является хорошо известным свойством алгоритма DES. Это свойство описано в изданном в 1981 году Аланом Конхеймом (Alan Conheim) справочнике Криптография для начинающих (“Cryptogra- phy: A Primer”) (см. главу 6). В главе 3 книги Дугласа Стинсона (Douglas Stinson) Теория и практика криптографии (“Cryptography Theory and Practice”) читателю предлагается задача, доказываемая на основе качест- венного описания алгоритма DES. 13. Предложение Уитфилда Диффи было опубликовано в статье “Исчерпы- вающий криптоанализ алгоритма Стандарта шифрования данных Нацио- нального бюро стандартов” (“Exhaustive Cryptoanalysis of the NBS Data Encryption Standard”), написанной в соавторстве с Мартином Хеллманом. История взлома алгоритма DES хорошо описана в изданной Фондом элек- 374 ПРИМЕЧАНИЯ К ГЛАВЕ 5
тронных границ книге Взлом DES: секреты исследования шифра, поли- тика перехвата и конструкция микрочипа (“Cracking DES: Secrets of En- cryption Research, Wiretap Politics, and Chip Design”). 14. Гордон Э. Мур впервые опубликовал свои наблюдения в 1965 году в жур- нале Electronics. Нойс (Noyce) подкрепил эти наблюдения в статье “Мик- роэлектроника” (“Microelectronics”), опубликованной в 1977 году в журна- ле Scientific American. Также см. главу 2 книги Белла (Bell), Маджа (Mudge) и Макнамары (MacNamara) Проектирование компьютеров: взгляд DEC на проектирование аппаратной части систем (“Computer Engineer- ing: A DEC View of Hardware Systems Design”). 15. Отчет Майкла Дж. Вейнера имел название “Эффективный поиск DES- ключей” (“Efficient DES Key Search”). Сводные результаты попыток взло- ма различных конкурсных задач можно найти на Web-сайте компании RSA Security. Отчет об исследовании длины ключей назывался “Мини- мальная длина ключей симметричных шифров для обеспечения адекват- ной коммерческой защиты” (“Minimal Key Lengths for Symmetric Ciphers to Provide Adequate Commercial Security”) и был подготовлен Меттом Блейзом (Matt Blaze), Уитфилдом Диффи, Роном Ривестом и др. На сайте компании RSA также ведется архив новостей сети рассылки Cryptobytes. В выпуске 1998 года была опубликована статья “Задачи DES-П решены” (“DES-II Challenges Solved”). 16. Смертельный удар DES как сильному алгоритму шифрования был нанесен публикацией Фонда электронных границ Взлом алгоритма DES (Cracking DES”) в 1998 году. 17. Сет Ллойд (Seth Lloyd) представил свою оценку верхнего предела скорости вычислений в статье “Непреодолимые физические пределы вычислений” (“Ultimate Physical Limits to Computation”). 18. Стандарт условного ключа был опубликован NIST в виде документа FIPS 185 под названием “Стандарт условного шифрования”. История создания процессора Clipper хорошо изложена в публикациях. Увлекательный рас- сказ содержится в книге Стива Леви Шифрование: как мятежные разра- ботчики кодов побили правительство — сохранение конфиденциальности в цифровой век (“Crypto: How the Code Rebals Beat the Government — Sav- ing Privacy in the Digital Age”). Подробное изложение предполагаемого механизма работы условного шифрования можно найти в работе автора этой книги Криптография в Internet (“Internet Cryptography”). 19. Обзор методов на основе условного ключа приводится в работе Деннинга (Denning) и Бранстада (Branstad) “Таксономия систем шифрования с вос- становлением ключа” (“Taxonomy of Key Recovery Encryption Systems”). Примечания к главе 6 1. См. Руководство Министерства обороны США по управлению паролями (“DoD Password Management Guideline”), выпущенное NCSC. 2. См. главу 2 книги Шнайдермана (Schneiderman) Разработка интерфейса пользователя (“Designing the User Interface”). Освещение вопроса с точки зрения удобства пользования и безопасности можно найти в работах Аль- мы Уиттен (Alma Whitten) и Дж.Д. Тайгара (J.D. Tygar) “Удобство поль- зования системами защиты: исследование вопроса” (“Usability of Security: ПРИМЕЧАНИЯ 375
A Case Study”) и “Почему Джонни не может шифровать” (“Why Johnny Can’t Encrypt”). 3. См. главу 10 книги Бена Шнайдермана Проектирование интерфейса поль- зователя: стратегии эффективного взаимодействия в системе человек- компьютер (“Designing of User Interface: Srategies for Effective Human- Computer Interaction”) и статью Джорджа Миллера (George Miller) “Маги- ческое число семь — плюс или минус два” (“Magical Number Seven — Plus or Minus Two”). Интересный обзор по проблеме запоминаем ости тексто- вых паролей приведен в работе Джермина (Jermyn), Майера (Mayer) и др. “Конструирование и анализ графических паролей” (“Design and Analysis of Graphical Passwords”). 4. В главе 3 своей книги Проектирование повседневных вещей (“Design of Everyday Things”) Дональд Норман (Donald Norman) рассказывает о про- блеме памяти и непрактичности методик по ее улучшению. 5. Функции принуждения рассматриваются в главе 5 книги Нормана Проек- тирование повседневных вещей. 6. Эдвард Теннер (Edward Tenner) написал свою книгу Почему вещи берут свое: технология и месть неожиданных последствий (“Why Things Bite Back: Technology and the Revenge of Unintended Consiqiences”), поразив- шись количеством бумаг, которые используются в современном “безбу- мажном” офисе. Теннер описал таксономию эффекта мести в главе 1. 7. Эти эксперименты по запоминаемости и обучению были описаны в статье Яна (Yan), Блэквелла (Blackwell), Андерсона (Anderson) и Гранта (Grant) “Запоминаемость и уровень защиты паролей — некоторые эмпирические результаты” (“Memorability and Security of Passwords — Some Empirical Results”). 8. В главе 20 своей книги Маг среди духов Гудини описал технику “чтения мыслей”, основанную на сборе информации о человеке. Пароль Клинтона упоминался даже в газетных статьях того времени, например, в статье Кристофера Дж. Доробека (Christopher J. Dorobek) “Агентсва ожидают, что закон об электронной подписи приведет к созданию электронного пра- вительства” (“Agencies Expect E-sign Law to Spur E-Gov”). 9. Это рассматривается Кляйном в статье “Обзор и способы улучшения паро- левой защиты”. 10. См. работу Кингпина (Kingpin) “Обход паролевой блокировки в ОС Palm” (“Palm OS Password Lockout Bypass”). 11. Примером программы для систем на основе ОС Palm является программа “Read THIS!” от PixIL. Первые сообщения о специально модифицирован- ном программном обеспечении для работающих под управлением ОС Palm устройств появились осенью 2000 года. См., например, статью Мишеля Делио (Michelle Delio) “Вирус поражает Palm, но это — не причина для беспокойства” (“Palm Virus Hits, But Don’t Worry”). 12. Утилиту Password Safe вместе co вступительным описанием, хранящимся в ее файле системы помощи, можно найти на Web-сайте компании Coun- terpane. 13. См. документацию компании Apple на операционную систему Mac OS 9, включая “Техническую справку TN1176: Mac OS 9” (“Technical Note TN1176: Mac OS 9”) и “Спецификацию Mac OS 9.1” (“Mac OS 9.1 Specifica- tion Sheet”). 376 ПРИМЕЧАНИЯ К ГЛАВЕ 6
14. Обсуждение первых откликов на работу функций шифрования в ОС Мас OS 9 можно найти в отчете “56 бит?????” (“56 Bits?????”), хранящиеся в архиве почтовых рассылок компании Apple. 15. Алом Сичерманом (Al Sicherman), ведущим колонки в газете Minneapolis Star Tribune, написан ряд статей о тех неприятностях, с которыми ему пришлось столкнуться, работая с паролями компьютеров. В статье “Под другим именем ему бы, наверно, удалось войти в систему” (“By Any Other Name He Probably Could Log On Somewhere”) описан классический метод, когда пароль строится из двух слов, взятых из песни или стихотворения и подстыкованных друг к другу. 16. Компания Apple рекомендовала подобную стратегию выбора сильных, но за- поминаемых паролей в документе “ОС Mac OS 9: Защита файлов — выбор хорошего пароля” (“Mac OS 9: File Security — Choosing Good Password”). 17. Коды на основе стихотворений и проблемы с ними описаны в книге Лео Маркса С плащом и ядом. Примечания к главе 7 1. Дополнительные материалы с обсуждением перспектив биометрики можно найти в опубликованной в журнале IEEE Computers статье Панканти (Pankanti), Болле (Bolle) и Джаина (Jain) “Биометрика: будущее идентифи- кации” (“Biometrics: The Future of Identification”). Энн Дэвис (Ann Davis) приводит обзор методов биометрики в статье в Wire “Тело как пароль” (The Body as Password”), а в журнале The Economist тема обсуждается в статье “Биометрика: измеряя человека” (“Biometrics: The Measure of Man”). 2. В книге Колина Бивэна (Colin Beavan) Отпечатки пальцев: Истоки рас- крытия преступлений и дело об убийстве, которое положило начало кри- миналистике (“Fingerprints” The Origins of Crime Detection and The Mur- der Case That Launched Forensic Science”) описываются попытки решения проблемы идентификации правоохранительными органами в 19 веке. В главе 15 книги Биометрика: персональная идентификация в сетевом об- ществе (“Biometrics: Personal Identification”), выпущенной под редакцией Джаина, Болле и Панканти, рассказывается о проблемах больших баз дан- ных биометрических показателей. 3. В главе 12 книги Деннинга (Denning) Информационная война и способы защиты (“Information Warfare and Security”) упоминается об использова- нии биометрики в штате Коннектикут и в других местах. Статистические данные по сбережению средств в нескольких штатах приводятся в статье Пауля Клолери (Paul Clolery) “Как биометрика сократила повторное полу- чение медицинской страховки” (“How Biometrics Have Tamed Welfare Dou- ble Dipping”). Статья Энн Кавоукиан (Ann Cavoukian) “Неприкосновен- ность личной жизни и биометрика: оксюморон или время посмотреть вто- рой раз?” (“Privacy and Biometrics: Oxymoron or Time to Take a 2"a Look?”) посвящена описанию существующих и предлагаемых биометрических сис- тем для выявления мошенничества с медицинскими страховками, а также описанию используемых в них политик для предотвращения вторжения в частную жизнь. 4. Подробное рассмотрение вопроса можно найти в работе Джона Вудварда (John Woodward) “Биометрика: вопросы законности и политика работы” ПРИМЕЧАНИЯ 377
(“Biometrics: Identifying Law and Policy Concerns”). Связанные с биометри- кой вопросы невторжения в частную жизнь с точки зрения коммивояжера в Канаде кратко рассмотрены в статье Кавоукиан “Неприкосновенность личной жизни и биометрика”. 5. Полный обзор биометрических технологий приводится в книге под редак- цией Джаина, Болле и Панканти Биометрика: персональная идентифика- ция в сетевом сообществе. 6. Распознавание отпечатков пальцев является хорошо освоенным методом. Первые примеры использования этой технологии описываются в книге Би- вана Отпечатки пальцев. Информацию о компьютерных приложениях по распознаванию отпечатков пальцев можно найти в работах Лоуренса ОТормана (Lawrance O’Gorman) “Практические системы для персональной идентификации отпечатков пальцев” (“Practical Systems for Personal Fin- gerprint Identification”, Бена Ротке (Ben Rothke) “Биометрические устрой- ства для снятия отпечатков пальцев” (“Fingerprint Biometrics Devices”) и в главе 2 книги Джаин и др. 7. См. работу Неджина (Negin) и др. “Биометрическая система распознавания по радужной оболочке глаза для общественного и личного пользования” (“An Iris Biometrics System for Public and Personal Use”). См. Также книгу Биометрика Джаин и др. 8. Технические особенности технологии распознавания по изображению лица можно найти в работе Пентланда (Pentland) и Чоудхари (Choudhury) “Рас- познавание по изображению лица в интеллектуальных средах” (“Face Rec- ognition for Smart Environments”. Также см. главу 3 книги Джаина и др. Биометрика. 9. Функция аутентификации по голосу ОС Mac OS 9 компании Apple описы- вается в документе “Спецификация Mac OS 9.1”. См. также работу Майкла Химовица (Michael Himowitz) “Держите свои секреты в тайне с помощью программного обеспечения, активируемого голосом” (“Keep Your Secrets Safe with Voice-Activated Software”) и главу 8 книги Джаина. 10. Лабораторные эксперименты описаны в статье Уиллиса (Willis) и Ли (Lee) “Шесть биометрических устройств обращают внимание на безопасность” (“Six Biometric Devices Point the Finger at Security”). 11. В главе 3 книги Криптография в Internet автора этой книги описываются атаки с переписыванием, когда содержание зашифрованных сообщений модифицируется и при этом не требуется угадывание ключа. 12. В статье “Биометрика как технология увеличения уровня конфиденциаль- ности: друг или враг защиты права на личную жизнь?” (“Biometrics as а Privacy-Enhancing Technology: Friend or Foe of Privacy?”) Джордж Tomko (George Tomko) предлагает использовать шифрование биометрики, чтобы контролировать ее использование различными организациями. В статье Кавоукиан “Неприкосновенность личной жизни и биометрика” рассказы- вается о принятии в провинции Онтарио специального закона, который требовал шифрования биометрики в биометрических системах, исполь- зующихся в организациях по социальному обслуживанию населения. В этой статье также кратко излагается план установки в Торонто системы проверки уникальности биометрических показателей в целях выявления мошенничества с медицинскими страховками. 378 ПРИМЕЧАНИЯ К ГЛАВЕ 7
Примечания к главе 8 1. Технические детали организации местной телефонной связи можно найти в литературе по телекоммуникации, например в книге Джона МакНамары (John McNamara) Технические аспекты обмена данными (“Technical As- pects of Data Communications. 2. Дополнительную информацию можно найти в работе Кингпина из компа- нии @Stake “Краткий обзор работы программ боевых номеронабирателей” (“Wardialing Breaf’). Примеры коммерческих программ боевых номерона- бирателей включают ModemScan компании VerTTex и PhoneSweep компа- нии Sandstorm Enterprises. 3. Автор книги сам работал в компании, которая была клиентом этого изго- товителя модемов до тех пор, пока не был обнаружен черный ход. 4. Предложение штата Орегон по изменению работы системы идентификатора вызывающей стороны описано Питером Ньюмэном (Peter Neuman) в главе 6 его книги Риски, связанные с компьютерами (“Computeer Related Risks”). 5. Случаи проникновения в системы провайдеров Internet-услуг и в телефон- ных компаний описаны в разделе 5.1.1 книги Питера Ньюмэна Риски, свя- занные с компьютерами. Впервые Джон Дрейпер привлек внимание средств массовой информации к этому вопросу в 1971 году после выхода в свет статьи в журнале Esquire. Описание его подвигов приводится в главе 12 книги Стива Леви Хакеры. 6. Хронология деятельности Кевина Митника приведена в книге Кати Хафнер и Джона Маркоффа Компьютерные хулиганы: нарушители закона и хакеры на компьютерных границах, а также в книгах Короткая игра (“Fugitive Game”) Джонатана Литтмэна (Jonathan Littman) и Демонтаж (“Takedown”) Цутомы Шимомуры (Tsutomu Shimomura) и Джона Маркоффа. 7. История о “хозяевах телефонов” была рассказана в газетной статье Джона Симонса (John Simons) “Телефон, приносящий несчастья” (“Phone Hex”), которая позднее цитировалась в книге Ричарда Пауэра (Richard Power) Сложная паутина (“Tangled Web”). 8. См. работу Джона Ф. Якобса (John F. Jacobs) Система противовоздушной обороны SAGE (“SAGE Air Defense System”). 9. Описание системы адресации в сети ARPANET можно найти в отчете “Интер- фейсный процессор сообщений” (BBN Report 1822 “Interface Message Processor”). Детали работы системы защиты IMP известны автору из собствен- ного опыта работы в Центре управления сетью ARPANET компании BBN. 10. Дополнительные данные об адресации в протоколах Х.25 и ATM можно найти в книге Радии Перлман Объединение сетей. 11. Дополнительную информацию об адресах в сетях стандарта IEEE 802 см. в главе 2 книги Перлман Объединение сетей. 12. Система адресации в Internet кратко описывается в документе RFC 791 Джона Постеля (John Postel). Дополнительную информацию можно найти в книге Комера (Comer) Создание сетей на основе протокола TCP/IP. Том 1 (“Internetworking with TCP/IP. Volume 1”), в книге Стивенса (Stevens) Протокол TCP/IP в иллюстрациях. Том 1 (“TCP/IP Illustrated. Volume 1”) или в книге Объединение сетей Перлман. ПРИМЕЧАНИЯ 379
13. Перлман называет обнаружение адресов автоконфигурированием и рас- сматривает его в главе 11 своей книги Объединение сетей. 14. Протокол синхронизации из группы протоколов TCP описывается Джоном Постелем в документе RFC 793. Кроме того, описания можно найти в упо- мянутых выше книгах Комера, Стивенса и Перлман. 15. Способ выполнения TCP-сращивания был описан с работе Лаурента Джонче- рей (Laurent Joncheray) “Простая активная атака на протокол TCP” (“Simple Active Attack Against TCP”). Хотя вышедшие в середине 1990-х годов рабо- ты, подобные работе Джончерейя и других авторов, привели к улучшению группы протоколов TCP в плане сопротивления таким атакам, не все усо- вершенствования оказались эффективными. Сводное описание этих проблем приводится в бюллетене CERT Advisory СА-1999-17 “Статистически слабые места в генерации начальных номеров последовательностей протокола TCP/IP” (“Statistical Weaknesses in TCP/IP Initial Sequence Numbers”). 16. Майк Ньюмэн описал программу IP-Watcher в работе “Мониторинг и кон- троль за подозрительной деятельностью в реальном времени с помощью программы IP-Watcher” (“Monitoring and Controlling Suspicious Activity in Real-Time with IP-Watcher”). 17. Атака типа SYN-наводнение описывается в бюллетене CERT Advisory СА- 1996-21. 18. Распределенные атаки с организацией отказа в обслуживании были описа- ны в бюллетене CERT Advisory СА-1999-17 и в бюллетене CERT Advisory СА-2000-01. 19. Последствия распределенных атак с организацией отказа в обслуживании, имевших место в феврале 2090 года, были проанализированы и опублико- ваны в APB News, а также в первой части специального отчета Института вычислительной техники “CSI Special Report on DDOS. Part 1” Ричарда Пауэра (Richard Power). 20. В документе RFC 2401 “Защищенная архитектура межсетевого протокола” (“Secure Architecture for the Internet Protocol”) Кента (kent) и Аткинсона (Ankinson) приводится обзор протокола IPSEC, описываются решаемые им задачи по обеспечению защиты и рассматривается его работа. В документе RFC 2402 “IP-заголовок для аутентификации” (“IP Authentication Header”) тех же Кента и Аткинсона описывается способ аутентификации в рамках протокола IPSEC. 21. Алгоритм MD5 описывается в документе RFC 1321 Рона Ривеста, а алго- ритм SHA описан в стандарте NIST FIPS PUB 180-1. 22. Первоначальная версия протокола TPSEC описывается в теперь уже отме- ненном документе RFC 1826 Аткинсона. НМАС-конструкция описывается в работе Белларе (Bellare), Канетти (Canetti) и Кравчука (Krawczyk) “Функции хеширования с ключом для аутентификации сообщений” (“Key- ing Hash Functions for Message Authentication”) и в документе Кравчука и др. RFC 2104 “НМАС: хеширование по ключу для аутентификации сооб- щений” (“HMAC: Keyed-Hashing for Message Authentication”). Альтернати- ва с использованием в коде аутентификации сообщений алгоритма AES описана на стпаничке принадлежащего NIST Web-сайта по AES “Режимы работы” (“Modes of Operation”). 23. Рассказ об атаке приведен в книге Цутомы Шимомуры Демонтаж. Если не обращать внимание на жуткое бахвальство, то в этой книге можно найти 380 ПРИМЕЧАНИЯ К ГЛАВЕ 8
хорошо задокументированный пример охоты с применением компьютера, сравнимый по увлекательности с книгой Клиффа Столла Яйцо кукушки. 24. IP-имитация описывается в статье Тодда Хеберляйна (Todd Heberlein) и Мэтта Бишопа (Matt Bishop) “Класс атак: имитация адреса” (“Attack Class: Address Spoofing”), а также в бюллетене CERT Advisory CA-1995-01. 25. Роберт T. Моррис описал проблему в своем отчете “Слабое место в про- граммном обеспечении протокола TCP/IP для платформы 4.2BSD UNIX” (“A Weakness in the 4.2BSD Unix TCP/IP Software”), а Стив Беллоувин включил его в свою статью “Проблемы безопасности в группе протоколов TCP/IP" (“Security Problems in the TCP/IP Protocol Suite”). 26. Дополнительную информацию о слабых местах механизмов RPC, NFS и NIS можно найти в книге Била Чесвика и Стива Беллоувина Брандмауэры, и безопасность в Internet. 27. Слабости систем на основе открытого ключа были описаны в статье Ля- маччиа (LaMacchia) и Одлыжко (Odlyzko) “Вычисление дискретных алго- ритмов в полях простых чисел” (“Computation of Discrete Logarithms in Prime Fields”). 28. Описание технических основ системы GPS можно найти в книге Б. Хоф- манна-Велленхофа (В. Hofmann-Wellenhof), Г. Лихтенеггера (Н. Lichteneg- ger) и Дж. Коллинза (J. Collins) Система глобального позиционирования: теория и практика (“Global Positioning System: Theory and Practice”). 29. Аутентификация по месту нахождения с использованием системы GPS описывается в статье Дороти Деннинг и Питера Макдорана (Peter Mac- Doran) “Аутентификация по месту нахождения: приземление киберпро- странства в целях улучшения степени защиты” (“Location-Based Authenti- cation: Grounding Cyberspace for Better Security”). См. также Web-сайт компании CyberLocator. 30. В главе 7 книги Дороти Деннинг Информационная война и способы защи- ты дается краткий обзор продуктов и технологий постановки помех сис- теме GPS. Хотя нет данных относительно постановщиков помех, которые бы подделывали сигналы системы GPS, некоторые аналитики высказыва- ют опасение, что такие устройства будут представлять собой основную технологическую проблему. Примечания к главе 9 1. Стоимостные оценки взяты из обзора Ларри Никела (Larry Nickel) “Почему используются магнитные карточки?” (Why Use Magnetic Stripe Cards?”). 2. История о Тане Вентуре, 26-летней кассирше из Блюмингдейла, кратко изложено в книге Ричарда Пауэра Сложная паутина. 3. Историй о мошенничестве с банкоматами великое множество. См., напри- мер, книгу Росса Дж. Андерсона (Ross J. Anderson) Почему не срабаты- вают криптосистемы (“Why Cryptosystem Fail”). Обзор проблемы мошен- ничества с банкоматами также можно найти в разделе 5.6 книги Питера Ньюмэна Риски, связанные с компьютерами. 4. В статье Андерсона и Кюна “Сопротивление проникновению — предосте- режение” описаны дешевые эксперименты по проникновению в смарт- карты. См. также статью Шнейера и Шостака (Shostack) “Взлом невозмо- ПРИМЕЧАНИЯ 381
жен: моделирование угроз защите смарт-карт” (“Breaking Up Is Hard to Do: Modeling Security Threats for Smart Cards”). 5. См. работу Кингпина “Атаки и меры противодействия для аппаратно реа- лизованных USB-устройств аутентификации”. 6. История широко обсуждалась в кругах компаний, предоставляющих услу- ги связи, и в прессе, включая такие газеты, как Minneapolis Star Tribune (19 августа 1995 г.), St.Petersburg Press (номер 141 за 9 января 1995 г.) и San Francisco Chronical (19 августа 1995 г.). Очень хорошо этот случай описан в главе 7 книги Ричарда Пауэра Сложная паутина. 7. Технические особенности устройств аутентификации SafeWord описаны в Золотом руководстве администратора DES в устройствах SafeWord (“SafeWord DES Gold Supervisor Guide”), поставляемом компанией Secure Computing, которое помещено на Web-сайт SafeWord. См. также работу Боба Бозена (Bob Bosen) “Когда паролей недостаточно” (“When Passwords Are Not Enough”). Следует помнить, что часть технических материалов по устройствам SafeWord размещена не на корпоративном Web-сайте компа- нии Secure Computing, а на специальном сайте SafeWord. Процедуры ре- синхронизации в устройствах SafeWord описаны на посвященных продук- там ряда SafeWord страничках Web-сайта компании Secure Computing. 8. Технические характеристики устройств ActiveCard описаны в маркетинго- вой технической брошюре компании PC Dynamics “Синхронная аутенти- фикация с помощью устройств ActiveCard” (“ActiveCard Synchronous Au- thentication”), которую можно найти на Web-сайте компании. 9. См. статью Маджа (Mudge) и Кипгпипа “Начальный криптоанализ алго- ритма RSA в устройствах аутентификации SecurlD” (“Initial Cryptoanalysis of the RSA SecurlD Algorithm”). Хотя эксперты время от времени выяв- ляют слабые места в отдельных частях системы SecurlD (которые обсуж- даются в материале данной книги), не было зарегистрировано ни одного свидетельства “взлома” устройств SecurlD в криптографическом смысле. Несмотря на слухи, которые изредка распространяются в кругах специа- листов по защите компьютеров, на момент написания данной книги не появилось ни одного технического описания эффективной процедуры взлома, как нет и сообщений о жертвах взлома механизма аутентифика- ции устройств SecurlD. 10. Обзор технических характеристик системы SecurlD представлен в марке- тинговой технической брошюре компании RSA Security с названием “Сильный механизм аутентификации пользователей уровня предприятия: Сервер RSA АСЕ” (“Strong Enterprise User Authentication: RSA ACE/Server”), которая выложена на Web-сайте компании. 11. Широко обсуждаемое описание набора атак было опубликовано автором с псевдонимом PieterZ в статье “Слабые места в системе SecurlD” (“Weak- nesses in SecurlD”). Описанные в этой статье атаки требовали более высо- кой изощренности, синхронизации во времени и удачи, чем другие атаки, подобные, например, TCP-сращиванию. См. также опровергающую работу Вина Маклеллана (Vin McLellan) “Техническое описание системы SecurlD: комментарий” (“SecurlD White Paper — A Comment”). 12. Эти атаки описаны в бюллетене CERT Advisory СА-1995-01 и послужили началом событий, описанных в книге Цутомы Шимомуры Демонтаж. 13. См. работу Кима (Kim) и Спаффорда “Разработка и реализация пакета Tripwire: средство контроля целостности файловой системы” (“Design and 382 ПРИМЕЧАНИЯ К ГЛАВЕ 9
Implementation of Tripwire: A File System Integrity Checker”) или главу 13 книги под редакцией Деннинг и Деннинг Осада Internet (“Internet Be- sieged”). 14. Реализация PIN-кодов в банкоматах описана в многочисленных стандар- тах, разработанных Ассоциацией американских банкиров. См., например, “Руководство по соблюдению требований защиты с помощью PIN-кодов” (“PIN Security Compliance Guideline”), разработанное Комитетом финансо- вых услуг Х9. 15. Пример вынужденного угадывания PIN-кодов электронных карточек для получения наличности EuroCheque можно найти в работе Маркуса Кюна “Теория вероятности для карманников — угадывание PIN-кодов электрон- ных карточек” (“Probability Theory for Pickpockets — ec-PIN Guessing”). 16. Применение PIN-кода при работе под принуждением описывается в Золо- том руководстве администратора DES в устройствах SafeWord компа- нии Secure Computing. 17. См. отчет Кингпина “Экстрактор PIN-кодов аутентификатора SafeWord с ОС Palm” (“SafeWord e.iD Palm Authenticator PIN Extractor”). Примечания к главе 10 1. Боб Бозен и его брат Билл рассказали историю появления запрос-ответного механизма и игры 80 космических рейдеров в частной переписке с автором данной книги. На сегодня компания Enigma Logic является частью компа- нии Secure Computing Corporation. 2. См. стандарт “Аутентификация сообщений финансовых организаций (Оп- товых торговцев)” (Х9.9) (“Finantial Institution Message Authentication (Wholesale)”), выпущенный Комитетом финансовых услуг Х9, и Федераль- ный стандарт обработки информации (FIPS 113) “Аутентификация компь- ютерных данных” (“Computer Data Authentication”). 3. См. работу Нейла Халлера (Neil Haller) “S/Кеу-система одноразовых па- ролей” (“S/Key One Time Password System”). Исходная концепция была опубликована в работе Лесли Лэмпорта “Паролевая аутентификация при незащищенном обмене информацией” (“Password Authentication with Inse- cure Communication”). 4. Обсуждение опыта применения S/Кеу-системы можно найти в работе Хал- лера, а также в статье МакДональда (McDonald), Аткинсона и Метца “Од- норазовые пароли в шифровании: опыт построения и использования более сильного механизма аутентификации” (“One Time Passwords in Encrypting (OPIE): Experiences with Building and Using Stronger Authentication”). 5. См. документ Комитета X9 “Техническое руководство по управлению рис- ками и планирование их понижения: выдержки из стандарта ANSI Х9.9” (“Technical Guideline: Managing Risk and Mitigation Planning: Withdrawal of ANSI X9.9”). 6. Познакомиться с отношением криптографического сообщества к закрытым частным технологиям можно в статье Брюса Шнеера “Почему криптогра- фия сложнее, чем выглядит” и в работе К. Мэттью Кертина (С. Mathew Curtin) “Каверзные вопросы” (“Snake Oil FAQ”). ПРИМЕЧАНИЯ 383
7. Начало работ компании Microsoft по созданию средств управления в сети описывается главе 9 первого издания книги Хелен Кастер Windows NT из- нутри. 8. Описанию пакета Samba было посвящено несколько книг; имеется Web- сайт Samba, на котором можно найти исходный код и документацию. Утилита pwdump описывается в примечании к технической документации “Утилита снятия дампов паролей Windows NT” (“Windows NT Password Dump Utility”), написанном Джереми Эллисоном (Jeremy Allison), а само программное обеспечение обычно доступно на сайте Samba. 9. Формат хеша в утилите LANMAN описан в нескольких местах, включая документацию на пакет Samba и статью Юджина Шульца (Eugene Schultz) “Паролевая защита в Windows NT” (“Windows NT Password Security”). 10. Атаки на хешированные значения LANMAN описываются в работе Алана Рэмсботтома (Alan Ramsbottom) “Атаки на зашифрованные пароли в NT и защита от них в вопросах и ответах” (“FAQ: NT Cryptographic Password Attacks and Defence”). 11. За время работы автора этой книги в компании BBN история о взломе па- ролей системы TENEX пересказывалась ему создателями операционной системы TENEX много раз. В разделе 3.4.1.4 своей книги Проектирование систем (“Security Engineering”)3anjHTbi Андерсон назвал такие атаки ата- ками согласования во времени. 12. Протокол запроса-ответа ОС Windows описан в базе знаний компании Mi- crosoft в статье под номером Q102716: “Аутентификация пользователей в ОС Windows NT” (“User Authentication with Windows NT”). Описание так- же имеется в главе “Криптография” Справочника по средствам защиты. ОС Windows NT (“Windows NT Security Guide”) Стефана Саттона (Stephen Sutton) и во многих упомянутых выше источниках информации по ОС Windows. 13. Процедура хеширования в ОС Windows NT описывается в Вопросах и от- ветах Рэмсботтома и в статье Шульца. 14. В Вопросах и ответах Рэмсботтома также описывается, как атаковать хешированные значения ОС NT с использованием хешированных значений LANMAN. 15. Системный ключ описывается в базе знаний компании Microsoft в статье “Системный ключ ОС Windows NT позволяет иметь сильное шифрование базы данных SAM” (“Windows NT System Key Permits Strong Encryption of the SAM”). 16. Рекомендации по использованию системного ключа приводятся в работе Стива Саттона “Руководство по использованию средств защиты ОС Win- dows NT: исследование для компании NSA Research” (“Windows NT Secu- rity Guidelines” A Study for NSA Research”). Расс Купер также опублико- вал свои рекомендации по защите базы данных SAM в отчете “Атаки на SAM версии 1.1” (“SAM Attacks v. 1.1”). Примечания к главе 11 Относительно эпиграфа к главе: Эта важная народная теорема вычисли- тельной техники кратко упоминается в статье Лэмпсона (Lampson), Абади (Abadi), Барроуз (Burrows) и Уоббера (Wobber) “Теория и практика аутен- 384 ПРИМЕЧАНИЯ К ГЛАВЕ 11
тификации в распределенных системах” (“Authentication in Distributed Systems: Theory and Practice”). В сноске объясняется, что Роджер Нидхэм приписывает авторство этого положения Дэвиду Уиллеру из Кембриджско- го университета. 1. Это выражение происходит из юмористической пародии, авторство кото- рой приписывается Лорин Вайнштайн (Lauren Weinstein), ходившей среди пользователей ARPANET в 1980 году. Пародия представляла собой печат- ный текст якобы потерянного отчета расследования из телевизионного шоу 60 минут с названием “Террор в ARPANET”. Проблемы с защитой TIP также отмечались Бобом Меткалфом (Bob Metcalfe) в опубликованном в 1973 году документе RFC 602 “Носки вешались у камина с осторожно- стью” (“The Stockings Were Hung by the Chimney With Care”). 2. Крейг Финсет (Craig Finseth) кратко задокументировал историю протокола TACACS в документе RFC 1492 под названием “Протокол управления дос- тупом, иногда называемый TACACS” (“An Access Control Protocol, Some- times Called TACACS”). 3. Дейв Каррел (Dave Carrel) и Лол Грант (Lol Grant) из компании Cisco на- писали статью “Протокол TACACS+” (“TACACS+ Protocol”). Неясно, суще- ствует ли этот документ вне компании Cisco в ином виде, кроме как в виде наброска с истекшим сроком в Internet. 4. Протокол RADIUS был опубликован Ригнейем (Rigney) и др. в документе RFC 2865. 5. Сквозная аутентификация в ОС NT описывается в базе знаний компании Microsoft в статье с номером Q102716 “Аутентификация пользователей в ОС Windows NT”. Также см. Справочник по средствам защиты, в ОС Windows NT Sever 4 Хадфилда (Hadfield) и др. и Руководство по исполь- зованию средств защиты ОС Windows NT Стефана Саттона. 6. Дальнейшее обсуждение атак с переписыванием можно найти в главе 3 книги Криптография в Internet автора этой книги. 7. Во всех книгах по криптографии рассматриваются режимы блокового шиф- рования; см. раздел 3.4 книги Стинсона (Stinson) Криптография (“Cryptog- raphy”) или главу 9 книги Прикладная криптография Шнейера. NIST офи- циально определил режимы алгоритма DES в стандарте FIPS PUB 81. На момент написания этой книги режимы алгоритма AES, согласно информа- ции на Web-сайте AES, все еще находятся в стадии обсуждения. 8. В статье Q183859 “Проверка целостности в защищенных каналах с кон- троллерами доменов” (“Integrity Checking on Secure Channels with Domain Controllers”) в базе знаний компании Microsoft описывается сама проблема и ее решение. Проверка целостности в каналах была введена в ОС Win- dows NT Service Pack 4. 9. Как описано в RFC 2402 “IP-заголовок для аутентификации” (“IP Authen- tication Header”) Кента и Аткинсона, механизмы противодействия воспро- изведению были введены в протокол IPSEC версии 1998 года. 10. Законодательные акты по контролю за экспортом всех продуктов, вклю- чая и те, что содержат механизмы шифрования, выложены на Web-сайте Бюро управления экспортом США. Подробное описание правил экспорта и мотивы их принятия приводятся в отчете Национального совета по пер- спективным исследованиям США Роль криптографии в обеспечении безо- ПРИМЕЧАНИЯ 385
пасности в информационном обществе (отчет CRISIS). В конце 1990-х го- дов эти правила были смягчены. 11. Отчет Мэта Блейза назывался “Отказ протокола стандарта условного шиф- рования” (“Protocol Failure in the Escrowed Encryption Standard”). См. ра- боту Ральфа Сендерека (Ralf Senderek) “Эксперименты с ключами: как пакет PGP справляется с модифицированными ключами” (“Key- Experiments — How PGP Deals With Manipulated Keys”), в которой описы- вается, как добавление дополнительных “восстановленных” ключей может вскрыть слабые места в пакете шифрования, который ранее имел репута- цию относительно безопасного. 12. В ранее упомянутом Руководстве Саттона описывается, как контроллеры доменов устанавливают шифрованные каналы связи с другими компьюте- рами в домене. 13. Эти уязвимые места описываются в отчете Шнейера и Маджа “Криптоана- лиз двухточечного протокола с туннелированием (РРТР) компании Micro- soft” (“Cryptoanalysis of Microsoft’s Point-to-Point Tunneling Protocol (PPTP)”). 14. На сайте Агенства национальной безопасности США содержится подробное описание проекта “Венона” (Venona), включая многочисленные расшиф- ровки, которые сыграли значительную роль в истории холодной войны. 15. Шнейер, Мадж и Вагнер опубликовали продолжение к своей статье о про- токоле РРТР, когда Microsoft выпустила в свет переделанную версию этого протокола в ответ на высказанные ими опасения: “Криптоанализ расшире- ний механизма аутентификации протокола РРТР компании Microsoft (MS- CHAPv2)” (“Cryptoanalysis of Microsoft’s РРТР Authentication Extensions (MS-CHAPv2”). 16. Расс Купер описывает проблемы защиты базы данных SAM в своем отчете “Атаки на базу данных SAM версии 1.1”. 17. Шамир (Shamir) и ван Сомерин (van Somerin) обсуждают эту методику в статье “Игра в прятки с хранимыми ключами” (Playing Hide and Seek with Stored Keys”). 18. Эта методика упоминается Шамиром и ван Сомерином. См. также книгу Питера Вейнера (Peter Wayner) Исчезающая криптография (“Disappearing Cryptography”). Примечания к главе 12 1. Стандарт ANSI Х9.17 “Управление ключами в крупных финансовых орга- низациях” (“Financial Institution Key Management (Wholesale)”) разработан Комитетом финансовых услуг Х9. Фр. М. Блейк Гринли (Fr. М. Blake Greenlee) описывает практические проблемы, которые привели банковские учреждения к переходу на стандарт Х9.17 в своей увлекательной статье “Требования к протоколам управления ключами в учреждениях, предос- тавляющих финансовые услуги в больших объемах” (“Requirements fop Key Management Protocols in the Wholesale Financial Services Industry’))1. Новаторский подход Денниса Бранстада (Dennis Branstad) к KDC описыва- ется в его статье “Защита шифрованием в процессе обмена компьютерны- ми данными” (“Encryption Protection in Computer Data Communication”). 386 ПРИМЕЧАНИЯ К ГЛАВЕ 12
2. Нидхэм и Шредер представили эти протоколы в статье “Использование шифрования для аутентификации в крупных компьютерных сетях” (“Us- ing Encryption for Authentication in Large Networks of Computers”). 3. Концепция Деннинг и Сакко изложена в их статье “Временные метки в протоколах распространения ключей” (“Timestamps in Key Distribution Protocols”). 4. Классическим описанием протокола Kerberos считается работа Дженифер Штайнер (Jennifer Steiner), Клиффорда Ньюмэна и Джеффри Шиллера (Jeffrey Schiller) “Kerberos: Служба аутентификации для открытых сете- вых систем” (“Kerberos: An Authentication Service for Open Network Sys- tems”). См. также работу Клиффорда Ньюмэна и Теодора Тцо (Theodor Ts’o) “Kerberos: служба аутентификация для компьютерных сетей” (“Ker- beros: An Authentication Service for Computer Networks”). Есть еще книга Брайена Танга (Brian Tung) Kerberos: сетевая система аутентификации (“Kerberos: A Network Authentication System”). Остроумное описание мо- тивов создания протокола Kerberos приводит Билл Брайент (Bill Bryant) в статье “Проектирование системы аутентификации: диалог в четырех сце- нах” (“Designing an Authentication System: a Dialogue in Four Scenes”), в которой два разработчика с именами Афина и Эврипид обсуждают проект- ные требования к распределенной системе аутентификации. 5. На момент написания этой книги протокол Kerberos версии 5, описанный в документе RFC 1510 Джоном Кюхлем (John Kohl) и Клиффордом Нью- мэном, являлся только предлагаемым кандидатом на стандарт для сети Internet. Доработанный вариант был представлен в работе Тцо и др. 6. Стив Беллоувин и Майкл Меррит кратко описали проблему с часами и многочисленные другие проблемы с безопасностью протокола Kerberos, главным образом для версии 4, в своей статье “Ограничения системы ау- тентификации Kerberos” (“Limitations of the Kerberos Authentication Sys- tem”). Дальнейшее обсуждение вопроса использования временных меток в протоколах с защитой можно найти в работе Ньюмэна и Стабблбайна (Stubblebine) “Заметки по поводу использования временных меток в каче- стве однократно используемых случайных чисел” (“A Note on the Use of Timestamps as Nonces”). 7. Компанией Micrisoft был выпущен маркетинговый технический материал под названием “Аутентификация в ОС Windows 2000 с испо^зованием протокола Kerberos” (“Windows 2000 Kerberos Authentication”). Дополни- тельную информацию можно найти в выложенной на сайте компании Mi- crosoft статье “Создание защищенных сетей с использованием распреде- ленных служб защиты ОС Widows 2000” (“Secure Networking Using Win- dows 2000 Distributed Security Services”). Джалал Фейхи (Jalal Feghhi) и Джалил Фейхи (Jalil Feghhi) написали книгу о протоколе Kerberos в ОС Windows 2000 и связанных службах защиты Создание защищенных сетей на основе ОС Windows 2000 и службы доверительности (“Secure Network- ing with Windows 2000 and Trust Services”). Примечания к главе 13 г 11. Двумя пионерами в области математики открытых ключей были опубли- кованы широко известные статьи, описывающие ее основы, а именно: Мартин Хеллман написал статью “Математика криптографии на основе ПРИМЕЧАНИЯ 387
открытого ключа” (“The Mathematics of Public-Key Criptography”), а Уит- филд Диффи “Первые десять лет криптографии на основе открытого клю- ча” (“The First Ten Years of Public Key Cryptography”). 2. Ривест, Шамир и Аделман впервые описали алгоритм RSA в 1978 году в ста- тье “Метод получения цифровых подписей и криптосистемы на основе откры- того ключа” (“A Method for Obtaining Digital Signatures and Public Key Cryptosystems”). Однако краткое описание их алгоритма было также опубли- ковано в журнале Scientific American Мартином Гарднером (Martin Gardner) несколькими месяцами ранее в статье с катастрофически ошибочным названи- ем “Новый тип шифра, для взлома которого понадобится миллион лет” (“А New Kind of Cipher That Will Take Millions of Years to Break”). 3. Пример RSA был взят из статьи Диффи “Первые десять лет использования криптографии на основе открытого ключа”. 4. Дон Кнут (Don Knuth) описал несколько классических алгоритмов факто- ризации в главе 4 своей книги Полу численные алгоритмы (“Seminumerical Algorithms”). 5. Предсказание Ривеста было процитировано в упомянутой выше статье Мартина Гарднера в Scientific American (см. Примечание 2). 6. Аткинс и др. опубликовали свой вариант взлома 129-разрядного RSA-ключа в статье “Волшебные слова ‘Привередливая скопа’ ”. Странное название фактически является текстом сообщения, которое было зашифровано с ис- пользованием 129-разрядного ключа. Сообщение о взломе также было сде- лано Марком Уехлингом (Mark Uehling) в журнале Popular Science в статье “Взлом невзламывемого кода” (“Cracking Uncrackable Code”). 7. Чтобы объявить о решении задачи RSA-155, компания RSA Data Security 26 августа 1999 года опубликовала пресс-релиз “Конкурс RSA предлагает для решения новую тестовую задачу для проверки степени защищенности” (“RSA Crypto Challenge Set New Security Benchmark”). Летом 2000 года Эриком Мюррейем (Eric Murray) была опубликована работа “Взгляд на уровень защиты, достигаемый с помощью SSL-серверов” (“SSL Server Secu- rity Survey”), в которой исследуются сильные стороны программного обес- печения шифрования, используемого защищенными Web-сайтами. 8. В посвященной криптографии литературе часто содержатся уравнения, по- зволяющие оценить время работы алгоритмов факторизации: см. напри- мер, главу 4 книги Стинсона Криптография. Исторический обзор задачи факторизации и результаты применения методов факторизации в отноше- нии тестовых задач компании RSA приводятся в работе Роберта Сильвер- мана (Robert Silverman) “Стоимостной анализ защиты при различных дли- нах симметричных и асимметричных ключей” (“A Cost-Based Security Analysis of Symmetric and Asymmetric Key Lengths”). 9. Рабин опубликовал свою схему в отчете “Цифровые подписи и функции открытого ключа столь же неподатливы, как и задача факторизации” (“Digital Signatures and Public Key Functions as Intractable as Factorization”). Работа Рабина также упоминается во всех наиболее из- вестных книгах по криптографии: см. раздел 4.7 в Криптографии Стинсо- на или раздел 19.5 в Прикладной криптографии Шнейера. 10. Несколько таких атак вместе с решениями проблемы были описаны в ста- тье Дороти Деннинг “Цифровые подписи, получаемые с помощью алго- ритма RSA и других криптосистем на основе открытого ключа” (“Digital Signatures with RSA and Other Public-Key Cryptosystems”). 388 ПРИМЕЧАНИЯ К ГЛАВЕ 13
11. Практическое внедрение технологии открытого ключа описывается в кни- ге Стива Леви Криптография. Чтобы получить представление об атмосфере споров вокруг стандарта цифровых подписей, см. июльский выпуск 1992 года журнала Communications of the ACM. 12. NIST опубликовал “Стандарт цифровых подписей” в виде документа FIPS PUB 186-2. 13. Метод вычисления индексов описан в главе 5 книги Стинсона Криптография. 14. Протокол аутентификации Tessera был разработан в рамках Контракта MDA904-92-G-0284 для Управления закупок штата Мериленд и описан Эрлом Боебертом (Earl Boebert) и Чаком Нувом (Chuck Nove) в заключи- тельном отчете по контракту CDRL В001 “Технический отчет по програм- ме разработки спецификации протокола аутентификации Tessera” (“Tech- nical Report for the Tessera Authentication Protocol Specification Program”). 15. Стандарт аутентификации с использованием метода открытого ключа был опубликован NIST в 1997 году в виде документа FIPS PUB 196. 16. История компании Netscape довольно полно изложена в книге Стива Леви Криптография. 17. Спецификация протокола SSL 3.0 была написана Фрейером (Freier), Кар- лтоном (Karlton) и Кохером (Kocher) в 1996 году. Подробное рассмотрение протокола можно найти в книге Эрика Рескориа (Eric Rescoria) Протоко- лы SSL и TSL: проектирование и построение защищенных систем (“SSL and TSL: Designing and Building Secure Systems”). 18. Уязвимые места протокола SSL 3.0 исследуются в статье Дэвида Вагнера и Брюса Шнейера “Анализ протокола SSL 3.0” (“Analysis of the SSL 3.0 Pro- tocol”). Примечания к главе 14 1. Леон Корнфилд (Leon Kornfield), студент у одного из авторов алгоритма RSA Лена Аделмана, предложил цифровые сертификаты в своей работе на получение степени бакалавра “Получение практической криптосистемы на основе открытых ключей” (“Towards a Practical Public-Key Cryptosystem”). 2. Компания Microsoft выпустила специальный посвященный вопросам безо- пасности бюллетень “Ошибочно выданный компанией VeriSign цифровой сертификат сделал возможной имитацию” (“Erroneous VeriSign-Issued Digi- tal Certificate Poses Spoofing Hazard”), в котором описывается проблема. 3. Взаимоотношения между компаниями Netscape, RSA Data Security и Verisign кратко описаны в книге Стива Леви Криптография. 4. Описано в упомянутом выше бюллетене компании Microsoft. 5. Сертификаты определены стандартом ITU-T Х.509. Использование в Inter- net сертификатов в стандарте Х.509 описано в документе RFC 2459 “Сер- тификаты с использованием инфраструктуры открытого ключа в Internet Х.509 и CRL” (“Internet Х.509 Public Key Infrastructure Certificate and CRL”), авторами которого являются Расс Хаусли (Russ Housley), Уорвик Форд (Warwick Ford), Тим Полк (Tim Polk) и Дэйв Соло (Dave Solo). 6. Пример сертификата взят из подготовленного Стивом Кентом (Steve Kent) документа RFC 1422 “Повышение конфиденциальности электронной почты ПРИМЕЧАНИЯ 389
в сети Internet: Часть II — управление ключами с использованием серти- фикатов” (“Privacy Enhancement for Internet Electronic Mail: Part II — Cer- tificate-Based Key Management”). 7. Стоимость управления телефонными линиями правительственной связи STU III приводится в разделе 2.5.1 отчета Национального совета США по исследованиям CRISIS. 8. Органы по выдаче сертификатов, например Verisign, обычно выкладывают положения своих правил выдачи сертификатов на собственных Web-сайтах. 9. Иерархия сертифицирования в РЕМ также описывается в упомянутом выше документе Кента RFC 1422. 10. DASS описывается в статье Тардо (Tardo) и Алагаппана (Alagappan) “SPX: глобальная аутентификация с использованием сертификатов открытых ключей” (“SPX: Global Authentication Using Public Key Certificates”). Она также описана в главе 4 книги Рольфа Опплигера (Rolf Oppliger) Системы аутентификации для защищенных сетей (“Authentication Systems for Se- cure Networks”). 11. Пакет PGP полно описан в книге Симеона Гарфлинкеля (Simson Gar- flinkel) PGP: Достаточно высокая конфиденциальность (“PGP: Pretty Good Privacy”). 12. Списки отозванных сертификатов для использования в Internet приводят- ся в документе Хаусли, Форда, Полка и Соло RFC 2459. 13. Исправление компании Microsoft для восстановления возможности работы со списками отозванных сертификатов приводятся в базе знаний компании в статье “Доступное обновление для отзыва поддельных сертификатов Mi- crosoft, выпущенных компанией VeriSign” (“Update Available to Revoke Fraudulent Microsoft Crtnificates Issued by VeriSign”). 14. Один из подходов для интерактивной проверки сертификатов был опубли- кован в виде проекта Internet-стандарта в документе Майера (Mayer) и др. RFC 2560 “Инфраструктура открытого ключа в Internet Х.509: протокол интерактивного определения статуса сертификата OCSP” (“Х.509 Internet Public Key Infrastructure: Online Certificate Status Protocol — OCSP”). 15. Ривест описал эту стратегию в своей работе “Можно ли устранить отозван- ные сертификаты?” (“Can We Eliminate Certificate Revocation Lists?”). 16. Метод PKINT описывается в работе Танга (Tung), Ньюмана, Хура (Hur) и др. “Криптография на основе открытого ключа для начальной аутентифи- кации в рамках протокола Kerberos” (“Public Key Cryptography for Initial Authentication in Kerberos”). 17. Реализация в ОС Windows 2000 описана в маркетинговой технической брошюре компании Microsoft по Windows 2000 “Регистрация в системе с помощью смарт-карты” (“Smart Card Logon”). Примечания к главе 15 1. Шнейер представил рекомендации по генерированию случайных простых чисел в разделе 11.5 книги Прикладная криптография. 2. Рабин описывает алгоритм Миллера-Рабина в статье “Вероятностный алго- ритм для проверки простоты чисел” (“Probabilistic Algorithm for Testing 390 ПРИМЕЧАНИЯ К ГЛАВЕ 15
Primality”). Алгоритм также описывается в книгах по криптографии, на- пример, в книге Шнейера (раздел 11.5) или в книге Стинсона (раздел 4.5). 3. Процесс генерации PGP-ключей описан Гарфинкелем в книге PGP: Дос- таточно высокая конфиденциальность. 4. Файл идентификаторов в Lotus Notes описан в разделе 17.6 книги Кауф- мана (Kaufman), Перлмана (Perlman) и Спесинера (Speciner) Защита в се- тях (“Network Security”). 5. Майк Миллер написал программу pgpcrack для выполнения взлома паро- левых фраз пакета PGP методом проб и ошибок. На момент написания этой книги она исчезла со своего традиционного места размещения в Web, но, возможно, она имеется в других местах. См. также заметки Питрера Гатмана (Peter Gutman) “Куда сегодня движутся ваши ключи шифрова- ния?” (“Where do your encryption keys want to go today?”). 6. Клавиатурные мониторы способны перехватывать PGP-ключи. См. статью Джорджа Анастасиа “Дело Скарфо помогло проверить тактику разведки средствами кибернетики”. 7. Компания Datakey опубликовала пресс-релизы по поводу использования своих смарт-карт, в частности “Многоцелевые смарт-карты Datakey вне- дрены FDIC для реализации защищенного интерактивного обмена данны- ми и контроля за входом в помещения” (“Datakey multi-purpose smart cards deployed by FDIC for secure online communications and building access”) и “Смарт-карта Datakey была использована президентом Клинто- ном для подписания закона об электронной подписи” (“Datakey smart card used by President Clinton to sign e-signature law”). 8. Характеристики карточек модели Datakey 330 приводятся в маркетинго- вых материалах компании Datakey, в частности в документе “Технические спецификации криптографической смарт-карты и смарт-ключа компании Datakey” (“Technical Specifications: Datakey’s Cryptographic Smart Card and Smart Key”). 9. В статье Раты (Ratha) и Болле (Bolle) “Аутентификация на основе смарт- карт” (“Smartcard Based Authentication”) описывается система, исполь- зующая биометрику в смарт-картах, в которой результат сравнения вы- гружается из смарт-карты. 10. DASS описывается в статье Тардо (Tardo) и Алагаппана (Alagappan) “SPX: глобальная аутентификация с использованием сертификатов открытых ключей” (“SPX: Global Authentication Using Public Key Certificates”). Она также описана в главе 4 книги Рольфа Опплигера (Rolf Oppliger) Системы аутентификации для защищенных сетей (“Authentication Systems for Se- cure Networks”). 11. Протокол компании Novell описывается в разделе 17.2 книги Кауфмана, Перлмен и Спесинера Сетевая безопасность. Радиа Перлман и Чарли Ка- уфман исследуют другие подходы в своей статье “Защищенный основан- ный на паролях протокол для загрузки открытого ключа” (“Secure Pass- word-Based Protocol for Downloading a Public Key”). 12. Компанией Secure Computing опубликована маркетинговая техническая брошюра “Решение на основе SafeWord плюс сервер виртуальных смарт- карт” (“SafeWord Plus Virtual Smart Card Server Solution”). ПРИМЕЧАНИЯ 391
13. Классической работой по данной теме является статья Ломаса (Lomas), Гон- га (Gong), Сальтцера (Saltzer) и Нидхэма “Снижение риска от использования неудачно выбранных ключей” (“Reducing Risks from Poorly Chosen Keys”). 14. Беллоувин и Меррит представили свои протоколы в работе “Обмен зашиф- рованными ключами: защита от словарных атак с помощью основанных на паролях протоколов” (“Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks”). 15. Полный обзор методов представлен в статье Дэвида Яблона (David Jablon) “Обмен ключами с аутентификацией только на основе сильных паролей” (“Strong Password-Only Authenticated Key Exchange”). Последняя работа была опубликована Тайкиюнгом Квоном (Taekyoung Kwon) в статье “Ау- тентификация и согласование ключей посредством запоминаемого пароля” (“Authentication and Key Agreement via Memorable Password”). Эти авторы совместно с другими учеными организовали при IEEE исследовательскую группу Р1363а по методам обмена ключами на основе паролевой аутенти- фикации, которая имеет свой собственный Web-сайт, хостируемый в IEEE. 392 ПРИМЕЧАНИЯ К ГЛАВЕ 15
Список литературы В этой главе... Важные статьи и работы в данной области часто перепечатываются, и в на- стоящем разделе содержатся альтернативные ссылки на первоисточники, если таковые имеются. Однако, каждый элемент этого списка полон только в той сте- пени, в какой это необходимо. В тех случаях, когда элемент содержит частич- ную ссылку на другую публикацию, то для получения полной информации по ней необходимо найти соответствующую запись в списке для этой публикации. Если запись имеет ссылку на производителя или Web-сайт, то за контактными данными необходимо обратиться к разделу Web-ресурсы и производители. 1. Abrams, Marshall D., and Harold J. Podell, eds., Tutorial: Computer and Network Security (Los Angeles: IEEE Computer Society Press, 1986). 2. Alberts, Christopher, and Audrey Dorofee, “An Introduction to the OCTAVE Method,” white paper (Pittsburgh, PA: Software Engineering Institute of Carnegie Mellon University, 30 January 2001). Posted on the CERT Web site. 3. Alexander, Christopher, Sara Ishikawa, and Murray Silverstein, with Max Jacobson, Ingrid Fiksdahl-King, and Shlomo Angel, A Pattern Language: Towns, Buildings, Construction (New York: Oxford University Press, 1977). 4. Allison, Jeremy, “Windows NT Password Dump Utility” software README file, March 1997. Posted on the Samba Web site. 5. Anastasia, George, “Scarfo Case Could Test Cyber-Spying Tactic,” Philadel- phia Inquirer (4 December 2000). 6. Anderson, Ross J., “Why Cryptosystems Fail,” Communications of the ACM 37, no. 11 (November 1994). Reprinted in Practical Cryptography for Data Internetworks, edited by William Stallings. 7. , Security Engineering: A Guide to Building Dependable Distributed Systems (New York: John Wiley & Sons, 2001). 8. , and Markus Kuhn, “Tamper Resistance—A Cautionary Note,” Pro- ceedings of the Second USENIX Workshop on Electronic Commerce (Berkeley, CA: USENIX Association, 1996), pp. 1-11. 9. Anonymous [pseudonym], Maximum Linux Security (Indianapolis, IN: Sams Publishing, 2000). 10. , Maximum Security, 2nd edition (Indianapolis, IN: Sams Publishing, 1998). 11. Apple, “Mac OS 9: File Security—Choosing a Good Password,” Tech Info Li- brary Article ID 60483 (Cupertino, CA: Apple, 20 October 1999). This is posted on the Apple Web site. 12. , “Technical Note TN1176: Mac OS 9," (Cupertino, CA: Apple, 24 April 2000). This is posted on the Apple Web site.
13. , “Mac OS 9.1 Specification Sheet,” Item L12404A (Cupertino, CA: Apple, January 2001). This is posted on the Apple Web site. 14. , “Mac OS X Specification Sheet,” Item L13291A (Cupertino, CA: Ap- ple, March 2001). This document is posted on the Apple Web site. 15. , “56 Bits?????” by various authors, Apple Mailing List Archives, 26- 27 October 1999. 16. Atkins, D., M. Graff, A. K. Lenstra, and P. C. Leyland, “The Magic Words Are Squeamish Ossifrage,” in Advances in Cryptology—ASIACRYPT '94 Pro- ceedings (Heidelberg: Springer-Verlag, 1995). 17. Atkinson, Randall, “IP Authentication Header,” Internet RFC 1826, August 1995. Posted on the IETF Web site. 18. Beavan, Colin, Fingerprints: The Origin of Crime Detection and the Murder Case That Launched Forensic Science (New York: Hyperion, 2001). 19. Bell, C. Gordon, J. Craig Mudge, and John E. MacNamara, Computer Engi- neering: A DEC View of Hardware Systems Design (Maynard, MA: Digital Press, 1978). 20. Bellare, M., R. Canetti, and H. Krawczyk, “Keyed Hash Functions and Mes- sage Authentication,” Proceedings of Crypto'96, Lecture Notes in Computer Science 1109, (Heidelberg: Springer-Verlag, 1996), pp. 1-15. 21. Bellovin, Steven, “Security Problems in the TCP/IP Protocol Suite,” Com- puter Communication Review 19, no. 2, pp. 32-48 (April 1989). 22. , and Michael Merritt, “Encrypted Key Exchange: Password-Based Pro- tocols Secure Against Dictionary Attacks,” Proceedings of the 1992 IEEE Symposium or Research in Security and Privacy (Piscataway, NJ: IEEE Press, 1992). 23. , and Michael Merritt, “Limitations of the Kerberos Authentication Sys- tem,” Proceedings of Winter ‘91 USENIX (Berkeley, CA: USENLX Association, 1991). An earlier version appeared in Computer Communications Review, October 1990. 24. Biham, E., and P. C. Kocher, “A Known Plaintext Attack on PKZIP Encryp- tion,” in K. U. Leuven Workshop on Cryptographic Algorithms (Heidelberg: Springer-Verlag, 1995). 25. Biryukov, Alex, Adi Shamir, and David Wagner, “Real Time Cryptanalysis of A5/1 on a PC,” Fast Software Encryption Workshop 2000, New York, NY, April 2000. Posted on the Cryptome Web site. 26. Blaauw, Gerrit A., and Frederick P. Brooks, Jr., Computer Architecture: Con- cepts and Evolution (Reading, MA: Addison-Wesley, 1997). 27. Blair, Bruce G., The Logic of Accidental Nuclear War (Washington, DC: The Brookings Institution, 1993). 28. Blaze, Matt, “Protocol Failure in the Escrowed Encryption Standard,” re- search report (New Jersey: AT&T Bell Laboratories, 20 May 1994). 29. Blaze, Matt, W. Diffie, R. Rivest, B. Schneier, T. Shimomura, E. Thompson, and M. Weiner, “Minimal Key Lengths for Symmetric Ciphers to Provide 30. Adequate Commercial Security,” white paper, January 1996. Posted on the Counterpane Web site. 394 СПИСОК ЛИТЕРАТУРЫ
31. Boebert, W. Earl, and Chuck Nove, “Technical Report for the Tessera Au- thentication Protocol Specification Program,” CDRL B001, Contract MDA904-92-C-0284 (Roseville, MN: Secure Computing Corporation, 1994). 32. Bolt, Beranek, and Newman, Inc., “Interface Message Processor— Specifications for the Interconnection of a Host and IMP,” BBN Report 1822 (Cambridge, MA: Bolt, Beranek, and Newman, May 1978). 33. Bosen, Bob, “When Passwords Are Not Enough,” white paper (Roseville, MN: Secure Computing Corporation, 1996). Posted on the SafeWord Web site. 34. Branstad, Dennis, “Encryption protection in computer data communications,” Proceedings of the 4th Data Communications Symposium (New York: Associa- tion for Computing Machinery, 1975). 35. Bryant, Bill, “Designing an Authentication System: a Dialogue in Four Scenes,” white paper from MIT Project Athena, 8 February 1988. Distributed on the FIRST CD-ROM. 36. Carlton, Steven, John Taylor, and John Wyszynski, “Alternate Authentica- tion Mechanisms,” Proceedings of the 11th National Computer Security Con- ference (Washington, DC: National Bureau of Standards, 1988). 37. Carrel, Dave, and Lol Grant, “TACACS+ Protocol Specification,” Revision 1.78, January 1997. This has been distributed as an Internet Draft. 38. Carter, Ashton B., John D. Steinbruner, and Charles A. Zraket, eds., Manag- ing Nuclear Operations (Washington, DC: The Brookings Institution, 1987). 39. Cavoukian, Ann, “Privacy and Biometrics: An Oxymoron or Time to Take a 2nd Look?” presented at Computers, Freedom and Privacy 98, Austin Texas. Posted on the Information Privacy Commissioner/Ontario Web site. 40. CERT, “Advisory CA-1990-03: Unisys U5000 /etc/passwd problem,” issued 7 May 1990; last revised: 17 September 1997. Posted on the CERT Web Site. 41. , “Advisory CA-1991-03: Unauthorized Password Change Requests Via Mail Messages,” issued 4 April 1991; last revised: 18 September 1997. Posted on the CERT Web Site. 42. , “Advisory CA-1992-14 Altered System Binaries Incident,” issued 22 June 1992; last revised: 19 September 1997. Posted on the CERT Web Site. 43. , “Advisory CA-1994-01: Ongoing Network Monitoring Attacks,” is- sued 3 February 1994; last revised: 19 September 1997. Posted on the CERT Web Site. 44. , “Advisory CA-1995-01: Spoofing Attacks and Hijacked Terminal Connections,” issued 23 January 1995; last revised: 23 September 1997. Posted on the CERT Web Site. 45. , “Advisory CA-1995-06: Security Administrator Tool for Analyzing Networks (SATAN),” issued 3 April 1995; last revised: 23 September 1997. Posted on the CERT Web Site. 46. , “Advisory CA-1996-21: TCP SYN Flooding and IP Spoofing Attacks,” issued 19 September 1996; last revised: 29 November 2000. Posted on the CERT Web Site. 47. , “Advisory CA-1998-03: Vulnerability in ssh-agent,” issued 22 Janu- ary 1998; last revised: 2 March 1998. Posted on the CERT Web Site. 48. , “Advisory CA-1999-04: Melissa Macro Virus,” issued 27 March 1999; last revised: 31 March 1999. Posted on the CERT Web Site. СПИСОК ЛИТЕРАТУРЫ 395
49. , “Advisory CA-1999-17: Denial-of-Service Tools,” issued 28 December 1999; last revised: 3 March 2000. Posted on the CERT Web Site. 50. , “Advisory CA-2001-01: Interbase Server Contains Compiled-in Back Door Account,” issued 10 January 2001; last revised: 11 January 2001. Posted on the CERT Web Site. 51. , “Advisory CA-2001-09: Statistical Weaknesses in TCP/IP Initial Se- quence Numbers,” issued 1 May 2001. Posted on the CERT Web Site. 52. Cheswick, William R.‘, and Steven M. Bellovin, Firewalls and Internet Secu- rity: Repelling the Wily Hacker (Reading, MA: Addison-Wesley, 1994). 53. Clolery, Paul, “How Biometrics Have Tamed Welfare Double Dipping,” ID World 1, no 1 (March/April 1999). 54. Comer, Douglas E., Internetworking with TCP/IP, Volume 1, 2nd edition (Englewood Cliffs, NJ: Prentice Hall, 1991). 55. Cooper, Russ, “SAM Attacks vl.l,” research paper, 22 July 1998. Posted on the NT Bugtraq Web site. 56. Corbaty, F. J., “On Building Systems That Will Fail (A. M. Turing Award lecture)” Communications of the ACM 34, no. 9 (September 1991). 57. , J. H. Saltzer, and С. T. Clingen, “Multics—The First Seven Years,” AFIPS Conference Proceedings 40 (1972). Reprinted in the Multics Program Manual, Part I, from MIT Project MAC. 58. Counterpane Systems, “Password Safe,” help file, 1999. Posted on the Coun- terpane Web site. 59. Crowell, William, “Testimony to the House International Relations Commit- tee by William P. Crowell, Deputy Director, National Security Agency (NSA),” Office of Official Reporters, Office of the Clerk, U. S. House of Rep- resentatives, July 21, 1997. A redacted transcript of this closed hearing ap- pears on the Cryptome Web site. 60. CSI/FBI, “Computer Crime and Security Survey,” (San Francisco: Computer Security Institute, 2001). 61. CSS, “DeCSS in Words,” 2600 17, no. 3 (fall 2000). Curtin, C. Matthew, “Snake Oil Warning Signs: Encryption Software to Avoid (Snake Oil FAQ),” white paper, 10 April 1998. Posted on Matt Curtin’s personal Web page. 62. Custer, Helen, Inside Windows NT, 1st edition (Redmond, WA: Microsoft Press, 1993). 63. Datakey, “Datakey multi-purpose smart cards deployed by the FDIC for Se- cure online communications and building access,” press release (Minneapolis, MN: Datakey, 26 October 2000). Posted on the Datakey Web site. 64. , “Datakey smart card used by President Clinton to sign e-signature law,” press release (Minneapolis, MN: Datakey, 26 October 2000). Posted on the Datakey Web site. 65. , “Technical Specifications: Datakey’s Cryptographic Smart Card and Smart Key,” sales materials (Minneapolis, MN: Datakey, May 2000). 66. Davis, Ann, “The Body as Password,” Wired 5, no. 7, (July 1997). 67. Delio, Michelle, “Palm Virus Hits, But Don’t Worry,” Wired News (22 Sep- tember 2000). Posted on the Wired News Web site. 396 СПИСОК ЛИТЕРАТУРЫ
68. Denning, Dorothy E., and Giovanni Maria Sacco, “Timestamps in Key Distri- bution Protocols,” Communications of the ACM 24, no. 8 (August 1981). 69. Denning, Dorothy E., “Digital Signatures with RSA and Other Public-Key Cryptosystems,” Communications of the ACM 27, no. 4 (April 1984). 70. , Information Warfare and Security (Reading, MA: Addison-Wesley, 1998). 71. , and Dennis K. Branstad, “A Taxonomy of Key Recovery Encryption Systems,” in Internet Besieged, edited by Denning and Denning. An earlier version was published as “A Taxonomy of Key Escrow Encryption,” Commu- nications of the ACM 39, no. 3 (March 1996). 72. , and Peter J. Denning, eds., Internet Besieged: Countering Cyber- space Scofflaws (Reading, MA: Addison-Wesley, 1998). 73. , and Peter MacDoran, “Location-Based Authentication: Grounding Cyberspace for Better Security” Computer Fraud and Security (February 1996). Reprinted in Internet Besieged, edited by Denning and Denning. 74. Denning, Peter, ed., Computers Under Attack: Intruders, Worms, and Viruses (Reading, MA: Addison-Wesley, 1990). 75. Diffie, Whitfield, “The First Ten Years of Public Key Cryptography,” Pro- ceedings of the IEEE 76, no. 5 (May 1988). Also appears in Contemporary Cryptology, edited by Gustavus Simmons. 76. , and Martin Hellman, “Exhaustive Cryptanalysis of the NBS Data En- cryption Standard,” IEEE Computer 10 (1977). 77. Dorobek, Christopher J., “Agencies Expect E-Sign Law to Spur E-Gov,” Gov- ernment Computer News 19, no. 19 (10 July 2000). 78. Economist, “Biometrics, The Measure of Man,” The Economist (9 September 2000). 79. Eddie the Wire, The Complete Guide to Lock Picking (Port Townsend, WA: Loompanics Unlimited, 1981). 80. Electronic Frontier Foundation, Cracking DES: Secrets of Encryption Re- search, Wiretap Politics, and Chip Design (Sebastopol, CA: O’Reilly & Asso- ciates, 1998). 81. Evans, Arthur, Jr., William Kantrowitz, and Edwin Weiss, “A User Authen- tication Scheme Not Requiring Secrecy in the Computer,” Communications of the ACM 17, no. 8 (August 1974). 82. FBI (Federal Bureau of Investigation), “Financial Fraud and Failure Report” (Washington, DC: FBI, 1998). Posted on the FBI Web site. 83. Feghhi, Jalal, and Jalil Feghhi, Secure Networking with Windows 2000 and Trust Services (Boston: Addison-Wesley, 2001). 84. Feldmeier, David C., and Philip R. Karn, “UNIX Password Security—Ten Years Later,” Advances in Cryptology—Proceedings of Crypto “89 (Heidelberg: Springer-Verlag, 1990). 85. Feynman, Richard P., "Surely You’re Joking, Mr. Feynman!” (New York: W. W. Norton, 1985). 86. Finseth, Craig, “An Access Control Protocol, Sometimes Called TACACS,” Internet RFC 1492, July 1993. Posted on the IETF Web site. СПИСОК ЛИТЕРАТУРЫ 397
87. FIRST (Forum of Incident Response and Security Teams), “Security Tools and Techniques Resource Library,” CD-ROM, (Washington, DC: National Institute of Science and Technology, October 1994). Posted on the FIRST CD-ROM Web site. 88. Freier, Alan O., Philip Karlton, and Paul C. Kocher, “The SSL Protocol Ver- sion 3.0,” 18 November 1996. Posted on the Netscape Web site. 89. Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software (Reading, MA: Ad- dison-Wesley, 1995). 90. Ganesan, Ravi, and Chris Davies, “A New Attack on Random Pronounceable Password Generators,” Proceedings of the 17th National Computer Security Conference (1994). 91. Gardner, Martin, “A New Kind of Cipher That Will Take Millions of Years to Break,” Scientific American 237, no. 8 (August 1977). 92. Garfinkel, Simson, PGP: Pretty Good Privacy (Sebastopol, CA: O’Reilly & Associates, 1995). 93. Greenlee, M. Blake, “Requirements for Key Management Protocols in the Wholesale Financial Industry,” in Abrams and Podell, Tutorial: Computer and Network Security. 94. Gutman, Peter, “How to Recover Private Keys from Microsoft Internet Ex- plorer, Internet Information Server, Outlook Express, and Many Others - or - Where Do Your Encryption Keys Want to Go Today?” Research paper, posted to the Cryptography mailing list, 21 January 1999. 95. Hadfield, Lee, Dave Hatter, and Dave Bixler, Windows NT Server 4 Security Handbook (Indianapolis, IN: Que Corporation, 1997). 96. Hafner, Katie, and John Markoff, Cyberpunk: Outlaws and Hackers on the Computer Frontier (New York: Simon and Schuster, 1991). 97. Haller, Neil, “The S/Key One Time Password System,” in Proceedings of the Symposium on Network and Distributed Systems Security, Internet Society, February 1994. 98. Heberlein, Todd, and Matt Bishop, “Attack Class: Address Spoofing” Proceed- ings of the 19th National Computer Security Conference, National Institute of Standards and Technology, October 1996. Reprinted in Internet Besieged, ed- ited by Denning and Denning. 99. Hellman, Martin, “The Mathematics of Public-Key Cryptography,” Scientific American (August 1979). Also appears in Practical Cryptography, edited by William Stallings. 100. Himowitz, Michael, “Keep Your Secrets Safe with Voice-Activated Soft- ware,” Fortune (1 March 1999). 101. Hofmann-Wellenhof, В., H. Lichtenegger, and J. Collins, Global Positioning System: Theory and Practice, 4th edition (Heidelberg: Springer-Verlag, 1997). 102. Holzmann, Gerard J., and Bjqrn Pehrson, The Early History of Data Net- works (Los Alamitos, CA: IEEE Computer Society Press, 1995). 103. Houdini, Harry, A Magician Among the Spirits (New York: Harper & Broth- ers, 1924). Reprinted in New York by Arno Press, 1972. 398 СПИСОК ЛИТЕРАТУРЫ
104. Housley, Russ, Warwick Ford, Tim Polk, and Dave Solo, “Internet X.509 Public Key Infrastructure: Certificate and CRL Profile,’’ Internet RFC 2459, January 1999. 105. ITU-T (formerly CCITT), “Information Technology—Open Systems Intercon- nection— The Directory: Authentication Framework,” Recommendation X.509 ISO/IEC 9594-8. 106. Jablon, David, “Strong Password-Only Authenticated Key Exchange” ACM Computer Communications Review (October 1996). Posted on the IEEE P1363a study group Web site and on the Integrity Sciences Web site. 107. Jacobs, John F., The SAGE Air Defense System: A Personal History (Bed- ford, MA: MITRE Corporation, 1986). 108. Jain, Anil, Ruud Bolle, and Sharath Pankanti, eds., Biometrics: Personal Identification in Networked Society (Boston: Kluwer Academic Publishers, 1999). 109. Jermyn, Ian, Alain Mayer, Fabian Monrose, Michael K. Reiter, and Avi Rubin, “The Design and Analysis of Graphical Passwords,” draft submitted to 8th USENIX Security Symposium, dated 8 March 1999. 110. Joncheray, Laurent, “Simple Active Attack Against TCP,” Proceedings of the 5th Unix Security Symposium (Berkeley, CA: USENIX Association, 1995). 111. Kaplan, Ray, “Diary of a Security Incident.” Usenet posting to alt.security, ; 22 May 1992. 112. Kaufman, Charlie, Radia Perlman, and Mike Speciner, Network Security: • PRIVATE Communication in a PUBLIC World (Englewood Cliffs, NJ: Pren- tice Hall, 1995). 113. Kent, Stephen, “Privacy Enhancement for Internet Electronic Mail: Part II— Certificate-Based Key Management,” Internet RFC 1422, February 1993. Posted on the IETF Web site. t 114.-------, and Randall Atkinson, “IP Authentication Header,” Internet RFC 2402, November 1998. Posted on the IETF Web site. j < 115.-----, and Randall Atkinson, “Security Architecture for the Internet Pro- , tocol,” Internet RFC 2401, November 1998. Posted on the IETF Web site. ' 116. Kilburn, T., D. J. Howarth, R. B. Payne, and F. H. Sumner, “The Manches- ter University Atlas Operating System, Part 1: Internal Organization,” -i Comp. J. 4 (October 1961), pp. 222-225. 117. Kim, Gene H., and Eugene H. Spafford, “The design and implementation of Tripwire: A file system integrity checker,” Proceedings of the 1994 ACM j. Conference on Communications and Computer Security (New York: ACM Press, 1994). 118. Kingpin, “Attacks and Countermeasures for USB Hardware Token Devices,” research paper, file date: 17 October 2000. Posted on the ©stake Web site. 119.------, “Palm OS Password Lockout Bypass,” ©stake Security Advisory, 3 March 2001. Posted on the ©stake Web site. 120.------, “SafeWord e.iD Palm Authenticator PIN Extraction,” ©stake Secu- ( rity Advisory, 14 December 2000. Posted on the ©stake Web site. 121.------, “Wardialing Brief,” white paper, file date: 1 August 2000. Posted on the ©stake Web site. СПИСОК ЛИТЕРАТУРЫ 399
122. Klein, Daniel V., “A Survey of, and Improvements to, Password Security,” Unix Security Workshop II (Berkeley, CA: USENIX Association, 1990). 123. Knuth, Donald E., Seminumerical Algorithms: The Art of Computer Pro- gramming, Volume 2 (Reading, MA: Addison-Wesley, 1969). 124. Kocher, Paul, Joshua Jaffe, and Benjamin Jun, “Differential Power Analy- sis,” Proceedings of Crypto ‘99. Posted on the Cryptography Research, Inc., Web site. 125. Kohl, John, and Clifford Neuman, “The Kerberos Network Authentication Ser- vice (V5),” Internet RFC 1510, September 1993. Posted on the IETF Web site. 126. Konheim, Alan G., Cryptography: A Primer (New York: John Wiley, 1981). 127. Kornfelder, Leon, “Towards a Practical Public-Key Cryptosystem,” B.S. the- sis, Massachusetts Institute of Technology, May 1978. 128. Krawczyk, H., M. Bellare, and R. Canetti, “HMAC: Keyed-Hashing for Mes- sage Authentication,” Internet RFC 2104, February 1997. Posted on the IETF Web site. 129. Kuhn, Marcus G., “Probability Theory for Pickpockets—ec-PIN Guessing,” COAST working paper (West Lafayette, IN: Purdue University, 1997). Posted on the COAST Web site. 130. Kwon, Taekyoung, and J. Song, “Authentication and Key Agreement via Memorable Password,” Cryptology ePrint Archive Report 2000/026, 20 Au- gust 2000. Posted on the LACR Eprint Web site. 131. LOpht, “LOphtCrack 2.5 FAQ,” Web page, 16 March 2001. Posted on the Se- curity Software Technologies Web site. 132. La Macchia, B. A., and A. M. Odlyzko, “Computation of Discrete Logarithms in Prime Fields,” Designs, Codes, and Cryptography 1, pp. 47-62 (1991). 133. Lamport, Leslie, “Password Authentication with Insecure Communication,” Communications of the ACM 24, no. 11 (November 1981). 134. Lampson, Butler, Martun Abadi, Michael Burrows, and Edward Wobber, “Authentication in Distributed Systems: Theory and Practice,” ACM 135. Transactions on Computer Systems 10, no. 4 (November 1992). Also appears in Practical Cryptography, edited by William Stallings. A preliminary ver- sion appeared in the Proceedings of the 13th ACM Symposium on Operating System Principles. 136. Landau, Susan, “Standing the Test of Time: The Data Encryption Stan- dard,” Notices of the AMS 47, no. 3 (March 2000). 137. Levy, Matthys, and Mario Salvador!, Why Buildings Fall Down (New York: W. W. Norton & Co., 1992). 138. Levy, Steven, Crypto: How the Code Rebels Beat the Government—Saving Privacy in the Digital Age (New York: Viking, 2001). 139.------, Hackers: Heroes of the Computer Revolution (New York: Dell Pub- lishing, 1984). 140. Lions, J., “A Commentary on the Unix Operating System,” Department of Computer Science, University of New South Wales, 1977. 141.------, “Unix Operating System Source Code Level Six,” Department of Computer Science, University of New South Wales, 1977. 400 СПИСОК ЛИТЕРАТУРЫ
142. Littman, Jonathan, The Fugitive Game: Online with Kevin Mitnick (Boston: Little, Brown & Co., 1996). 143. Lloyd, Seth, “Ultimate Physical Limits to Computation,” Nature 406 (Au- gust 2000). 144. Loeb, Vernon, “Energy Chief Touts Security Upgrades at Nuclear Labs,” Washington Post (January 26, 2000), p. A13. 145. Lomas, T. M. A., L. Gong, J. I. Saltzer, and R. M. Needham, “Reducing Risks from Poorly Chosen Keys,” Proceedings of the Twelfth ACM Sympo- sium on Operating Systems Principles (December 1989), pp. 14-18. 146. Marks, Leo, Between Silk and Cyanide: A Codemaker’s War 1941-1945 (New York: The Free Press, 1998). 147. Maxwell, Scott, Linux Core Kernel Commentary (Scottsdale, AZ: The Corio- lis Group, 1999). 148. McCarthy, Michael J., “Thinking Out Loud,” Wall Street Journal 105, no. 47 (March 7, 2000). 149. McDonald, Daniel L., Randall J. Atkinson, and Craig Metz, “One Time Pass- words in Everything (OPIE): Experiences with Building and Using Stronger Authentication,” Proceedings of the 5th Unix Security Symposium (Berkeley CA: USENIX Association, 1995). 150. McLellan, Vin, “SecurlD White Paper—A Comment,” posted to best-of-secu- rity mailing list, 10 September 1996. 151. McNamara, John E., Technical Aspects of Data Communication (Maynard, MA: Digital Press, 1978). 152. Meinel, Carolyn P., The Happy Hacker, 2nd edition (Show Low, AZ: Ameri- can Eagle Publications, 1998). 153. Metcalfe, Bob, “The Stockings Were Hung by the Chimney with Care,” Internet RFC 602, December 1973. Posted on the IETF Web site. 154. Microsoft, “Erroneous VeriSign-Issued Digital Certificates Pose Spoofing Hazard,” Microsoft Security Bulletin MS01-017, 22 March 2001. Posted on the Microsoft Web site. 155. —-----, “How to Enable Strong Password Functionality in Windows NT,” Knowledge Base Article Q161990, revised 18 December 2000. Posted on the Microsoft Web site. 156.-------, “Integrity Checking on Secure Channels with Domain Controllers,” Knowledge Base Article Q183859, revised 10 April 1999. Posted on the Mi- crosoft Web site. 157.-------, “Secure Networking Using Windows 2000 Distributed Security Ser- vices.” Microsoft TechNet article network/distsec.asp, 19 January 2000. Posted on the Microsoft Web site. 158.-------, “Smart Card Logon,” Windows 2000 white paper, 1999. Posted on the Microsoft Web site. 159.-------, “Windows NT System Key Permits Strong Encryption of the SAM.” Microsoft TechNet article Q143475, 17 February 2001. Posted on the Micro- soft Web site. 160.-------, “Windows 2000 Kerberos Authentication,” Windows 2000 white pa- per, 1999. Posted on the Microsoft Web site. СПИСОК ЛИТЕРАТУРЫ 401
161.------, “Update Available to Revoke Fraudulent Microsoft Certificates Is- sued by VeriSign,” Microsoft TechNet article Q293811, 29 March 2001. Posted on the Microsoft Web site. 162. —----, “User Authentication with Windows NT,” Knowledge Base Article Q102716, revised 5 October 2000. Posted on the Microsoft Web site. 163. Miller, George A. “The Magical Number Seven—Plus or Minus Two: Some Limits on Our Capacity for Processing Information,” Psychological Science 63 (1956), pp. 81-97. 164. Miller, Mike, “Pgpcrack README,” software documentation. 165. MIT Project MAC, “Multiplexed Information and Computing Service: Pro- grammers’ Manual—Part I: Introduction to Multics,” Revision 14 (Cam- bridge, MA: Massachusetts Institute of Technology, 30 September 1973). 166.------, “Project MAC Progress Report III: July 1965 to July 1966,” Report MAC-PR-3 (Cambridge, MA: Massachusetts Institute of Technology, 1966). 167. Moore, Gordon E., Electronics 38, no. 11, (1965), pp. 114-117. 168. Morris, Robert, and Ken Thompson, “Password Security: A Case History,” Communications of the ACM 22, no. 8 (November 1979). 169. Morris, Robert T., “A Weakness in the 4.2BSD Unix TCP/IP Software,” Computing Science Technical Report No. 117 (Murray Hill, NJ: AT&T Bell Laboratories, 1985). 170. Moynihan, Daniel Patrick, Secrecy: The American Experience (New London, CT: Yale University Press, 1998). 171. Mudge and Kingpin, “Initial Cryptanalysis of the RSA SecurlD Algorithm” research paper, January 2001. Posted on the @stake Web site. 172. Murray, Eric, “SSL Server Security Survey” research paper, 21 July 2000. Posted on Eric Murray’s personal Web site. 173. Myer, T. H., and I. E. Sutherland, “On the Design of Display Processors,” Communications of the ACM 11, no. 6 (June 1968). 174. Myers, M., R. Ankney, A. Malpani, S. Galperin, and C. Adams, “X.509 Internet Public Key Infrastructure: Online Certificate Status Protocol— OCSP,” Internet RFC 2560, June 1999. 175. NBS (National Bureau of Standards), “Computer Security Guidelines for Im- plementing the Privacy Act of 1974,” FIPS Publication 41 (Washington, DC: NBS, 30 May 1975). The standard was withdrawn on 18 November 1998. 176.------, “Guideline for Automatic Data Processing Risk Analysis,” FIPS Publication 65 (Washington, DC: NBS, 1 August 1979). The standard was withdrawn on 25 August 1995. 177. NCSC (National Computer Security Center), “Department of Defense Pass- word Management Guideline,” CSC-STD-002-85 (Fort Meade, MD: National Computer Security Center, 12 April 1985). 178.------, “A Guide to Understanding Audit in Trusted Systems,” NCSC-TG- 001 Version 2 (Fort Meade, MD: NCSC, 1 June 1988). 179.------, “A Guide to Understanding Data Remanence in Automated Information Systems,” NCSC-TG-025, Version 2 (Fort Meade, MD: NCSC, September 1991). 180.------, “Department of Defense Trusted Computer System Evaluation Crite- ria,” DOD 5200.28-STD (Fort Meade, MD: NCSC, 26 December 1985). 402 СПИСОК ЛИТЕРАТУРЫ
181. NIST (National Institute for Standards and Technology), “Advanced Encryp- tion Standard (AES),” Draft FIPS (Washington, DC: NIST, 2001). Posted on the NIST Web site. 18.2 .----, “Automated Password Generator,” FIPS Publication 181 (Washing- ton, DC: NIST, 5 October 1993). Posted on the NIST Web site. 183.------, “Data Encryption Standard (DES),” FIPS Publication 46-3 (Wash- ington, DC: NIST, 25 October 1999). Posted on the NIST Web site. 184.------, “DES Modes of Operation,” FIPS Publication 81 (Washington, DC: NIST, 2 December 1980). Posted on the NIST Web site. 185.------, “Digital Signature Standard,” FIPS Publication 186-2 (Washington, DC: NIST, 27 January 2000). Posted on the NIST Web site. 186.----—, “Entity Authentication Using Public Key Cryptography,” FIPS Pub- lication 196 (Washington, DC: NIST, 18 February 1997). Posted on the NIST Web site. 187.------, “Escrowed Encryption Standard,” FIPS Publication 185 (Washing- ton, DC: NIST, 9 February 1994). Posted on the NIST Web site. 188.------, “Secure Hash Standard,” FIPS Publication 180-1 (Washington, DC: NIST, April 1995). Posted on the NIST Web site. 189. National Research Council, Cryptography’s Role In Securing the Information Society: CRISIS (Washington, DC: National Academy Press, 1996). 190. Nechvatal, James, Elaine Barker, Lawrence Bassham, William Burr, Morris Dworkin, James Foti, and Edward Roback, “Report on the Development of the Advanced Encryption Standard (AES)” (Washington, DC: NIST, 2 Octo- ber 2000). 191. Needham, Roger M., and Michael D. Schroeder, “Using Encryption for Au- thentication in Large Networks of Computers,” Communications of the ACM 21, no. 12 (December 1978). 192. Negin, Michael, Thomas Chmielewski, Jr., Marcos Salganicoff, Theodore A. Camus, Ulf M. Cahn von Seelen, Piiter L. Venetianer, Guanghua. G. Zhang, “An Iris Biometric System for Public and Personal Use,” IEEE Computer 33, no. 2 (February 2000). 193. Neuman, B. Clifford, and S. Stubblebine, “A Note on the Use of Timestamps as Nonces,” Operating Systems Review (April 1993). 194. Neuman, B. Clifford, and Theodore Ts’o, “Kerberos: An Authentication Ser- vice for Computer Networks,” IEEE Communications Magazine 32, no. 9 (September 1994). Also appears in Practical Cryptography for Data Inter- networks, edited by Stallings. 195. Neuman, Michael, “Monitoring and Controlling Suspicious Activity in Real- time With IP-Watcher,” Proceedings of the 11th Annual Computer Security Applications Conference, December 1995. 196. Neumann, Peter, Computer Related Risks (Reading, MA: Addison-Wesley, 1996). 197. Nickel, Larry, “Why Use Magnetic Stripe Cards?” Web page file “why- use.htm,” 1998. Posted on the Mercury Security Web site. 198. Norman, Donald, The Design of Everyday Things (New York: Doubleday Currency, 1988). СПИСОК ЛИТЕРАТУРЫ 403
199. Noyce, R. N., “Microelectronics,” Scientific American 237, no. 3 (September 1977), pp. 62-69. 200. O’Gorman, Lawrence, “Practical Systems for Personal Fingerprint Identifi- cation,” IEEE Computer 33, no. 2 (February 2000). 201. Oppliger, Rolf, Authentication Systems for Secure Networks (Boston: Artech House, 1996). 202. Pankanti, Sharath, Ruud M. Bolle, and Anil Jain, “Biometrics: The Future of Identification,” IEEE Computer 33, no. 4 (February 2000). 203. Parker, Donn, Crime by Computer: Startling New Kinds of Million-Dollar Fraud, Theft, Larceny, & Embezzlement (New York: Charles Scribner’s Sons, 1976). 204.------, Fighting Computer Crime: A New Framework for Protecting Infor- mation (New York: John Wiley & Sons, 1998). 205. PC Dynamics, “ActivCard Synchronous Authentication,” Report ALL/TU.90.001/En, (San Francisco: PC Dynamics, 1997). Posted on the PCDynamics Web site. 206. Peltier, Tom, Information Security Risk Analysis (Boca Raton, FL: Auer- bach, 2001). 207. Pentland, Alex (Sandy), and Tanzeem Choudhury, “Face Recognition for Smart Environments” IEEE Computer 33, no. 2 (February 2000). 208. Perlman, Radia, and Charlie Kaufman, “Secure Password-Based Protocol for Downloading a Public Key,” Proceedings of the 1999 Network and Distrib- uted System Security Symposium (Reston, VA: Internet Society, 1999). 209. Perlman, Radia, Interconnections: Bridges, Routers, Switches, and Internet- working Protocols, 2nd edition (Reading, MA: Addison-Wesley, 2000). 210. PixIL, “Read This! User Manual,” Version 2.62, 2 October 1999. Posted on the PixIL Web site. 211. Postel, Jonathan, “Internet Protocol—DARPA Internet Program Protocol Specification,” Internet RFC 791, 1 September, 1981. Posted on the IETF Web site. 212.-------, “Transmission Control Protocol—DARPA Internet Program Protocol Specification,” Internet RFC 793, 1 September, 1981. Posted on the IETF Web site. 213. Power, Richard, “CSI Special Report on DDOS: Part 1. Diary of a Debacle,” Computer Security Alert 205 (April 2000). 214.-------, Tangled Web: Tales of Digital Crime from the Shadows of Cyber- space (Indianapolis, IN: Que, 2000). 215. Rabin, M. O., “Digital Signatures and Public-Key Functions as Intractable as Factorization,” MIT Laboratory for Computer Science, Report MIT/LCS/TR-212, January 1979. 216. -, “Probabilistic Algorithm for Testing Primality,” Journal of Number Theory 12, no. 1 (February 1980). 217. Raleigh, T. M., and R. W. Underwood, “CRACK: A Distributed Password Advisor,” Proceedings of the USENIX UNIX Security Workshop (Berkeley, CA: USENIX Association, 1988). 404 СПИСОК ЛИТЕРАТУРЫ
218. Ramsbottom, Alan, “FAQ: NT Cryptographic Password Attacks and De- fenses,” 17 July 1997. Posted on the NT Bugtraq Web site. 219. Ratha, Nalini K., and Ruud Bolle, “Smartcard Based Authentication,” Chap- ter 18 of Jain, Bolle, and Pankanti, eds., Biometrics: Personal Identification in Networked Society. 220. Reeds, J. A., and B. J. Weinberger, “File Security and the Unix Crypt Command,” AT&T Technical Journal 63, no. 8 (October 1984). 221. Rescorla, Eric, SSL and TLS: Designing and Building Secure Systems (Bos- ton: Addison-Wesley, 2001). 222. Rigney, C., S. Willens, A. Rubens, and W. Simpson, “Remote Authentica- tion Dial In User Service (RADIUS),” Internet RFC 2865, June 2000. 223. Ritchie, D. M., “The Unix Time-Sharing System: A Retrospective,” Bell Sys- tem Technical Journal 57, no. 6, part 2 (July-August 1978). 224. Rivest, Ron, “Can We Eliminate Certificate Revocation Lists?” Proceedings of Financial Cryptography 1998. 225.-------, “MD5 Digest Algorithm,” Internet RFC 1321, April 1992. Posted on the IETF Web site. 226.-------, A. Shamir, and L. Adelman, “A Method for Obtaining Digital Sig- natures and Public Key Cryptosystems,” Communications of the ACM 21, no. 2 (February 1978). 227. Rochlis, Jon, and Mark Eichin, “With Microscope and Tweezers: The Worm from MIT’s Perspective,” Communications of the ACM 32, no. 6 (June 1989), pp. 689-698. Also in Computers Under Attack, edited by Denning. 228. Roper, C. A., and Bill Phillips, The Complete Book of Locks and Locksmith- ing, 3rd edition (Blue Ridge Summit, PA: Tab Books, 1991). 229. Rothke, Ben, “Fingerprint Biometric Devices: How They Work and How to Choose Them,” Computer Security Journal 14, no. 4 (fall 1998). 230. RSA Security, “DES-II Challenges Solved,” Cryptobytes (summer 1998). Posted on the RSA Security Web site. 231.-------, “RSA Crypto Challenge Sets New Security Benchmark,” press re- lease, 26 August 1999. Posted on the RSA Security Web site. 232.-------, “Strong Enterprise User Authentication: RSA ACE/Server” (Bed- ford, MA: RSA Security, 1999). Posted on the RSA Security Web site. 233. Salus, Peter H., A Quarter Century of Unix (Reading, MA: Addison-Wesley, 1994). 234. Schneier, Bruce, Applied Cryptography: Protocols, Algorithms, and Source Code in C (New York: John Wiley & Sons, 1996). 235.-------, “Why Cryptography Is Harder Than It Looks,” white paper (Min- neapolis, MN: Counterpane, 1997). Posted on the Counterpane Web site. 236.-------, and Adam Shostack, “Breaking Up Is Hard to Do: Modeling Security Threats for Smart Cards,” Proceedings of the USENIX Workshop on Smart Card Technology (Berkeley, CA: USENIX Association, 1999), pp. 175-185. Posted on the Counterpane Web site. 237.-------, and Mudge, “Cryptanalysis of Microsoft’s Point-to-Point Tunneling Protocol (PPTP),” Proceedings of the 5th ACM Conference on Communica- tions and Computer Security (New York: ACM Press, 1998). СПИСОК ЛИТЕРАТУРЫ 405
238.------, Mudge, and David Wagner, “Cryptanalysis of Microsoft's PPTP Au- thentication Extensions (MS-CHAPv2),” CQRE '99 (Heidelberg: Springer- Verlag, 1999), pp. 192-203. 239. Senderek, Ralf, “Key-Experiments—How PGP Deals with Manipulated Keys,” Web page security/key-experiments.html, August 2000. Posted on Ralf Senderek’s personal Web site. 240. Shoch, John, and Jon Hupp, “The ‘Worm’ Programs—Early Experiences with a Distributed Computation.” Communications of the ACM 25, no. 3 (March 1982), pp. 172-180. Also in Computers Under Attack, edited by Denning. An earlier version, dated September 1980, was distributed as Internet Working Group (INWG) Note 242 and presented at the ACM SIGOPS/SIGPLAN Workshop on Fundamental Issues in Distributed Com- puting in December 1980. 241. Schultz, E. Eugene, and Thomas Longstaff, “Internet Sniffer Attacks,” Pro- ceedings of the 18th National Information Systems Security Conference, Na- tional Institute of Standards and Technology, October 1995, pp. 534-542. Also in Internet Besieged, edited by Denning and Denning. 242. Schultz, Eugene, “Windows NT Password Security” Computer Security Journal 15, no. 2 (spring 1999). 243. Schwartau, Winn, Information Warfare: Chaos on the Electronic Super- highway, 2nd edition (New York: Thunder’s Mouth Press, 1996). 244. Secure Computing, “SafeWord DES Gold Supervisor Guide” (Roseville, MN: Se- cure Computing Corporation, 1996). Posted on the Secure Computing Web site. 245.------, “SafeWord Plus Virtual Smart Card Server Solution,” white paper (San Jose, CA: Secure Computing Corporation, July 2000). Posted on the Secure Computing Web site. 246. Shamir, Adi, and Nicko van Somerin, “Playing Hide and Seek with Stored Keys,” research paper, 22 September 1998. 247. Shimomura, Tsutomu, with John Markoff, Takedown: The Pursuit and Cap- ture of Kevin Mitnick, America’s Most Wanted Computer Outlaw—By the Man Who Did It (New York: Hyperion, 1996). 248. Shneiderman, Ben, Designing the User Interface: Strategies for Effective Hu- man-Computer Interaction, 3rd edition (Reading, MA: Addison-Wesley, 1998). 249. Sicherman, Al, “By Any Other Name, He Probably Could Log On Some- where,” Minneapolis Star Tribune (23 November 1998), p. E4. 250. Silverman, Robert, “A Cost-Based Security Analysis of Symmetric and Asymmetric Key Lengths,” Bulletin 13, RSA Laboratories, April 2000. Posted on the RSA Security Web site. 251. Simmons, Gustavus J., ed., Contemporary Cryptology: The Science of Infor- mation Integrity (New York: IEEE Press, 1992). 252. Simons, John, “Phone Hex,” Wall Street Journal (1 October 1999). 253. Smith, Richard, “Deciphering the Advanced Encryption Standard,” Network Magazine 16, no. 3 (March 2001), pp. 96-101. 254.------, “Authentication: Patterns Of Trust” Information Security 3 (August 2000). 406 СПИСОК ЛИТЕРАТУРЫ
255.-------, “Historical Overview of Computer Architecture,” Annals of the His- tory of Computing 10, no. 4 (1989). 256.-------, Internet Cryptography (Reading, MA: Addison-Wesley, 1997). 257.-------, “Mandatory Protection for Internet Server Software,” Proceedings of the 12th Annual Computer Security Applications Conference, December 1996, San Diego, CA. 258. Snider, L. Britt, and Daniel S. Seikaly, “Report of Investigation: Improper Handling of Classified Information by John M. Deutsch,” Report 1998- 0028-IG, (Washington, DC: Central Intelligence Agency, 18 February 2000). Posted on the Federation of American Scientists Web site. 259. Spafford, Eugene H., “Crisis and Aftermath” Communications of the ACM 32, no. 6 (June 1989), pp. 678-687. Also in Computers Under Attack, edited by Denning. 260.-------, “Observing Reusable Password Choices” Purdue Technical Report CSD-TR-92-049, (West Lafayette, IN: Purdue University, 1992). Also ap- peared in Proceedings of the 3rd USENIX Security Symposium (Berkeley, CA: USENIX Association, 1992). Posted on the COAST Web site. 261.-------, “OPUS: Preventing Weak Password Choices,” Purdue Technical Re- port CSD-TR-92-028, (West Lafayette, IN: Purdue University, 1991). A ver- sion of this paper also appeared in Proceedings of the 14th National Com- puter Security Conference (Washington, DC: NIST, 1991). Posted on the COAST Web site. 262. Stallings, William, Practical Cryptography for Data Internetworks (Los Alamitos, CA: IEEE Computer Society Press, 1996). 263. Standage, Tom, The Victorian Internet (New York: Berkley Books, 1998). 264. Steiner, Jennifer G., Clifford Neuman, and Jeffrey I. Schiller, “Kerberos: An Authentication Service for Open Network Systems,” Proceedings of the 1988 USENIX Winter Conference (Berkeley, CA: USENIX Association, 1988). 265. Stevens, W. Richard, TCP/IP Illustrated, Volume 1 (Reading, MA: Addison- Wesley, 1994). 266. Stinson, Douglas, Cryptography Theory and Practice (Boca Raton, FL: CRC Press, 1995). 267. Stoll, Clifford, The Cuckoo’s Egg (Garden City, NY: Doubleday, 1989). 268. Sumner, F. H., G. Haley, and E. C. Y. Chen, “The Central Control Unit of the ‘Atlas’ Computer,” Proceedings of the IFIP Congress (1962), pp. 657-662. 269. Sutton, Stephen, Windows NT Security Guide (Reading, MA: Addison- Wesley, 1997). 270.-------, “Windows NT Security Guidelines: A Study for NSA Research” (Ur- bana, IL: Trusted Systems Services, 1998). 271. Tardo, J., and K. Alagappan, “SPX: Global Authentication Using Public Key Certificates,” Proceedings of the IEEE Symposium on Security and Pri- vacy (Los Alamitos, CA: IEEE Computer Society Press, 1991). 272. Tenner, Edward, Why Things Bite Back (New York: Alfred A. Knopf, 1996). 273. Tomko, George, “Biometrics as a Privacy-Enhancing Technology: Friend or Foe of Privacy?” from the 9th Privacy Commissioners'/Data Protection Au- thorities Workshop, 15 September 1998. Posted on the Information Privacy Commissioner/Ontario Web site. СПИСОК ЛИТЕРАТУРЫ 407
274. Ts’o, Theodore, Clifford Neuman, George Kohl, Tom Yu, and Kenneth Rae- burn, “The Kerberos Network Authentication Service (V5),” 7 March 2001. This has been distributed as an Internet Draft. 275. Tung, Brian, Kerberos: A Network Authentication System (Reading, MA: Addison-Wesley, 1999). 276.------, Clifford Neuman, Matthew Hur, Ari Medvinsky, Sasha Medvinsky, John Wray, and Jonathan Trostle, “Public Key Cryptography for Initial Au- thentication in Kerberos,” 15 July 2000. This has been distributed as an Internet Draft. 277. Uehling, Mark, “Cracking the Uncrackable Code,” Popular Science (Septem- ber 1994). Also appears in Practical Cryptography, edited by William Stallings. 278. van Eck, Wim, “Electromagnetic Radiation from Video Display Units: An Eavesdropping Risk?” (Leidschendam, The Netherlands: PTT Dr. Neher Laboratories, 16 April 1985). 279. Van Vleck, Tom, “The IBM 7094 and CTSS,” Web page thvv/7094.html, 18 December 1997. Posted on the Multicians Web site. 280.------, “Multics: Security,” Web page security.html, 15 February 1995. Posted on the Multicians Web site. 281. Wagner, David, and Bruce Schneier, “Analysis of the SSL 3.0 Protocol,” Proceedings of the Second USENIX Workshop on Electronic Commerce (Berkeley, CA: USENIX Association, 1996) pp. 29-40. 282.------, Bruce Schneier, and John Kelsey, “Cryptanalysis of the Cellular Message Encryption Algorithm,” (Minneapolis, MN: Counterpane Labs, 20 March 1997). Posted on the Counterpane Labs Web site. 283. Wayner, Peter, Disappearing Cryptography (San Francisco: Morgan Kauf- mann, 1996). 284. Weinstein, Lauren (lauren@UCLA-SECURITY), “60 Minutes Parody,” text file, circa 1980. Probably first distributed via the “Human-Nets” e-mail dis- tribution list. 285. Weizenbaum, Joseph, Computer Power and Human Reason: From Judge- ment to Calculation (San Francisco: W. H. Freeman and Co., 1976). 286. Whitten, Alma, and J. D. Tygar, “Usability of Security: A Case Study,” Re- port CMU-CS-98-155, (Pittsburgh, Pennsylvania: Carnegie Mellon Univer- sity Computer Science Department, 18 December 1998). 287.------, “Why Johnny Can’t Encrypt: A Usability Evaluation of PGP 5.0,” Proceedings of the 8th USENIX Security Symposium (Berkeley, CA: USENIX Association, 1999). 288. Wiener, Michael J., “Efficient DES Key Search.” Technical Report TR-244, School of Computer Science (Canada: Carlton University, May 1994). Also appears in Practical Cryptography, edited by Stallings. 289. Wilkes, Maurice, Timesharing Computer Systems (London: Macdonald, 1968). 290. Willis, David, and Mike Lee, “Six Biometric Devices Point the Finger at Se- curity,” Network Computing (1 June 1998). 291. Woodward, John D., “Biometrics: Identifying Law and Policy Concerns,” in Biometrics: Personal Identification in Networked Society, edited by Jain, Bolle, and Pankanti. The article is based on the paper “Biometrics: Privacy’s Friend or Foe?” Proceedings of the IEEE (September 1997). 408 СПИСОК ЛИТЕРАТУРЫ
292. Х9 Financial Services Committee, “Financial Institution Key Management (Wholesale),” Standard X9.17, (Washington, DC: American Bankers Asso- ciation, 1985). Posted on the X9 Online Web site. 293.------, “Managing Risk and Mitigation Planning: Withdrawal of ANSI X9.9,” Report X9/TG-24-1999 (Washington, DC: American Bankers Asso- ciation, 1999). Posted on the X9 Online Web site. 294.------, “PIN Security Compliance Guideline,” Report X9/TG-3 (Washing- ton, DC: American Bankers Association, 1997). Posted on the X9 Online Web site. 295. Yan, Jianxin, Alan Blackwell, Ross Anderson, and Alasdair Grant, “Memo- rability and Security of Passwords—Some Empirical Results,” research pa- per (Cambridge, UK: Cambridge University Computer Laboratory, 2001). 296. Yeager, Wayne B., Techniques of Safecracking (Port Townsend, WA: Loom- panics Unlimited, 1990). 297. Zipes, Jack, ed., The Arabian Nights: The Marvels and Wonders of the Thousand and One Nights (New York: Signet Classic, 1991). СПИСОК ЛИТЕРАТУРЫ 409
Web-ресурсы и производители В этой главе... В данном разделе содержатся все адреса (URL), по которым в World Wide Web можно найти упоминаемую в тексте книги информацию, а также контактные дан ные всех упоминаемых поставщиков. Вся эта информация сосредоточена в книге здесь, поскольку есть высокая вероятность ее изменения. Для получения обнов- ленных сведений необходимо посетить Web-сайт автора данной книги. Список на- званий сайтов, производителей и фамилий приводится в алфавитном порядке. ©Stake security, Web-сайт компании Тематика: технические отчеты по результатам исследования уязвимых мест защиты компьютеров. Сфера деятельности: консалтинг по вопросам защиты компьютеров http://www.atstake.com 196 Broadway Cambridge, МА 02139-1902 617-621-3500 факс: 617-621-1738 Advanced Encryption System, специализированный Web-сайт Тематика: система усовершенствованного шифрования, стандарты шифрования США http: //www.csrc. nist. gov/encryption/aes/index. html American Biometric Company Продукты: сканеры для снятия отпечатков пальцев и программно-' обеспечение для систем BioMouse, BioMouse II http://biomouse.com DEW Engineering & Development Ltd. 3429 Hawthorne Rd. Ottawa K1G 4G2 Canada Apple Computer Продукты: системы Macintosh, аутентификация по голосу http://www.apple.com 1 Infinit Loop Cupertino, CA 95014
AuthenTec Inc. Продукты: система аутентификации по отпечаткам пальцев FingerLoc http://www.authentec.com P.O. Box 2719 Melbourne, FL 32902-2719 321-308-1300 факс: 321-308-1340 Biometric Access Corporation Продукт: устройство для снятия отпечатков пальцев SecureTouch 98 http://www.biometricaccess.com 2555 N, IH 35 Roubd Rock, ТХ 78664 512-246-3760 х119 факс: 512-246-3760 Bureau of Export Administration Encryption, Web-сайт Тематика: коммерческое шифрование, правила экспорта http://www.bxa.doc.gov/Encryption/Default.html 800-888-8242 факс: 650-802-7777 CERT (Computer Emergency Response Team), Web-сайт Тематика: компьютерная безопасность, уязвимые места, отчеты о слу- чаях взлома http://www.cert.org CIAC (Computer Incident Advisory Capability), Web-сайт Тематика: компьютерная безопасность, уязвимые места, отчеты о слу- чаях взлома http://www.ciac.org/ciac/ COAST (Computer Operation, Audit, and Stcurity Technology), Web-сайт Тематика: компьютерная безопасность http://www.cs.purdue.edu/coast/ Communication Intelligence Corporation (CIC) Продукт: набор средств для биометрической аутентификации на основе верификации рукописной подписи http://www.cic.com 275 Shoreline Dr., Suite 500 Redwood Shores, CA 94065 Compaq Corporation Продукт: сканеры для снятия отпечатков пальцев http://www.compaq.com WEB-РЕСУРСЫ И ПРОИЗВОДИТЕЛИ 411
Computer Security Institute (CSI), Web-сайт Тематика: компьютерная безопасность, совместные с ФБР обзоры пре- ступлений http://www.gocsi.com Counterpane Internet Security, Web-сайт Тематика: криптография, компьютерная безопасность http://www.counterpane.com 19050 Pruneridge Ave. Cupertino, CA 95014 408-777-3600 факс: 408-777-3601 Cross Match Technologies Продукты: сканеры отпечатков пальцев ID 100, MV5, Verifier 200, Verifier 250. http://www.crossmatch.net 777 S. Flager Dr., Suite 1200, East Tower West Palm Beach, FL 33401 561-802-3442 факс: 561-802-3117 CryptoCard Продукты: устройства аутентификации с генерацией одноразовых паро- лей CryptoCard RB-1 и соответствующее серверное программное обеспечение http://www.cryptocard.com 300 March Rd., Suite 304 Kanata, Ontario K2K 2E2 613-599-2441 факс: 613-599-2442 Cryptography Research, Web-сайт Тематика: криптография, дифференциальный анализ потребляемой мощности, взлом алгоритма DES, протокол SSL http: //www.cryptography.com Cryptome, Web-сайт Тематика: криптография, АНБ, надзор http://www.cryptome.org Curtin, Matt, персональный Web-сайт Тематика: часто задаваемые вопросы, другая связанная с компьютерной безопасностью информация http:/www. interhach.net/peopl/cmcurtin/ CyberLocator Продукт: аутентификация по месту нахождения с использованием сиг- налов системы GPS http://www.cyberlocator.com 412 WEB-РЕСУРСЫ И ПРОИЗВОДИТЕЛИ
2465 Central Ave., #110 Boulder, CO 80301 303-447-0300 Cyber SIGN Продукт: Cyber SIGN Developers Workshop — набор средств для биомет- рической аутентификации на основе верификации рукописной подписи http://cybersign.com 2635 N. First St., Suite 103 San Jose, CA 95134 408-324-1001 факс: 408-324-1057 Dallas Semiconductor Corp. Продукты: iButton, Java Ring http://www.dalsemi.com 4401 South Beltwood Pkwy. Dallas, TX 75244 972-371-4000 факс: 972-371-3715 DigitalPersona, Inc. Продукт: система безопасности на основе отпечатков пальцев U.are.U Pro http://www.digitalpersona.com 805 Veterans Bvld., Suite 301 Redwood City, CA 94067 877-378-2738 или 650-261-6070 факс: 650-261-6079 Enigma Logic, Inc. Cm. Secure Computing Corporation Ensure Technologies Продукт: используемая для аутентификации система дистанционного опознавания на основе устройств аутентификации карточного типа XyLoc http://www.ensuretech.com 2610 W. Liberty Rd., Suite С Ann Arbor, MI 48103 743-668-8800 факс: 734-668-1242 FIRST (Forum of Incident Response and Security Teams) CD-ROM, Web-сайт Тематика: компьютерная безопасность http://www.alw.nih.gov/Security/first-papers.html IACR (International Association of Cryptographic Research) EPrint, Web-сайт Тематика: криптография, компьютерная безопасность http://www.eprint.iacr.org WEB-РЕСУРСЫ И ПРОИЗВОДИТЕЛИ 413
Identix Продукты: устройства верификации отпечатков пальцев TouchSAFE Personal и TouchNet III. http: //www.identix.com 510 N. Pastoria Ave. Sunnyvale, CA 94086 408-731-2000 факс: 408-739-3308 IEEE P1363a Study Group on Password-Based Authenticated-Key-Exchange Methods, Web-сайт Тематика: основанные на сильных паролях протоколы аутентификации и обмена ключами. http://www.grouper.ieee.org/groups/1363/StudyGroup/Password.html Information Privacy Commissioner/Ontario, Web-сайт Тематика: конфиденциальность, юридические вопросы, провинция Он тарио. http://www/ipc.on.ca/ Informer Systems, Ltd. Продукт: программное обеспечение для аутентификации по отпечаткам пальцев http://www.informer.co.uk Grosvenor House market Street, Bromsgrove B61 8DA Worcestershire, UK Integrity Sciences, Web-сайт Тематика: обмен ключами в зашифрованном виде, SPEKE, аутентифи- кация только на основе пароля. http: //www.integrityscirnces.com с/о Phoenix Technologies Ltd. 411 East Plumeria Dr. San Jose, CA 95134 800-452-8603 или 408-570-1000 факс: 408-570-1001 IriScan, Inc. Продукты: система биометрической аутентификации на основе распо- знавания по радужной оболочке глаза. http://www.iriscan.com 9 Е, Stow Rd., Suite Е Marlton, NJ 08053 877-IRISCAN или 856-797-6890 факс: 856-797-6877 Keyware Tchnologies, Inc. Продукты: системы биометрической аутентификации на основе распозна - вания по голосу Voice Guardian и Layered Biometric Verification Server. http://www.keyware.com 500 W. Cummings Park, Suite 3600 414 WEB-РЕСУРСЫ И ПРОИЗВОДИТЕЛИ
Woburn, MA 01801 800-KEYWARE или 781-933-1311 факс: 781-933-1554 Mercury Security, Web-сайт Тематика: магнитные карточки http://www.mercury-security.com Miros, Inc. Продукты: системы биометрической аутентификации на основе распо- знавания изображения лица TrueFace Web и TrueFace Network. http://www.miros.com 572 Washington St., Suite 18 Wellesley, MA 02482 888-367-6476 или 781-235-0330 факс: 781-235-0720 Mytec Technologies, Inc. Продукты: системы распознавания отпечатков пальцев, в которых за- шифрованные эталоны хранятся на личных аутентификационных кар- точках Touchstone Pro и Mytec Gateway. http://www.mytec.com 1220 Sheppard Ave. E., Suite 200 Toronto M2K 2S5 Canada 416-467-6000 факс: 416-467-9631 National Security Agency (NSA) Тематика: защита информации, криптография, оценки, история крип- тографии http://www.nsa.gov:8080 NIST Computer Security Resource Center Тематика: компьютерная безопасность, федеральные стандарты, крип- тография http://www.csrc.nist.gov/ NT Bugtraq, Web-сайт Тематика: средства защиты ОС Microsoft Windows NT http://www.ntbugtraq.com PC Dynamics, Inc. Продукты: устройства аутентификации ActivCard и соответствующие серверы http://www.pcdynamics.com 31332 Via Colinas, Suite 102 Westlake Village, CA 91362 USA 800-888-1741 факс: 818-889-1014 WEB-РЕСУРСЫ И ПРОИЗВОДИТЕЛИ 415
PixIL, Web-сайт Тематика: Пакет Read This! и другое программное обеспечение для шифрования http://www.members.nbci.com/pixil/index.html Recognition Systems, Inc. Продукты: биометрические системы, распознающие форму руки: ID3D- R HandKey, HandKey II http://www.handreader.com 1520 Dell Ave. Campbell, CA 95008 408-364-6960 факс: 408-370-3679 RSA Security, Inc. Продукты: устройства аутентификации SecurlD и сервера (первоначаль- но производились компанией Security Dynamics). К другим продуктам относятся криптографические библиотеки BSAFE, которые имеют в своем составе шифры открытого ключа RSA (Rivest Shamir Adelman), симметричные шифры Ривеста (RC2, RC4) и алгоритмы хеширования типа “дайджест сообщений” (MD4, MD5) http://www.rsasecurity.com 123 Concord Ave. Bedford, МА 123455 877-RSA-4900 или 781-301-5000 факс: 781-301-5170 SafeWord, Web-сайт Тематика: паролевые устройства аутентификации SafeWord и про- граммное обеспечение соответствующих серверов аутентификации См. также Web-сайт компании Secure Computing. http://www.safeword.com Samba, Web-сайт Тематика: программное обеспечение для файл-серверов, обеспечиваю- щее реализацию протоколов Microsoft SMB на платформе UNIX и на других платформах http://www.samba.org/ Sandstorm Enterprises Продукты: телефонный сканер/номеронабиратель PhoneSweep http://www.sandstorm.net/ Schwartz, Randall, персональный Web-сайт Тематика: дело Intel против Шварца. http://www.stonehenge.com/merlyn/ Secure Computing Corporation Продукты: устройства аутентификации SafeWord, E.id и сервера аутентификации Safeword (первоначально производились компанией Enigma Logic). 416 WEB-РЕСУРСЫ И ПРОИЗВОДИТЕЛИ
Еще одним продуктом, связанным с компьютерной безопасно- стью, является брандмауэр Sidewinder. См. также Web-сайт SafeWord. http://www.securecomputing.com 4810 Harwood Rd. San Jose, CA 95124-5206 800-692-5625 или 408-979-6100 факс: 408-979-6501 Security Dynamics, Inc. Cm. RSA Security, Inc. Security Software Technologies Тематика: программные инструментальные средства, в частности, ути- лита lOphtcrack. http://www.securitysoftwaretech.com/ Senderek, Ralf, персональный Web-сайт Тематика: компьютерная безопасность, криптография, PGP http://www.senderek.de/ Sensar, Inc. Продукт: Биометрическая система аутентификации на основе распозна- вания по радужной оболочке глаза Sensar...SecureCam http://sensar.com 121 Whittendale Dr., Bldg. 2 Moorestown, NJ 08057 856-222-9090 или 888-4-SENSAR факс: 856-222-9020 Smith, Rick, персональный Web-сайт Тематика: аутентификация, криптография, компьютерная безопасность http://www.visi.com/crypto/ T-NETIX, Inc. Продукты: системы биометрической аутентификации на основе распо- знавания голоса: SpeakEZ Voice Print, VeriNet WEB, VoiceEntry II http://www.T-netix.com 67 Inverness Dr. E. Englewood, CO 80112 800-352-8628 или 303-790-9111 факс: 303-790-9540 Tri-Sage Продукты: Sage-ID — система аутентификации с дистанционным счи- тыванием с использованием устройств аутентификации карточного типа http://www.tri-sage.com 1333 Butterfield Rd., Suite 300 Downers Grove, IL 60515 630-241-0500 факс: 630-241-3835 WEB-РЕСУРСЫ И ПРОИЗВОДИТЕЛИ 417
Verisign Продукты: орган по выдаче сертификатов открытых ключей, крипто- графическое программное обеспечение http://www.corporate.verisign.com/index.html Veritel Продукт: система биометрической аутентификации на основе распозна- вания голоса Caller Verification System (CVS) http: //www. veritelcorp. com 70 W. Madison, Suite 710 Chicago, IL 60602 312-803-5000 x2009 факс: 312-803-3311 VerTTex Software Продукт: телефонный сканер/номеронабиратель ModemScan http://www.verttex.com Visionics Corporation Продукты: программное обеспечение распознавания по изображению лица Facelt http://www.visionics.com 1 Exchange Pl., 8th fl. Jersey City, NJ 07302 201-332-9213 факс: 201-332-9313 Wired News, Web-сайт Тематика: технологические новости http://www.wired.com/news/ X9 Online, Web-сайт Тематика: стандарты Ассоциации американских банкиров, безопас- ность, шифрование http://www.x9.org 418 WEB-РЕСУРСЫ И ПРОИЗВОДИТЕЛИ
Предметный указатель ActivCard, 234 AFIS, 172 American Biometric, 175 American Biometrics, 180 Apple, 145 Apple Computer, 177 AppleTalk, 145 ARPANET, 202 ASCII-символ, 298 ASN.l, 361 Asynchronous Transfer Mode, 203 AuthenTec, 175 Automated Fingerprint Identification System, 172 В BBN, 202 Biometric Access, 175 Bio-Mouse, 175 Bolt, Beranek и Newman, 202 c Calling Number ID, 199 CCITT, 202 CERT, 58 CIAC, 59 CNID, 199 Communication Intelligence Corporation, 177 Compaq, 175 Counterpane Internet Security, 163 Сгаск-программа, 86 CRL, 372 Cross Match Technologies, 175 CrossCheck, 175 CryptoCard, 254 CSI, 69 CTSS, 13 Cyber SIGN, 177 D DASS, 370 Datakey, Inc., 225 Denial of service, 208 DES Cracker, 131 DigitalPersona, 175 DOS, 208 DSS,337 DSS-ключ, 339 E Enigma Logic, Inc, 253 Ensure Technologies. 225 Escrowed Encryption Standard, 131 Ethernet, 203 F FAR, 188 FIPS,129 FIPS 113, 255 FIPS 196, 343 FRR, 188 G Global Positioning System, 218 GMT, 238 GPS, 218 GQ, 393 Greenwich Mean Time, 238 H Hashed Message Authentication Code, 211 HMAC, 211 I LANA, 204 Identix, 175 ID-файл, 380 IEEE, 203 IETF, 280 IMS, 202 Informer Systems, 175 Institute for Electrical and Electronics Engineers, 203 Interface Message Processors, 202 International Telephone and Telegraph Consultative Committee, 202 Internet Addressing and Numbering Authority, 204
IP Security Protocol, 210 IP-адрес, 206 IP-имитация, 214 IriScan, 176 К KDC, 302 Keyware Technologies, 177 L LAN Manager, 265 LANMAN, 265 Lotus Notes, 337 LSA, 323 M MAC, 211 MD4, 272 MD5, 211 Message Digest #4, 272 Microsoft Internet Explorer, 164 Microsoft LAN Manager, 145 MIM, 207 Miros, 176 MIT, 13 Model 250 Verifier, 175 Multics, 18 Multiplexed Information and Computing Service , 18 My tec Technologies, 175 N NAS, 279 NCSC, 62 NDS, 388 Netscape, 345 Netscape Navigator 6, 164 NetWare, 145 NetWare Directory Service, 388 Network Access Server, 279 Network File Service, 205 NIST, 212 Novel, 145 NSA, 28 NTLM, 265 NTLM-хеш, 272 О OPUS, 89 P Palm, 162 Password Safe, 163 PC Dynamics, 234 PCMCIA-карта, 228 PEM, 363 PGP, 370 PIN-код, 77 PKINIT, 375 Pocket PC, 162 R Radio Shack, 253 RAX, 14 RC4, см. Алгоритм шифрования, 128 Recognition Systems, 175 Remote Access Computing System, 14 RSA Ace/Server, 280 RSA Factoring Challenge, 333 RSA Security, 333 RSA Security, 237 s S/Key, 257 S/Кеу-сервер, 258 SafeWord, 234 SafeWord Security Server, 280 SAGE, 201 Sage-ID, 225 SAM, 265 Secure Computing Corporation, 234 SecurlD, 237 Security Account Manager, 265 Semi-Automatic Ground Environment, 201 Sensar, 176 SHA, 211 Sony, 175 SSL-шифрование, 156 Stacheldraht, 209 STU III, 364 SYN-лавины, 208 SYN-пакет, 208 SYSKEY, 274 T Tandy, 253 ТСР-последовательность, 207 ТСР-соединение, 205 TCSEC, 19 Telnet-подключение, 207 TFN, 209 TGT, 312 T-NETIX, 177 Transmission Control Protocol, 205 Tripwire, 241 Tri-Sage, 225 TRS-80, 253 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Trusted Computer System Evaluation Criteria, 19 TSO, 45 u UCT, 238 Unicode-символ, 272 Universal Coordinated Time, 238 Universal Serial Bus, 228 USB-ключ, 148 User Datagram Protocol, 216 V Verisign, 356 Veritel, 177 Visionics, 176 w Watchword, 254 X XyLoc, 225 A Абсолютный адрес, 196 Автономная атака, 256 Автономный электронный секретарь, 161 Агентство национальной безопасности, 28 Агентство национальной безопасности США, 131 Администратор, 71 Активная директория, 322 Активное аутентификационное устройство, 225 Алгоритм DES, 51 Message Digest #5, 211 Secure Hash Algorithm, 211 Диффи-Хеллмана, 338 М-209, 51 шифрования, 46 Алгоритм RSA, 330 Алгоритм Нидхема-Шредера, 217 Алгоритм формирования цифровой подписи Джиллоу-Квисквотера, 393 Алгоритм шифрования AES, 127 Blowfish, 127 CAST, 127 DES, 127 IDEA, 127 Rivest Cipher #4, 128 Skipjack, 131 утроенный DES, 130 АНБ, 131 Ареал, 319 Атака воспроизведением, 171 Атака переписывания, 291 Атака с выбранным сообщением, 335 Атака с организацией отказа в обслуживании, 208 Атака типа человек посередине, 207 Атака угадывания, 59 Аутентификатор запроса, 284 ответа, 284 Аутентификатор протокола Kerberos, 310 Аутентификационный агент, 281 Аутентификация, 6 автономная, 94 локальная, 93 непрямая, 93 прямая, 93 Б База данных администратора учетных записей пользователей, 265 Базовая секретная информация, 41 Биометрика, 30; 41; 170 геометрия руки, 175 динамика работы на клавиатуре, 177 лицо, 176 Отпечатки пальцев, 174 радужная оболочка глаза, 176 распознавание речи, 176 рукописная подпись, 177 сетчатка глаза, 175 Биометрическая подпись, 178 Биометрический образец, 178 Биометрический показатель, 171 Битовое пространства, 59 Блочное шифрование, 127 Боевой номеронабиратель, 197 Брандмауэр, 147 Броузер, 156 В Вероятность, 63 Внешний пароль, 147 Внутренний пароль, 145 Временная метка, 307 Временный ключ шифрования, 302 Вычислительно безопасное шифрование, 127 Г Ген, 176 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 421
Генератор паролей, 87 Глобальная система определения местоположения, 218 Голосовой отпечаток, 176 Группирование рисков, 157 д Делегированный пароль, 156 Диграф, 81 Динамическая словарная атака, 56 Диск восстановления, 275 Дифференциальный GPS-метод, 218 Дифференциальный анализ мощности, 101 Длинный ключ, 391 ДНК, 176 Доверительный путь, 27 3 Задача вычисления дискретных логарифмов, 337 Задача разложения на сомножители, 330 Закон Мура, 130 Запираемый экран, 119 Золотые правила, 139 И Идентификационного номера вызывающей стороны, 199 Излучение ван Эка, 28 Имя пользователя, 8; 46 Инкапсуляция сервера, 57 Институт защиты информации в компьютерных системах, 69 Институт инженеров по электронике и электротехнике, 203 Интернетовский червь, 55 Интерфейсный процессор сообщений, 202 Инфраструктура открытых ключей, 366 ИОК, 366 Исключающее или, 286 К Квадратичное просеивание, 333 Квантовый компьютер, 132 Ключ для выдачи мандатов, 313 Ключ сеанса, 307 Ключевая цепочка, 164 Код аутентификации сообщений, 211 Код аутентификации хешированных сообщений, 211 Коммутируемый канал связи, 147 Комплиментарность, 130 Контроллер домена, 272 Коэффициент ошибочных отказов, 188 Коэффициент ошибочных подтверждений, 188 Кривая рабочих характеристики приемника, 188 Кросс-сертификация, 370 Л Личный ключ, 328 м Мандат, 303 посреднический, 317 ссылочный, 318 Мандат разрешения на получение мандатов, 312 Маршрутизатор, 39; 202 Массачусетский технологический институт, 13 Массовое шифрование, 123 Мастер-ключ, 302 Международным консультативным комитетом по телефонии и телеграфии, 202 Миникомпьютер, 198 Многократно используемый пароль, 156 Модем с обратным вызовом, 198 Модуль по числу N, 331 Мониторинг клавиатуры, 26 МТИ, 308 Мэйнфрейм, 20 н Наименьший объем привилегий, 70 Национальное бюро стандартов, 51 Национальный институт стандартов и технологий США, 212 Национальным центром компьютерной защиты, 62 О Одноразовый пароль, 232 Одностороннее хеширование, 17 Однояйцевый близнец, 176 Оператор связи, 72 Открытый ключ, 328 Открытый текст, 120 Отличительное имя, 362 Ошибочное принятие, 171 Ошибочный отказ, 171 422 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
п Папиллярные линии, 178 Паролевая фраза, 62 Пароль, 13; 44 Пассивное аутентификационное устройство, 225 Первичная регистрация пользователей, 246 Переполнение буфера, 55 Периметр безопасности, 94 Перспективная секретность, 165 Пиксель, 298 Повторное использование объекта, 122 Потоковое шифрование, 127 Похищение соединения, 208 Предаутентификация, 316 Предварительный мастер-секрет, 348 Примесь, 257 Принцип запрос — ответ, 253 Принцип учетности действий, 158 Программа lOphtcrack, 86 Проект, 308 Проект ZARF, 18 Просеивание по числовым полям, 333 Протокол ATM, 203 DASS, 388 ЕКЕ, 394 FTP,345 Gopher, 345 HTTP, 259; 358 IPSEC,210 Kerberos, 147 L2TP,279 LDAP, 325 LOCKOut Fortezza, 341 MS-CHAP, 289 NTP, 321 PPP, 279 PPTP, 279 RADIUS, 279 SLIP, 279 SMB, 265 SSL, 156 TACACS, 279 TACACS+, 280 TCP, 205 UDP, 216 XTACACS, 280 Нидхэма-Шредера, 305 X.25, 202 Протокол туннелирования, 280 Процедура М-209, 50 Процедура регистрации, 47 Процесс Winlogon, 323 провайдера поддержки защиты, 323 службы локальной защиты, 323 Р Рабочая группа по инженерным проблемам Internet, 280 Разделение обязанностей, 70 Распределенная служба защиты аутентификации, 370 Реестр, 265 Репутационный капитал, 371 Ретинальная камера, 175 С Самоаутенификация, 74 Самоподписанный сертификат, 371 Секретный ключ, 120 Сервер виртуальных смарт-карт, 388 Сервер выдачи разрешений на получение мандатов, 312 Сервер доступа к сети, 147 Сертификат, 355 Сетевая файловая служба, 205 Сетевой интерфейс, 203 Сетевой сервер доступа, 279 Сеть доверия, 372 Сеть с наследственным затоплением, 209 Сигнал привлечения внимания средств защиты информации, 27 Сигнал работы по принуждению, 22 Синхронизируемый электронный секретарь, 161 Система CTSS, 45 MTS, 45 Multics, 45 RAX, 45 TENEX, 45 UNIX, 45 с разделением времени, 45 Система TENEX. 267 Система шифрования Рабина, 334 Системная утилита контроля очевидных паролей, 89 Системный ключ, 274 Сквозная аутентификация, 289 Словарная атака, 53; 83 Служба каталогов, 388 Случайные секретные данные, 44 Смарт-карта, 7; 228 Сокет, 204 Социальный инжиниринг, 20 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 423
Список отозванных сертификатов, 372 Список сертификатов заверителей сертификатов, 368 Среднее гринвичское время, 238 Среднее пространство атаки, 62 Стандарт FIPS 181, 87 PKCS #11, 393 Х.400, 361 Х.509, 361 Стандарт 802, 203 Стандарт ANSI ХЭЛ 7, 302 Стандарт ANSI Х9.9, 212 Стандарт FIPS Digital Signature Standard, 337 Стандарт условного шифрования, 131 Стандартный язык абстрактного синтаксиса Abstract Syntax Notation #1, 361 Стеганография, 298 т Термография, 176 Тест Миллера-Рабина, 380 Тонкий клиент, 315 Точка равновеликой интенсивности ошибок, 188 Транзитивное делегирование, 159 Трино, 209 ТСР-сращивание, 207 У Универсальная последовательная шина, 228 Универсальное скоординированное время,238 Управление назначения адресов в Internet, 204 Устройство аутентификации, 41 счетчиковое, 232 часовое, 232 Учетная запись, 74 Ф Файл паролей, 46 хешированных паролей, 46 Файл паролей теневой, 48 Федеральный стандарт обработки информации, 129 Федеральным бюро расследований США, 69 Фонд электронных границ, 131 Формуляр Джо, 80 Функциональная ползучесть, 174 Функция принуждения, 86; 141 X Хеширование паролей, 10 ц Центр распределения ключей, 302 Центр распространения сертификатов, 388 Центральное процессорное устройство, 95 Цепь сертификатов, 366 Цифровая подпись, 260 ЦПУ, 95 ч Черный ход, 55 ш Шифротекст, 120 э Эквивалент пароля, 232 Экстракция характеристика, 178 Энтропия базового секрета, 59 424 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Научно-популярное издание Ричард Э. Смит Аутентификация: от паролей до открытых ключей Литературный редактор Верстка Художественный редактор Корректоры Ж.Е. Прусакова В. В. Терещенко С.А. Чернокозинский Л.А. Гордиенко, Т.А. Корзун, Л.В. Коровкина, О.В. Мишугпина Издательский дом “Вильямс”. 101509, Москва, ул. Лесная, д. 43, стр. 1. Изд. лиц. ЛР № 090230 от 23.06.99 Госкомитета РФ по печати. Подписано в печать 26.08.2002. Формат 70x100/16. Гарнитура Times. Печать офсетная. Уел. печ. л. 34,83. Уч.-изд. л. 32,66. Тираж 3000 экз. Заказ № 1164. Отпечатано с диапозитивов в ФГУП “Печатный двор” Министерства РФ по делам печати, телерадиовещания и средств массовых коммуникаций. 197110, Санкт-Петербург, Чкаловский пр., 15.