Сучасні інформаційні технології/4. Інформаційна безпека

Студент Марчук Є.В., доц.. каф. КСЗІ Мелешко О.О.

Національний авіаційний університет,Україна.

Криптографічний захист авторизації користувачів

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

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

Перший етап – Ідентифіка́ція – процедура розпізнавання користувача в системі, як правило, за допомогою наперед визначеного унікального ідентифікатора або іншої апріорної інформації про нього, яка сприймається системою, та дає можливість однозначно визначити користувача. Однакові ідентифікатори є неприпустимими в будь-якій системі.

Отримавши введений користувачем логін система виконує другий етап –  Автентифікáція процедура підтвердження особи, що ввела унікальний ідентифікатор, встановлення його належності користувачеві на основі пароля — певної конфіденційної інформації, знання якої передбачає володіння певним ресурсом в мережі.

У випадку збігу логіна та пароля з даними в базі даних користувачів – успішної автентифікації – настає третій етап – Авториза́ція надання користувачу прав на виконання певних дій, доступу до конфіденційної інформації, а також процес перевірки (підтвердження) даних прав при спробі виконання цих дій.

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

З будь-якого шифротексту можливо отримати початкові дані, але час, витрачений на це, залежить від складності алгоритму шифрування та самих даних. Методи розкриття зашифрованих повідомлень основані на використанні словників (існуючі слова), графічних послідовностей (алгоритми набору даних відповідно до розміщення клавіш клавіатури) та повного перебору (“Brute Force”). Надійність паролю визначається теоретичним часом, необхідним сучасним обчислювальним машинам для виконання повного перебору можливих комбінації.

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

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

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

Для розкриття дайджестів використовують “райдужні таблиці” – таблиці, що містять наперед прораховані значення хешів простих ти коротких паролів. За відносно невеликий час зловмисник може отримати значення всіх паролів бази даних, що зберігає результати хешування.

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

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

Розглянему одну з найпоширеніших систем криптографічного захисту авторизації користувачів, яка використовуєть в операційних системах Windows 2K та багатоьх веб-сайтах всесвітньої мережі Інтернет.

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

Користувач вводить у запропоноване клієнтською стороною поле свій ідентифікатор та пароль.

Ідентифікатор надсилається на сервер у відкритому вигляді. Клієнтська сторона у відповідь від сервера отримує випадкове число, створене криптостійким генератором псевдовипадкових чисел (КГПЧ) - сеансовий ключ користувача, який одночасно заноситься в базу даних у відповідне поле, та сіль.

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

За умови використання хеш-функції SHA1 на сервер відправиться такий дайджест:

SHA1(SHA1(пароль, сіль), сеансовий ключ)

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

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

 

 

 

 

 

 

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