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

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

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

Так как обычно «имя пользователя» — это различные варианты комбинации имени и фамилии пользователя, то определить его не составляет большого труда. Соответствен­но, если злоумышленнику удастся узнать и пароль пользователя, то ему будет легко представиться этим пользователем. Насколько бы ни был пароль гасекреченным, узнать его иногда не слишком трудно. Злоумышленник может сделать это, используя различ­ные способы атак (см. выше раздел «Недостатки методов аутентификации с запоминае­мым паролем» в гл. 2)

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

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

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

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

В качестве возможных устройств для генерации одноразовых паролей обычно ис­пользуются ОТР-токены.

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

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

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

• для активации ОТР-токена;

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

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

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

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

Естественно данный список заранее распределяется между сторонами аутентифика- ционного обмена.

Такая схема применяется в настоящее время в некоторых системах «Интернет-банк».

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

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

ОТР-токены имеют небольшой размер и выпускаются в виде:

• карманного калькулятора;

• брелока;

• смарт-карты;

• устройства, комбинированного с USB-ключом;

• специального программного обеспечения для карманных компьютеров, смартфо­нов, настольных компьютеров.

Для генерации одноразовых паролей ОТР-токены используют хэш-функции или криптографические алгоритмы:

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

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

Существуют различные комбинации использования данных криптографических ал­горитмов в реализациях ОТР-токенов.

Соответственно механизмы аутентификации, используемые ОТР-токенами можно разделить на две группы:

• аутентификация с одним секретным ключом,

• аутентификация с открытым ключом

 

2. Методы аутентификации с помощью ОТР-токенов

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

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

• в асинхронном режиме («запрос-ответ»);

• в синхронном режиме («только ответ», «синхронизация по времени», «синхрони­зация по событию»).

В методе «запрос—ответ» OTP является ответом пользователя на случайный запрос сервера аутентификации (рис. 1).

 

 

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

 

Пример аутентификации пользователя при использовании ОТР-токеном метода «за­прос—ответ»:

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

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

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

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

5. Пользователь вводит запрос в свой ОТР-токен.

6. ОТР-токен шифрует запрос с помощью секретного ключа пользователя («cft6yhnj»), в результате получается ответ («27182818»), который отображается на экране ОТР-токена.

7. Пользователь вводит этот ответ на рабочей станции.

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

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

10. Сервер сравнивает представленный ответ от пользователя («27182818») с вычис- ченным им самим ответом («27182818»).

11. При совпадении значений аутентификация считается успешной.

 

 

В методе «только ответ» аутентификационное устройство и сервер аутентификации генерируют «скрытый» запрос, используя значения предыдущего запроса Для начальной инициализации данного процесса используется уникальное случайное начальное значе­ние, генерируемое при инициализации ОТР-токена.

 


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

 

Пример аутентификации пользователя при использовании ОТР-токеном метода «только ответ» (рис. 2):

1. Пользователь активизирует свой ОТР-токен, который вычисляет и отображает от­вет на «скрытый» запрос.

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

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

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

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

6. При совпадении значений аутентификация считается успешной.

В режиме «синхронизация по времени» аутентификационное устройство и аутентификационный сервер генерируют OTP на основе значения внутренних часов. ОТР-токен может использовать не стандартные интервалы времени, измеряемые в минутах, а специальные интервалы времени обычно равные 30 с.

Пример аутентификации пользователя при использовании ОТР-токеном метода «син­хронизация по времени» (рис. 3):

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


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

 

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

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

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

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

6. При совпадении значений аутентификация считается успешной.

 

В режиме «синхронизация по событию» ОТР-токен и сервер аутентификации ведут количественный учет прохождения аутентификации данным пользователем, и на основе этого числа генерируют OTP.

Пример аутентификации пользователя при использовании ОТР-токеном метода «синхронизация по событию» (рис. 4):

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

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

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

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

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

6. При совпадении значений аутентификация считается успешной


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

 

