Идентификация, Аутентификация, Авторизация. В чем же разница?
Думаю, что каждый тестировщик сталкивался с ситуацией, когда после тестирования одной из таких «форм» с логином и паролем приходилось заводить баг-репорт c использованием слова «Авторизация».
Но ведь задача тестировщика постараться максимально точно и грамотно обозначить проблему!
Возможно ли это? Конечно!
Именно поэтому в данной статье мы разберем такой процесс как «Авторизация», а также поговорим о таких очень близких понятиях как «Идентификация» и «Аутентификация». Разберем, как всё это взаимосвязано и постараемся сделать это максимально просто и доступно для того, чтобы у вас не осталось никаких вопросов после прочтения данной статьи!
Итак, для наглядности и лучшего понимания были подготовлены три экрана мобильного телефона c типичной формой логина в приложениях:

· первый экран (Screen 1) как наглядный пример процесса «Идентификации»;
· второй экран (Screen 2) как наглядный пример процесса «Аутентификации»;
· третий экран (Screen 3) как наглядный пример процесса «Авторизации».
Итак, Screen 1 — на первом экране идет распознавание пользователя по его уникальному идентификатору.
Цель идентификации – понять, кто “стучится в нашу систему”. Чаще всего для идентификации используются: имейл, имя пользователя, телефон…
Бывает возможность выбора. К примеру, залогиниться по имени пользователя или по номеру телефона. Важно то, что этот идентификатор будет являться уникальным значением. В Базе Данных это, вероятнее всего, будет столбец в таблице с уникальными данными (primary key). То есть в системе не может быть зарегистрировано два одинаковых идентификатора, два одинаковых номера телефона, два одинаковых имейла и так далее.
Например, при попытке зарегистрировать новый адрес электронной почты пользователь вводит свой идентификатор (логин), например: «Вася92», а система подсвечивает поле красным и сообщает, что такой пользователь уже зарегистрирован в системе, предлагая на выбор несколько других вариантов – именно это и будет пример идентификации.
Screen2 — процесс аутентификации, а именно проверки пользователя на его подлинность, что юзер у нас действительно является тем, кем он представляется системе, пытаясь в нее попасть.
Существует 3 фактора, которые напрямую задействуются в процессе аутентификации:
1. Знание
Например пароль, ПИН-код, секретное слово и так далее.
Главное, что эта информация известна конкретному пользователю.
2. Владение
Второй фактор – это владение, является ли пользователь (который “стучится в систему”) обладателем чего-то, к примеру – уникальных биометрических данных, присущих только ему.
Это очень хорошо распространено в телефонах, к примеру, когда девайс распознает владельца по отпечатку пальца.
3. Свойство
Пользователь имеет какой-то уникальный признак, и система его может аутентифицировать и пропустить дальше. К примеру: в случае использования мобильного банкинга или налогового приложения после его запуска система попросит у пользователя набор ключей. Пользователь использует флешку с электронными ключами, система распознает эти ключи, а затем выдает пользователю доступ к использованию системы.
Обратите внимание! Если доступ к системе предоставляется после введения логина и пароля, то это будет однофакторная аутентификация — самая простая.
Но если система говорит пользователю: «Окей, тебе известен пароль, но возможно ты его украл. Какими-то биометрическими данными ты еще обладаешь? Давай-ка ты, дружочек-пирожочек, покажи свое лицо и докажи системе повторно — что ты есть ты!”, в таком случае система проведет повторную аутентификацию и вот это уже будет наша многофакторная, а конкретнее двухфакторная аутентификация (ДФА, 2FA).
Screen 3 — это завершающий этап, когда:
· система проверила наш идентификатор;
· успешно прошел процесс аутентификации.
После чего следует наделение пользователя определенными правами. Возможно, система авторизовала нас как юзера с уже определенным набором возможностей и показывает нам информацию, который должен видеть обычный пользователь системы.
На 3-м экране мы видим определенные секции в нашем приложении. Представим, что мы можем кликнуть по ним и увидеть информацию, к примеру: кликнуть по иконкам и просмотреть, что там внутри, прокрутить страницу и так далее…
В данном случае мы зашли в систему как обычный пользователь, но ведь система могла авторизовать нас как администратора. Во втором случае система предоставила право, к примеру, на редактирование или удаление информации. С точки зрения тестирования у пользователя появляется просто огромное поле возможностей для проведения тестирования.
Это крайне важно с точки зрения безопасности – на сколько система правильно ведет себя на этапе идентификации, затем на этапе аутентификации и в итоге авторизации.
Тестировщик проверяет, все ли происходит в соответствии с требованиями, нет ли каких-то ошибок, потому что баги на этапах идентификации/аутентификации/авторизации могут быть критичны.
Таким образом, мы разобрали понятия идентификации, аутентификации и авторизации. Надеемся, если раньше у вас возникали какие-то трудности с этим, то теперь все стало более понятно.
Спасибо за внимание!
- тестирование
- тестирование веб-приложений
- тестирование мобильных приложений
- авторизация
- идентификация
- аутентификация
- authentication
- identification
- authorization
Авторизация или аутентификация?
Возможно глуповатый вопрос, но все же. В двух словах, аутентификация — проверка подлинности, авторизация — предоставление прав. Под проверкой подлинности, я понимаю ввод логина/пароля. На многих сайтах, ввод логина и пароля, как правило, сопровождается глаголом «авторизуйтесь». Почему? Я чего-то не понимаю?
- Вопрос задан более трёх лет назад
- 2636 просмотров
Комментировать
Решения вопроса 3

