Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы2.doc
Скачиваний:
136
Добавлен:
20.08.2019
Размер:
6.7 Mб
Скачать
  1. Системы аутентификации. Схемы аутентификации с применением паролей. Обеспечение подлинности сеанса связи с использованием механизмов запроса-ответа, отметок времени.

Аутентификация с использованием одноразовых паролей

В основе всех методов аутентификации с использованием пароля лежит предположение о том, что только законный пользователь знает свой пароль. При этом идентификатор пользователя злоумышленник зачастую может легко узнать — особенно, если в качестве идентификатора пользователя используется не назначаемый пользователю ID (случайная строка символов, состоящая из букв и цифр), а так называемое "имя пользователя". Так как обычно "имя пользователя" — это различные варианты комбинации имени и фамилии пользователя, то определить его не составляет большого труда. Соответственно, если злоумышленнику удастся узнать еще и пароль пользователя, то ему будет легко представиться этим пользователем.

Недостатки использования многоразовых паролей

Насколько бы не был пароль засекреченным, узнать его иногда не слишком трудно. Злоумышленник может сделать это, используя различные способы атак, основные из которых приведены ниже:

1. Кража парольного файла. Злоумышленник может прочитать пароли пользователя из

парольного файла или резервной копии.

2. Атака со словарем. Злоумышленник, перебирая пароли, производит в (копии) файле паролей поиск, используя слова из большого заранее подготовленного им словаря. Злоумышленник зашифровывает каждое пробное значение с помощью того же алгоритма, что и программа регистрации.

3. Угадываение пароля. Исходя из знаний личных данных жертвы, злоумышленник пытается войти в систему с помощью имени пользователя жертвы и одного или нескольких паролей, которые она могла бы использовать

4. Социотехника. Объектами этой атаки могут быть пользователи или администраторы. В первом случае злоумышленник представляется администратором и вынуждает пользователя или открыть свой пароль, или сменить его на указанный им пароль. Во втором случае злоумышленник представляется законным пользователем и просит администратора заменить пароль для данного пользователя.

5. Принуждение. Для того чтобы заставить пользователя открыть свой пароль, злоумышленник использует угрозы или физическое принуждение.

6. Подглядывание из-за плеча. Расположенный рядом злоумышленник смотрит за тем, какт пользователь вводит свой пароль.

7. Троянский конь. Злоумышленник скрытно устанавливает программное обеспечение,

имитирующее обычную регистрационную программу, но собирающее имена пользователей и пароли при попытках пользователей войти в систему. Также злоумышленник может скрытно установить на компьютер пользователя аппаратное средство — sniffer клавиатуры, собирающее информацию, которую вводит пользователь при входе в систему.

8. Трассировка памяти. Злоумышленник использует программу для копирования пароля

пользователя из буфера клавиатуры.

9. Отслеживание нажатия клавиш. Для предотвращения использования компьютеров не по назначению некоторые организации используют программное обеспечение, следящее за нажатием клавиш. Злоумышленник может для получения паролей просматривать журналы соответствующей программы.

10. Регистрация излучения. Существуют методы, с помощью которых злоумышленник может перехватывать информацию с монитора путём регистрации излучения, исходящего от электронно-лучевой трубки. Кроме того, существуют способы регистрации не только

видеосигналов.

11. Анализ сетевого трафика. Злоумышленник анализирует сетевой трафик, передаваемый от клиента к серверу, для извлечения из него имен пользователей и их паролей.

12. Атака на "золотой пароль". Злоумышленник ищет пароли пользователя, используемые им в различных системах — домашняя почта, игровые сервера и т.п. Есть большая вероятность того, что пользователь использует один и тот же пароль во всех системах.

Для каждой из этих атак есть методы защиты. Но большинство из этих защит обладают различными недостатками — некоторые виды защит достаточно дороги (к примеру, борьба с побочным электромагнитным излучением и наводками оборудования), другие создают неудобства для пользователей (правила формирования пароля, использование длинного пароля). Один из вариантов защит от различных атак на аутентификацию по паролю — это переход на аутентификацию с использованием одноразовых паролей.

Идея использования одноразовых паролей

Идея применения схем одноразовых паролей явилась заметным шагом вперед по сравнению с использованием фиксированных паролей. При фиксированном пароле узнавший его злоумышленник может повторно его использовать с целью выдачи себя за легального пользователя. Частным решением этой проблемы как раз и является применение одноразовых паролей: каждый пароль в данном случае используется только один раз.

Одноразовые пароли (One-Time Passwords, OTP) — динамическая аутентификационная информация, генерируемая для единичного использования с помощью аутентификационных OTP-токенов (программных или аппаратных).

OTP неуязвим для атаки сетевого анализа пакетов, что является значительным преимуществом перед запоминаемыми паролями. Несмотря на то, что злоумышленник может перехватить пароль методом анализа сетевого трафика, поскольку пароль действителен лишь один раз и в течение ограниченного промежутка времени, у злоумышленника в лучшем случае есть весьма ограниченная возможность представиться пользователем посредством перехваченной информации.

Для того чтобы сгенерировать одноразовый пароль, необходимо иметь OTP-токен.

