Что такое авторизация пользователей? Для чего ее вводят подавляющее большинство владельцев сайтов. В чем ее преимущества?
Что такое данные авторизации?
Обычно данными авторизации являются логин и пароль, но не всегда. Зачастую это может быть фамилия или имя пользователя, а также пароль. Бывает так, что пользователь знает только логин для входа в систему, а пароль приходит ему в СМС-сообщении.
Чаще всего пользователь сам вправе менять свои данные авторизации, однако логин в некоторых случаях изменить невозможно. Например, если говорить о почтовых сервисах, логин изменить не получится, а вот пароль — пожалуйста.
Использование в информационных технологиях[править | править код]
В информационных технологиях посредством авторизации устанавливаются права доступа к информационным ресурсам и системам обработки данных. Для этого применяются различные виды авторизации, которые можно поделить на три класса:
Дискреционное управление доступом[править | править код]
В случае дискреционного (избирательного) управления (DAC), доступ к объектам, данным или функциям, предоставляется явно указанным субъектам, пользователям или группам пользователей. Например, пользователю user_1 разрешено читать файл file_1, но запрещено в него писать. Каждый объект имеет привязанного к нему субъекта — владельца, который и устанавливает права доступа к объекту. Также система имеет одного выделенного субъекта — суперпользователя, имеющего право устанавливать права доступа для всех субъектов. А любой субъект может передавать имеющиеся у него права другим субъектам. Такой доступ используется в современных операционных системах, где для авторизации наиболее распространено использование полномочий и списков контроля доступа (ACL).[1]
Мандатное управление доступом[править | править код]
Мандатный доступ (MAC) заключается в разделении информации по степени секретности, а пользователей по уровням допуска к этой информации. Главным преимуществом мандатного доступа заключается в ограничении прав владельца объекта. Права субъектов на создаваемые ими объекты будут зависеть от их уровня допуска, соответственно они не смогут случайно или преднамеренно делегировать их неавторизированным пользователям. Согласно требованиям ФСТЭК мандатное управление доступом является ключевым отличием систем защиты Государственной Тайны РФ старших классов 1В и 1Б от младших классов защитных систем, основанных на дискреционной модели. Поддержка мандатного управления доступом присутствует в некоторых операционных системах, таких как Ubuntu, SUSE Linux, FreeBSD. Также используется в системах управления базами данных. Иногда применяется вместе с дискреционным контролем доступа.

