Что значит аутентификация её виды, отличие от идентификации и авторизации
Содержание:
- Факторы аутентификации
- Что такое идентификация?
- Отличие от идентификации и авторизации
- Отслеживание процесса аутентификации пользователем
- Аутентификация пользователей
- Как злоумышленники обходят даже двухступенчатую защиту
- Последствия нехватки безопасности API
- Какие существуют виды двухфакторной аутентификации?
- Реализация [ править ]
Факторы аутентификации
Способы , в которых кто — то может быть аутентифицированными , делится на три категории, на основании того , что известно как факторы аутентификации: что — то пользователь знает , что — то пользователь имеет , и что — то пользователь является . Каждый фактор аутентификации охватывает ряд элементов, используемых для аутентификации или проверки личности человека до предоставления доступа, утверждения запроса транзакции, подписания документа или другого рабочего продукта, предоставления полномочий другим лицам и установления цепочки полномочий.
Исследование безопасности показало, что для положительной аутентификации необходимо проверить элементы как минимум двух, а лучше всех трех факторов. Три фактора (класса) и некоторые элементы каждого фактора:
- то факторы знания : Что — то пользователь знает (например, пароль , частичный пароль , парольная фраза , персональный идентификационный номер (PIN — код), ответа на запрос (пользователь должен ответить на вопрос или рисунок), вопрос безопасности ).
- что факторы собственности : Что — то пользователь имеет (например, лучезапястного, удостоверение личности , маркер безопасности , имплантированного устройства , сотовый телефон со встроенным аппаратным маркером , маркером программного обеспечения , или мобильный телефон держит программный маркер ).
- вывод факторы : Что — то пользователь находится или делает (например, отпечатки пальцев , сетчатки шаблон, ДНК — последовательность (есть сортированные определения того , что является достаточным), подпись , лицо, голос, уникальные био~d-электрических сигналы или другим биометрическим идентификатор).
Однофакторная аутентификация
В качестве самого слабого уровня аутентификации для аутентификации личности используется только один компонент одной из трех категорий факторов. Использование только одного фактора не обеспечивает надежной защиты от неправомерного использования или злонамеренного вторжения. Этот тип аутентификации не рекомендуется для финансовых или личных транзакций, которые гарантируют более высокий уровень безопасности.
Многофакторная аутентификация
Многофакторная аутентификация включает два или более фактора аутентификации ( то, что вы знаете , что у вас есть , или что-то , что вы есть ). Двухфакторная аутентификация — это особый случай многофакторной аутентификации, включающий ровно два фактора.
Например, с помощью банковской карты (что — то пользователь имеет ) вместе с PIN — кодом (то пользователь знает ) обеспечивает двухфакторную проверку подлинности. Деловые сети могут потребовать от пользователей предоставить пароль (фактор знания) и псевдослучайное число из токена безопасности (фактор владения). Доступ к системе с очень высоким уровнем безопасности может потребоваться Mantrap скрининг роста, вес, лиц и проверка отпечатков пальцев (несколько факторов неотделимости элементы) плюс PIN — код и однодневный кода (фактор знания элементов), но это все еще двух- факторная аутентификация.
Что такое идентификация?
Предположим, что есть определенная система или база данных, где содержится ряд из параметров (идентификаторов), например:
- ID пользователя;
- ФИО (фамилия, имя и отчество);
- номер телефона;
- IMEI-устройства;
- адрес электронной почты;
- логин (никнейм);
- реквизиты банковской карты;
- номер автомобиля;
- серийный номер (штрих-код);
- трек-номер;
- смарт-карта;
- адрес веб-сайта;
- и т. д.
Каждый раз, когда что-либо покупаете в Интернете, где-либо регистрируетесь, Вы получаете идентификатор — определенный параметр позволяющий взаимодействовать с системой. Как правило, он является уникальным — не пересекается с другими информационными системами, участниками и пользователями. Таким образом, при необходимости получить доступ к системе или узнать какие-либо сведения, потребуется предоставить один или несколько идентификаторов. Исходя из этого, можно сказать, что идентификации — процесс позволяющий однозначно определить (распознать) субъект или объект, по его идентификатору, в той или иной системе.
Для большего понимания давайте рассмотрим на примере простой ситуации. Вы находитесь дома, занимаетесь своими делами: смотрите фильмы для взрослых, делаете физические упражнения или читаете статью про кибербезопасность на моём сайте. В один момент Вы слышите звонок в дверь, прекращаете заниматься своей деятельностью и направляетесь открывать. Подойдя к двери смотрите в глазок, но никого не видите, спрашиваете: «Кто там?» и слышите в ответ: «Это я, ИМЯ человека!». Имя человека по ту стороны двери, в данной ситуации, является идентификатором. Правильный или неправильный ответ на вопрос — процесс идентификации.
Рассмотрим на примере другой ситуации. Вы совершаете звонок в банк с целью получить какую-либо информацию по Вашей банковской карте. Сотрудник, отвечающий на Ваш звонок, прежде чем предоставить информацию, обязан Вас идентифицировать. Помимо номера телефона, он может запросить у Вас другой идентификатор, например, номер банковской карты или ФИО. Ваш ответ, в данном случае — идентификация.
Отличие от идентификации и авторизации
Эти понятия легко можно спутать, потому что они являются этапами одного процесса, частями мозаики. Вернемся к нашему примеру с дверью в квартиру. Чтобы открыть ее, нам нужен ключ, он выступает идентификатором, то есть инструментом, при помощи которого мы будем совершать нужное действие. Вставили его в замок, покрутили – прошли идентификацию.
Если двери открылись, значит, идентификатор верный, подлинный. Это уже аутентификация или, говоря другими словами, процедура проверки. Последний этап – авторизация, мы входим в квартиру, то есть получаем доступ.
Теперь пример с социальными сетями. Мы открываем сайт или приложение в телефоне, вводим логин и пароль – это наши идентификаторы. Затем нажимаем Enter, и информация отправляется на аутентификацию. Программа проверяет, существует ли пользователь с такими учетными данными. Если мы все сделали правильно, то происходит авторизация. Мы входим в социальную сеть и попадаем именно на свою страницу, видим оповещения, диалоги с друзьями, добавленные записи в ленте.
Если вы перепутаете эти термины, ничего страшного, но чтобы понимать, о чем конкретно идет речь в том или ином случае, лучше научиться их отличать.
Отслеживание процесса аутентификации пользователем
Безопасность пользовательских данных во многом зависит от поведения самого пользователя. Многие веб-ресурсы отслеживают подозрительную активность и уведомляют об этом владельца учетной записи. К примеру, Google фиксирует IP-адреса, с которых осуществлялся вход в систему, логирует процесс авторизации и предоставляет пользователю произвести следующие настройки:
- переключиться на передачу информации только через HTTPS;
- включить функцию отслеживания подозрительных сессий: в данном случае Google будет присылать вам уведомления об активности аккаунта в подозрительное время, большое количество исходящего спама, удаление старых сообщений и т.д.;
- отслеживать списки третьих сторон, которые имеют доступ к тем же сервисам Google, что и пользователь.
Другой пример — компания IBM. Включив функцию аудита сеансов пользователя, вы получаете доступ к следующей информации:
- время входа и продолжительность сеанса;
- имя пользователя;
- вид сеанса (с использованием регистрации или без него);
- успешность в аутентификации или невозможность совершить проверку;
- точка, с которой выполнялся вход в систему.
Многие веб-сервисы позволяют отслеживать процесс аутентификации при помощи какого-то одного значения, например, IP-адреса (необъективно, если у вас динамический IP).
Многофакторная аутентификация
Многофакторная аутентификация подразумевает предъявления более чем одного «доказательства» способа аутентификации для доступа к данным. Такими «доказательствами» могут быть:
- определенное знание — информация, которой владеет пользователь (пин-код, пароль);
- владение — предмет, который есть у субъекта (флеш-память, электронный пропуск, магнитная банковская карточка, токен и др.);
- свойство — качество, присущее исключительно субъекту — сюда относят данные биометрии и персональные отличия: форма лица, индивидуальные особенности радужной и сетчатой оболочки глаза, отпечатков пальцев и др.
Одной из разновидностей многофакторной аутентификации является двухфакторная (также называется двухэтапной или двойной). Такой способ подразумевает под собой проверку данных пользователя на основании двух отличных друг от друга компонентов.
Примером двухэтапной аутентификации являются сервисы от Google и Microsoft. При попытке авторизации с нового устройства, помимо логина и пароля, необходимо также ввести код, состоящий из шести (Google) или восьми (Microsoft) знаков. Получить его можно одним из перечисленных способов:
- SMS-сообщение на мобильный телефон;
- голосовой вызов на телефон;
- реестр одноразовых кодов;
- программа-аутентификатор для мобильного или ПК.
Выбрать способ подтверждения можно в личном кабинете вашей учетной записи.
Основными преимуществами двойной аутентификации является удобство (смартфон всегда под рукой) и безопасность (постоянное изменение кода подтверждения). Данный метод также имеет определенные недостатки. Проблемы с мобильной сетью могут стать помехой для получения кода подтверждения, а само смс-сообщение может быть перехвачено злоумышленниками. Существует также некоторая задержка при получении SMS — она связана с процедурой проверки подлинности.
Двухфакторная аутентификация используется сервисами Facebook, Web Money, Yandex, Microsoft, Google и другими. Все они используют свои собственные программы-аутентификаторы, каждая из которых подчиняется определенным стандартам.
Аутентификация пользователей
Запросы к страницам с ограниченным доступом успешно перехватываются и перенаправляются контроллеру Account, но учетные данные, предоставляемые пользователем, пока не проверяются системой аутентификации. В примере ниже вы можете увидеть, как мы завершим процесс входа пользователей в систему:
Самая простая часть — это проверка учетных данных, которую мы делаем с помощью метода FindAsync класса AppUserManager:
В дальнейшем мы будем многократно обращаться к экземпляру класса AppUserManager, поэтому мы создали отдельное свойство UserManager, который возвращает экземпляр класса AppUserManager с помощью метода расширения GetOwinContext() класса HttpContext.
Метод FindAsync принимает в качестве параметров имя и пароль, введенные пользователем, и возвращает экземпляр класса пользователя (AppUser в примере) если учетная запись с такими данными существует. Если нет учетной записи с таким именем или пароль не совпадает, метод FindAsync возвращает значение null. В этом случае мы добавляем ошибку в метаданные модели, которая будет отображена пользователю.Если метод FindAsync возвращает объект AppUser, нам нужно создать файл cookie, который будет отправляться браузером в ответ на последующие запросы, благодаря чему пользователь будет автоматически аутентифицироваться в системе:
Первым шагом является создание объекта ClaimsIdentity, который идентифицирует пользователя. Класс ClaimsIdentity является частью ASP.NET Identity и реализует интерфейс IIdentity, который был описан ранее. Экземпляры ClaimsIdentity создаются путем вызова статического метода CreateIdentityAsync() класса UserManager. Этому методу передается объект пользователя (IdentityUser) и тип аутентификации в перечислении DefaultAuthenticationTypes.
Следующий шаг — удаление всех старых аутентифицирующих файлов cookie и создание новых. Мы добавили свойство AuthManager в контроллере Account, которое возвращает объект, реализующий интерфейс IAuthenticationManager, который отвечает за выполнение аутентификации в ASP.NET Identity. В таблице ниже перечислено несколько полезных методов этого интерфейса:
Название | Описание |
---|---|
SignIn(options, identity) |
Вход пользователя в систему, что фактически означает создание аутентифицирующего cookie-файла |
SignOut() |
Выход пользователя из системы, который обычно означает удаление файлов cookie |
Аргументами метода SignIn являются объект AuthenticationProperties, определяющий свойства настройки процесса аутентификации и объект ClaimsIdentity. Мы задали свойству IsPersistent объекта AuthenticationProperties значение true — это означает, что файлы cookie будут сохраняться между сессиями пользователей. Благодаря этому, если пользователь выйдет из приложения и зайдет, например, на следующий день, он будет автоматически аутентифицирован. (Есть и другие полезные свойства, определенные в классе AuthenticationProperties, но свойство IsPersistent является единственным, который широко используется на данный момент.)
После воссоздания файлов cookie мы перенаправляем пользователя по URL-адресу, который он просматривал до аутентификации (используя параметр returnUrl).
Давайте протестируем процесс аутентификации. Запустите приложение и перейдите по адресу /Home/Index. Браузер перенаправит вас на страницу входа, где необходимо ввести данные пользователя, которого мы создали ранее при тестировании панели администратора:
Как злоумышленники обходят даже двухступенчатую защиту
Как показывает практика, в большинстве случаев взломы происходят как раз тех страниц, которые имеют двухуровневую верификацию. В результате, вот что мы имеем.
- Захват контроля над учетной записью выполняется следующим образом: заходим на адрес почтового сервиса, сбрасываем пароль. Получаем код доступа на заблокированное устройство. Просим Siri(голосовой помощник) озвучить пришедший код. Для этого не нужно гаджет снимать с блокировки. Вводим код в соответствующее поле, получаем доступ к почте. Отсюда уже отправляем запрос на сброс пароля от самого аккаунта. После чего успешно меняем его на свой и свободно пользуемся “учеткой”.
- Взлом личного кабинета на сайте сотового оператора. Мошенник заранее получает ответы на вопросы от владельца телефона. Этот способ доступен для человека, который знает, кто станет жертвой взлома (это может быть даже знакомый или родственник).Все что нужно — позвонить оператору и ответить на все секретные вопросы для сброса пароля. После этого меняется старый шифр на новый. Далее можно пользоваться учетной записью: заказывать пакеты услуг, СМС, дополнительные услуги.
- Имея личный телефон сотрудника крупной финансовой компании или владельца лицевого счета, легко произвести взлом последнего. С целью подключить услуги или перевести деньги на личный счет, злоумышленник делает запрос на предоставление логина или пароля, дублирует номер телефона или устанавливает переадресацию вызовов и СМС с помощью специальных приложений. После этого с легкостью получает все секретные одноразовые коды. Такая операция производится обычно с целью наживы.
Последствия нехватки безопасности API
Почему даже API-интерфейсы нуждаются в аутентификации? Для API, которые предназначены только для чтения, иногда пользователям не нужны ключи. Но большинство коммерческих API требуют авторизации в виде ключей API или других методов. Если нет никакой защиты API, пользователи могут совершать неограниченное количество запросов API без какой-либо регистрации. Разрешение неограниченных запросов усложнит модель дохода для вашего API.
Вдобавок, без аутентификации не было бы простого способа связать запросы с конкретными данными пользователя. И не было бы способа защиты от запросов от злонамеренных пользователей, которые могут удалить данные другого пользователя (например, путем удаления запросов DELETE для учетной записи другого пользователя).
Наконец, не получится отследить, кто использует API или какие конечные точки используются чаще всего. Очевидно, что разработчики API должны подумать о способах аутентификации и авторизации запросов к своим API.
В целом, аутентификация и авторизация с помощью API служат следующим целям:
- аутентификация запросов в API только для зарегистрированных пользователей;
- отслеживание, кто делает запросы;
- отслеживание использования API;
- блокировка или замедление пользователя, превышающего ограничения скорости;
- применение разных уровней разрешений для разных пользователей.
Какие существуют виды двухфакторной аутентификации?
Скорее всего Вы уже ни один раз сталкивались с двухэтапной проверкой, например, когда пытались зайти на страницу в социальной сети с другого компьютера или телефона и в этот момент, сервис подозревая о сомнительной активности, запрашивал у Вас проверочный код, который был отправлен на телефон. Это лишь одна из форм представления 2FA, а в целом они более многогранны и могут быть реализованы, как:
- имя пользователя и пароль + наличие специального ПИН-кода из SMS-сообщения, электронной почты или мобильного приложения — данный вариант самый простой по реализации и самый популярный среди других;
- имя пользователя и пароль + фотография – это означает, что при попытке входа делается фотография с помощью веб-камеры и отправляется на доверенное устройство (мобильный телефон, планшет, ноутбук). Все, что остается – на втором устройстве подтвердить подлинность сделанной фотографии или отклонить, тем самым заблокировав доступ для злоумышленника;
- имя пользователя и пароль + визуальная метка – в случае, если отсутствует веб-камера на компьютере или нет желания себя фотографировать, можно пройти двухфакторную аутентификацию другим способом. Визуальная метка – формирует уникальный визуальный код, который вычисляется по определенному алгоритму и отображается у пользователя на двух устройствах одновременно, позволяя пройти аутентификацию путем проверки подлинности кодов;
- имя пользователя и пароль + биометрика (отпечаток пальца, геометрия руки, сетчатка или радужная оболочка глаза, лицо, голос) – при получении доступа к системе, отправляется уведомление на соответствующее устройство, где от пользователя потребуется предоставить необходимый биометрический параметр;
- имя пользователя и пароль + аппаратное устройство (USB-накопитель, смарт-карта, токен, ключ) – для прохождения двухфакторной аутентификации потребуется вставить в персональный компьютер ключ доступа, или приложить карту к специальному считывателю, или же синхронизировать токен, например, через Bluetooth. В качестве примера, можно выделить такие электронные ключи, как USB-токены и смарт-карты JaCarta PKI от российского разработчика «Аладдин Р.Д.», которые и предназначены для двухфакторной аутентификации пользователей;
- имя пользователя и пароль + метаданные – аутентификация пользователя осуществляет только при соответствии всех необходимых параметров. В частности учитывается, местоположение посредством GPS. Пользователь, имеющий аппаратуру GPS, многократно посылает координаты заданных спутников, находящихся в зоне прямой видимости. Подсистема аутентификации, зная орбиты спутников, может с точностью до метра определить месторасположение пользователя. Также может учитываться время, например, выполнить вход в систему можно в период с 8:00 до 9:00, в иное время – доступ заблокирован. Как альтернатива — полная привязка к операционной системе и компонентам устройства, т. е. фиксируется IP-адрес и устройство (операционная система, программы и т. д.).
Нарушение кибербезопасности и хакерские атаки чаще всего происходят через Интернет, поэтому двухэтапная верификация делает подобные атаки менее опасными. Даже если злоумышленник получит данные от учетной записи, маловероятно, что он сможет получить второй фактор аутентификации.
Реализация [ править ]
Многие продукты для многофакторной аутентификации требуют от пользователей развертывания клиентского программного обеспечения для работы систем многофакторной аутентификации. Некоторые производители создали отдельные пакеты установки для сетевого входа в систему , веб — доступа учетных данных и VPN — подключения учетных данных . Для таких продуктов может быть четыре или пять различных пакетов программного обеспечения, которые можно загрузить на клиентский ПК, чтобы использовать токен или смарт-карту.. Это означает четыре или пять пакетов, в которых должен выполняться контроль версий, и четыре или пять пакетов для проверки на конфликты с бизнес-приложениями. Если доступ может осуществляться с помощью веб-страниц , можно ограничить накладные расходы, описанные выше, одним приложением. С другими решениями для многофакторной аутентификации, такими как «виртуальные» токены и некоторые продукты с аппаратными токенами, конечные пользователи не должны устанавливать программное обеспечение.
У многофакторной аутентификации есть недостатки, которые не позволяют многим подходам получить широкое распространение. Некоторым пользователям трудно отслеживать аппаратный токен или USB-штекер. Многие пользователи не имеют технических навыков, необходимых для самостоятельной установки сертификата клиентского программного обеспечения. Как правило, многофакторные решения требуют дополнительных инвестиций для внедрения и затрат на обслуживание. Большинство систем на основе аппаратных токенов являются проприетарными, и некоторые поставщики взимают годовую плату за каждого пользователя. Развертывание аппаратных токенов затруднительно с точки зрения логистики. Аппаратные токены могут быть повреждены или утеряны и выпуск токеновв крупных отраслях, таких как банковское дело, или даже на крупных предприятиях. Помимо затрат на развертывание, многофакторная аутентификация часто сопряжена со значительными дополнительными расходами на поддержку. Опрос, проведенный в 2008 году более 120 кредитных союзов США , проведенный Credit Union Journal, сообщил о расходах на поддержку, связанных с двухфакторной аутентификацией. В их отчете указывалось, что сертификаты программного обеспечения и подходы к панели инструментов программного обеспечения имеют самые высокие затраты на поддержку.
Исследование развертывания схем многофакторной аутентификации показало, что одним из элементов, который имеет тенденцию влиять на внедрение таких систем, является сфера деятельности организации, которая развертывает систему многофакторной аутентификации. Приведенные примеры включают федеральное правительство США, которое использует сложную систему физических токенов (которые сами поддерживаются надежной инфраструктурой открытых ключей).), а также частные банки, которые, как правило, предпочитают схемы многофакторной аутентификации для своих клиентов, которые включают более доступные и менее дорогие средства проверки личности, такие как приложение, установленное на смартфон, принадлежащий клиенту. Несмотря на различия, существующие между доступными системами, из которых организациям, возможно, придется выбирать, после развертывания системы многофакторной аутентификации в организации она, как правило, остается на месте, поскольку пользователи неизменно привыкают к присутствию и использованию системы и принимают это с течением времени как нормализованный элемент их повседневного процесса взаимодействия с соответствующей информационной системой.
Хотя считается, что многофакторная аутентификация находится в сфере идеальной безопасности, Роджер Граймс пишет что при неправильной реализации и настройке многофакторную аутентификацию на самом деле можно легко победить.