Аутентификация и авторизация
Аутентификация и авторизация — два взаимосвязанных, но различных процесса обеспечения информационной безопасности, которые используются для контроля доступа к ресурсам компьютерных систем, сетей, приложений и данных. Аутентификация представляет собой процедуру проверки подлинности субъекта (пользователя, устройства, процесса) путём сопоставления предъявленного идентификатора и подтверждающих его данных (учётных данных) с эталонными значениями, хранящимися в системе. Авторизация — это процесс предоставления или отказа в доступе к определённым ресурсам или операциям на основе результатов аутентификации и установленных правил (политик) разграничения доступа. В отличие от аутентификации, которая отвечает на вопрос «кто вы?», авторизация отвечает на вопрос «что вам разрешено делать?».
История и развитие
Ранние этапы
Первые формы аутентификации возникли с появлением многопользовательских операционных систем в 1960-х годах. В системе CTSS (Compatible Time-Sharing System) Массачусетского технологического института (MIT) использовалась аутентификация по паролю. Пароли хранились в открытом виде в файле, что приводило к уязвимостям. В 1970-х годах в Unix была внедрена схема хеширования паролей с использованием алгоритма DES, что стало значительным шагом вперёд.
Развитие авторизации
Параллельно развивались модели авторизации. В 1970-х годах в операционной системе Multics была реализована дискреционная модель управления доступом (DAC), где владелец ресурса сам определял права доступа. В 1980-х годах для нужд Министерства обороны США была разработана мандатная модель (MAC), основанная на метках безопасности и уровнях допуска. В 1990-х годах появилась ролевая модель (RBAC), которая стала стандартом де-факто для корпоративных систем.
Современный этап
С развитием интернета и облачных технологий в 2000-х годах возникли протоколы единого входа (SSO), такие как SAML (Security Assertion Markup Language) и OAuth. В 2010-х годах широкое распространение получила многофакторная аутентификация (MFA) и биометрические методы. В 2020-х годах активно развиваются технологии безпарольной аутентификации на основе стандартов FIDO2 и WebAuthn.
Аутентификация
Методы аутентификации
Все методы аутентификации делятся на три основные категории по факторам:
- Фактор знания (что-то, что вы знаете): Пароль, PIN-код, ответ на секретный вопрос, код из SMS или приложения-аутентификатора. Самый распространённый, но и наиболее уязвимый метод.
- Фактор владения (что-то, что у вас есть): Физический токен (USB-ключ), смарт-карта, мобильный телефон, одноразовый пароль (OTP), генерируемый аппаратным или программным генератором.
- Фактор наследования (что-то, что является частью вас): Биометрические данные — отпечаток пальца, рисунок сетчатки или радужной оболочки глаза, геометрия лица, голос, динамика набора текста.
- Фактор местоположения (где вы находитесь): Аутентификация на основе IP-адреса, GPS-координат, данных Wi-Fi сети. Используется как дополнительный фактор.
- Фактор поведения (что вы делаете): Анализ привычек пользователя — скорость набора, движения мыши, типичные маршруты перемещения. Относится к поведенческой биометрии.
Многофакторная аутентификация (MFA)
Многофакторная аутентификация — это метод, требующий использования двух или более факторов из разных категорий. Например, ввод пароля (фактор знания) и подтверждение через push-уведомление на мобильный телефон (фактор владения). MFA значительно повышает безопасность, так как злоумышленнику необходимо скомпрометировать несколько независимых каналов.
Протоколы и технологии аутентификации
- Kerberos: Протокол сетевой аутентификации, разработанный в MIT. Использует билеты (tickets) и центр распределения ключей (KDC) для безопасной аутентификации в открытых сетях. Широко применяется в Microsoft Active Directory.
- LDAP (Lightweight Directory Access Protocol): Протокол для доступа к службам каталогов, часто используется для хранения и проверки учётных данных пользователей в корпоративных сетях.
- RADIUS (Remote Authentication Dial-In User Service): Протокол AAA (аутентификация, авторизация, учёт), широко применяемый для управления доступом к сетевым устройствам, VPN и Wi-Fi.
- SAML (Security Assertion Markup Language): Стандарт на основе XML для обмена данными аутентификации и авторизации между сторонами, особенно в сценариях единого входа (SSO) в веб-приложениях.
- OAuth 2.0 и OpenID Connect: OAuth 2.0 — это протокол авторизации, который позволяет приложениям получать ограниченный доступ к ресурсам пользователя. OpenID Connect — надстройка над OAuth 2.0, добавляющая слой аутентификации и позволяющая проверять личность пользователя.
- FIDO2 и WebAuthn: Современные стандарты, разработанные альянсом FIDO, направленные на отказ от паролей. Аутентификация происходит с помощью криптографических ключей, хранящихся на устройстве пользователя, с использованием биометрии или PIN-кода для локального подтверждения.
Авторизация
Модели управления доступом
- Дискреционное управление доступом (DAC): Владелец ресурса (например, файла) сам решает, кому и какие права предоставить. Реализовано в большинстве файловых систем (например, в Linux через права доступа rwx).
- Мандатное управление доступом (MAC): Доступ контролируется централизованно на основе меток безопасности, присвоенных субъектам и объектам. Пользователь не может изменять права доступа. Используется в системах с высокими требованиями к безопасности (например, в государственных и военных структурах). Реализовано в SELinux (Security-Enhanced Linux).
- Ролевое управление доступом (RBAC): Права доступа назначаются не отдельным пользователям, а ролям (например, «администратор», «менеджер», «бухгалтер»). Пользователь получает права, будучи назначенным на роль. Это упрощает администрирование в крупных организациях.
- Атрибутивное управление доступом (ABAC): Доступ предоставляется на основе атрибутов субъекта, объекта, среды и действий. Например, «разрешить доступ к документу, если пользователь имеет уровень допуска «секретно» и находится в офисе в рабочее время». ABAC является более гибкой и динамичной моделью, чем RBAC.
Протоколы авторизации
- XACML (eXtensible Access Control Markup Language): Стандарт на основе XML для описания политик управления доступом и запросов на авторизацию. Определяет архитектуру, включающую Policy Enforcement Point (PEP) и Policy Decision Point (PDP).
- OAuth 2.0: Де-факто стандарт для делегированной авторизации в современных веб-приложениях и API. Позволяет приложению (клиенту) получить от пользователя токен доступа для выполнения определённых действий от его имени (например, публикация фото в социальной сети).
Взаимосвязь аутентификации и авторизации
Аутентификация и авторизация являются последовательными этапами единого процесса управления доступом. Типичная последовательность выглядит следующим образом:
- Идентификация: Пользователь предъявляет свой идентификатор (логин, email, номер карты).
- Аутентификация: Система проверяет, что предъявленный идентификатор действительно принадлежит данному пользователю (например, путём проверки пароля).
- Авторизация: После успешной аутентификации система проверяет, имеет ли данный пользователь право на выполнение запрашиваемого действия или доступ к запрашиваемому ресурсу.
Без успешной аутентификации авторизация невозможна. Однако успешная аутентификация не гарантирует авторизации — пользователь может быть аутентифицирован, но не иметь прав на доступ к конкретному ресурсу.
Аутентификация и авторизация в России
В Российской Федерации вопросы аутентификации и авторизации регулируются рядом нормативных правовых актов, в частности:
- Федеральный закон № 152-ФЗ «О персональных данных»: Устанавливает требования к защите персональных данных, включая необходимость аутентификации при доступе к ним.
- Федеральный закон № 63-ФЗ «Об электронной подписи»: Определяет правовой статус электронной подписи, которая является средством аутентификации и подтверждения целостности документов.
- Приказы ФСТЭК России: Устанавливают требования к системам защиты информации, включая механизмы идентификации, аутентификации и авторизации для государственных информационных систем и объектов критической информационной инфраструктуры (КИИ).
- ГОСТ Р 57580.1-2017: Стандарт по защите информации финансовых организаций, который регламентирует, в том числе, процедуры аутентификации клиентов и сотрудников.
В государственных информационных системах России широко применяется Единая система идентификации и аутентификации (ЕСИА), обеспечивающая доступ к порталу «Госуслуги» и другим ведомственным сервисам. ЕСИА поддерживает несколько уровней аутентификации, включая упрощённую (по номеру телефона), стандартную (по паспортным данным) и подтверждённую (с личной явкой или использованием усиленной электронной подписи).
Критика и уязвимости
Основные проблемы аутентификации и авторизации связаны с человеческим фактором и техническими ограничениями:
- Слабые пароли: Пользователи часто выбирают простые и предсказуемые пароли, используют один и тот же пароль для разных сервисов.
- Фишинг: Социальная инженерия, направленная на кражу учётных данных.
- Перехват данных: Атаки типа «человек посередине» (Man-in-the-Middle) на незащищённые каналы связи.
- Уязвимости в реализации протоколов: Ошибки в коде, неправильная настройка серверов авторизации.
- Проблемы с биометрией: Биометрические данные, в отличие от паролей, нельзя изменить при компрометации. Существуют методы подделки отпечатков пальцев или обхода систем распознавания лиц.
- Сложность управления правами: В крупных организациях с большим количеством пользователей и ресурсов поддержание актуальных политик авторизации является сложной задачей, что может приводить к избыточным или недостаточным правам доступа.
Источники
- Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных».
- Федеральный закон от 06.04.2011 № 63-ФЗ «Об электронной подписи».
- Приказы Федеральной службы по техническому и экспортному контролю (ФСТЭК России) об утверждении требований к защите информации.
- ГОСТ Р 57580.1-2017 «Защита информации финансовых организаций. Базовый состав организационных и технических мер».
- RFC 4120 — The Kerberos Network Authentication Service (V5).
- RFC 6749 — The OAuth 2.0 Authorization Framework.
- RFC 7519 — JSON Web Token (JWT).
- Стандарт FIDO2 (WebAuthn) — W3C Recommendation.
- «Security Engineering» by Ross Anderson (Wiley, 2020).
- «Computer Security: Principles and Practice» by William Stallings and Lawrie Brown (Pearson, 2018).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →