Введение 5
Постановка задачи 7
Обзор литературы 8
Глава 1. Основы аутентификации 12
1.1 Основные понятия 12
1.2 Классификация систем аутентификации 14
1.3 Примеры систем аутентификации 16
Глава 2. Современные методы аутентификации 19
2.1 Многофакторная аутентификация 19
2.2 Беспарольная аутентификация 21
2.3 Аутентификация на основе OpenlD 23
Глава 3. Сравнительный анализ методов аутентификации 25
3.1 Критерии сравнения методов аутентификации 25
3.2 Фреймворк сравнения механизмов аутентификации 27
3.2.1 Безопасность 28
3.2.2 Удобство использования 30
3.2.3 Развёртываемость 31
3.3 Методика численного сравнения механизмов аутентификации 32
3.4 Сравнение распространённых методов аутентификации 34
Глава 4. Сценарии аутентификации пользователей 39
4.1 Примеры систем, в которых требуется аутентификация пользователей 39
4.2 Хранилище данных медицинского учреждения 40
4.3 Интернет-мессенджер 44
4.4 GRID-система 47
4.5 Общее сравнение систем 50
Глава 5. Суверенная идентичность и децентрализованные идентификаторы 52
5.1 Понятие суверенной идентичности (self-sovereign identity) 52
5.2 Децентрализованные идентификаторы (DID) 54
Глава 6. Практическая реализация системы аутентификации 56
6.1 Двухфакторная система аутентификации с использованием OTP 56
6.2 Беспарольная система аутентификации с использованием magic link 57
6.3 Децентрализованная система аутентификации 58
6.4 Принцип работы системы децентрализованной аутентификации 63
Глава 7. Анализ результатов 65
7.1 Анализ построенной системы по методике трёх критериев 65
7.2 Сравнение системы с существующими аналогами 72
7.3 Дальнейшие направления работы 74
Выводы 76
Заключение 78
Список литературы 79
В настоящее время проблема идентификации и аутентификации в сети Интернет является актуальной, как никогда раньше. С одной стороны, существует множество Интернет-сервисов - от социальных сетей до банковских сервисов и сайтов государственных организаций - ведущих учёт пользователей и разграничивающих их права доступа к тем или иным ресурсам. Таким сервисам необходимо знать, какой именно пользователь пытается получить доступ к ним и является ли этот пользователь тем, за кого он себя выдаёт.
С другой стороны, в последнее время значительно участились атаки злоумышленников на веб-сервисы. Цели данных атак могут быть различными - от кражи персональных данных до попыток шантажа и вымогательства. Однако во всех случаях слабым местом систем, подвергающихся атакам, является именно система аутентификации. По оценке компании Verizon, ежегодно собирающей статистику по утечкам данных, до 80% успешных хакерских атак (в том числе атаки на крупнейшие сервисы с миллионами пользователей) удались именно из-за слабости системы парольной защиты [1, 2].
Именно поэтому такую важность приобрела задача разработки и применения более надёжных систем аутентификации пользователей. Современные системы аутентификации основываются на различных факторах - от знания секретной информации до биологических свойств организма человека. Более того, многие системы не ограничиваются одним фактором, а используют сразу несколько. Такой подход значительно повышает безопасность системы и снижает вероятность несанкционированного доступа.
В настоящий момент существует множество систем аутентификации, каждая из которых имеет как свои достоинства, так и свои недостатки.
Возникает вопрос выбора наилучшей системы аутентификации для того или иного случая, для чего требуется определить, по каким критериям нужно проводить сравнение и как сравнивать между собой системы, основанные на совершенно разных принципах и факторах.
Особый интерес предоставляют децентрализованные системы аутентификации. Они тесно связаны с понятием суверенной идентичности - идеи о том, что пользователь должен сам контролировать свои личные данные, а не уступать это право другим сторонам. Зачастую для реализации децентрализованных систем аутентификации используется технология блокчейн.
В данной работе рассмотрены методы, применяемые для аутентификации пользователей в современных распределённых системах. Предложен фреймворк для сравнения методов аутентификации, основанных на различных принципах, и проведено сравнение наиболее распространённых методов по нескольким критериям. На практике реализованы системы аутентификации пользователей, в том числе система децентрализованной аутентификации.
В рамках данной работы получены следующие результаты:
1. Проведено исследование проблемы аутентификации пользователей в распределённых вычислительных системах. Рассмотрены основные методы, применяемые в настоящий момент, принципы их работы, достоинства и недостатки.
2. Проведено сравнение методов, применяемых для аутентификации пользователей. Определены основные критерии сравнения, использован фреймворк, учитывающий наиболее важные критерии.
3. Определены достоинства и недостатки рассмотренных методов в различных условиях. Рассмотрено несколько различных сценариев аутентификации пользователей с примерами конкретных кейсов.
4. Реализованы на практике системы аутентификации пользователей. Реализованная децентрализованная система сравнена с уже существующими по основным критериям, в том числе и в приложении к конкретной задаче.
Все задачи, сформулированные перед началом работы, были выполнены в полном объёме. Поставленные цели в ходе работы были достигнуты.