Чем отличаются идентификация, аутентификация и авторизация? –

Что еще важно знать

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

Введение

Применение открытых каналов передачи данных создает потенциальные возможности для действий злоумышленников (нарушителей).

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

3.Строгая аутентификация, основанная на асимметричных алгоритмах

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

  • расшифровать запрос, зашифрованный на открытом ключе;
  • поставить свою цифровую подпись на запросе.

Пара ключей, необходимая для аутентификации, не должна

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

Аутентификация с использованием асимметричных алгоритмов шифрования

В качестве примера протокола, построенного на использовании асимметричного алгоритма шифрования, можно привести следующий протокол аутентификации:

(1)

. (2)

Участник В выбирает случайным образом r и вычисляет значение х=h(r) (значение х демонстрирует знание r без раскрытия самого значения r), далее он вычисляет значение е = РA(r, В). Под РА подразумевается алгоритм асимметричного шифрования (например, RSA), а под А(•) — хэш-функция.

Участник В отправляет сообщение (1) участнику А. Участник А расшифровывает е = РА(r, В) и получает значения r1, и B1, а также вычисляет х1=h(r1).

После этого производится ряд сравнений, доказывающих, что x=x1, и что полученный идентификатор B1, действительно указывает на участника В. В случае успешного проведения сравнения участник А посылает r. Получив его, участник В проверяет, то ли это значение, которое он отправил в сообщении (1).

В качестве другого примера приведем модифицированный протокол Нидхэма и Шредера, основанный на асимметричном шифровании.

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

. (1)

. (2)

; (3)

Аутентификация, основанная на использовании цифровой подписи

В рекомендациях стандарта Х.509 специфицирована схема аутентификации, основанная на использовании цифровой подписи, меток времени и случайных чисел.

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

tA , rА и rв — временная метка и случайные числа соответственно;

SA — подпись, сгенерированная участником А;

SB — подпись, сгенерированная участником B;

certA — сертификат открытого ключа участника А;

certB — сертификат открытого ключа участника В.

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

В качестве примеров приведем следующие протоколы аутентификации.

  1. Односторонняя аутентификация с применением меток времени:

(1)

После принятия данного сообщения участник В проверяет правильность метки времени tA, полученный идентификатор В и, используя открытый ключ из сертификата certA корректность цифровой подписи SA(tA,В).

  1. Односторонняя аутентификация с использованием случайных чисел:

; (1)

(2)

Участник В, получив сообщение от участника А, убеждается, что именно он является адресатом сообщения; используя открытый ключ участника А, взятый из сертификата certA, проверяет корректность подписи SA(rA , rB , В) под числом rА, полученным в открытом виде, числом rB , которое было отослано в сообщении (1), и его идентификатором В. Подписанное случайное число rА используется для предотвращения атак с выборкой открытого текста.

  1. Двусторонняя аутентификация с использованием случайных чисел:

; (1)

(2)

(3)

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

Заключение

На данной лекции мы изучили принципы управления доступом к информационным ресурсам. Нами были рассмотрены вопросы: «Идентификация и аутентификация пользователей и программ», «Методы аутентификации, использующие пароли и PIN-коды», «Строгая аутентификация».

2.Строгая аутентификация, основанная на симметричных алгоритмах

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

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

Похожее:  УК «КДЕЗ» в Кимрах: телефон, адрес, контакты и сайт

Протоколы аутентификации с симметричными алгоритмами шифрования.

Ниже приводятся три примера протоколов аутентификации, специфицированных в ISO/IEC 9798-2. Эти протоколы предполагают предварительное распределение разделяемых секретных ключей.

Рассмотрим следующие варианты аутентификации:

  • односторонняя аутентификация с использованием меток времени;
  • односторонняя аутентификация с использованием случайных чисел;
  • двусторонняя аутентификация.

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

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

Введем следующие обозначения:

rА — случайное число, сгенерированное участником А;

rB — случайное число, сгенерированное участником В;

tA — метка времени, сгенерированная участником А;

Eк — симметричное шифрование на ключе К (ключ K должен быть предварительно распределен между А и В).

  1. Односторонняя аутентификация, основанная на метках времени:

. (1)

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

  1. Односторонняя аутентификация, основанная на использовании случайных чисел:

; (1)

. (2)

Участник В отправляет участнику А случайное число rB. Участник А шифрует сообщение, состоящее из полученного числа rBи идентификатора В, и отправляет зашифрованное сообщение участнику В.

  1. Двусторонняя аутентификация, использующая случайные значения:

; (1)

. (2)

. (3)

При получении сообщения (2) участник В выполняет те же проверки, что и в предыдущем протоколе, и дополнительно расшифровывает случайное число rA для включения его в сообщение (3) для участника А. Сообщение (3), полученное участником А, позволяет ему убедиться на основе проверки значений rAи rB, что он имеет дело именно с участником В.

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

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

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

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