Пример дискреционного управление доступом к файловой системе в дополнение к мандатному
Управление доступом на основе ролей[править | править код]
Развитием политики избирательного доступа является управление доступом на основе ролей (RBAC), где доступ к объектам системы формируется с учётом специфики их применения на основе роли субъектов в каждый момент времени. Роли позволяют определить понятные для пользователей правила разграничения доступа. Роль сочетает свойства избирательного управления доступом, ставя в соответствие субъектам объекты, и мандатного, при изменении ролей изменится и доступ к группе файлов, но этот тип доступа более гибкий, по сравнению с предыдущими, и может их моделировать. Сейчас RBAC широко используется для управления пользовательскими привилегиями в пределах единой системы или приложения. Список таких систем включает в себя Microsoft Active Directory, SELinux, FreeBSD, Solaris, СУБД Oracle, PostgreSQL 8.1, SAP R/3, Lotus Notes и множество других.
Другие типы управления доступом[править | править код]
- Контроль доступа на основе контекста (CBAC)
- Контроль доступа на основе решетки (LBAC)
- Контроль доступа на основе атрибутов (ABAC)
Введение
Когда я говорил семье или друзьям, что я «работаю в identity», они часто предполагали, что это означает, что я работал в правительстве, в организации выдающей водительские права, или что я помогал людям разрешать мошенничество с кредитными картами.
Однако ни то, ни другое не было правдой. Ранее я работал в компании Auth0,, которая управляет цифровой идентификацией. (Сейчас я являюсь участником программы Auth0 Ambassadors и являюсь экспертом Google Developer по SPPI: Security, Privacy, Payments, and Identity — безопасность, конфиденциальность, платежи и идентификация.)
Цифровая идентификация
Цифровая идентификация это набор атрибутов, которые определяют отдельного пользователя в контексте функции, предоставляемой конкретным приложением.
Что это значит?
Скажем, вы управляете компанией по продаже обуви онлайн. Цифровой идентификацией пользователей вашего приложения может быть номер их кредитной карты, адрес доставки и история покупок. Их цифровая идентификация зависит от вашего приложения.
Это приводит нас к …
Аутентификация
В широком смысле, аутентификация относится к процессу проверки того, что пользователь является тем, кем он себя заявляет.
Как только система сможет установить это, мы приходим к …
Авторизация
Авторизация касается предоставления или отказа в правах доступа к ресурсам.
Стандарты
Вы можете вспомнить, что я упомянул, что аутентификация основывается на четко определенных стандартах. Но откуда эти стандарты берутся?
Есть много разных стандартов и организаций, которые управляют работой Интернета. Два органа, которые представляют для нас особый интерес в контексте аутентификации и авторизации, — это Инженерная рабочая группа по Интернету (Internet Engineering Task Force — IETF) и Фонд OpenID (OpenID Foundation — OIDF).
IETF (Internet Engineering Task Force)
IETF — это большое открытое международное сообщество сетевых инженеров, операторов, поставщиков и исследователей, которые занимаются развитием интернет-архитектуры и бесперебойной работой интернета.
OIDF (OpenID Foundation)
OIDF — это некоммерческая международная организация людей и компаний, которые стремятся обеспечить, продвигать и защищать технологии OpenID.
Теперь, когда нам известны спецификации и кто их пишет, давайте вернемся к авторизации и поговорим о:
OAuth 2.0
OAuth 2.0 является одной из наиболее часто упоминаемых спецификаций, когда речь идет о сети, а также часто неправильно представленной или неправильно понятой.
OAuth не является спецификацией аутентификации. OAuth имеет дело с делегированной авторизацией. Помните, что аутентификация — это проверка личности пользователя. Авторизация касается предоставления или отказа в доступе к ресурсам. OAuth 2.0 предоставляет доступ к приложениям от имени пользователей.
Как было до OAuth
Чтобы понять цель OAuth, нам нужно вернуться назад во времени. OAuth 1.0 был создан в декабре 2007 года. До этого, если нам требовался доступ к сторонним ресурсам, это выглядело так:
Допустим, вы использовали приложение под названием HireMe123. HireMe123 хочет настроить событие календаря (например, встречу на собеседование) от вашего имени (пользователя). HireMe123 не имеет собственного календаря; поэтому нужно использовать другой сервис под названием MyCalApp для добавления событий.
После того, как вы вошли в HireMe123, HireMe123 запросит у вас ваши учетные данные для входа в MyCalApp. Вы должны ввести свое имя пользователя и пароль на сайте HireMe123.
Затем HireMe123 используя ваш логин получить доступ к API MyCalApp, и затем сможет создавать события календаря с использованием ваших учетных данных.
Совместное использование учетных данных — это плохо!
Этот подход основывался на совместном использовании личных учетных данных пользователя из одного приложения с совершенно другим приложением, и это не очень хорошо.
Так как, HireMe123 поставил на карту защиты вашей учетной записи MyCalApp гораздо меньше. Если HireMe123 не защитит ваши учетные данные MyCalApp надлежащим образом, и они в конечном итоге будут украдены или взломаны, кто-то сможет написать несколько неприятных статей в блоге, но HireMe123 как бы останется в стороне.
HireMe123 также получает слишком большой доступ к MyCalApp от вашего имени. HireMe123 получает все те же привелегии, что и вы, потому что он использовал ваши учетные данные для получения этого доступа. Это означает, что HireMe123 может читать все ваши события календаря, редактировать их, изменять настройки и т. д.
Что такое идентификация?
Сначала давайте прочитаем определение:
Идентификация — это процедура распознавания субъекта по его идентификатору (проще говоря, это определение имени, логина или номера).
Идентификация выполняется при попытке войти в какую-либо систему (например, в операционную систему или в сервис электронной почты).
Сложно? Давайте перейдём к примерам, заодно разберемся, что такое идентификатор.

