Система аутентифікації підвищеної надійності



В даній статі розглядаються сучасні системи аутентифікації. Автор вибрав метод аутентифікації за допомогою паролю та логіну. Автор також пояснив всі принципи роботи та парадигми котрі пов’язані з системами аутентифікації.

Автор запропонував нову систему аутентифікації, в котрій він використовує поняття акаунту. Головна ідея використовувати логін і пароль від акаунту, але не використовувати реальний. Користувачі системи не будуть знати реальні свої логіни, але вони будуть знати лише паролі. Архітектура системи складається з 3х рівнів, а кожний рівень має свій функціонал. Результати кожної дії в системі зберігаються в базі даних.

Пароль, логін, системи аутентифікації,операційні системи, аккаунт.

Authentication system increased reliability

Valery P. Simonenko, professor, Sc.D; T. Dregalo, postgraduate student

Ukraine,Kiev

The paper deals with modern authentication systems. Author has paid much attention to method of authentication with a use of login and password. He has also explained all laws and paradigms that are related to authentication systems.

The author has proposed a new authentication system, in which he proposes to use an account. The main idea is to use as account login and password, butnot real. Users do not know real login, but they know only password. The proposed system has a 3 level architecture and each level has special functions. Result of any action of system saves in database.

Password, user, authentication system, operation system, account.

Вступ

Питання безпеки було досить актуально завжди. Раніше до даного терміну відносили лише поняття безпеки людей, але в час інформаційних технологій даний термін використовується для захисту інформації. Безпека інформаційних технологій включає в себе набір для захисту та атак. В поняттях безпеки виділяють три основні поняття[1]:

· конфіденційність;

· цілість;

· надійність системи.

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

Постановка задачі

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

Термінологія

Аккаунт – це об’єкт, котрий використовується в запропонованій системі, який складається з логіну, паролю та системних даних, котрі необхідні для роботи системи.

User Level – це перший рівень архітектури, в котрому представлений функціонал користувачів.

SBSL – це другий рівень архітектури, даний рівень представлений системними функціями, підсистемою аудитом та базами даних.

Admin Level – це третій рівень архітектури, за допомогою заданого рівня відбувається управління системою.

Db – це реляційна база даних.

Виклад основного матеріалу

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

Проте не дивлячись навелику кількість способів аутентифікації в 95%[2] випадків використовують комбінацію логіну та пароля, так як інші способи потребують додаткових апаратних пристроїв. Основною проблемою використання даного способу аутентифікації [4] є те, ще користувачі зазвичай використовують прості паролі. Наприклад це можуть бути паролі, типу ім’я та дата народження, ім’я місто рік народження та інші. Протеє ряд інших проблем до яких можна віднести не досконалість існуючих механізмів захисту [1] . Існуючі механізми захисту не досить досконалі, наприклад механізм блокування та ігнорування запитів від одного користувача з певного ІР адресу на певний час, в такому блокування проходить лише на ІР адрес і на певний час, коли час блокування пройде користувач знову зможе надсилати запити.

Для прикладу простий пароль, котрий складається лише з 5 цифр, можна підібрати за 100 тисячі спроб. Отже, щоб підібрати такий пароль потрібно необхідно 100 000 / 3=33,001 спроб (для прикладу було вибрано 3 спроби для аутентифікації після система блокує запити з заданого адресу, в якості було вибрано програму login [3], яка використовується в операційних системах сімействах Linux). Отже нам необхідно 33 тисяч спроб, якщо дані запити робити з різних ІР адресів, наприклад 100, то за 333 такти ми підберемо пароль. Проте даний приклад досить простий та вибраний для демонстрації, але він наглядно демонструє недосконалість системи аутентифікації, питання постає лише в складності пароля та кількості ІР адресів з котрих будуть приходити запити, отже виходить:

$N=\frac{Nv}{Nip},$ де N – кількість спроб за котрі можна підібрати пароль, Nv –максимальна можлива кількість паролів залежить від довжини пароля та кількості можливих символів, котрі використовуються в паролях, Nip кількість ІР адресів з котрих будуть надходити запити, а Nt кількість спроб на аутентифікації. Отже, можна отримати час за котрий можна підібрати пароль отримаємо:

$\tau =\frac{N*\tau d}{Nt}$, де $\tau $ час в хв. за котрий буде підібраний пароль, $\tau $d час в хв. блокування після невдалої аутентифікації.

За даними формулами ми зможемо порахувати, час котрий необхідний для підбору [2] 6 значного цифрового пароля, кількість спроб на аутентифікації, а час блокування 5 хвилин. Результати в таблиці 1 та на рисунок 1.

Таблиця 1. Демонстрація необхідного часу для підбору простого 6 значного пароля.

