Чем авторизация отличается от аутентификации
Перейти к содержимому

Чем авторизация отличается от аутентификации

  • автор:

Идентификация, аутентификация и авторизация

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

Идентификация, аутентификация и авторизация

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

Определения

  • Идентификация — процесс распознавания пользователя по его идентификатору.
  • Аутентификация — процедура проверки подлинности, доказательство что пользователь именно тот, за кого себя выдает.
  • Авторизация — предоставление определённых прав.

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

Механизмы идентификации, аутентификации и авторизации

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

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

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

Если пользователь в качестве идентификатора ввел «Александр Петров», и система нашла в своей базе запись о пользователе с таким именем, то идентификация завершилась.

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

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

  • Нечто, присущее только пользователю. Биометрические данные: сканеры лица, отпечатки пальцев или сетчатки глаза.
  • Нечто, известное только пользователю. Сюда относятся pin-коды, пароли, графические ключи, секретные слова.
  • Нечто, имеющееся у пользователя. В данном качестве может выступать токен, то есть компактное устройство, предназначенное для обеспечения информационной безопасности пользователя, также используется для идентификации владельца. Самые простые токены не требуют физического подключения к компьютеру – у них имеется дисплей, где отображается число, которое пользователь вводит в систему для осуществления входа; более сложные подключаются к компьютерам посредством USB и Bluetooth-интерфейсов.

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

После ввода пользователем пароля система проверяет: соответствует ли условный пароль «Q45fp02@13» пользователю с именем Александр Петров. Таким образом происходит аутентификация.

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

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

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

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

Процессы идентификации, аутентификации и авторизации есть во многих сферах. Даже в простейших детских сказках. Сказка «Волк и семеро козлят» является идеальным примером для демонстрации.

Здесь козлята выступают в роли системы безопасности, идентифицируя каждого, кто подходит к двери. В качестве данных для аутентификации выступает биометрия – тонкий голосок мамы-козы. И если в первый раз волк не смог пройти аутентификацию (его выдал грубый голос), то со второй попытки (после того как ему перековали горло, и он запел тонким голоском) он аутентифицировался как мама-коза и козлята «авторизовали» его в свою избу.

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

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

Многофакторная аутентификация

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

Среди видов многофакторной аутентификации наиболее распространена двухфакторная аутентификация (2FA — 2-factor authentication) – метод, при котором пользователю для получения доступа необходимо предоставить два разных типа аутентификационных данных, например, что-то известное только пользователю (пароль) и что-то присущее только пользователю (отпечаток пальца).

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

Однофакторная двухэтапная аутентификация

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

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

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

Рекомендации

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

Аутентификация, авторизация и идентификация

Идентификация (от латинского identifico — отождествлять): присвоение субъектам и объектам идентификатора и / или сравнение идентификатора с перечнем присвоенных идентификаторов. Например, представление человека по имени отчеству — это идентификация. Аутентификация (от греческого: αυθεντικός ; реальный или подлинный): подтверждение подлинности чего-либо или кого либо. Например, предъявление паспорта — это подтверждение подлинности заявленного имени отчества. Авторизация является функцией определения прав доступа к ресурсам и управления этим доступом. Авторизация — это не то же самое что идентификация и аутентификация: идентификация — это называние лицом себя системе; аутентификация — это установление соответствия лица названному им идентификатору; а авторизация — предоставление этому лицу возможностей в соответствие с положенными ему правами или проверка наличия прав при попытке выполнить какое-либо действие. Например, авторизацией являются лицензии на осуществление определённой деятельности.

Идентификация, Аутентификация, Авторизация. В чем же разница?

Думаю, что каждый тестировщик сталкивался с ситуацией, когда после тестирования одной из таких «форм» с логином и паролем приходилось заводить баг-репорт 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

Авторизация и аутентификация: в чём разница

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

�� Аутентификация — это проверка, что вы действительно тот человек, за которого себя выдаёте.

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

�� Авторизация — это получение права доступа к чему-то. Например, ваш друг получит доступ к деньгам и потратит их.

Идентификация, аутентификация и авторизация в IT

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

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

�� Научитесь писать безопасный код и защищать сайт от атак на курсе «Протоколы и сети».

Дополнительные проверки при аутентификации

От способа аутентификации зависит, насколько защищены данные пользователей. Самый простой способ защиты — традиционная или однофакторная аутентификация, когда вы проходите одну проверку. Например, вы можете ввести пароль, чтобы попасть в личный кабинет в интернет-магазине. По биометрии, отпечатку пальца или Face ID вы разблокируете смартфон. Используя аппаратный ключ безопасности (ключ U2F), зайдёте в менеджер паролей или на другой сервис. А по разовому коду сможете войти в Телеграм, если не включите дополнительную защиту аккаунта.

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

Итоги

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

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

Материалы по теме

  • Как защитить приложение от хакеров
  • Основные протоколы передачи данных
  • Как работает HTTP

«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *