Технологія software token (віртуальний токен)

Традиційним способом аутентифікації в комп'ютерній системі є введення логіна і пароля. Еталонна пара логін - пароль зберігається в спеціальній базі даних.

Використання статичних паролів має ряд істотних мінусів:

  • Користувач може забути пароль
  • Пароль може бути подсмотрен, перехоплений, підібраний

Вирішенням цієї проблеми є використання обмеженості за часом дії пароля суб'єкта, після закінчення якого пароль необхідно поміняти. Суть цього методу - пароль дійсний тільки для одного входу в систему, при кожному наступному запиті доступу - потрібен новий пароль.

Ще один спосіб підвищення захищеності системи - так звана, розширена або багатофакторна аутентифікація. Вона побудована на спільному використанні декількох факторів аутентифікації.

Прикладом використання багатофакторної аутентифікації і одноразового пароля є аутентифікація за допомогою апаратних токенів і 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