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).
- 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