
- •1. Пароли
- •1.1. Противодействие раскрытию и угадыванию пароля
- •1.2. Противодействие пассивному перехвату
- •1.3. Защита при компрометации проверяющего
- •1.4. Противодействие несанкционированному воспроизведению
- •1.5. Одноразовые пароли
- •1.6. Метод «запрос-ответ»
- •2. Биометрические методы
- •3. Криптографические методы аутентификации
- •3.1. Аутентификация в режиме on-line
- •3.1.1. Протокол 1. Симметричная криптосистема
- •3.1.2. Протокол 2. Асимметричная криптосистема
- •3.2. Аутентификация при участии нескольких серверов
- •3.3. Организация серверов аутентификации
- •3.4. Аутентификация в режиме off-line
- •3.4.1. Протокол на основе симметричной криптосистемы
- •3.4.2. Протокол на основе асимметричной криптосистемы
- •3.5. Аутентификация с привлечением арбитра
- •3.5.1. Протокол 3. Симметричная криптосистема
- •3.5.2. Протокол 4. Асимметричная криптосистема
- •4. Анализ протоколов аутентификации
- •4.1. Протокол с сервером аутентификации
- •4.2. Протокол «запрос-ответ»
- •4.3. Протоколы на основе асимметричных криптосистем
- •4.4. Протокол с «двуликим Янусом»
- •4.5. Протокол стандарта х.509
- •4.6. Протокол для сетей подвижной радиосвязи
- •4.7. Анализ протоколов ssh и ака
- •5. В an-логика
- •6. Протокол Kerberos
- •6.1. Модель Kerberos
- •6.2. Этапы протокола Kerberos
- •6.3. Атрибуты
- •6.4. Сообщения Kerberos версии 5
- •6.5. Получение первоначального мандата
- •6.6. Получение мандатов прикладных серверов
- •6.7. Запрос услуги
- •6.8. Kerberos версии 4
- •6.9. Безопасность Kerberos
Аутентификация (используется как материал для самостоятельного изучения)
Аутентификация представляет собой метод проверки подлинности, позволяющий достоверно убедиться в том, что субъект действительно является тем, за кого он себя выдает. Отметим, что идентификация в отличие от аутентификации заключается в присваивании уникальных имен-идентификаторов и позволяет субъекту (пользователю, или процессу, действующему от имени пользователя) называть себя (сообщать свое имя) в ответ на соответствующий запрос системы.
Субъект может подтвердить свою подлинность, если предъявит по крайней мере одну из следующих сущностей:
• нечто, что он знает (пароль, личный идентификатор, криптографический ключ и т.п.):
• нечто, чем он владеет (персональную карточку или иное устройство аналогичного назначения);
• нечто, что является частью его самого (голос, отпечатки пальцев или иные биометрические характеристики).
Отметим, что аутентификация может применяться не только для установления подлинности пользователей, но и для проверки подлинности источника сообщений. В распределенных средах, когда аутентификации подвергаются процессы или данные, криптографические методы выходят на передний план; по существу им нет альтернативы.
1. Пароли
Парольная защита — один из основных применяемых на практике механизмов аутентификации. Системы парольной защиты часто подвергаются атакам со стороны злоумышленников; несовершенство существующих способов защиты является объектом непрерывной критики. Выбор адекватных мер противодействия во многом зависит от понимания системными администраторами природы существующих угроз. К известным угрозам относятся: раскрытие и угадывание пароля, пассивный перехват, компрометация проверяющего, несанкционированное воспроизведение. Рассмотрим возможные меры противодействия угрозам [64].
1.1. Противодействие раскрытию и угадыванию пароля
Раскрытие — свободный доступ к секретному паролю со стороны злоумышленника. Существует множество причин утечки секретной информации. Например, несекретный режим хранения: легальный пользователь, чтобы не забыть пароль, записывает его на бумаге. В некоторых случаях пароли хранятся в открытых файлах данных или исполняемых программ. Необходимую секретную информацию можно получить, просматривая распечатки
Длина пароля |
26 символов (a-z) |
96 символов (a-z,A-Z, и т.д.) |
256 символов (все ASCII) |
3 |
2с |
1 мин. |
27 мин. |
4 |
1 мин. |
2.35ч |
4 дня |
5 |
19 мин. |
9 дней |
3 года |
6 |
8.6ч |
2 года |
891 год |
7 |
9 дней |
238 лет |
2 283 веков |
8 |
241 день |
228 веков |
584 546 веков |
9 |
17 лет |
21 945 веков |
149 643 989 веков |
10 |
447 лет |
2 106 744 веков |
38 308 861 211 веков |
Таблица IX. 1. Трудоемкость силовой атаки
системных протоколов. А разве нельзя, в конце концов, просто позвонить системному администратору, представиться легальным пользователем и потребовать замены пароля? Очевидно, что угроза раскрытия усугубляется в случае, если один и тот же пароль известен группе пользователей.
Меры противодействия раскрытию сводятся к следующему:
• разъяснение специфики существующих угроз;
• строгая политика безопасности;
• регулярная смена паролей;
• индивидуальные пароли;
• секретные методы ввода и хранения паролей;
• легко запоминающиеся пароли.
Отметим, что для раскрытия пароля из шести символов латинского алфавита методом силовой атаки (исчерпывающий перебор) в худшем случае понадобится проверить не менее 309 миллионов комбинаций (266 = 309М). Оценки вычислительной трудоемкости силовой атаки при производительности 10 тыс. паролей в секунду приведены в табл. IX. 1 (по материалам корпорации PKWARE, Inc.).
Угадывание паролей также представляет серьезную проблему. Некоторые последовательности символов, выбираемые в качестве паролей, могут использоваться чаще, чем все остальные. Моррис и Томпсон (Morris, Thompson) провели исследование 3289 различных паролей [135] и обнаружили 2831 (86%) «слабый» пароль. Из них:
• 15 состояли из одного ASCII-символа;
• 72 -— из двух ASCII-символов;
• 464 — из трех ASCII-символов;
• 477 — из четырех алфавитно-цифровых символов;
• 706 — из пяти букв (все либо строчные, либо прописные);
• 605 — из шести строчных букв.
Таким образом, специальные частотные словари имен, словоформ и акронимов позволяют упростить угадывание пароля. Непродуманная политика безопасности, допускающая ввод коротких паролей, — еще одна причина успешных атак на системы парольной защиты. Естественно, многие пользователи отдают предпочтение коротким паролям за легкость запоминания и ввода. При этом задача злоумышленника также существенно упрощается —сокращается объем перебора возможных вариантов. Брешь в политике безопасности создает отсутствие строгого ограничения на использование стандартных паролей, устанавливаемых по умолчанию на фазе инсталляции компонентов системы. Стандартные пароли должны меняться сразу же после первого предоставления доступа, в противном случае доступ должен блокироваться. Уязвимо также применение в качестве паролей собственных имен или других персональных характеристик пользователей, например даты рождения. Распространенная практика — использование одной последовательности символов для пароля и системного имени login.
Известно, что сетевой вирус Worm широко распространился в Internet благодаря алгоритму угадывания паролей [132]. Процедура угадывания состояла из трех этапов:
• в первую очередь выполнялась проверка на:
— отсутствие пароля;
— совпадение пароля с именем login;
— конкатенацию имени login с самим собой;
— реверсивное имя login;
— собственное имя пользователя (всегда можно извлечь из системных файлов);
• затем осуществлялся поиск пароля в словаре объемом 432 слова, состоящем в основном из английских названий и имен;
• последняя проверка — поиск пароля в on-line-словаре ОС UNIX™ (с проверкой варианта замены прописных букв строчными).
Существенно более простой алгоритм угадывания паролей — проверка на отсутствие пароля и совпадение его с именем login — не ограничил распространения другого сетевого вируса WANK&OILZ [133].
Известны следующие меры противодействия угадыванию паролей:
• разъяснение специфики существующих угроз;
• ограничение числа попыток ввода пароля;
• снижение продуктивности угадывания путем введения дополнительной задержки при проверке пароля;
• проверка в целях запрета:
— слишком коротких паролей;
— паролей, совпадающих с именем login;
— паролей на основе персональных данных пользователей;
— паролей в виде часто употребляемых слов и последовательностей символов (проверка по словарю);
• регулярная смена паролей:
• ограничение времени жизни стандартных паролей, устанавливаемых по умолчанию при инсталляции;
• применение специальных программ генерации паролей.
К сожалению, меры противодействия раскрытию и угадыванию паролей в достаточной степени противоречивы. Соблюдение мер противодействия угадыванию отрицательно сказывается на удобстве пользования паролями. Если пароль трудно запомнить, возникает соблазн записать его на бумаге, следовательно, возникает угроза раскрытия пароля. Все это необходимо учитывать при проектировании парольной защиты, стремясь к сбалансированному решению. Некоторые рекомендации по парольной защите изложены в федеральном стандарте США FIPS PUB 112, а также в рекомендациях Министерства обороны США [134].