В настоящий день мы разберем основные понятия аутентификации и авторизации, и узнаем, как происходит проверка личности в интернете. Аутентификация представляет собой процесс проверки настоящего пользователя, который широко используется в области информационных технологий.
Более подробно
Подлинность также подтверждается на веб-сайтах путем сопоставления введенных символов и букв в поле «Пароль» с хранящимися в базе данных паролями, а также в сети — для проверки целостности файлов, документов и электронных писем. В современном мире невозможно обойтись без аутентификации, особенно в случае серьезных приложений. Поэтому важно понять, откуда возникла проверка подлинности и каковы ее возможности.
Однако перед началом следует разобраться в понятиях «идентификация» и «аутентификация». Давайте начнем с примеров, которые часто вызывают путаницу:
- Идентификация — это процесс распознавания субъекта.
- Аутентификация — это процедура подтверждения того, что субъект соответствует определенным характеристикам (идентификатору) и имеет доказательства, подтверждающие свою личность.
Авторизация позволяет определить, какие привилегии предоставлены пользователю после успешной аутентификации и какие дополнительные функции становятся доступны.
Давайте разберемся, что такое процесс аутентификации? Этот процесс развивается от простого к сложному:
HTTP Basic Authentication
Стандартный и уже малоиспользуемый протокол аутентификации, который основан на передаче имени пользователя и пароля на конкретный сервер, связанный с клиентом (приложениями, браузером и сайтами), чтобы проверять пользователей. Информация защищается с помощью кодировки Base64 (перевод двоичных данных в текстовый формат с использованием 64 символов ASCII), из-за чего возникает опасность утечки и угроз (например, атака «Man-in-the-Middle»). При использовании незащищенных соединений злоумышленники легко могут перехватывать передаваемые логины и пароли на этапе передачи к серверу или уже к клиенту.
HTTP Digest Authentication
Новый этап в развитии технологии аутентификации связан с добавлением к обычным логинам и паролям дополнительного 128-битного алгоритма хэширования. Этот алгоритм генерирует специальный «отпечаток» произвольной длины, который затем сравнивается с данными, хранящимися на сервере. Это делает поиск конфиденциальной информации для мошенников сложнее, хотя всё равно остаются уязвимости, которые могут быть использованы для перехвата.
Forms Authentication
Промежуточный этап разработки, который предотвращает вывод ошибок до прохождения аутентификации. При использовании методов Digest и Basic на защищенных страницах будет показана стандартная ошибка отсутствия прав доступа, обозначаемая как 401 Unauthorized. Если попытаться зайти на запрещенные страницы сайта, пользователь будет переадресован на соседнюю страницу, где начнется процесс проверки подлинности через ввод логина и пароля.
В результате создается специальный HTTP POST-запрос с данными из заполненной веб-формы, который отправляется на серверное хранилище. Полученные данные обрабатываются и затем возвращаются в виде идентификатора, который сохраняется в браузере пользователя вместе с «Cookies» и автоматически используется на всех этапах взаимодействия с защищенным ресурсом.
Token Authentication
Отдельный этап проверки подлинности в сети основан на технологии SSO — Single Sign-On, которая позволяет переключаться между ресурсами и приложениями без необходимости повторной аутентификации.
В Token Authentication «доказательства» (подтверждающие личность) передаются уже другому сервису-посреднику (Identity Provider), который и распределяет токены. Примеры включают в себя вход в профиль через аккаунты в социальных сетях (Facebook, VK) и использование паспорта гражданина для взаимодействия с государственными службами. Например, если вы получили документ в полицейском отделении, другие государственные структуры автоматически примут его как подтверждение личности, и не будут требовать дополнительной проверки.
OAuth2 & Open ID Connect.
Усовершенствованная система аутентификации добавляет к защищенным соединениям токены, хранящиеся в Cookies, и другие шифрования, а также специальную поддержку пользователя. Токены выдаются через «Open ID Connect Provider» для проверки пользователей, управления конфиденциальной информацией и выдачи доступа (Access Token).
Клиенту – программе, браузеру или приложению, запрашивающему токен, нужно будет запросить у пользователя логин и пароль только один раз, и в дальнейшем Cookies позволят переходить между ресурсами без дополнительных действий.