OTP-токен — мобильное персональное устройство, принадлежащее определённому пользователю, генерирующее одноразовые пароли, используемые для аутентификации данного пользователя.

Другим важным преимуществом применения аутентификационных устройств (OTP-токенов) является то, что многие из них требуют от пользователя введения PIN-кода. Введение PIN-кода может потребоваться:

􀁺 для активации OTP-токена;

􀁺 в качестве дополнительной информации, используемой при генерации OTP;

􀁺 для предъявления серверу аутентификации вместе с OTP.

В случае, когда дополнительно используется еще и PIN-код, в методе аутентификации используются два типа аутентификационных фактора (на основе "обладания чем-либо" и на основе "знания чего-либо"). В этом случае данный метод будет относиться к двухфакторной аутентификации.

Варианты реализации одноразовых паролей

Существует два основных варианта реализации схемы одноразовых паролей:

􀁺 Использование разделяемого списка.

􀁺 Вычисление OTP на стороне клиента.

Разделяемый список является простейшей схемой применения одноразовых паролей. В этом случае пользователь и проверяющий используют последовательность секретных паролей, где каждый пароль используется только один раз. Естественно, данный список заранее распределяется между сторонами аутентификационного обмена. Модификацией этого метода является использование таблицы вопросов и ответов, содержащей вопросы и ответы, использующиеся сторонами для проведения аутентификации, причем каждая пара должна применяться один раз. Существенным недостатком этой схемы является необходимость предварительного распределения аутентифицирующей информации, а после того как выданные пароли закончатся, пользователю необходимо получать новый список. Такое решение, во-первых, не удовлетворяет современным представлениям об информационной безопасности, поскольку злоумышленник может просто-напросто украсть или скопировать список паролей пользователя, после чего легко им воспользоваться. Ну а во-вторых, постоянно ездить за новыми списками паролей вряд ли кому-либо понравится.

Вместе с тем, в настоящее время разработано несколько методов реализации технологии

одноразовых паролей, исключающих указанные недостатки. В их основе лежит вычисление OTP на стороне клиента и испльзование различных криптографических алгоритмов.

Суть метода с вычислением OTP на стороне клиента состоит в следующем:

1. Клиент и сервер имеют разделяемый "секрет".

2. В процессе аутентификации клиент "доказывает" обладание "секретом", не разглашая его.

3. При аутентификации используются криптографические алгоритмы:

􀁺 Функции хэширования.

􀁺 Симметричные алгоритмы (криптография с одним ключом) — в этом случае пользователь и сервер аутентификации используют один и тот же секретный ключ.

􀁺 Асимметричные алгоритмы (криптография с открытым ключом) — в этом случае в устройстве хранится закрытый ключ, а сервер аутентификации использует соответствующий открытый ключ.

Обычно в аутентификационных токенах используются симметричные алгоритмы. Устройство каждого пользователя содержит уникальный персональный секретный ключ, используемый для шифрования некоторых данных (в зависимости от реализации метода) для генерации OTP. Этот же ключ хранится на аутентификационном сервере, которой производит аутентификацию данного пользователя. Сервер шифрует те же данные и сравнивает два результата шифрования:

полученный им и присланный от клиента. Если результаты совпадают, то пользователь проходит процедуру аутентификации.

Аутентификационные токены, использующие симметричную криптографию, могут работать в асинхронном или синхронном режиме. Соответственно методы, используемые аутентификационными токенами, можно разделить на две группы:

􀁺 Асинхронный режим — метод "запрос-ответ".

􀁺 Синхронный режим:

􀁺 метод "только ответ";

􀁺 метод "синхронизация по времени";

􀁺 метод "синхронизация по событию".

Метод "запрос-ответ"

В методе "запрос-ответ" OTP является ответом пользователя на случайный запрос от

аутентификационного сервера (рис. 1).

Рис. 1. Метод "запрос-ответ"

Пример прохождения пользователем процедуры аутентификация при использовании

аутентификационным токеном метода "запрос-ответ":

1. Пользователь (Вадим) вводит своё имя пользователя на рабочей станции.

2. Имя пользователя передаётся по сети в открытом виде.

3. Сервер аутентификации генерирует случайный запрос ("32415926").

4. Запрос передаётся по сети в открытом виде.

5. Вадим вводит запрос в свой OTP-токен.

6. Аутентификационный токен шифрует запрос с помощью секретного ключа Вадима ("cft6yhnj"), в результате получается ответ ("27182818"), и он отображается на экране.

7. Вадим вводит этот ответ на рабочей станции.

8. Ответ передаётся по сети в открытом виде.

9. Аутентификационный сервер находит запись пользователя (Вадима) в аутентификационной базе данных и с использованием хранимого им секретного ключа пользователя зашифровывает тот же запрос.

10. Сервер сравнивает представленный ответ от пользователя ("27182818") с вычисленным им самим ответом ("27182818"). В случае совпадения значений аутентификация считается успешной.

Метод "только ответ"