Пример идентификатора в социальной сети ВКонтакте
Когда нам звонят с неизвестного номера, что мы делаем? Правильно, спрашиваем “Кто это”, т.е. узнаём имя. Имя в данном случае и есть идентификатор, а ответ вашего собеседника — это будет идентификация.
Идентификатором может быть:
- номер телефона
- номер паспорта
- номер страницы в социальной сети и т.д.
Подробнее об идентификаторах и ID рекомендую прочитать здесь.
Беспарольный метод веб-авторизации[править | править код]
Наиболее известные «простые» методы авторизации/регистрации на веб-ресурсах, которые не требуют специальных устройств – это смарт карты, устройства для сканирования отпечатков пальцев, сетчатки глаз и т.д.[4]
Ролевая авторизация[править | править код]
Способы защиты аутентификации и ролевая авторизация.[5]
Авторизация в личном кабинете
Авторизация в личном кабинете позволяет пользователю получить доступ к изменению настроек своей учетной записи, интерфейса взаимодействия с системой, паролей, типовых операций, на управление счетом, внесение изменений в систему. До выполнения авторизации, посетитель сайта или банковского учреждения может использовать ограниченный набор функций: просматривать общедоступную информацию, проводить транзакции, не требующие подтверждения прав доступа. Часто при авторизации в личном кабинете используют дополнительные средства безопасности – ввод капчи, подтверждение по SMS или e-mail.
Какие плюсы у авторизации?
Это зависит от сервиса. Если брать те же банковские услуги, то большинство услуг пользователю доступны только после регистрации в сервисе и получении данных для авторизации.
Если говорить про обычные сайты, зачастую авторизация предлагает возможность получения большего количества функций. Кроме того, на тех же форумах нельзя общаться без авторизации. Кстати, сейчас можно использовать аккаунты социальных сетей для регистрации и последующей авторизации во многих сервисах. Это удобно, поскольку не требует дополнительных действий.
Авторизация банковской карты и код авторизации
Банковские карты достаточно плотно ворвались в нашу жизнь. Сейчас люди все чаще проводят оплату по безналичному расчету, оплачивают товары в онлайн через интернет-кассы. Во-первых, безналичная оплата более безопасна с точки зрения сохранности средств: купюры вы можете потерять, а при утере пластиковой карты вы сможете обратиться в банк, заблокировать счет, а затем перевыпустить. Во-вторых, безналичная оплата безопаснее тем, что не надо контактировать с деньгами, которые передаются из рук в руки сотни раз в день, собирая множество бактерий.
Что такое авторизация банковской карты? Это процесс, при котором банк-эмитент дает разрешение на совершение денежной операции с использованием средств на счете. Но в банковской системе тоже бывают различные сбои, например, деньги на карте есть, а оплата не проходит, терминал фиксирует неполадки, а кассир просит пользователя назвать код авторизации. Многих такой запрос вводит в ступор, поэтому давайте разберемся, как авторизовать банковскую карту, и что же такое код авторизации.
Если вы задаетесь вопросом: предавторизация по карте, что это, то объясним поэтапно. Клиент, расплачиваясь в магазине по безналу, вводит данные своей карты, такие как пин-код, или прикладывает карту к pos-терминалу. Затем банк, который обслуживает данный магазин, отправляет запрос в ваш банк-эмитент для проведения транзакции. В этот момент клиент может увидеть на экране терминала надпись «авторизация». Это и есть предавторизация или холдирование средств. Банк-эмитент проверяет, если ли средства на карточке, в достаточном ли они количестве, затем переводит сумму денег на счет магазина. Этот процесс называется транзакцией, причем каждой такой операции присваивается код авторизации, который является неким разрешением вашего банка на списание денежных средств.
Код авторизации – это уникальная шестизначная комбинация цифр.
Запомните, что код авторизации, логин, пароль, код доступа в приложение вашего банка – это разные понятия. Разберемся, в каких случаях система запрашивает код авторизации:
- Если терминал начал сбоить при соединении с банковским сервером;
- Если на Вашем счете сумма меньше, чем стоимость покупки;
- При вводе некорректного пин-кода;
- При использовании вашей карты третьим лицом.
Таким образом, код авторизации обеспечивает дополнительную защиту средств на вашей карте. Если произошел сбой в момент оплаты, значит, вам поступит смс с кодом. Если вы не совершали платежей в этот момент, следует немедленно обратиться к представителю вашего банка для блокировки счета или заблокировать карту в личном кабинете клиента.
Для входа в личный кабинет пользователю также нужно авторизоваться. Для этого в поисковой строке браузера ввести название своего банка, войти на официальный сайт, перейти в личный кабинет, затем в соответствующие окошки ввести логин и пароль, то есть авторизационные данные.
Через личный кабинет также можно проводить операции, не выходя из дома, переводить деньги, оплачивать ЖКХ, пополнять мобильный и др. Шестизначная комбинация присваивается каждой проведенной транзакции, поэтому код авторизации на чеке Сбербанка, который выдается банкоматом, тоже присутствует.
С уважением, Виктория – блог inetsovety.ru
Выучить больше
Серия видеороликов Learn Identity в документах Auth0 — это лекционная часть нового учебного курса по найму для инженеров в Auth0, представленного главным архитектором Витторио Берточчи. Если вы хотите лично узнать, как это делается в Auth0, она абсолютно бесплатна и доступна для всех.
Спецификации OAuth 2.0 и OpenID Connect являются сложными, но как только вы ознакомитесь с терминологией и получите базовые знания об идентификации, они будут полезны, информативны и станут намного более удобочитаемыми. Почитать их можно здесь: The OAuth 2.0 Authorization Framework и OpenID Connect Specifications..
JWT.io — это ресурс о JSON Web Token, который предоставляет инструмент отладчика и каталог библиотек подписи/проверки JWT для различных технологий.
OpenID Connect Playground — это отладчик, который позволяет разработчикам шаг за шагом исследовать и тестировать вызовы и ответы OIDC.
Ссылки[править | править код]
- ↑ Руководство по разработке профилей защиты и заданий по безопасности (неопр.) (недоступная ссылка). Гостехкомиссия России. Дата обращения: 23 ноября 2009. Архивировано 2 апреля 2011 года.
- ↑ Аутентификация и авторизация: новый взгляд (неопр.). Журнал Connect! Мир связи. Дата обращения: 23 ноября 2009.
- ↑ Авторизация в словаре электронной коммерции (неопр.) (недоступная ссылка). Дата обращения: 23 декабря 2010. Архивировано 23 августа 2011 года.
- ↑ СТРУК П.В. БЕСПАРОЛЬНЫЙ МЕТОД ВЕБ-АВТОРИЗАЦИИ С ИСПОЛЬЗОВАНИЕМ “BITCOIN” ТЕХНОЛОГИЙ (рус.) // ООО “Институт управления и социально-экономического развития” (Саратов). — 2018. — № 7 (23). — С. 935-938.
- ↑ АКУШУЕВ Р.Т. РОЛЕВАЯ АВТОРИЗАЦИЯ (рус.) // Донской государственный технический университет : статья в журнале – научная статья. — 2020. — № 7-1. — С. 325-327.
- ↑ КАРПИКА А.Г., ЛЕМАЙКИНА С.В., ПЕТРИЩЕВА Е.Н. ОБЗОР АЛГОРИТМОВ ИДЕНТИФИКАЦИИ И АУТЕНТИФИКАЦИИ ПРИ ДВУХФАКТОРНОЙ АВТОРИЗАЦИИ (рус.) // Воронежский институт Министерства внутренних дел Российской Федерации (Воронеж). — 2018. — Т. 1, № 3 (3). — С. 170-176.
- ↑ КАМЕНСКИХ А.Н., ФИЛИМОНОВ К.В. МЕТОДЫ ОБЕСПЕЧЕНИЯ АУТЕНТИФИАКЦИИ И АВТОРИЗАЦИИ В MESH-СЕТЯХ (рус.) : статья в журнале – материалы конференции. — 2019. — Т. 1. — С. 258-262.
- ↑ Султанова Наргиз Алиевна. Использование банковских карт в системе расчетов // Концепт. — 2015. — № 8.
- ↑ БИРЮКОВ М.В., КЛИМОВА Н.А., ГОСТИЩЕВА Т.В. О САМООБУЧАЮЩИХСЯ МАШИННЫХ СИСТЕМАХ В ПРОЦЕССЕ АВТОРИЗАЦИИ ПОЛЬЗОВАТЕЛЕЙ БАНКОМАТОВ (рус.) // Белгородский государственный национальный исследовательский университет. — 2020. — Т. 47, № 2. — С. 354-361.
- ↑ БИРЮКОВ М.В., КЛИМОВА Н.А., ГОСТИЩЕВА Т.В. Использование самообучающихся машинных систем в процессе авторизации пользователей банкоматов. (рус.) // Белгородский университет кооперации, экономики и права : статья в сборнике трудов конференции. — 2020. — С. 39-47.
- ↑ Академик.ру. Авторизация // Словарь бизнес-терминов. (рус.). — 2001.
- ↑ А. Я. Сухарев, В. Е. Крутских, А.Я. Сухарева. Авторизованный перевод // Большой юридический словарь. — М.: Инфра-М (рус.). — 2003.
- ↑ Авторизованный, выборочный и резюмирующий переводы, www.lingvo-plus.ru
- ↑ ЗАЛЯЛЕТДИНОВ А.А., ПЫСТОГОВ С.В. ВЕБ-СЕРВЕР СИСТЕМЫ АВТОРИЗАЦИИ ПОЛЬЗОВАТЕЛЕЙ В ОБЩЕДОСТУПНЫХ СЕТЯХ WIFI. (Русский язык) // ФГБОУ ВО «Казанский национальный исследовательский технический университет им. А.Н. Туполева – КАИ» : статья в сборнике трудов конференции. — 2020. — С. 218-221.