Маючи 2900 ІР адресів пароль можливо підібрати за 191 хвилину, отже отримаємо графік зображений на рисунку 1. Дивлячись на даний графік з певністю можна сказати, що даний спосіб аутентифікації на пряму залежить від складності пароля та кількості ІР адресів з котрих приходять запити. В цілому графік на рисунку 1 не зміниться для пароля довільної складності. Дивлячись на графік можна сказати, що пароль довільної складності не дасть повного захисту, все опирається лише в час необхідний для підбору.

Рисунок 1. Показує час необхідний для підбору пароля в залежності від кількості ІР адресів.

Системи аутентифікації мають ряд проблем, для вдосконалення її необхідно розбити на декілька автономних рівнів. В першу чергу з управляючого та системного, а також окремо виділити рівень користувачів та аудит. Більш детально зображено на рисунку 2.

Рисунок 2. Схема удосконаленої системи аутентифікації.

Рівень користувача представляє собою об’єкт котрий складається з системних інформації та комбінації логіна та пароля. Рівень SBSL складається з двох блоків, а саме з SEтаSВ. Далі даний об’єкт передається в SE блок, котрий в першу чергу записує запис в базу через підсистему Audit, далі SE блок приймає рішення чи обробляти запити чи ні. Якщо SB прийняв рішення обробляти він передає об’єкт до SB блоку, в іншому випадку система створює Thread та робить йому sleep на певний час, а після закінчення додає запис через блок Audit та повертає значення UL.

На SB блок випадає найбільша завантаженість, даний блок використовує для заміни реального логіну та пароля. Основні функції даного блока зображені на рисунку 3.

Коли користувач робить спробу аутентифікації в систему, спочатку перевіряється чи існує аккаунт з його логіком чи ні, якщо не існує – тоді створюється аккаунт та встановляються початкові параметри, не має різниці чи існує такий логін в системі чи ні. Після створення аккаунту створюється черга в котру додається даний запит. Якщо аккаунт уже існує, тоді запит додається в чергу та чекає свого опрацювання. У кожного аккаунту є поле час відклику, початковий час відклику 0 секунд, з кожною невдалої аутентифікації час відклику буде збільшуватись за певним законом. Кожний наступний запит буде оброблятись за час, який рівний часу відклику аккаунту. Також можна додати функцію автоматичної генерації нового логіну зі збереженням старого пароля, після декількох невдалих спроб аутентифікації,та автоматичної відправки його за допомогою повідомлення користувача. Результат запиту передаються в блок SE, де підсистема Audit зберігає результати.

Рисунку 3. Основні функції SB блока.

У SB блока є багато функцій котрі він сам не може використовувати, до них відносять очистка аккаунту, очистка черги аккаунту, отримання вільного аккаунту та інші, дані функції необхідні для AL. Данні функції будуть доступні для управління системи зовні, наприклад, якщо необхідно очисти чергу чи змінити логін від аккаунту. В свою чергу AL рівень необхідний для правління SBSL. До основних функцій даного рівня відносять заміну логіна чи пароля, довільні маніпуляції над аккаунтами або зміна налаштування інших рівнів. Виклик довільної функції з ALодночасно проходить по двом блокам, виклик самої функції в SB та запис дії підсистемою Audit.

Висновки

Вданій роботі розглянуто сучасні системи аутентифікації, способи та механізми аутентифікації. Зроблено аналіз та знайдено недоліки в існуючих системах, а на основі чого було запропоновану систему аутентифікації на основі поняття аккаунту. Основою котрої є перенаправлення реальних паролів та логінів на аккаунти, а аккаунти в свою чергу мають свої логіни та паролі. Основною відміною від сучасних систем є те, що запропонована система захищає в основному логіни користувачів, а не паролі. В випадку, якщо аккаунт заблокований користувач отримує новий логін, а пароль залишається старим, що в свою чергу в рази збільшує конфіденційність та надійність системи. Ще одною головною перевагою є наявність функції аудиту, результат кожної дії в системі зберігається в базі даних.

Література

  1. Authentication in an Internet Banking Environment [Електронний ресурс] // Federal Financial Institutions Examination Council. – 2010. – Режим доступу до ресурсу: https://www.ffiec.gov/pdf/authentication\_guidance.pdf.

  2. LOGIN(1) [Електронний ресурс]. – 2012. – Режим доступу до ресурсу: http://man7.org/linux/man\-pages/man1/login.1.html.

  3. Таненбаум Э. С. Современные операционные системы. 4-е изд / Э. С. Таненбаум, Х. Бос. – Санкт-Петербург: Питер, 2016. – 1120 с.

  4. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си / Б. Шнайер. – Москва: Триумф, 2002. – 816 с. – (3000).
May 25, 2016