Назад в библиотеку

Формирование требований к протоколу аутентификации

Авторы: Афанасьева А.А., Чернышова А.В.
Источник: Интеллектуальные системы и программирование (ИУСМКМ-2023): Сборник материалов XIV Международной научно-технической конференции, г. Донецк, 24-25 мая 2023 г. – Донецк: Донецкий национальный технический университет, 2022 – С. 62-66.

Аннотация

Афанасьева А.А., Чернышова А.В. Формирование требований к протоколу аутентификации. Рассмотрены современные тенденции в области аутентификации. Определены достоинства, недостатки, способы шифрования в протоколах аутентификации. Предложены рекомендации и требования к собственному протоколу аутентификации.

Общая постановка проблемы

В современных условиях существует достаточно методов и подходов аутентификации субъектов различных систем. Но при наличии, казалось бы, отличных средств аутентификации, до сих пор актуальны вопросы несанкционированного доступа к программным системам.

Современные протоколы аутентификации всё ещё имеют уязвимости, которые могут быть использованы злоумышленниками. К примеру, существующие стандартизированные протоколы аутентификации, такие как OAuth и SAML, хорошо изучены, но они также могут быть подвержены определенным угрозам, таким как атаки типа "Man-in-the-Middle" или перехват сессий.

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

Кроме того, разработка собственного протокола аутентификации может обеспечить более четкий контроль над безопасностью информации. А в случае ограниченности ресурсов – протокол аутентификации, который потребляет меньше ресурсов, чем существующие протоколы, позволит оптимизировать производительность системы и сократить затраты.

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

Современные тенденции в области аутентификации

Современные тенденции в области аутентификации направлены на улучшение безопасности и удобства для пользователей. Одной из подобных тенденций является многофакторная аутентификация (MFA) – комбинация двух или более методов аутентификации. MFA повышает уровень безопасности, так как злоумышленнику необходимо обойти несколько методов аутентификации, а не только один.

В последнее время набирает популярность биометрическая аутентификация – метод аутентификации, который использует уникальные физические характеристики пользователя, такие как отпечаток пальца или сканирование лица. Биометрическая аутентификация не требует запоминания паролей, но может быть менее безопасна, если злоумышленник получит доступ к устройству, на котором хранятся биометрические данные.

Имеет место быть и аутентификация с помощью электронных ключей (USB-ключи) – это физические устройства, которые можно использовать для аутентификации пользователя. Ключи могут содержать уникальные идентификаторы или сертификаты, которые подтверждают личность пользователя. Пользователи могут использовать USB-ключи на нескольких устройствах. Однако, существует опасность потери ил кражи такого ключа.

Аутентификация на основе открытых стандартов, таких как OAuth и OpenID Connect, предоставляет возможность использовать один и тот же логин и пароль для нескольких сервисов. Данный метод может быть менее безопасным, если злоумышленник получит доступ к учетной записи на одном из сервисов.

Все эти механизмы аутентификации служат для защиты данных пользователей, их целостности и конфиденциальности. Для передачи аутентификационных данных и контроля доступа клиентов к ресурсам системы используют протокол аутентификации.

Достоинства и недостатки популярных протоколов аутентификации

Логин-пароль (Password-Based Authentication, PBA) – наиболее распространенный протокол аутентификации, который требует от пользователя ввода логина и пароля для проверки правильности введенных данных. К его достоинствам относятся:

При всем удобстве использования парольной аутентификации можно выделить некоторые её недостатки:

Протокол OAuth [1] используется для авторизации приложений для доступа к ресурсам и данным пользователя в других приложениях. Основные достоинства протокола:

Недостатки протокола:

Ещё один протокол с открытым исходным кодом – SAML (Security Assertion Markup Language). Пользователи могут использовать SAML для безопасной аутентификации на нескольких сайтах и приложениях. Достоинства данного протокола:

Среди недостатков протокола SAML можно выделить:

Широко распространён и протокол аутентификации Kerberos, который используется в сетях Windows для обеспечения безопасности приложений и сервисов. Он предоставляет электронные билеты, которые пользователи могут использовать для доступа к сервисам. Среди его достоинств можно выделить:

Недостатки протокола:

LDAP (Lightweight Directory Access Protocol) – протокол использования каталога для хранения пользовательских данных и аутентификации в клиент-серверных приложениях [2]. Среди его достоинств выделяют легкую масштабируемость, использование шифрования данных, а также обеспечение централизованного доступа к списку пользователей и управление их учетными записями. Однако, данный протокол может быть ограничен в работе с определенными системами, нуждается в настройке, а также не может предоставлять аутентификацию, если не работают один или несколько серверов.

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

