Для чего нужна авторизация
Авторизация: что это такое и для чего нужно?
Несмотря на то, что интернетом пользуется огромное количество людей по всему миру, ежедневно многие пользователи только начинают познавать этот виртуальный мир. Пользователи часто сталкиваются с определениями, которые они прежде не слышали. Вот, к примеру, авторизация — что это такое?
Авторизация (от английского слова authorization, что можно перевести как «разрешение») — это предоставление прав пользователю или группе лиц на выполнение тех или иных действий. Не поняли? Допустим, вы прошли регистрацию в Яндекс.Почте. Для того, чтобы попасть в свой электронный почтовый ящик, вам необходимо пройти авторизацию, то есть в данном случае ввести логин и пароль, который вы указали при регистрации.
Вот как выглядит поле для ввода данных Яндекс.Почты:
Соответственно, как только вы введете логин и пароль, система распознает пользователя и предоставит доступ к почте, а кроме того, доступ к другим сервисам компании Яндекса.
Разумеется, с авторизацией вы можете встретиться и на многих других сайтах. Взять тот же Сбербанк Онлайн: чтобы попасть в личный кабинет, нужно ввести логин и пароль.
При этом в случае со Сбербанком Онлайн используется так называется двухфакторная авторизация: помимо ввода логина и пароля пользователю необходимо ввести дополнительный код, который приходит к нему на телефон в виде СМС-сообщения. Это сделано для дополнительной безопасности. Только после ввода кода можно войти в личный кабинет.
Авторизацию в социальных сетях вы наверняка прекрасно знаете. Вот пример на основе ВКонтакте:
Есть другой вид авторизации, тоже, кстати, в банковской сфере. Допустим, вы оплачиваете покупку в интернете. Лимит на покупку товаров без авторизации — 2000 рублей. Вы же покупаете товар за 3000 рублей. Без авторизации в этом случае вы не сможете оплатить товар: для этого обычно необходим либо пароль, который вы сами же создаете, либо код, который придет в сообщении на телефон.
Важно также отметить, что не во всех случаях пользователь сам может зарегистрироваться на сервисе и получить данные для авторизации. Есть такие сервисы, где регистрация возможна только в определенном учреждении, в котором пользователь получает данные для доступа (авторизации).
Что такое данные авторизации?
Обычно данными авторизации являются логин и пароль, но не всегда. Зачастую это может быть фамилия или имя пользователя, а также пароль. Бывает так, что пользователь знает только логин для входа в систему, а пароль приходит ему в СМС-сообщении.
Чаще всего пользователь сам вправе менять свои данные авторизации, однако логин в некоторых случаях изменить невозможно. Например, если говорить о почтовых сервисах, логин изменить не получится, а вот пароль — пожалуйста.
Какие плюсы у авторизации?
Это зависит от сервиса. Если брать те же банковские услуги, то большинство услуг пользователю доступны только после регистрации в сервисе и получении данных для авторизации.
Если говорить про обычные сайты, зачастую авторизация предлагает возможность получения большего количества функций. Кроме того, на тех же форумах нельзя общаться без авторизации. Кстати, сейчас можно использовать аккаунты социальных сетей для регистрации и последующей авторизации во многих сервисах. Это удобно, поскольку не требует дополнительных действий.
Уважаемые пользователи! Если наш сайт вам помог или что-то в нем не понравилось, будем рады, если вы оставите комментарий. Заранее большое спасибо.
Авторизация
Авториза́ция (от англ. authorization — разрешение, уполномочивание) — предоставление определённому лицу или группе лиц прав на выполнение определённых действий; а также процесс проверки (подтверждения) данных прав при попытке выполнения этих действий. [1] [2] [3] Часто можно услышать выражение, что какой-то человек «авторизован» для выполнения данной операции — это значит, что он имеет на неё право.
Авторизацию не следует путать с аутентификацией: аутентификация — это лишь процедура проверки подлинности данных, например, проверки соответствия введённого пользователем пароля к учётной записи паролю в базе данных, или проверка цифровой подписи письма по ключу шифрования, или проверка контрольной суммы файла на соответствие заявленной автором этого файла.
Содержание
Виды авторизации
Использование в банковской сфере
Положение № 23-П ЦБ РФ «О порядке эмиссии кредитными организациями банковских карт…»
Механизмы авторизации в операционных системах
В современных операционных системах для авторизации наиболее распространено использование полномочий и списков контроля доступа (ACL).
См. также
Литература
Ссылки
Полезное
Смотреть что такое «Авторизация» в других словарях:
Авторизация — в информационных технологиях предоставление определенных полномочий лицу или группе лиц на выполнение некоторых действий в системе обработки данных. Посредством авторизации устанавливаются и реализуются права доступа к ресурсам. По английски:… … Финансовый словарь
АВТОРИЗАЦИЯ — (фр. autorisation, от лат. auctoritas власть). 1) предоставление верховной властью прав на исполнение дел, находящихся вне пределов законной власти известного учреждения или лица. 2) полномочие, данное государственному чиновнику на исполнение… … Словарь иностранных слов русского языка
авторизация — и, ж. autorisation f <ср. лат. 1. дипл. Предоставление полномочия, уполномочие. Сл. 18. Дела отправляют по турецкой аукторизации, а не по нашей. Соловьев 14 361. 2. Утверждение, разрешение. Если придет авторизация, то к 15 января приеду. Герц … Исторический словарь галлицизмов русского языка
Авторизация — – разрешение на проведение операции с использованием банковской карты, предоставляемое банком эмитентом. Авторизация проводится в том случае, если сумма списания по карте превышает неавторизованный лимит сумму покупки, установленную банком для… … Банковская энциклопедия
авторизация — Получение права доступа путем проверки подлинности введенных данных пользователя [ГОСТ Р 52872 2007] авторизация предоставление прав доступа проверка полномочий Предоставление определенных полномочий лицу (группе лиц) на выполнение некоторых… … Справочник технического переводчика
авторизация — (authorization): Предоставление прав, включая предоставление доступа на основе прав доступа (ИСО/МЭК 2382 8). Источник: ГОСТ Р ИСО/ТС 18308 2008: Информатизация здоровья. Требования к архитектуре электронного учета здоровья … Словарь-справочник терминов нормативно-технической документации
авторизация — активизация, лицензия, согласие, утверждение Словарь русских синонимов. авторизация сущ., кол во синонимов: 4 • активизация (6) • … Словарь синонимов
АВТОРИЗАЦИЯ — (англ. autorization) в банковском деле подтверждение полномочий или авторства лица, предъявляющего электронный документ, карточку либо самого себя. Обычно разделяют А. электронных документов, А. магнитных или процессорных карточек и собственно… … Юридический словарь
Авторизация — англ. authorization А.Разрешение на оплату, вложение инвестиций; утверждение суммы ассигнований, придание им законных оснований; выдача лицензии. Б. Процесс электронного запроса на использование карточки при оплате товара или при получении… … Словарь бизнес-терминов
АВТОРИЗАЦИЯ — АВТОРИЗАЦИЯ, авторизации, мн. нет, жен. (франц. autorisation) (книжн., юр.). Действие по гл. авторизовать. Книга переведена без авторизации. Толковый словарь Ушакова. Д.Н. Ушаков. 1935 1940 … Толковый словарь Ушакова
АВТОРИЗАЦИЯ — (англ. autorization) в банковском деле подтверждение полномочий или авторства лица, предъявляющего электронный документ, карточку либо самого себя. Обычно различают А. электронных документов по некоторым атрибутам в цифровой форме, А. магнитных… … Юридическая энциклопедия
Что такое авторизация
Понятие авторизации простыми словами
Вы никогда не задумывались над тем, что такое авторизация и для чего она нужна? Потому что в современном мире, это понятие встречается всё чаще.
Авторизация присутствует на большинстве современных сайтов, и она полностью бесплатная для пользователей. Но в то же время, встречаются и отдельные, платные сервисы, требующие от пользователя некоторую сумму денег для проведения авторизации с доступом к платному контенту.
Это относительно новый тренд, который появился вместе с доступом к высокоскоростному, беспрерывному интернету. Перед тем, как пользователь может совершить авторизацию, ему нужно заполнить определённую анкету с указанием некоторой информации относительно своей личности.
Это важно для создания домена с оригинальным логином и паролем, которые человек будет использовать при входе на ресурс.
Стоит сказать несколько слов о том, что такое логин и пароль. Логин – это своего рода уникальное наименование, которое пользователь сам придумывает для себя, чтобы получить доступ к сайту. Он обязательно должен быть уникальным, иначе авторизоваться на сайте будет невозможно.
Касательно пароля, всё несколько проще. Это кодовое слово, состоящее из разной последовательности разных символов. В пароль входят, как буквы верхнего и нижнего регистра, так и цифры.
С помощью пароля, человек может подтвердить, что именно он является владельцем страницы, на которую был зарегистрирован тот или иной логин. Поэтому нужда в пароле объясняется целями безопасности.
Поэтому многие сайты сначала рекомендуют пользователю хорошо подумать и взять себе максимально оригинальный, сложный пароль. При желании, если с фантазией у пользователя туго, можно воспользоваться специальными генераторами пароля.
Благодаря которым появляется возможность получить максимально безопасный пароль, приложив при этом минимальное количество усилий.
Что собой представляет сам процесс авторизации?
Авторизация на данный момент является самой важной функцией, присутствующей на современных сайтах. Пользователи интернета сталкиваются с данной функцией на ежедневной основе.
При том на каждом возможном сайте. Это может быть какой угодно ресурс, социальная сеть, форум, интернет-магазин, сайт банка или любой другой веб-сайт. На нём в той или иной степени присутствует авторизация.
Благодаря регистрации на веб-сайте, человек автоматически получает некоторые привилегии по сравнению с обычными пользователями.
В случае тех же социальных сетей – это возможность видеть других пользователей, отправлять им сообщения, просматривать фотографии и так далее.
В интернет-магазинах, после регистрации появляется возможность совершать покупки. Потому что в процессе создания своей учётной записи, пользователь самостоятельно уже указывает по какому адресу ему нужно доставлять товар и на какое имя его оформлять.
Почему вообще происходит регистрация пользователя на сайте?
Вы наверняка не раз задавались вопросом о том, зачем вообще нужна регистрация на современных сайтах. Но на самом деле всё просто – при помощи регистрации пользователя на ресурсе, можно получить о нём некоторую информацию, а также наложить определённые ограничения.
Тем самым можно организовать работу определённых сервисов, которые позволяют людям упростить жизнь.
Но зачем создавать нужду в авторизации и искусственным образом ограничивать функции, которые пользователь мог и так получить?
Потому что было бы гораздо проще, если бы пользователь мог просто зайти на ресурс и сразу же использовал всё, что на нём представлено.
Ведь регистрация процедура хоть и лёгкая, но отнимает некоторое время. Особенно если говорить о случаях, когда пользователи забывают собственные пароли и начинают восстанавливать их при помощи электронной почты.
Однако есть причина, по которой обойтись без авторизации просто невозможно. Это в первую очередь мера предосторожности от спама. Потому что на ресурс могут обрушиваться пользователи, желающие причинить лишь только вред.
От того они активно начинают засорять ресурс различным текстовым хламом. С помощью элементарной регистрации удаётся избавиться от этих, так называемых, ботов. К тому же, авторизация, это своего рода процесс идентификации.
Информацию от вас никто не требует. Вы сами вводите её добровольно. Но при этом сайты берут на себя ответственность за сохранность предоставленных вами данных. Они постараются приложить максимум усилий, чтобы никто и ни при каких условиях не смог узнать ваше имя, почтовый адрес и многое другое.
Таким образом можно выделить огромное количество преимуществ авторизации, которые позволяют ей оставаться важным элементом любого современного веб-сайта:
Чем отличается авторизация от аутентификации
Как усложнить жизнь злоумышленникам.
Послушать аудиоверсию этой статьи (6 минут):
Так. Минутка терминологии для грамотных айтишников.
Аутентификация — это когда нужно подтвердить, что мы это именно мы, а не кто-то другой.
Например, можно пройти аутентификацию по логину и паролю. Предполагается, что никто не передаёт свой пароль другому человеку, и если кто-то ввёл логин и пароль Васи — он и есть Вася (потому что этот пароль знает только Вася).
Есть и другие варианты. Например, когда звонит телефон и на нём высвечивается надпись «Мама», мы предполагаем, что, ответив на звонок, мы будем разговаривать с мамой. Это аутентификация по номеру звонящего. Но окончательно мы в этом убедимся, только когда услышим её голос в трубке. Это аутентификация по голосу.
Раньше для разблокировки телефона нужно было вводить код, пароль или рисовать узор на экране — это тоже способы аутентификации, чтобы доказать телефону, что вы его владелец. С появлением датчика отпечатка пальца и распознавания лица мы перешли на биометрическую аутентификацию.
Авторизация — это когда система смотрит на результат аутентификации и решает, что этому пользователю можно делать, а что нельзя. В ИТ для этого вводят разные уровни доступа, например:
Пример авторизации из жизни
Давайте представим ситуацию в очень законопослушной стране:
— Здравствуйте, гражданин, предъявите документы!
— А вы, собственно, кто?
— Я лейтенант Иванов, 3-е отделение ППС, вот моё удостоверение.
Перед тем как гражданин согласился показать документы, он убедился, что Иванов — именно тот, за кого себя выдаёт. Это был этап аутентификации — гражданин запросил документы, сверил лицо человека с фотографией, прочитал должность и срок действия документов.
После того как аутентификация была пройдена, человек с удостоверением получил нужный уровень доступа — право запрашивать документы у этого гражданина. Если бы удостоверение было просрочено или на фотографии был другой человек, то уровень авторизации остался бы тем же, что и в самом начале, и документы можно не показывать.
Аутентификация и авторизация одной картинкой
Что дальше
Следующий этап — двухфакторная аутентификация. Она нужна, чтобы усложнить жизнь злоумышленникам, которые украли чей-то логин и пароль. Про неё — в другой раз.
Аутентификация и авторизация в микросервисных приложениях
Автор: Вячеслав Михайлов, Solutions Architect
Это вводная часть материала, основанного на докладе, прочитанном мной прошлым летом. Печатный материал предполагает больше информации, т.к. в одном докладе обычно не получается рассказать обо всех деталях.
Что такое аутентификация?
На процессах аутентификации и авторизации основано разделения прав доступа, без которого не обходится ни одно более или менее серьезное приложение. Поэтому понимать, как они происходили раньше и происходят теперь, очень важно, но, прежде чем углубиться в описание технологии, давайте разберемся с ключевыми терминами.
Идентификация — процесс определения, что за человек перед нами. Аутентификация — процесс подтверждения, что этот человек именно тот, за кого себя выдает. Авторизация — процесс принятия решения о том, что именно этой аутентифицированной персоне разрешается делать. То есть, это три разных, последовательных и взаимно не заменяемых понятия. Идентификацию часто подразумевают в составе аутентификации. Самое главное — четко различать аутентификацию и авторизацию.
В ходе аутентификации мы удостоверяемся, что человек, который к нам пришел, обладает доказательствами, подтверждающими личность. В этой статье речь в основном пойдет как раз об аутентификации.
Способы аутентификации
При использовании HTTP-протокола простейший способ аутентификации — Basic access authentication. В принципе этот протокол устарел и уже редко используется в интернете, особенно в незащищенных соединениях, но еще сохраняется во внутрикорпоративных системах, просто потому что некоторые из них созданы достаточно давно. Стоит разобраться, как он работает.
HTTP Basic Authentication
Первым, что при обращении к защищенному ресурсу сервер выдаст пользователю, не имеющему доступа, будет ошибка 401 Unauthorized. При этом ответ также содержит информацию о типе аутентификации (в нашем случае – Basic), который он может принимать, и контекст, в рамках которого эта аутентификация действует (Realm). Пользователь вводит логин и пароль, они упаковываются в Base64 и отправляются на сервер для проверки. Здесь существуют различные опасности. Самая распространенная — угроза man-in-the-middle attack, или атаки посредника, в ходе которой при использовании незащищенного соединения учетные данные могут перехватить злоумышленники в момент передачи от клиента к серверу или обратно.
HTTP Digest Authentication
Следующим этапом развития технологии стала чуть более сложная система HTTP digest authentication, которая исключает передачу учетных данных в открытом виде — здесь для проверки используется MD5-хеш с некоторыми примесями, что позволяет избежать подбора логина и пароля. Конечно, этот алгоритм выглядит более надежным, но и он подвержен целому ряду не самых сложных атак. Например, вот тут можно почитать об атаках более подробно.
Forms Authentication
Позднее появился процесс Forms authentication, при котором аутентификация происходит на более высоком уровне модели абстракции. HTTP-сервер при этом не сообщает об ошибке доступа, а просто перенаправляет неаутентифицированного пользователя на другую страницу. Обычно на этой странице отображаются поля для ввода логина и пароля, после заполнения которых формируется POST-запрос с данными и через защищенный канал направляется на сервер. Серверная сторона в свою очередь возвращает пользователю токен или идентификатор сессии, который сохраняется в Cookies и в дальнейшем используется для доступа к защищенному ресурсу.
Token Authentication
На схеме хорошо видно, как и в какой последовательности приложения обмениваются информацией при использовании аутентификацией по токенам.
На следующей схеме дополнительно отражены те этапы взаимодействия, в которых пользователь принимает непосредственное участие. Этот момент и является недостатком подобной схемы — нам всегда нужен пользователь, чтобы получить доступ к ресурсу.
OAuth2 & Open ID Connect
Дальнейшее усовершенствование процесса понадобилось ввиду того, что токен-аутентификация требует присутствия пользователя в момент получения доступа к защищенному ресурсу. Потому что Identity provider при передаче ему управления будет с пользователем взаимодействовать, запрашивая, например, логин и пароль.
В случае сервиса, который от имени пользователя должен через определенные промежутки времени опрашивать некий третий ресурс, — допустим, получать доступ к списку контактов в социальной сети — токен-аутентификация работать уже не будет. Дело в том, что идентификаторы сессии обычно живут очень недолго, чтобы в случае их перехвата злоумышленники получили доступ к сервису лишь на ограниченное время. Но из-за короткого срока действия токена не хватает, например, на ночной процесс.
В 2006 году в ходе работы над реализацией протокола Open ID для Twitter обнаружилась потребность в новом открытом протоколе авторизации. В 2007 инженеры Google и AOL начали совместную работу над ним, а в 2009 Twitter предложил своим пользователям решение, делегировавшее сторонним сервисам доступ к аккаунтам и основанное на протоколе OAuth. Три года спустя была опубликована новая версия — OAuth 2, упростившая разработку клиентских приложений и получившая целый ряд новых возможностей, среди которых оказалось и обновление токена без участия пользователя. Многие сервисы начали использовать этот протокол еще до его официального утверждения.
Разбираемся детально ху из ху
OpenID 1.0 (2006) & OpenID 2.0 (2007) позволяли приложению(арб) запрашивать у доверенного сервера (authority) проверку пользователя(user). Отличия между версиями для нас несущественны.
Взгляд сверху
Обычно в системах встречаются разные компоненты: пользователи, работающие через браузер, пользователи, взаимодействующие с сервером через мобильные приложения, и просто серверные приложения, нуждающиеся в принадлежащих вам данных, хранящихся на других серверах, доступ к которым осуществляется через Web API.
Single sign-on — технология единого входа — позволяет пользователю переключаться между различными приложениями без повторной аутентификации. Используя SSO можно избежать множественных логинов, так что пользователь просто не будет замечать этих переключений. При этом ситуации, когда в рамках вашей инфраструктуры таких приложений будет больше одного, встречаются постоянно. Технология единого входа особенно удобна в больших энтерпрайз-системах, состоящих из десятков приложений, слабо связанных между собой. Вряд ли пользователи будут довольны, вводя логин и пароль при каждом обращении к системе учета рабочего времени, корпоративному форуму или внутренней базе документов.
В качестве реализации мы рассматриваем протокол OAuth2. В принципе, существуют и другие, например, Kerberos, успешно взаимодействующий с Windows, но в случае гетерогенной сети, в которой существуют компьютеры, использующие и Windows-, и Mac-, и UNIX-системы, использовать проприетарные протоколы зачастую неудобно. Тем более, это касается случаев, когда доступ к вашим сервисам осуществляется через веб — здесь OAuth2 оказывается лучшим кандидатом.
На рисунке выше показано, какие именно протоколы используются при каждом типе взаимодействия.
Как мы знаем из раздела «разбираемся детально ху из ху», OpenID Сonnect нужен, чтобы получить у пользователя его учетные данные и проверить их. OAuth 2.0 нужен, чтобы получать токены доступа и с ними обращаться к ресурсам.
Терминология OAuth2 & OpenID Connect
Сервис выдачи токенов
Open ID Connect Provider — важнейший объект всей конструкции централизованного сервиса аутентификации, он также может называться Security Token Service, Identity Provider authorization server и т. д. Различные источники называют его по-разному, но по смыслу это сервис, который выдает токены клиентам.
Клиент
Client — устройство или программа (браузер, приложение), которым требуется либо токен для аутентификации пользователя, либо токен для доступа к какому-то ресурсу (подразумевается, что данный ресурс «знаком» с тем конкретным «Security Token Service» у которого клиент запрашивает токен для доступа).
Пользователь
User — собственно конечный пользователь — человек.
Область (scope)
Scope — идентификатор ресурса, к которому клиент хочет получить доступ. Список scope посылается в адрес сервиса выдачи токенов в составе запроса на аутентификацию.
По умолчанию все клиенты имеют возможность запрашивать любые области, но это можно (и нужно) ограничивать в конфигурации сервиса выдачи токенов.
Scopes бывают двух видов:
Запрос на аутентификацию
Authentication/Token Request — процесс запроса аутентификации.
Токен личности
Identity Token — подтверждение аутентификации. Этот токен содержит минимальный набор информации о пользователе.
Токен доступа
Access Token — информация, что конкретному пользователю разрешается делать. Клиент запрашивает Access Token и затем использует его для доступа к ресурсам (Web APIs). Access Token содержит информацию о клиенте и пользователе, если она присутствует. Важно понимать, что есть такие типы авторизации, при которых пользователь в процессе непосредственно не участвует (подробнее об этом в следующей части)
Токен обновления
Refresh Token — токен, по которому STS вернет новый Access Token. В зависимости от режима работы, Refresh Token может быть многоразовым и одноразовым. В случае с одноразовым токеном, при запросе нового Access Token будет также сформирован готовый Refresh Token, который следует использовать при повторном обновлении. Очевидно, что одноразовые токены более безопасны.
Более подробно о составе токенов в разделе «структура токена».
Процесс аутентификации
При обращении пользователя к клиенту, тот перенаправляет пользователя на Open ID Connect Provider, который запрашивает у пользователя логин и пароль. В случае успешного прохождения проверки параметров аутентификации он возвращает назад identity token и access token, с которыми пользователь может обращаться к защищенному ресурсу.
Структура токена
Формат
В реализации OAuth2 используется так называемый jwt-токен, который состоит из трех частей. Допустим, при обращении к Identity provider вы отправляете логин/пароль и в ответ получаете токен. Он будет включать в себя: Header (заголовок), Payload (контент) и Signature (подпись). На сайте jwt.io его можно декодировать и посмотреть содержимое формате JSON. На этом сайте вы также найдете описание правил формирования jwt-токенов.
В том, что токены в процессе обмена передаются незашифрованными, ничего страшного нет. Мы изначально исходим из предположения, что коммуникация происходит по защищенному HTTPS-каналу, и повторное шифрование токена было бы избыточным. Единственное, в чем нам нужно убедиться – то, что токен не был подменен или сфальсифицирован на клиентской стороне, для этого достаточно иметь подпись и проверять ее на сервере. Кроме того, токен не содержит никакой критически важной информации.
Кроме identity tokens, есть еще и аccess tokens, которые содержат информацию о выданных пользователю клеймах. Срок действия access token достаточно короткий, потому что его хищение может обеспечить несанкционированный доступ к ресурсу. Т. е. злоумышленник, если ему удастся заполучить токен этого типа, доступ получит на очень непродолжительное время. Для получения нового access token используется refresh token, который обычно не фигурирует в незащищенных средах, в частности в режиме доступа из браузера он вообще не используется. Какие именно токены будут возвращены клиенту в процессе аутентификации, разберемся в следующей части.
Основные поля
Кратко остановимся на том, какие есть стандартные полях в токене и зачем они нужны:
Заключение первой части
В этой статье мы постарались дать теоретический и терминологический фундамент, который понадобится нам создании работающего решения в следующих статьях.
Минимальная реализация интеграция Identity Server в ваше приложение выглядит так:
Минимальная реализация интеграции веб-клиента с Identity Server:
Минимальная реализация интеграции веб-API с Identity Server: