Научная статья на тему 'СРАВНИТЕЛЬНОЕ ИССЛЕДОВАНИЕ МЕТОДОВ АУТЕНТИФИКАЦИИ В ИНФОРМАЦИОННЫХ СИСТЕМАХ'

СРАВНИТЕЛЬНОЕ ИССЛЕДОВАНИЕ МЕТОДОВ АУТЕНТИФИКАЦИИ В ИНФОРМАЦИОННЫХ СИСТЕМАХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
189
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ / АУТЕНТИФИКАЦИЯ / АВТОРИЗАЦИЯ / OAUTH / JWT / API / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / БИОМЕТРИЯ / ЦИФРОВОЙ СЕРТИФИКАТ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Феоктистов И.В.

Безопасный и контролируемый доступ к личным или коммерческим данным является одной из важнейших потребностей в современном мире. Постоянное развитие информационных технологий способствует проникновению их в повседневную жизнь человека, однако необходимо ограничивать доступ к важным и персональным данным от посторонних лиц и злоумышленников, средства которых также не стоят на месте. Аутентификация является первым шагом на пути пользователя к доступу к информационной системе. В данной работе представлено сравнительное исследование как распространенных, так и перспективных методов аутентификации, а именно: доступ на основе имени и пароля, токены доступа, протокол OAuth, JSON Web Tokens (JWT), API-ключи, биометрическая, поведенческая и основанная на сертификатах безопасности аутентификации. В каждом разделе представлены обзор метода, его преимущества и недостатки, а также примеры использования и сферы применения. Данное исследование поможет разработчикам и архитекторам информационных систем выбрать наиболее подходящий метод для аутентификации в разрабатываемых системах с учетом требований к безопасности и характеристикам программного обеспечения.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPARATIVE STUDY OF AUTHENTICATION METHODS IN INFORMATION SYSTEMS

One of the most important needs in the modern world is a safe and controlled access to private or commercial data. Constant information technology evolution contributes to its penetration into everyday life of every person, but we have to limit access to important and personal data from strangers and hackers, whose technologies also do not stay at one place. Authentication is a first step on the way for a person to get access to an information system. A comparative analysis of common and perspective authentication methods, such as credential access, token access, OAuth protocol, JSON Web Tokens (JWT), biometrical, behavioral and certificate access, are introduced in this work. Each method overview, its advantages and disadvantages, examples and spheres of use are provided in every chapter. It can help software developers and architects to choose the correct way of authentication according to their systems characteristics and security requirements.

Текст научной работы на тему «СРАВНИТЕЛЬНОЕ ИССЛЕДОВАНИЕ МЕТОДОВ АУТЕНТИФИКАЦИИ В ИНФОРМАЦИОННЫХ СИСТЕМАХ»

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

Феоктистов Игорь Витальевич

специалист, МГТУ им. Н.Э. Баумана, ifeoktistov.development@gmail.com

Безопасный и контролируемый доступ к личным или коммерческим данным является одной из важнейших потребностей в современном мире. Постоянное развитие информационных технологий способствует проникновению их в повседневную жизнь человека, однако необходимо ограничивать доступ к важным и персональным данным от посторонних лиц и злоумышленников, средства которых также не стоят на месте. Аутентификация является первым шагом на пути пользователя к доступу к информационной системе. В данной работе представлено сравнительное исследование как распространенных, так и перспективных методов аутентификации, а именно: доступ на основе имени и пароля, токены доступа, протокол OAuth, JSON Web Tokens (JWT), API-ключи, биометрическая, поведенческая и основанная на сертификатах безопасности аутентификации. В каждом разделе представлены обзор метода, его преимущества и недостатки, а также примеры использования и сферы применения. Данное исследование поможет разработчикам и архитекторам информационных систем выбрать наиболее подходящий метод для аутентификации в разрабатываемых системах с учетом требований к безопасности и характеристикам программного обеспечения.

Ключевые слова: информационная безопасность, аутентификация, авторизация, OAuth, jWt, API, программное обеспечение, биометрия, цифровой сертификат.