Шифрование в протоколах аутентификации

Шифрование – это процесс обеспечения конфиденциальности передаваемых данных, а также защита от несанкционированного доступа к ним. Шифрование данных, передаваемых в протоколах аутентификации, является одним из важнейших вопросов информационной безопасности. Рассмотрим, каким образом оно используется в каждом из протоколов.

В LDAP обычно используется протокол SSL/TLS для шифрования передаваемых данных. SSL (Secure Sockets Layer) и TLS (Transport Layer Security) – это протоколы, которые обеспечивают безопасное соединение с веб-сервером с защитой от прослушивания. SSL/TLS использует симметричное шифрование для защиты передаваемых данных. Ключ для шифрования генерируется на стороне сервера и передается клиенту в зашифрованном виде.

В протоколе OAuth используются токены, полученные от авторизационного сервера, для защиты передаваемых данных и для доступа к защищенным ресурсам. Шифрование коммуникации между сервером авторизации и клиентским приложением также обеспечивает SSL/TLS-подключение.

SAML использует протокол XML Signature для обеспечения контроля целостности данных и протокол XML Encryption для шифрования SAML-токенов и обеспечения конфиденциальности данных, передаваемых между поставщиком идентификации и сервисом, обращающимся к ресурсам.

Протокол Kerberos использует симметричное шифрование для защиты передаваемых данных и контроль целостности сообщений. Ключ для шифрования генерируется на стороне сервера и передается клиенту в зашифрованном виде.

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

Формирование требований к протоколу аутентификации

В целом при формировании требований к протоколу аутентификации необходимо учитывать различные факторы, такие как: безопасность, скорость, пользовательский опыт, совместимость, защита передаваемых данных.

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

К тому же, стоит понимать, какие меры должны быть приняты для отслеживания действий пользователей в системе. Система может, например, требовать ведения журнала аутентификации для отслеживания неудачных попыток входа в систему.

Конечно, пользователи не должны испытывать неудобства при использовании протокола. Хороший протокол не должен требовать излишней сложности при аутентификации. Однако, протокол должен обеспечивать контроль доступа и быть достаточно сложным и устойчивым к взлому. Это гарантирует, что злоумышленники не смогут получить доступ к конфиденциальной информации пользователей.

Протокол аутентификации должен быть надежным и безопасным. Это гарантирует, что данные пользователей не будут изменены или уничтожены злоумышленниками. Необходимо определить меры для защиты данных, хранящихся на сервере: хранение паролей в зашифрованном виде, использование криптографических методов при передаче данных пользователя.

В то же время, протокол должен быть достаточно быстрым и эффективным, что позволит пользователям получать доступ к системе быстро и комфортно. Также, протокол должен быть расширяемым, что в перспективе и при необходимости позволит добавлять в него новые функции и опции.

Выводы

В целом, наиболее простой и эффективный способ проверки подлинности пользователей – аутентификация посредством пароля. Однако, в данном случае, необходимо создавать сложные и уникальные пароли, ставить требования сложности для повышения уровня безопасности.

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

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

Стоит также рассматривать вариант использования двухфакторной аутентификации, которая включает два разных способа проверки подлинности пользователя. Например, пароль и SMS-код.

К тому же, возможно использование дополнительной аутентификации на серверной стороне, например, проверка IP-адреса и использование временных маркеров для подтверждения идентификации пользователя.

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

Наиболее важная задача после анализа требований к протоколу аутентификации - продумать механизм использования протокола аутентификации при разработке разных приложений, а не одного конкретного приложения. Конечно, при наличии большого количества известных решений, рассмотренных в этой статье и ранее, в работе [3], задача проектирования собственного протокола не является простой, но при надлежащем анализе существующих решений, можно будет предложить собственное решение для безопасной аутентификации на уровне приложений.

Литература

1. The OAuth 2.0 Authorization Framework [Electronic resourse] / Интернет-ресурс. – Режим доступа: [Ссылка]
2. Lightweight Directory Access Protocol [Electronic resourse] / Интернет-ресурс. – Режим доступа: [Ссылка]
3. Чернышова А.В., Афанасьева А.А. Методы безопасной аутентификации в клиент-серверных приложениях // Программная инженерия: методы и технологии разработки информационно вычислительных систем (ПИИВС2022): Сборник материалов IV Международной научно-практической конференции, г. Донецк, 29-30 ноября 2022 г. – Донецк: Донецкий национальный технический университет, 2022 – С. 74-80.