Модульна система аутентифікації, авторизації та захисту даних для веб-сервісу інтеграції хмарних сховищ
Автор: Морозович Назарій Вікторович
Кваліфікаційний рівень: магістр
Спеціальність: Технології та засоби телекомунікацій
Інститут: Інститут телекомунікацій, радіоелектроніки та електронної техніки
Форма навчання: заочна
Навчальний рік: 2020-2021 н.р.
Мова захисту: українська
Анотація: Морозович Н.В., Лаврів О.А.(керівник). Модульна система автентифікації, авторизації та захисту даних для web-сервісу інтеграції хмарних сховищ. Магістерська кваліфікаційна робота. – Національний університет «Львівська політехніка», Львів, 2020. Розширена анотація. При розгляді web-сервісів найбільш важливими аспектами інформаційної безпеки є автентифікація, авторизація та забезпечення захищеного зберігання призначених для користувача даних. Автентифікація це процедура перевірки автентичності [1]. Автентифікація забезпечує можливість визначити джерело запиту, ідентифікувати автора повідомлення (цифрові підписи, коди автентичності повідомлень). Існує безліч способів автентифікації: • Автентифікація по багаторазовим паролів. • Автентифікація за одноразовими паролями. • Багатофакторна автентифікація. • Біометрична автентифікація. Стосовно до web-сервісів, найбільш популярним способом автентифікації є автентифікація по багаторазовим паролів, так як даний спосіб поєднує в собі відносну простоту реалізації і відсутність складних схем для кінцевого користувача. Так само, слід відзначити, що в деяких випадках використовується багатофакторна автентифікація з метою підвищення захищеності облікових записів користувачів [1]. Авторизація являє собою процедуру надання певного колу осіб або групі осіб прав на виконання певних дій. Авторизація завжди тісно пов’язана з процедурою автентифікації. Забезпечення захищеного зберігання призначених для користувача даних досягається шляхом застосування різного роду криптографічних алгоритмів і протоколів, що дозволяють обмежити доступ третім особам до конфіденційної або просто особистої інформації. В якості таких алгоритмів можуть виступати функції хешування, симетричні і асиметричні алгоритми шифрування і протоколи обміну ключами [1]. Важливо відзначити, що дані алгоритми повинні застосовуватися правильно, тобто мають забезпечувати належний рівень безпеки і протистояти різного роду атакам. Автентифікація в сукупності з шифруванням даних і авторизацією дозволяє практично знизити до мінімуму можливість крадіжки та розшифрування призначених для користувача даних [2]. Однак, дане зауваження є справедливим тільки при правильно побудованій моделі безпеки системи. Кожна система безпечна настільки, наскільки безпечна її найслабша ланка. Основним завданням, що вирішується в даній роботі є розробка механізмів і підсистем автентифікації, авторизації та захищеного зберігання файлів користувача в рамках сервісу розподіленого зберігання файлів на хмарних сховищах даних. Розробку підсистем і механізмів, формально, можна розділити на кілька частин: • Розробка підсистеми автентифікації і авторизації користувачів, з підтримкою автентифікації з використанням браузера і клієнтських додатків. Крім того, сюди так само входить автентифікація на сторонніх сервісах комплексу що розробляється [3]. • Розробка моделі безпеки, що включає в себе можливості захищеної роботи з хмарними сховищами, процедури шифрування, дешифрування, організація роботи з публічними кластерами і публічними посиланнями [3]. Система автентифікації повинна вміти розмежовувати анонімних і зареєстрованих користувачів і надавати привілейований доступ до сервісу і його стороннім компонентів тільки зареєстрованим користувачам. Крім того, повинна бути можливість проходження процедури автентифікації з використанням клієнтських додатків відмінних від браузера. Іншими словами, передбачається наявність можливостей розмежування доступу до REST API сервісу [4]. Система, яка реалізує механізми захищеного зберігання файлів користувача, повинна надавати можливість захищеного зберігання як персональних даних користувача в базі даних сервісу, так і зберігання файлів користувача на хмарних сервісах в зашифрованому вигляді. Важливо відзначити, що всі операції, пов’язані з шифруванням / дешифруванням даних, повинні здійснюватися на стороні клієнта, з метою підвищення загальної безпеки додатки і мінімізації можливої компрометації призначених для користувача даних з боку сервера (тобто іншими словами, шифрування має бути реалізовано між кінцевими користувачами, end-to-end encryption) [4]. Однією з ключових особливостей розроблюваної підсистеми, так і сервісу в цілому, повинна стати можливість захищеного зберігання призначених для користувача мета-даних в базі даних сервісу. Захищене зберігання повинно бути організовано таким чином, щоб потенційна компрометація зловмисниками бази даних з персональними даними користувачів не привела до розкриття важливої персональної інформації і можливості дешифрування зашифрованих файлів користувача [5]. Оскільки цільова система розподіленого зберігання файлів користувача являє собою web-сервіс з призначеної для користувача і серверної частинами, система безпеки так само поділяється на призначену для користувача і серверну частини. Призначена для користувача частина системи безпеки повинна надавати функції шифрування і дешифрування файлів користувача, функції формування ключів шифрування. Серверна частина системи безпеки повинна забезпечувати можливості зберігання персональних даних користувача в базі даних в зашифрованому вигляді, а також методи для автентифікації користувачів, при використанні різних клієнтських пристроїв [6]. Об’єкт дослідження – модульна система автентифікації, авторизації. Предмет дослідження – методи хмарного зберігання файлів. Метою магістерської роботи є розробка модульна система автентифікації, авторизації та захисту даних для web-сервісу інтеграції хмарних сховищ. Розглянуто процес автентифікації в додатках сервісу, а також процесу формування файлових контейнерів. Результати досліджень: • Наведено детальну архітектура всієї програми в цілому. • Розглянуто програмна реалізація підсистеми безпеки. • Зроблено оцінку того, як введення шифрування і зашифрованих файлових контейнерів впливає на роботу кінцевого користувача і всієї програми в цілому. • Проведена інтеграція розробленої підсистеми з іншими частинами сервісу інтеграції хмарних сховищ даних. Ключові слова – авторизація, автентифікація, web-сервіс, дані користувача, система безпеки, підсистема автентифікації, end-to-end encryption, шифрування, дешифрування. Перелік використаних літературних джерел. 1. Kessin Z. Programming Web Services with Erlang : Working with Yaws / Zachary Kessin., 2012. – 70 с. 2. Audu J. A. Introduction to Internet Security for PHP Web Developers / J. A. Audu, A. Fredah.. – 52 с. – (2017). 3. Ballad T. Securing PHP Web Applications / T. Ballad, W. Ballad., 2009. – 336 с. 4. Mitchell L. J. PHP Web Services 2e / Lorna Jane Mitchell., 2016. – 180 с. 5. Alonso G. Web Services : Concepts, Architectures and Applications / G. Alonso, F. Casati., 2003. – 354 с. 6. Masse M. REST API Design Rulebook / Mark Masse., 2011. – 114 с.