Внимание! Изменился адрес почты!
Аналогия со входом в здание с охраной
Аутентификация — процесс, в ходе которого пользователь доказывает что он тот, за которого себя выдает — предьявление паспорта — охрана убедилась, что человек, назвавшийся Иваном Петровым, на самом деле Иван Петров, а не Сидор Канарейкин.
Аутентификация не дает никаких прав, она просто подтверждает идентификацию пользователя
Авторизация — процесс, в ходе которого пользователь (уже прошедший процедуру аутентификации) подтверждает свое право пользоваться ресурсом — предьявление пропуска. Охрана убедилась, что Иван Петров (личность которого уже подтверждена) имеет право пройти на территорию.
Применительно к сайтам, на большинстве шаг аутентификации опускается — знаешь пароль — проходи 🙂
Чем отличается авторизация от аутентификации
Аутентификация — это когда нужно подтвердить, что мы это именно мы, а не кто-то другой.
Например, можно пройти аутентификацию по логину и паролю. Предполагается, что никто не передаёт свой пароль другому человеку, и если кто-то ввёл логин и пароль Васи — он и есть Вася (потому что этот пароль знает только Вася).
Есть и другие варианты. Например, когда звонит телефон и на нём высвечивается надпись «Мама», мы предполагаем, что, ответив на звонок, мы будем разговаривать с мамой. Это аутентификация по номеру звонящего. Но окончательно мы в этом убедимся, только когда услышим её голос в трубке. Это аутентификация по голосу.
Раньше для разблокировки телефона нужно было вводить код, пароль или рисовать узор на экране — это тоже способы аутентификации, чтобы доказать телефону, что вы его владелец. С появлением датчика отпечатка пальца и распознавания лица мы перешли на биометрическую аутентификацию.
Авторизация — это когда система смотрит на результат аутентификации и решает, что этому пользователю можно делать, а что нельзя. В ИТ для этого вводят разные уровни доступа, например:
- Гостевой логин и пароль разрешают только просматривать файлы на сервере в определённой папке и больше ничего.
- Обычные пользователи могут входить по своим логинам и паролям и могут просматривать файлы во всех папках. Но добавлять новые файлы они тоже не могут — не хватает прав доступа.
- Администраторы могут делать на сервере что угодно.
Пример авторизации из жизни
Давайте представим ситуацию в очень законопослушной стране:
— Здравствуйте, гражданин, предъявите документы!
— А вы, собственно, кто?
— Я лейтенант Иванов, 3-е отделение ППС, вот моё удостоверение.
— Ну-ка, дайте гляну фото. Да, действительно, вы Иванов из полиции, вот мой паспорт.
Перед тем как гражданин согласился показать документы, он убедился, что Иванов — именно тот, за кого себя выдаёт. Это был этап аутентификации — гражданин запросил документы, сверил лицо человека с фотографией, прочитал должность и срок действия документов.
После того как аутентификация была пройдена, человек с удостоверением получил нужный уровень доступа — право запрашивать документы у этого гражданина. Если бы удостоверение было просрочено или на фотографии был другой человек, то уровень авторизации остался бы тем же, что и в самом начале, и документы можно не показывать.
Аутентификация и авторизация одной картинкой