Введение

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

Пользовательские имя и пароль

Описание и принцип действия

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

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

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

Преимущества и недостатки

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

X X

о

го А с.

X

го m

о

м о м

CJ

fO

es о es

о ш m

X

3

<

m О X X

Токены доступа

Общее описание

Принцип действия токенов доступа базируется на понятии токенов на предъявителя (bearer tokens). При успешной регистрации или аутентификации в смежной системе пользователь получает токен, который является его пропуском к определенному функционалу. Далее этот токен отправляется при каждом запросе к серверу, обычно в заголовке HTTP-запроса. Сервер в свою очередь валидирует токен и предоставляет доступ к запрашиваемому ресурсу, в случае успешного подтверждения действительности токена.

При реализации аутентификации, основанной на токенах, часто используются готовые фреймворки и протоколы, такие как OAuth или JSON Web Tokens (JWT). Такие решения предоставляют стандартизированные методы выпуска, валидации и аннулирования токенов, обеспечивая унифицированный подход и интероперабельность в различных системах.

Протокол OAuth

Описание и принцип действия

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

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

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

Преимущества и недостатки

OAuth является одним из самых распространенных протоколов аутентификации в сети интернет из-за большого количества преимуществ:

a. OAuth можно использовать для веб-страниц, API, мобильных и десктопных приложений.

b. Помимо процесса аутентификации OAuth предоставляет возможности для гибкой настройки авторизации, обновления и отзыва токенов.

c. Повышенная безопасность. Токены доступа избавляют от необходимости передачи учетных данных пользователя с каждым запросом, значительно снижая риск перехвата и неавторизованного доступа. Также токены могут быть с коротким временем жизни, что дополнительно уменьшает время на проведение возможной атаки [10].

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

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

Однако есть ряд недостатков:

a. Сложность реализации из-за наличия большого количества механизмов, в которых разработчику нужно разобраться.

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

JSON Web Tokens

Описание и принцип действия

JSON Web Tokens (JWT) получили значительную популярность, как безопасный метод аутентификации в программировании. Такие токены представляют из себя компактные, автономные коды, отформатированные в соответствии с требованиями спецификации JSON [6], и отображающие идентификатор пользователя и авторизационную информацию. Такой метод дает возможность серверу верифицировать и аутентифи-цировать токены, не обращаясь к базе данных.

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

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

Преимущества и недостатки

JWT имеет схожие с OAuth преимущества в частях безопасности, масштабируемости и пользовательского опыта, но также может предложить свои преимущества:

a. Автономность. Такой подход убирает необходимость использовать базу данных на стороне сервера, что позволяет еще удобней масштабировать систему и увеличивает производительность, за счет отсутствия дополнительных запросов.

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

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

Однако есть ряд ограничений:

a. Размер токена. Токен может приобретать большие размеры, если разработчик заложит передачу большого количества смежной информации в теле токена, что может сказаться на производительности и доступности сети из-за постоянной передачи токена при каждом запросе. Также стоит отметить, что длина токена ограничена длиной HTTP заголовка или требованиями сервера.

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

c. JWT обладает ограниченной областью применения из-за невозможности предоставления токена третьей стороне в

виду отсутствия сервера управления токенами. И в основном используется только для взаимодействия с API.

API ключи

Описание и принцип действия

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

Процесс такой аутентификации обычно осуществляется по следующим шагам:

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

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

c. Валидация на стороне сервера. Сервер получив запрос, начинает валидацию переданного ключа. Выполняется проверка наличия ключа в базе данных авторизованных ключей и проверяются выданные разрешения, приписанные этому ключу. Если ключ распознан и авторизован, то сервер выполняет принятый запрос.

Преимущества и недостатки

У API ключей есть свои преимущества:

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

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

c. Детальное управление доступом, осуществляемое за счет присвоения конкретному ключу прав и уровней доступа к системе, позволяет досконально контролировать обращение к ресурсам или функционалу, доступному при запросе.