Односторонняя хэш-функция hK(•) с параметром-ключом К, примененная к шифруемым данным М, дает в результате хэш-значение m (дайджест), состоящее из фиксированного небольшого числа байт (рис. 3).

Дайджест m = hK(M) передается получателю вместе с исходным сообщением М. Получатель сообщения, зная, какая односторонняя хэш-функция была применена для получения дайджеста, заново вычисляет ее, используя расшифрованное сообщение М.

Рис.3. Применение для аутентификации односторонней хэш-функции с параметром-ключом

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

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

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

На рис. 4 показан другой вариант использования односторонней хэш-функции для проверки целостности данных. В этом случае односторонняя хэш-функция h(•) не имеет параметра-ключа, но применяется не просто к сообщению М, а к сообщению, дополненному секретным ключом К, т. е. отправитель вычисляет дайджест т = h(M, К).

Получатель, извлекая исходное сообщение М, также дополняет его тем же известным ему секретным ключом К, после чего применяет к полученным данным одностороннюю хэш-функцию h(•). Результат вычислений — дайджест т’ — сравнивается с полученным по сети дайджестом т.

Рис. 4 – Применение односторонней хэш-функции к сообщению, дополненному секретным ключом К

При использовании односторонних функций шифрования в рассмотренные выше протоколы необходимо внести следующие изменения:

  • функция симметричного шифрования ЕК заменяется функцией hK;
  • проверяющий вместо установления факта совпадения полей в расшифрованных сообщениях с предполагаемыми значениями вычисляет значение однонаправленной функции и сравнивает его с полученным от другого участника обмена информацией;
  • для обеспечения независимого вычисления значения однонаправленной функции получателем сообщения в протоколе 1 метка времени tА должна передаваться дополнительно в открытом виде, а в сообщении (2) протокола 3 случайное число rА должно передаваться дополнительно в открытом виде.
Похожее:  Сети для гостиниц | TP-Link Россия

Модифицированный вариант протокола 3 с учетом сформулированных изменений имеет следующую структуру:

; (1)

. (2)

. (3)

Заметим, что в сообщение (3) протокола включено поле А. Результирующий протокол обеспечивает взаимную аутентификацию и известен как протокол SKID 3.

Идентификация и аутентификация пользователей и программ

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

Операционная система Windows для идентификации использует специальный идентификатор безопасности (Security Identifier, SID), который присваивается каждой учетной записи пользователя (а также компьютера или группы) при ее создании. В отличие от имени каждый SID уникален, что позволяет системе однозначно идентифицировать пользователя.

Методы аутентификации, использующие пароли и PIN-коды

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

Чем отличаются идентификация, аутентификация и авторизация? –

Аутентификация по ключам доступа