В методе "только ответ" аутентификационное устройство и сервер аутентификации генерируют "скрытый" запрос, используя значения предыдущего запроса. Для начальной инициализации данного процесса используется уникальное случайное начальное значение, генерируемое при инициализации аутентификационного токена. Схема прохождения пользователем процедуры аутентификации приведена на рис. 2.

Рис. 2. Метод "только ответ"

Пример прохождения пользователем процедуры аутентификация при использовании

аутентификационным токеном метода "только ответ":

1. Пользователь (Сергей) активизирует свой OTP-токен, который вычисляет и отображает ответ на «скрытый» запрос.

2. Пользователь (Сергей) вводит своё «имя пользователя» и этот ответ ("66260689") на рабочей станции.

3. Имя пользователя (Сергей) и ответ ("66260689") передаются по сети в открытом виде.

4. Сервер находит запись пользователя (Сергея), генерирует такой же скрытый запрос и шифрует его с использованием секретного ключа Сергея, получая ответ на свой запрос.

5. Сервер сравнивает представленный ответ от пользователя ("66260689") с вычисленным им самим ответом ("66260689")..

Метод "синхронизация по времени"

В методе "синхронизация по времени" аутентификационное устройство и аутентификационный сервер генерируют OTP на основе значения внутренних часов. Аутентификационный токен может использовать не стандартные интервалы времени, измеряемые в минутах, а в специальном длинном интервале времени, обычно он равняется 30 секундам. Процедура аутентификации показана на рис. 3.

Рис. 3. Метод "синхронизация по времени"

Пример прохождения пользователем процедуры аутентификация при использовании

аутентификационным токеном метода "синхронизация по времени":

1. Пользователь (Константин) активизирует свой OTP-токен, который генерирует OTP ("96823030"), зашифровывая показания часов с помощью своего секретного ключа.

2. Пользователь (Константин) вводит своё имя пользователя и этот OTP на рабочей станции.

3. Имя пользователя и OTP передаются по сети в открытом виде.

4. Аутентификационный сервер находит запись пользователя (Константина) и шифрует показание своих часов с использованием хранимого им секретного ключа пользователя, получая в результате OTP.

5. Сервер сравнивает OTP, представленный пользователем, и OTP, вычисленный им самим.

Метод "синхронизация по событию"

В методе "синхронизация по событию" аутентификационный токен и аутентификационный сервер ведут учет количества раз прохождения процедуры аутентификации данным пользователем, и на основе этого числа генерируют OTP (рис. 4).

Рис. 4. Метод "синхронизация по событию"

Пример прохождения пользователем процедуры аутентификация при использовании

аутентификационным токеном метода "синхронизация по событию":

1. Пользователь (Ольга) активизирует свой OTP-токен, который генерирует OTP ("59252459"), зашифровывая значения количества раз прохождения процедуры аутентификации данным пользователем, с помощью своего секретного ключа.

2. Пользователь (Ольга) вводит своё имя пользователя и этот OTP на рабочей станции.

3. Имя пользователя и OTP передаются по сети в открытом виде.

4. Аутентификационный сервер находит запись пользователя (Ольги) и шифрует значение

количества раз прохождения процедуры аутентификации данным пользователем с

использованием хранимого им секретного ключа пользователя, получая в результате OTP.

5. Сервер сравнивает OTP, представленный пользователем, и OTP, вычисленный им самим.

Группа OATH и система HOTP

Система одноразовых паролей HOTP (HMAC-based One-Time Password System) была разработана в 2005 году в рамках инициативы группы открытой аутентификации OATH (Open AuTHentification) и описана в документе RFC 4226. Данная система основана на концепции OTP-аутентификации с синхронизацией по событию (см. п. "Метод "синхронизация по событию"). Для генерации одноразового пароля используется алгоритм HMAC (Hashed Message Authentication Code).

Этот алгоритм публичен и доступен для изучения любыми специалистами. Он обеспечивает возможность использования с ключами широкого спектра программного обеспечения, в том числе и серверного.

Система HOTP предусматривает возможность задания "окна" попыток аутентификации и

синхронизацию сервера аутентификации с OTP-токеном после успешного прохождения

аутентификации.

Значение одноразового пароля вычисляется по формуле:

HOTP(K,C) = Truncate(HMAC-SHA-1(K,C))

где:

K — секретный ключ;

C — счётчик числа прохождений процедуры аутентификации;

HMAC-SHA-1 — процедура генерации HMAC, основанная на функции хэширования SHA-1;

Truncate — процедура усечения 20-тибайтного значения HMAC-SHA-1 до 4-х байт.

Подробное описание алгоритма генерации одноразового пароля приведено в Приложении 1 "Описание алгоритма генерации и проверки OTP".

Область применения одноразовых паролей

Одноразовые пароли широко применяются в следующих областях:

1. Аутентификация с устройств, не имеющих возможности подключения смарт-карт / USB-ключей (КПК, смартфоны и др.).

2. Аутентификация со временных рабочих мест, где нет возможности устанавливать ПО и среда не является контролируемой.

3. Аутентификация при удаленном доступе через незащищенные каналы связи (при возможном перехвате аутентификационной информации)

4. Аутентификация по голосовому каналу (например, удаленное управление банковским счетом).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]