Однако существуют и значительные недостатки такого подхода, в основном связанные с постоянством и длительным временем жизни токенов:

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

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

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

Аутентификация, основанная на сертификатах

Описание и принцип действия

Такой вид аутентификации является криптографическим методом, в основе которого лежат цифровые сертификаты. В основном такой метод используется в программах, требующих защищенного соединения и взаимного доверия между частями системы. Аутентификация, основанная на сертификатах, включает в себя использование инфраструктуры открытых ключей (ИОК) и доверенных сертификатов, выпущенных удостоверяющим центром для идентификации пользователей или систем. Чаще всего для сертификата используется формат Х.509, согласно которому, сертификат должен содержать данные о серийном номере, субъекте, алгоритме подписи, алгоритме хэш-функции, издателе,сроке действия, открытом ключе и другую информацию [5]. Для работы с таким типом аутентификации должно быть по крайней мере три элемента: клиент, сервер и удостоверяющий центр, которому доверяют оба участника процесса.

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

a. Генерация сертификата. Пользователи или сущности генерируют пару криптографических ключей (публичный и приватные ключи) и создают запрос на получение сертификата (CSR). Затем CSR отправляется в доверенный центр сертификации для выпуска самого сертификата.

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

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

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

e. При взаимной аутентификации другая сторона выполняет аналогичные действия.

Преимущества и недостатки

К преимуществам относятся:

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

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

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

X X

о

го А с.

X

го m

о

м о м

CJ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

м см о см

о ш т

X

3

<

т О X X

Однако разработчикам стоит учитывать, что при таком подходе есть ряд существенных ограничений и недостатков:

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

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

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

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

Биометрическая аутентификация

Описание и принцип действия

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

Процесс биометрической аутентификации можно разделить на три шага:

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

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

а Решение и предоставление доступа. Основываясь на результатах сравнения, система определяет насколько точно данные совпадают с сохраненными. Если совпадение превышает заданный процент, то система верифицирует пользователя.

Преимущества и недостатки

Основные преимущества:

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

b. Удобство пользователя. С использованием такого подхода пользователю больше не нужно запоминать учетные данные или коды доступа, что повышает благоприятность пользовательского опыта и снижает риск уязвимостей, связанных с подбором пароля [4].

Однако имеется и ряд существенных ограничений:

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

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

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

Поведенческая аутентификация

Описание и принцип действия

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

Чтобы реализовать такой вид аутентификации необходимо следовать следующим шагам:

a. Сбор данных в сыром виде с различных устройств и сенсоров.

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

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

Преимущества и недостатки.

К преимуществам можно отнести следующие факторы:

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

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

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

Минусы такого подхода в основном определяются недостаточным количеством исследований этой темы и невырабо-танными практиками применения. Из серьезных недостатков на момент написания работы можно выделить:

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

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

Выводы и дальнейшие перспективы.

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

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

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

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

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

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

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

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

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

Литература

1. Ревенков П. В., Бердюгин А. А., 2016, Кибербезопас-ность в условиях Интернета вещей и электронного банкинга

2. Яблочкин А. С., Кошкин А. П. (2019), Современные направления исследований в области стратегий информационной безопасности.

3. Alkhalil, A., Anwar, M. W., & Mahmoud, Q. H. (2018). Comparative analysis of authentication methods for secure internet banking. In 2018 15th Learning and Technology Conference (pp. 82-89). IEEE.

4. Bradley, J., & Sakimura, N. (2019). OAuth 2.0 Security Best Current Practice. RFC 8252.

5. Housley, R., Polk, W., Ford, W., & Solo, D. (2002). Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. RFC 3280.

6. Jones, M., Bradley, J., & Sakimura, N. (2015). JSON Web Token (JWT). RFC 7519.

7. Kharthik, B., Reddy, K. (2023). A Comparative Analysis of Various Multifactor Authentication Mechanisms.

8. Liang, Y., Samtani, S., Guo, B., and Yu, Z. (2020). Behavioral Biometrics for Continuous Authentication in the Internet of Things Era: An Artificial Intelligence Perspective.

9. NIST Special Publication 800-63B. (2017). Digital Identity Guidelines: Authentication and Lifecycle Management.

10. Papathanasaki, M., Maglaras, L., & Ayres, N. (2022). Modern Authentication Methods: A Comprehensive Survey.

11. Password Storage Cheat Sheet. [Электронный ресурс]. URL:

https://cheatsheetseries.owasp.org/cheatsheets/Password_Stora ge_Cheat_Sheet.html (дата обращения: 07.05.2023).

12. Perols, J. L., Zimmerman, J. L., & Eining, M. M. (2019). Continuous Authentication Using Behavioral Biometrics: A Review. Journal of Management Information Systems, 36(3), 982-1013.

13. Wiedermann, W., & Hyysalo, J. (2019). Behavioral Biometrics and Continuous Authentication: A Survey.

X X

о

го А с.

X

го m

о

м о м

CJ

Comparative study of authentication methods in information systems Feoktistov I.V.

MSTU im. N.E. Bauman

JEL classification: C10, C50, C60, C61, C80, C87, C90

One of the most important needs in the modern world is a safe and controlled access to private or commercial data. Constant information technology evolution contributes to its penetration into everyday life of every person, but we have to limit access to important and personal data from strangers and hackers, whose technologies also do not stay at one place. Authentication is a first step on the way for a person to get access to an information system. A comparative analysis of common and perspective authentication methods, such as credential access, token access, OAuth protocol, JSON Web Tokens (JWT), biometrical, behavioral and certificate access, are introduced in this work. Each method overview, its advantages and disadvantages, examples and spheres of use are provided in every chapter. It can help software developers and architects to choose the correct way of authentication according to their systems characteristics and security requirements.

Keywords: information security, authentication, authorization, OAuth, JWT, API, software, biometry, digital certificate.

References

1. Revenkov P. V., Berdyugin A. A., 2016, Cybersecurity in the context of the Internet

of things and electronic banking

2. Yablochkin A. S., Koshkin A. P. (2019), Modern trends in research in the field of

information security strategies.

3. Alkhalil, A., Anwar, M. W., & Mahmoud, Q. H. (2018). Comparative analysis of

authentication methods for secure internet banking. In 2018 15th Learning and Technology Conference (pp. 82-89). IEEE.

4. Bradley, J., & Sakimura, N. (2019). OAuth 2.0 Security Best Practices. RFC 8252.

5. Housley, R., Polk, W., Ford, W., & Solo, D. (2002). Internet X.509 Public Key

Infrastructure Certificate and Certificate Revocation List (CRL) Profile. RFC 3280.

6. Jones, M., Bradley, J., & Sakimura, N. (2015). JSON Web Token (JWT). RFC 7519.

7. Kharthik, B., Reddy, K. (2023). A Comparative Analysis of Various Multifactor

Authentication Mechanisms.

8. Liang, Y., Samtani, S., Guo, B., and Yu, Z. (2020). Behavioral Biometrics for

Continuous Authentication in the Internet of Things Era: An Artificial Intelligence Perspective.

9. NIST Special Publication 800-63B. (2017). Digital Identity Guidelines: Authentication and Lifecycle Management.

10. Papathanasaki, M., Maglaras, L., & Ayres, N. (2022). Modern Authentication Methods: A Comprehensive Survey.

11. Password Storage Cheat Sheet. [Electronic resource]. URL: https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sh eet.html (accessed 05/07/2023).

12. Perols, J. L., Zimmerman, J. L., & Eining, M. M. (2019). Continuous Authentication

Using Behavioral Biometrics: A Review. Journal of Management Information Systems, 36(3), 982-1013.

13. Wiedermann, W., & Hyysalo, J. (2019). Behavioral Biometrics and Continuous

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Authentication: A Survey.

fO CN O

es

O m m x

3

<

m o x

X

i Надоели баннеры? Вы всегда можете отключить рекламу.