Атрибутивная модель управления доступом
Узнать большеКаждый владелец аккаунтов на каких-либо информационных ресурсах обязательно сталкивался с процедурами идентификации, аутентификации и авторизации. Многие путают понятия, и это вполне объяснимо, поскольку на первый взгляд процедуры кажутся похожими. Часто пользователи просто вводят требуемые данные, не задумываясь, как они взаимосвязаны и какую роль играют. В этой статье обсудим, как происходит аутентификация — этап, на котором решается вопрос, попадет ли пользователь в систему. Также разберем отличия процесса от идентификации и авторизации.
Что такое аутентификация пользователя
Термин происходит от английского слова «authentication» — подтверждение подлинности. То есть это проверка принадлежности пользователя к учетной записи и аккаунту. На простом примере объясним, как она работает. Допустим, пользователь идентифицировался в системе — ввел логин. Теперь ему предстоит ввести пароль. Если символы пароля совпадут с кодом, сохраненным в базе, аутентификация будет считаться пройденной. По крайней, мере один ее этап, если проверка многофакторная.
Какие факторы могут участвовать в проверке подлинности пользователя:
- Фактор знания — данные, которые должны быть точно известны владельцу учетной записи. Например, это пин-код или пароль. Они работают в паре с логином, который используется для идентификации пользователя в системе.
- Фактор обладания — материальный объект, с помощью которого можно подтвердить свою принадлежность к учетной записи. Примеры: карта доступа или смарт-карта, аппаратный токен, мобильное устройство.
- Фактор свойства — биометрические характеристики пользователя, которые тоже могут быть эффективны для подтверждения его личности в информационном поле. Например, это рисунок сетчатки глаза, отпечаток пальца и т.д. Эти признаки распознаются с помощью специальных сканеров и затем анализируются системой.
Методы аутентификации пользователей
Разберем возможные способы подтверждения личности пользователя:
- Пароли — классический способ удостоверения пользователя в информационных системах. Чаще всего подразумевается набор символов, который будет постоянно использоваться для входа. Однако если пароль простой, его легко угадать или подобрать. Сложная комбинация тоже не гарантия безопасности, поскольку многие пользователи боятся забыть ее и записывают (часто на стикерах, которые оставляют прямо возле рабочих мониторов). В результате пароль может быть похищен и использован для несанкционированного входа в систему. Поэтому сейчас все чаще практикуется концепция временных или одноразовых кодов, которые нужно получить непосредственно перед попыткой доступа.
- Цифровые сертификаты — способ криптографической защиты данных. По сути в процедуре фигурирует электронное удостоверение, демонстрирующее принадлежность ключа шифрования конкретному пользователю. Система проверяет источник и срок действия сертификата, после чего подтверждает личность. Этот способ защиты обычно применяется при соединении по протоколу SSL. Кроме того, его используют для проверки подлинности сайтов, то есть пользователь может убедиться, что заходит не на фишинговую копию ресурса.
- Смарт-карты – приспособления, которые служат в качестве удостоверения пользователя и помогают быстро пройти процедуру распознавания. Для проверки достаточно просто поднести их к считывателю.
- Аппаратные токены — устройства, специально разработанные для аутентификации пользователей. В зависимости от разновидности их можно применять разными способами, например, подносить к считывателю или подключать к компьютеру. Также существуют токены, которые способны генерировать одноразовые пароли для входа. В этом случае устройство не нужно никуда прикладывать или подключать — полученный код потребуется ввести вручную.
- Биометрические характеристики — индивидуальные параметры тела пользователя. Например, можно просканировать лицо пользователя, его отпечаток пальца или рисунок радужной оболочки или сетчатки глаза. Также характерными признаками являются движения по клавиатуре и голос.
Биометрия — наиболее достоверный метод проверки, однако в России он только набирает популярность. Сейчас процедуры распознавания пользователей с помощью индивидуальных характеристик активно внедряются в крупных компаниях с развитой информационной инфраструктурой и банковском секторе.
Виды аутентификации пользователей по количеству факторов
Проверка бывает однофакторной и многофакторной. В первом случае для доступа необходимо указать только один вид данных, например, пароль. Такая проверка считается не слишком надежной, поскольку злоумышленники могут воспользоваться похищенной «входной» информацией или банально подобрать пароль. Это будет несложно, если пользователь не позаботился о создании надежной комбинации символов.
Многофакторная аутентификация (MFA, multi-factor authentication) — усиленная проверка, подразумевающая запрос более одного вида информации для подтверждения принадлежности к учетке. Чаще всего применяется двухфакторная процедура. В ее рамках пользователь должен ввести известные ему данные (чаще всего пароль) и еще какие-либо вводные, которые у него есть или которые он может получить (например, код на телефон). Вариант будет зависеть от конкретных настроек системы.
Иногда встречается аутентификация, подразумевающая проверку по более чем двум признакам. Например, сначала пользователю нужно ввести пароль, затем поступивший на телефон код и завершить процедуру с помощью биометрической характеристики — отпечатка пальца. Такой подход часто используется субъектами критической информационной инфраструктуры (государственными органами, предприятиями из сфер энергетики, науки, здравоохранения, связи и т.д).
Пароль для аутентификации пользователя
Мы уже упоминали, что для проверки подлинности пользователей часто используется пароль. Однако у такого способа защиты немало подводных камней. Например:
- В среднем каждый пользователь имеет от 20 паролей для входа в разные системы. Запомнить столько комбинаций непросто, поэтому многие ставят одни и те же наборы символов для разных аккаунтов. Это очень опасно, ведь если злоумышленник получит доступ к паролю, то сможет несанкционированно орудовать от имени пользователя сразу на нескольких ресурсах.
- Из-за сложностей с запоминанием паролей большинство пользователей где-то записывают символы. И нет никакой гарантии, что информация не попадет в руки недобросовестных лиц, которые пожелают ей воспользоваться.
- Третья проблема вновь возникает из-за забывчивости пользователей. А именно — при попытке аутентификации человек иногда не может вспомнить пароль. Конечно, предусмотрены механизмы его восстановления, однако пользователю приходится совершать лишние операции в системе.
У каждой системы есть свои пожелания к паролю, однако существуют базовые требования к безопасности комбинаций. Например, код должен содержать от 10 символов в разных регистрах, включать цифры, специальные символы или знаки препинания (тире, нижнее подчеркивание и т.д). Также присутствует негласный запрет на сленговые и жаргонные слова. И самое главное — надежный пароль не должен содержать персональных сведений, например, номера телефона или даты рождения. Многие пренебрегают этими рекомендациями и тем самым собственноручно дают злоумышленникам зеленый свет на взлом аккаунта.
Системы аутентификации пользователей в веб-приложениях
Система проверки может быть как простой, так и усложненной. Разберем все возможные варианты и их особенности:
- Базовая проверка — вид аутентификации, при котором в составе запроса всегда есть логин и пароль. Такая процедура считается не слишком надежной, поэтому оправдана только в случае, если нет особой секретности данных. Дело в том, что хакеры легко могут перехватить учетные данные и использовать их для входа. Если логин и пароль одинаковы для нескольких систем, у злоумышленников значительно расширится поле доступа.
- Дайджест-аутентификация — проверка, подразумевающая предъявление паролей в хэшированном виде. К коду добавляется отдельная строка, сгенерированная для каждого конкретного веб-запроса, поэтому злоумышленнику будет в разы сложнее рассекретить пакет сведений. Такая проверка считается достаточно надежной и лежит в основе работы почти всех браузеров.
- Использование HTTPS-протоколов — вид проверки, при котором применяется шифрование логина, пароля и других сведений, курсирующих между сервером и клиентом. Такой способ применяется при вводе личных сведений, например, реквизитов банковских карт, телефона, адреса. Однако стоит учесть, что при использовании протокола значительно замедляется скорость интернет-соединения.
- Проверка с запросом цифрового сертификата — процедура, подразумевающая использование протоколов с запросами и откликами на них. Страница аутентификации пересылает клиенту набор символов и ждет ответ сервера, подписанный с помощью индивидуального ключа. Такая процедура используется как защитная мера в определенных протоколах, например, SSL.
- Процедура с применением cookies (пакетов, отправленных сервером на устройство пользователя) — проверка, в рамках которой браузер, подключаясь к ресурсу, в составе HTTP-запроса посылает куки-файлы. Для большей надежности они привязываются к ip-адресу, с которого осуществляется вход. Обычно такая процедура используется в системах безопасности развлекательных порталов и форумов. Более серьезные ресурсы отказались от проверки с помощью cookies, поскольку из-за слабой фильтрации сессий сохраненные массивы данных легко похитить.
Иногда применяются единый вход (SSO) или социальная аутентификация. Первая технология подразумевает единоразовую процедуру проверки для доступа к разным платформам или разделам ресурса. Вторая позволяет подтвердить личность с помощью аккаунтов в социальных сетях.
Аутентификация доступа пользователей внутренних информационных систем
Процедура подтверждения подлинности пользователей во внутренних информационных системах также классифицируется по числу методов, то есть бывает однофакторной и многофакторной. Также существует классификация по количеству субъектов процедуры, согласно которой аутентификация может быть:
- Односторонней — свою личность подтверждает только пользователь, пытающийся получить доступ к системе.
- Взаимной — подлинность доказывают и пользователь, и сервер. Такой тип проверки используется при доступе к засекреченным данным.
Также есть такое понятие, как отслеживание процесса аутентификации. То есть пользователь должен принимать активное участие в обеспечении безопасности данных вне зависимости от типа проверки. Например, если система зафиксировала подозрительную активность и уведомила владельца учетной записи, последний обязан принять рекомендованные меры, чтобы помешать злоумышленникам получить доступ.
В чем разница между идентификацией и аутентификацией пользователей
Идентификация — первый этап входа в систему, аутентификация — второй. Процедура аутентификации бессмысленна без идентификации, поскольку сначала нужно представиться в системе и дать понять, подлинность кого именно придется подтверждать. Одной только идентификации для входа тоже будет недостаточно, поскольку логин может ввести кто угодно. Поэтому как минимум нужны два доказательства принадлежности к аккаунту — актуальные имя клиента и пароль.
Аутентификация и авторизация пользователей
Авторизация — предоставление пользователям полномочий на определенные действия в системе. Если ресурс открытый, авторизоваться могут даже незарегистрированные лица. Для доступа к закрытым системам необходимо сначала пройти процедуры идентификации и аутентификации.
Перейдем к методам авторизации. Существует несколько подходов с разными моделями предоставления прав доступа:
- Role-based access controls (RBAC) — управление доступом пользователей на основе ролевой модели. То есть в системе заложены определенные наборы прав, которые зависят от роли. Например, читатель может только смотреть документ, редактор — вносить изменения.
- Избирательный доступ — метод, подразумевающий, что владелец данных сам наделяет пользователей правами в рамках системы.
- Мандатный доступ — модель, при которой происходит градация данных от общедоступных до строго конфиденциальных. Доступ к тому или иному уровню информации выдается согласно статусу пользователя.
Теперь вкратце обсудим различия аутентификации и авторизации. Аутентификационную проверку приходится проходить единоразово в рамках одной сессии, а авторизация запускается при каждой попытке совершить какое-либо действие в системе. Однако эти процессы одинаково важны для обеспечения безопасности, в частности, для предотвращения несанкционированного управления правами доступа.