Введение
Традиционным способом аутентификации в компьютерной системе является ввод логина и пароля. Эталонная пара логин — пароль хранится в специальной базе данных.
Использование статических паролей имеет ряд существенных минусов:
- Пользователь может забыть пароль
- Пароль может быть подсмотрен, перехвачен, подобран
Решением этой проблемы является использование ограниченности по времени действия пароля субъекта, по истечении которого пароль необходимо поменять. Суть этого метода — пароль действителен только для одного входа в систему, при каждом следующем запросе доступа — требуется новый пароль.
Еще один способ повышения защищенности системы — так называемая, расширенная или многофакторная аутентификация. Она построена на совместном использовании нескольких факторов аутентификации.
Примером использования многофакторной аутентификации и одноразового пароля является аутентификация с помощью аппаратных токенов и PIN кодов. Вместо аутентификации с помощью ввода многоразового пароля, пользователь имеет при себе специальное устройство “токен” (token), которое генерирует пароли, действующие только один раз. Токен представляет собой устройство с дисплеем и клавиатурой. Для генерирования одноразового пароля пользователь должен ввести в данное устройство свой PIN код. Таким образом, для аутентификации пользователю необходимо:
- Иметь специальное устройство – токен
- Знать свой PIN код
Полученный одноразовый пароль пользователь использует для входа в систему.
Очевидно, что аутентификация с помощью аппаратных токенов более безопасный способ, чем использование статического пароля. Однако у него есть один большой минус — пользователям необходимо иметь при себе отдельное устройство – токен. При решении данной проблемы появилась идея использовать в качестве токенов устройства, которые люди всегда носят с собой: мобильные телефоны, КПК, ноутбуки и т.д.
На устройство пользователя устанавливается специальное приложение – программный (виртуальный) токен. Он работает на принципе двухфакторной аутентификации. После установки приложения, пользователю необходимо пройти процесс регистрации своего устройства на сервере организации, к ресурсам которой требуется получать доступ. Далее для генерирования одноразового пароля пользователю необходимо ввести PIN код в приложении на своем устройстве.
Таким образом, для аутентификации пользователю необходимо:
- Загрузить на свое устройство специальное приложение — программный токен (выполняется однократно)
- Зарегистрировать устройство на сервере организации (выполняется однократно)
- Знать свой PIN код
Полученный одноразовый пароль пользователь может использовать для входа в систему.
Одной из реализаций описанного способа является приложение Mobile-OTP (Mobile One Time Passwords).
Установка продукта
Рассмотрим процесс установки продукта со стороны конечного пользователя.
(Подробный обзор системы управления доступом от установки до работы).
Загрузите java приложение на ваше устройство и пройдите процесс установки. После завершения установки приложения запустите его. Теперь необходимо инициализировать устройство на сервере организации, к ресурсам которой мы хотим получить доступ. Далее вводите произвольным образом последовательность из 25 чисел. Сервер запишет код, определяющий Ваше устройство. После чего при попытке аутентификации сервер аутентификации считывает этот код. Если этот код совпадает со значением, полученным на сервере, аутентификация устройства считается успешной.
Принцип работы
Приложение генерирует одноразовый пароль, хешируя следующую информацию:
- Текущее время, с точностью до десятой секунды
- Четырехзначный PIN код, который вводят пользователи
- Шестнадцатеричный код, который создается, при инициализации устройства
Хеширование происходит при помощи алгоритма MD5. Алгоритм MD5 (Message Digest 5) — алгоритм однонаправленной хэш-функции, вырабатывающий из входного сообщения 128-битовое хэш-значение. Алгоритм разработан профессором Рональдом Л. Ривестом из Массачусетского технологического института. Алгоритм MD5 предназначен для создания «отпечатков» или «дайджестов» сообщений произвольной длины и последующей проверки их подлинности. Для более подробного ознакомления с информацией пройдите по ссылке: ru.wikipedia.org/wiki/MD5.
После ввода PIN кода приложение выдает первые шесть цифр хэш-функции. Это и есть одноразовый пароль.
Таким образом, аутентификация пользователя в системе зависит от двух факторов:
- PIN код пользователя
- Код инициализации устройства
Преимущества технологии Mobile-OTP
- Нет необходимости иметь с собой специальное устройство – аппаратный токен. Его заменит Ваш мобильный телефон.
- Требуется только установка программного обеспечения на мобильное устройство. Никаких дополнительных драйверов и дополнительного программного обеспечения
- Продукт построен на основе двухфакторной аутентификации
- Продукт работает на всех мобильных устройствах, поддерживающих java приложения
- Широкий спектр поддерживаемых мобильных устройств: iPhone, Nokia, Siemens, Motorola, Sony, BlackBerry, и т.д.
- Одноразовый пароль действует только в течение одного сеанса
- Open source продукт
Автор: Indeed