Программно-аппаратная реализация аутентификации с использованием одноразовых паролей (методы)

Страницы работы

Фрагмент текста работы

этом выработка пароля происходит с использование следующих криптографических алгоритмов:

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

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

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

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

Сегодня разработано и используется на практике несколько вариантов реализации систем аутентификации по одноразовым паролям.

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

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

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

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

Уязвимости технологии ОТР

Технологии одноразовых паролей являются достаточно надежными. Однако она имеет ряд уязвимостей. Их можно разделить на 2 группы:

a.  Подмена сервера аутентификации. При этом пользователь передает свои данные напрямую злоумышленнику, который использует их для аутентификации на реальном сервера. Сложнее дело обстоит с методом «запрос-ответ», где злоумышленник должен выступать в роли «посредника» при обмене запросами между клиентом и сервером. На практике подобного рода атака трудно осуществима

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

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

Похожие материалы

Информация о работе