Что дальше
Следующий этап — двухфакторная аутентификация. Она нужна, чтобы усложнить жизнь злоумышленникам, которые украли чей-то логин и пароль. Про неё — в другой раз.
Авторизация и аутентификация: в чём разница
Авторизацию и аутентификацию легко спутать, но это разные вещи. Их нужно различать и понимать, как использовать, чтобы обезопасить свои данные или данные пользователей.
Аутентификация — это проверка, что вы действительно тот человек, за которого себя выдаёте.
Вот простой пример из жизни: представьте, что вам написал друг и попросил занять денег до понедельника. Чтобы убедиться, что это не мошенник, вы проводите аутентификацию — звоните приятелю. И если ваш друг подтвердит, что это ему нужны деньги, он пройдёт проверку.
Авторизация — это получение права доступа к чему-то. Например, ваш друг получит доступ к деньгам и потратит их.
Идентификация, аутентификация и авторизация в IT
На самом деле в цепочке проверки есть ещё один пункт — идентификация, то есть распознавание пользователя по его идентификатору. Она помогает понять, для какого субъекта будет выполняться проверка.
Допустим, вы хотите открыть свою страницу в соцсетях. Сначала вводите логин — система опознаёт, что вы пытаетесь войти под именем BossKeks. Это идентификация. Затем вам нужно доказать, что вы тот, за кого себя выдаёте. Для этого вы вводите пароль и нажимаете кнопку «Отправить». Выполняется аутентификация: ваши данные сверяются с паролем, который хранится на сервере. Если всё совпадёт, выполнится авторизация. Вы получите доступ к своему аккаунту и сможете отправлять сообщения, загружать фото или писать комментарии к постам.

Научитесь писать безопасный код и защищать сайт от атак на курсе «Протоколы и сети».
Дополнительные проверки при аутентификации
От способа аутентификации зависит, насколько защищены данные пользователей. Самый простой способ защиты — традиционная или однофакторная аутентификация, когда вы проходите одну проверку. Например, вы можете ввести пароль, чтобы попасть в личный кабинет в интернет-магазине. По биометрии, отпечатку пальца или Face ID вы разблокируете смартфон. Используя аппаратный ключ безопасности (ключ U2F), зайдёте в менеджер паролей или на другой сервис. А по разовому коду сможете войти в Телеграм, если не включите дополнительную защиту аккаунта.
У однофакторной аутентификации есть недостаток: злоумышленники могут взломать или украсть пароли, поэтому лучше использовать двухфакторную. Например, вы можете на Госуслугах после ввода пароля запрашивать код из смс. Двухфакторная аутентификация безопаснее — используйте её и в разработке, и при личном использовании веб-сайтов или приложений.
Итоги
Авторизация и аутентификация — два разных процесса. Аутентификация нужна, чтобы проверить право доступа к данным, авторизация — это когда вы получаете доступ.
Проверка всегда начинается с идентификации, за ней идёт аутентификация и в конце авторизация. Все эти этапы защищают ваши персональные данные и деньги. Поэтому подходите к проверке ответственно, чтобы данные не оказались в руках злоумышленников.
Материалы по теме
- Как защитить приложение от хакеров
- Основные протоколы передачи данных
- Как работает HTTP
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.