Некоторые ОТР-токены могут использовать несколько различных методов реализа­ции аутентификации с помощью OTP. Наиболее часто комбинируются методы «синх­ронизация по времени» и «синхронизация по событию»

 

3. Недостатки методов аутентификации с помощью OTP. Возможные атаки

Ниже приведены известные атаки на системы, использующие аутентификацию с по­мощью ОТР-токенов, и защиты от них.

 

Таблица 1

Атаки на одноразовые пароли и защита от них

Описание атаки Защита от данной атаки
Атака «Человек посередине•
Злоумышленник перехватывает одноразо­вый пароль, посланный законным пользо­вателем при аутентификации, блокирует законного пользователя и использует пе­рехваченный пароль для входа в систему. Использование метода «запрос—ответ» Использование вместо синхронных одноразовых паро­лей, имеющих легитимность «в продолжительном» пе­риоде времени, одноразовых паролей, работающих по принципу «запрос-ответ». Каждое новое соединение тре­бует выполнения аутентификации заново.
Кража аутентификационного токена
Злоумышленник похищает аутентифика- ционный токен законного пользователя и использует его для входа в систему. PIN-коды в аутентификационных токенах Использование аутентификационных токенов, тре­бующих от владельца ввода PIN-кода перед началом генерации OTP
Подбор PIN-кода аутентификационного токена
Злоумышленник вручную производит пе­ребор всех возможных значений PIN-кода похищенного им аутентификационного токена законного пользователя. Блокирование после ввода неправильного PIN-кода Аутентификационныи токен отключается после того как пользователь вводит неправильное значение PIN-кода подряд более заданного количества раз. Увеличение задержки для каждого ввода неправильного PIN-кода Если вводится неправильное значение PIN-кода, то следующая попытка ввода PIN-кода возможна только через определенный промежуток времени, с каждым неправильным вводом эта задержка увеличивается.
Извлечение значения секретного ключа из программного аутентификационного токена
Злоумышленник копирует программный аутентификационный токен (програм­мное обеспечение), пытается найти в нем хранимый секретный ключ, чтобы потом его использовать для аутентификации под видом законного пользователя PIN-код является частью секретного ключа Частью секретного ключа аутентификационного токена является PIN-код, без его знания нельзя сгенерировать правильный OTP, даже зная часть секретного ключа, ко­торый хранится в программном аутентификационном токене.
Подбор PIN-кода аутентификационного токена с помощью известных OTP
Злоумышленник перехватывает несколь­ко правильных OTP, использованных для входа в систему, копирует программный аутентификационныи токен (программное обеспечение), штем он пытается подобрать PIN-код путем перебора его возможных значений, для тестирования пробного значения PIN-кода используются пере­хваченные OTP. Использование «аппаратных» аутентификационных токенов В этом случае достаточно сложно произвести «в реальные сроки» перебор возможных значении PIN-кода до мо­мента обнаружения владельцем пропажи токена и ин­формирования аутентификационного сервера о том, что данный токен может быть использован злоумышленником.
Нечестный администратор аутентификационных токенов
Злоумышленник является доверенным лицом либо является посредником дове­ренного лица, производящего инициали­зацию аутентификационного устройства до передачи его владельцу. Он может со­здать дубликат токена и, используя его, выдавать себя за владельца. Разделение ответственности при инициашзации аутен­тификационных токенов В процессе программирования и активирования токена должны участвовать двое или более людей, каждый из которых выполняет строго ограниченный набор опе­раций.
     

 

Контрольные вопросы

1. Что такое одноразовые пароли?

2. Опищите принцип работы ОТР-токенов.

3. Приведите пример аутентификации пользователя при использовании ОТР-токеном метода «запрос—ответ».

4. Приведите пример аутентификации пользователя при использовании ОТР-токеном метода «только ответ».

5. Приведите пример аутентификации пользователя при использовании ОТР-токеном метода «синхронизация по времени».

6. Приведите пример аутентификации пользователя при использовании ОТР-токеном метода «синхронизация по событию».