Этот способ чаще всего используется для аутентификации устройств, сервисов или других приложений при обращении к веб-сервисам. Здесь в качестве секрета применяются ключи доступа (
access key, API key

Аутентификация по одноразовым паролям

Аутентификация по одноразовым паролям обычно применяется дополнительно к аутентификации по паролям для реализации
two-factor authentication
(2FA). В этой концепции пользователю необходимо предоставить данные двух типов для входа в систему: что-то, что он знает (например, пароль), и что-то, чем он владеет (например, устройство для генерации одноразовых паролей). Наличие двух факторов позволяет в значительной степени увеличить уровень безопасности, что м. б. востребовано для определенных видов веб-приложений.

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

Существуют разные источники для создания одноразовых паролей. Наиболее популярные:

  1. Аппаратные или программные токены, которые могут генерировать одноразовые пароли на основании секретного ключа, введенного в них, и текущего времени. Секретные ключи пользователей, являющиеся фактором владения, также хранятся на сервере, что позволяет выполнить проверку введенных одноразовых паролей. Пример аппаратной реализаций токенов — RSA SecurID; программной — приложение Google Authenticator.
  2. Случайно генерируемые коды, передаваемые пользователю через SMS или другой канал связи. В этой ситуации фактор владения — телефон пользователя (точнее — SIM-карта, привязанная к определенному номеру).
  3. Распечатка или scratch card со списком заранее сформированных одноразовых паролей. Для каждого нового входа в систему требуется ввести новый одноразовый пароль с указанным номером.

Чем отличаются идентификация, аутентификация и авторизация? –
Аппаратный токен RSA SecurID генерирует новый код каждые 30 секунд.

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

Аутентификация по сертификатам

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

На стороне клиента сертификат вместе с закрытым ключом могут храниться в операционной системе, в браузере, в файле, на отдельном физическом устройстве (smart card, USB token). Обычно закрытый ключ дополнительно защищен паролем или PIN-кодом.

В веб-приложениях традиционно используют сертификаты стандарта X.509. Аутентификация с помощью X.509-сертификата происходит в момент соединения с сервером и является частью протокола SSL/TLS. Этот механизм также хорошо поддерживается браузерами, которые позволяют пользователю выбрать и применить сертификат, если веб-сайт допускает такой способ аутентификации.

Чем отличаются идентификация, аутентификация и авторизация? –
Использование сертификата для аутентификации.

Во время аутентификации сервер выполняет проверку сертификата на основании следующих правил:

  1. Сертификат должен быть подписан доверенным certification authority (проверка цепочки сертификатов).
  2. Сертификат должен быть действительным на текущую дату (проверка срока действия).
  3. Сертификат не должен быть отозван соответствующим CA (проверка списков исключения).

Чем отличаются идентификация, аутентификация и авторизация? –
Пример X.509 сертификата.

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

Похожее:  Не удается пройти авторизацию по защищенному соединению вконтакте

Использование сертификатов для аутентификации — куда более надежный способ, чем аутентификация посредством паролей. Это достигается созданием в процессе аутентификации цифровой подписи, наличие которой доказывает факт применения закрытого ключа в конкретной ситуации (non-repudiation).

Определения

Что же значат все эти термины, и чем соответствующие процессы отличаются друг от друга?

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

Примеры

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

Стандарт saml

Стандарт Security Assertion Markup Language (SAML) описывает способы взаимодействия и протоколы между identity provider и service provider для обмена данными аутентификации и авторизации посредством токенов. Изначально версии 1.0 и 1.1 были выпущены в 2002 – 2003 гг., в то время как версия 2.0, значительно расширяющая стандарт и обратно несовместимая, опубликована в 2005 г.

Этот основополагающий стандарт — достаточно сложный и поддерживает много различных сценариев интеграции систем. Основные «строительные блоки» стандарта:

Стандарты oauth и openid connect

В отличие от SAML и WS-Federation, стандарт OAuth (Open Authorization) не описывает протокол аутентификации пользователя. Вместо этого он определяет механизм получения доступа одного приложения к другому от имени пользователя. Однако существуют схемы, позволяющие осуществить аутентификацию пользователя на базе этого стандарта (об этом — ниже).

Первая версия стандарта разрабатывалась в 2007 – 2022 гг., а текущая версия 2.0 опубликована в 2022 г. Версия 2.0 значительно расширяет и в то же время упрощает стандарт, но обратно несовместима с версией 1.0. Сейчас OAuth 2.0 очень популярен и используется повсеместно для предоставления делегированного доступа и третье-сторонней аутентификации пользователей.

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

> Попросить пользователя указать данные своей учетной записи? — плохой вариант.> Попросить пользователя создать ключ доступа? — возможно, но весьма сложно.

Как раз эту проблему и позволяет решить стандарт OAuth: он описывает, как приложение путешествий (client) может получить доступ к почте пользователя (resource server) с разрешения пользователя (resource owner). В общем виде весь процесс состоит из нескольких шагов:

  1. Пользователь (resource owner) дает разрешение приложению (client) на доступ к определенному ресурсу в виде гранта. Что такое грант, рассмотрим чуть ниже.
  2. Приложение обращается к серверу авторизации и получает токен доступа к ресурсу в обмен на свой грант. В нашем примере сервер авторизации — Google. При вызове приложение дополнительно аутентифицируется при помощи ключа доступа, выданным ему при предварительной регистрации.
  3. Приложение использует этот токен для получения требуемых данных от сервера ресурсов (в нашем случае — сервис Gmail).

Чем отличаются идентификация, аутентификация и авторизация? –
Взаимодействие компонентов в стандарте OAuth.

Стандарт описывает четыре вида грантов, которые определяют возможные сценарии применения:

Стандарты ws-trust и ws-federation

WS-Trust и WS-Federation входят в группу стандартов WS-*, описывающих SOAP/XML-веб сервисы. Эти стандарты разрабатываются группой компаний, куда входят Microsoft, IBM, VeriSign и другие. Наряду с SAML, эти стандарты достаточно сложные, используются преимущественно в корпоративных сценариях.

Стандарт WS-Trust описывает интерфейс сервиса авторизации, именуемого Secure Token Service (STS). Этот сервис работает по протоколу SOAP и поддерживает создание, обновление и аннулирование токенов. При этом стандарт допускает использование токенов различного формата, однако на практике в основном используются SAML-токены.

Стандарт WS-Federation касается механизмов взаимодействия сервисов между компаниями, в частности, протоколов обмена токенов. При этом WS-Federation расширяет функции и интерфейс сервиса STS, описанного в стандарте WS-Trust. Среди прочего, стандарт WS-Federation определяет:

Можно сказать, что WS-Federation позволяет решить те же задачи, что и SAML, однако их подходы и реализация в некоторой степени отличаются.

Форматы токенов

Существует несколько распространенных форматов токенов для веб-приложений:

Заключение

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

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

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

Adblock
detector