
- •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.4. Противодействие несанкционированному воспроизведению
Рассмотренные схемы не гарантируют защиты от несанкционированного воспроизведения -сохранения значений хэш-функции легальных пользователей, полученных в результате мониторинга запросов в целях их использования для несанкционированного доступа в более поздние сроки. Парольная схема с защитой от несанкционированного воспроизведения представлена на рис. IX.5.
Идея сводится к введению дополнительной хэш-функции h^(x). Как и в рассмотренных выше случаях, после ввода пароля и идентификатора вычисляется значение q', затем q' и некоторое число t (смысл которого будет разъяснен ниже) поступают на вход /»з- Вычисленное в результате значение г' вместе с идентификатором id и числом t передается проверяющему, который вычисляет г = hz(q + t) и сравнивает с принятым г'. Положительное решение о предоставлении доступа принимается при г = г'.
Параметр £, или одноразовое число (в английской терминологии nonce), обеспечивает уникальность каждого запроса на предоставление доступа. Для принятия положительного решения о предоставлении доступа проверяющий обязан установить, что число t из текущего запроса не использовалось ранее, в противном случае запрос отвергается. Один из способов реализации одноразовых чисел — применение механизма временных меток при условии существования синхронизированной системы единого времени для запрашивающего и проверяющего. Другой способ — генерация некоторого случайного числа для каждого запроса. Очевидно, что при этом проверяющий должен сохранять все использованные ранее числа в специальной базе данных.
Отметим, что рассмотренная схема все еще уязвима с точки зрения компрометации проверяющего. Зная q и id, злоумышленник может вычислить подходящее значение t и получить несанкционированный доступ.
1.5. Одноразовые пароли
Назначение схемы одноразовых паролей — противодействие угрозе несанкционированного воспроизведения. Суть схемы — использование различных паролей в каждом новом запросе на предоставление доступа. Известны следующие способы реализации идеи одноразовых паролей:
• общий для легального пользователя и проверяющего список случайных паролей и надежный механизм их синхронизации;
• общий генератор случайных чисел, с одним и тем же начальным значением для пользователя и проверяющего;
• механизм временных меток на основе системы единого времени.
Рассмотрим схему на основе персонального генератора паролей (рис. IX.6).
Предположим, что описанные в предыдущих разделах функции реализованы в миниатюрном персональном устройстве с дисплеем. Устройство генерирует и выводит на дисплей некоторое значение г'. Затем выданное значение используется в качестве пароля и передается проверяющему по открытому каналу связи.
Персональное устройство имеет секретный ключ key.
Предполагается, что:
• секретный ключ key недоступен благодаря технологическому уровню реализации устройства;
• устройство функционирует в системе единого времени с проверяющим.
Для получения доступа легальный пользователь вводит в персональное устройство пароль р'. Устройство выводит на дисплей значение т' = h3(t + key + hi(p' + key)), вычисленное при помощи хэш-функций hi и /»3, где t — временная метка. Затем значение г' вместе с идентификатором id передается проверяющему по открытому каналу связи. База данных проверяющего для каждого id содержит секретный ключ key и значение q = h\(p + key). Положительное решение о предоставлении доступа принимается в случае г' = /г2(<? + key + t). Схема имеет следующие преимущества:
• атака невозможна, если злоумышленник знает пароль р, но не имеет доступа к устройству;
• атака невозможна, если злоумышленник имеет доступ к устройству, но не знает пароляр;
• атака невозможна, если злоумышленник знает q (например, утечка информации из базы данных), но не знает ключа key;
• защита от несанкционированного воспроизведения запроса (id, r') гарантирована благодаря механизму временных меток.
Дополнительная безопасность обеспечивается за счет периодической смены пароля р (и соответственно q в базе данных проверяющего), хотя персональное устройство и ключ key могут оставаться без изменения в течение длительного времени.
Другой вариант реализации идеи одноразовых паролей предложен в схеме S-Key [100].
На начальном этапе легальный пользователь случайно выбирает некоторое число г и для заданного системного параметра п при помощи рекурсивного хэширования вычисляет финальное значение wq:
wq = h(h(... h(h(wn))...)), где h(x) — некоторая хэш-функция, wn = r.
Значение wq вместе с параметром п и идентификатором id передается проверяющему по аутентичному каналу связи. Проверяющий записывает WQ,n,id в базу данных. На этом заканчивается начальный этап формирования параметров схемы одноразовых паролей.
Далее легальный пользователь в целях получения доступа вычисляет (или извлекает из памяти) первый одноразовый пароль
wi = h(h(...h(h(wn))...))
(n-l) рази передает его проверяющему по открытому каналу связи.
Проверяющий, в свою очередь, вычисляет значение w'0 = h(wi). Положительное решение о предоставлении доступа принимается в случае равенства текущего одноразового пароля и пароля из базы данных: w'Q = wq. По факту положительного решения проверяющий выполняет корректировку базы данных: записывает w\ вместо wq и (и — 1) вместо п.
При следующем запросе легальный пользователь вычисляет одноразовый пароль(п-2) раз.
В случае w\ = /г(гу2) проверяющий обновляет базу данных: вычитает единицу из п и записывает текущий одноразовый пароль Wj+1 вместо предыдущего Wi (u>2 вместо w\ и т.д.).
Таким образом, при каждом новом запросе используется уникальный пароль. При п = О параметры схемы генерируются заново. Основная цель злоумышленника заключается в раскрытии следующего одноразового пароля wi+i по текущему Wj, то есть сводится к вычислительно-трудоемкой задаче обращения хэш-функции Wj+i = h~l(wi).