Вопрос безопасности информации и личных данных поднимается во всех сферах деятельности, в то время как авторизация и аутентификация являются одними из основных процессов обеспечения защиты и сохранности данных [1, с.172]. Разработка приложений на Python включает в себя значительное внимание к обеспечению безопасности пользовательских данных, осуществляемое с помощью эффективных методов авторизации и аутентификации.
Целью данной статьи является сравнение различных методик авторизации и аутентификации в приложениях Python, с использованием метода аналитической иерархии. Основные задачи исследования включают анализ критериев сравнения различных методов, оценку их эффективности и разработку рекомендаций для разработчиков в области безопасности данных.
Для решения поставленной задачи и выбора оптимального метода, будет применен метод анализа иерархий. Метод аналитической иерархии является одним из способов решения сложных задач с большим количеством элементов, условий, их взаимосвязей и других критериев. Этот метод - математическая формализация всех критериев и условий поставленной задачи [2, c. 63].
Каждый метод авторизации и аутентификации будет оценен по 10-балльной шкале для каждого критерия. Высшая оценка - 10, будет означать абсолютное положительное преимущество данного метода перед альтернативами, которые получили оценку ниже. Этот подход позволит нам систематически проанализировать и оценить каждый метод с учетом его сильных и слабых сторон, что позволит выделить наиболее эффективные и безопасные методы авторизации и аутентификации для приложений на Python.
В данной работе взяты следующие методы авторизации и аутентификации:
- Basic: отправка пары логин/пароль;
- Token-based: использование токенов как идентификаторов;
- Social: вход с помощью социальных сетей;
- 2FA: двухфакторная аутентификация;
- Biometric: использование биометрических данных.
Для сравнения указанных выше альтернатив используются следующие критерии:
- Уровень безопасности: оценка таких параметров, как возможность взлома злоумышленником и защиту от атак посредника, проанализировать слабые точки метода;
- Простота реализации: оценка легкости внедрения метода, его гибкости, адаптивности, интеграции с другими методами;
- Поддержка сообщества: наличие подробной документации и информационных ресурсов с хорошо структурированными руководствами и часто задаваемыми вопросами;
- Использование ресурсов: анализ затрат таких ресурсов, как: память, время и другие ресурсы, необходимые для функционирования метода;
- Долгосрочная перспектива: степень популярности метода среди разработчиков и пользователей, востребованность на рынке, уровень доверия со стороны сообщества, перспектива развития метода.
По итогу оценки выбранных методов авторизации и аутентификации по необходимым критериям получим следующую таблицу:
Таблица 1
Основные показатели существенных признаков альтернатив
Определим следующие количественные значения для уровней важности:
Таблица 2
Уровни важности критериев
И заполним шкалу относительной важности для выбранных критериев:
Таблица 3
Шкала относительной важности критериев
Исходя из данных таблицы 1 проведем сравнение альтернатив по каждому критерию с целью получения веса альтернатив. После расчета весов альтернатив получим следующую общую таблицу:
Таблица 4
Веса альтернатив
Получим значения для каждой альтернативы по формуле VjiVji:
Таблица 5
Значения альтернатив
Важно, чтобы сумма значения равнялась 1. Так мы проверим согласованность решения. Отсортируем по убыванию и получим следующий результат:
Лучшей альтернативой является альтернатива № 4 – 2FA (двухфакторая аутентификация).
Таким образом, выбрав необходимые критерии при разработке системы авторизации и аутентификации и определив их количественные значения для уровней важности, а после оценив показатели существенных признаков альтернатив, с помощью метода аналитической иерархии можно получить количественную оценку каждой альтернативы по выбранным критериям для выбора внедряемого метода. Этот способ может не только помочь в выборе метода авторизации и аутентификации при разработке приложения, но также наглядно отразить сильные и слабые стороны каждых методов в сравнении друг с другом.