1. 1. Идентификация в информационных системах — присвоение субъектам и объектам идентификатора и / или сравнение идентификатора с перечнем присвоенных идентификаторов. Например, идентификация по штрихкоду.
Термин «идентификация» в отношении личности пользователей в информационной безопасности часто ошибочно используется на месте понятий аутентификация и авторизация.
Пример : Раздается звонок в домофон, вы берете трубку и спрашиваете: «Кто?». Таким образом вы запрашиваете идентификатор неизвестного человека. Он отвечает: «Доставка пиццы». Если вы действительно заказывали пиццу, то идентификация проходит успешно, и вы открываете дверь.
«Введите номер телефона», «введите электронную почту», «введите логин» — так запрашивается ваш идентификатор, чтобы компьютерная система или интернет-сервис могли понять, существует ли ваш аккаунт. Появление надписи «указанный пользователь не найден» означает, что система не смогла провести идентификацию.
- 2. Аутентификация – это проверка, действительно ли проверяемый пользователь является тем, за кого он себя выдает. Различные методы аутентификации необходимы, фактически, во всех системах ограничения и разграничения доступа к данным – как распределенных, так и предназначенных для защиты отдельного компьютера.
Для корректной аутентификации пользователя необходимо, чтобы пользователь предъявил аутентификационную информацию – некую уникальную информацию, которой должен обладать только он и никто иной.
Существует три основных типа аутентификационной информации: Проверяемый пользователь знает некую уникальную информацию.
Пример: парольная аутентификация.
Этот метод основывается на том, что пользователь должен предоставить username и password для успешной идентификации и аутентификации в системе. Пара username/password задается пользователем при его регистрации в системе, при этом в качестве username может выступать адрес электронной почты пользователя.
Применительно к веб-приложениям, существует несколько стандартных протоколов для аутентификации по паролю, которые мы рассмотрим ниже.
HTTP authentication
Этот протокол, описанный в стандартах HTTP 1.0/1.1, существует очень давно и до сих пор активно применяется в корпоративной среде. Применительно к веб-сайтам работает следующим образом:
Сервер, при обращении неавторизованного клиента к защищенному ресурсу, отсылает HTTP статус “401 Unauthorized” и добавляет заголовок “WWW-Authenticate” с указанием схемы и параметров аутентификации.
Браузер, при получении такого ответа, автоматически показывает диалог ввода username и password. Пользователь вводит детали своей учетной записи.
Во всех последующих запросах к этому веб-сайту браузер автоматически добавляет HTTP заголовок “Authorization”, в котором передаются данные пользователя для аутентификации сервером.
Сервер аутентифицирует пользователя по данным из этого заголовка. Решение о предоставлении доступа (авторизация) производится отдельно на основании роли пользователя, ACL или других данных учетной записи.
Весь процесс стандартизирован и хорошо поддерживается всеми браузерами и веб-серверами. Существует несколько схем аутентификации, отличающихся по уровню безопасности:
Basic — наиболее простая схема, при которой username и password пользователя передаются в заголовке Authorization в незашифрованном виде (base64-encoded). Однако при использовании HTTPS (HTTP over SSL) протокола, является относительно безопасной.
Пример HTTP аутентификации с использованием Basic схемы.
Digest — challenge-response-схема, при которой сервер посылает уникальное значение nonce, а браузер передает MD5 хэш пароля пользователя, вычисленный с использованием указанного nonce. Более безопасная альтернативв Basic схемы при незащищенных соединениях, но подвержена man-in-the-middle attacks (с заменой схемы на basic). Кроме того, использование этой схемы не позволяет применить современные хэш-функции для хранения паролей пользователей на сервере.
NTLM (известная как Windows authentication) — также основана на challenge-response подходе, при котором пароль не передается в чистом виде. Эта схема не является стандартом HTTP, но поддерживается большинством браузеров и веб-серверов. Преимущественно используется для аутентификации пользователей Windows Active Directory в веб-приложениях. Уязвима к pass-the-hash-атакам.
Negotiate — еще одна схема из семейства Windows authentication, которая позволяет клиенту выбрать между NTLM и Kerberos аутентификацией. Kerberos — более безопасный протокол, основанный на принципе Single Sign-On. Однако он может функционировать, только если и клиент, и сервер находятся в зоне intranet и являются частью домена Windows.
Стоит отметить, что при использовании HTTP-аутентификации у пользователя нет стандартной возможности выйти из веб-приложения, кроме как закрыть все окна браузера.
Forms authentication
Для этого протокола нет определенного стандарта, поэтому все его реализации специфичны для конкретных систем, а точнее, для модулей аутентификации фреймворков разработки.
Работает это по следующему принципу: в веб-приложение включается HTML-форма, в которую пользователь должен ввести свои username/password и отправить их на сервер через HTTP POST для аутентификации. В случае успеха веб-приложение создает session token, который обычно помещается в browser cookies. При последующих веб-запросах session token автоматически передается на сервер и позволяет приложению получить информацию о текущем пользователе для авторизации запроса.
Пример forms authentication.
Приложение может создать session token двумя способами:
Как идентификатор аутентифицированной сессии пользователя, которая хранится в памяти сервера или в базе данных. Сессия должна содержать всю необходимую информацию о пользователе для возможности авторизации его запросов.
Как зашифрованный и/или подписанный объект, содержащий данные о пользователе, а также период действия. Этот подход позволяет реализовать stateless-архитектуру сервера, однако требует механизма обновления сессионного токена по истечении срока действия. Несколько стандартных форматов таких токенов рассматриваются в секции «Аутентификация по токенам».
Необходимо понимать, что перехват session token зачастую дает аналогичный уровень доступа, что и знание username/password. Поэтому все коммуникации между клиентом и сервером в случае forms authentication должны производиться только по защищенному соединению HTTPS.
Пользователь имеет некий предмет с уникальными характеристиками или содержимым. Примеры: смарт-карта, USB-токен и т.д.
Аутентификационная информация является неотъемлемой частью пользователя. Пример: отпечаток пальца и другие виды биометрической аутентификации (биометрической называется аутентификация пользователя по его биометрическим признакам).
3.Авторизация - предоставление определённому лицу или группе лиц прав на выполнение определённых действий; а также процесс проверки (подтверждения) данных прав при попытке выполнения этих действий. Часто можно услышать выражение, что какой-то человек «авторизован» для выполнения данной операции — это значит, что он имеет на неё право.
1.Матрица доступа (МД) – это готовая модель, позволяющая регламентировать доступ к информационным ресурсам компании, но основании которой можно оценить состояние и структуру защиты данных в информационных системах. В матрице четко устанавливаются права для каждого субъекта по отношению ко всем объектам информации. Визуально это можно представить в качестве некого массива данных со множеством ячеек, которые формируются пересечением строки, указывающей на субъект и столбика, указывающего на объект. Получается, что при таком подходе к управлению доступом ячейка содержит определенную запись, характерную для пары субъект-объект и указывает на режим доступа, разрешенный или запрещенный, или его характеристику для каждого конкретного случая. В матрице доступа к информационным ресурсам столбец отождествляется с перечнем контроля доступа, строка выполняет роль профиля доступа присущего объекту.
- Распределённая система — система, для которой отношения местоположений элементов (или групп элементов) играют существенную роль с точки зрения функционирования системы, а следовательно, и с точки зрения анализа и синтеза системы.
Для распределённых систем характерно распределение функций, ресурсов между множеством элементов (узлов) и отсутствие единого управляющего центра, поэтому выход из строя одного из узлов не приводит к полной остановке всей системы. Типичной распределённой системой является Интернет.
Распределенная система имеет следующие характеристики, отличающие ее от сосредоточенной:
1 большее быстродействие благодаря распределению задач между параллельно работающими процессорами;
2 повышенную надежность (отказ одного из контролеров не влияет на работоспособность других);
3 большую устойчивость к сбоям;
4 более простое наращивание или реконфигурирование системы;
5 упрощенную процедуру модернизации;
6 большую простоту проектирования, настройки, диагностики и обслуживания благодаря соответствию архитектуры системы архитектуре объекта управления, а 7 также относительной простоте каждого из модулей системы;
8 улучшенную помехоустойчивость и точность благодаря уменьшению длины линий передачи аналоговых сигналов от датчиков к устройствам ввода;
9 меньший объем кабельной продукции, пониженные требования к кабелю и более низкая его стоимость;
10 меньшие расходы на монтаж и обслуживание кабельного хозяйства.