Аутентификация, авторизация и администрирование
Действий пользователей
С каждым зарегистрированным в компьютерной системе субъектом (пользователем или процессом, действующим от имени пользователя) связана некоторая информация, однозначно идентифицирующая его. Это может быть число или строка символов, именующие данный субъект. Эту информацию называют идентификатором субъекта. Если пользователь имеет идентификатор, зарегистрированный в сети, он считается легальным (законным) пользователем; остальные пользователи относятся к нелегальным. Прежде чем получить доступ к ресурсам компьютерной системы, пользователь должен пройти процесс первичного взаимодействия с компьютерной системой, который включает идентификацию и аутентификацию.
Идентификация (Identification) – это процедура распознавания пользователя по его идентификатору (имени), присвоенному данному пользователю ранее и занесенному в базу данных в момент его регистрации в качестве легального пользователя системы. Эта функция выполняется в первую очередь, когда пользователь делает попытку войти в сеть. Пользователь сообщает системе по ее запросу свой идентификатор, и система проверяет в своей базе данных его наличие.
Аутентификация (Authentication) – процедура проверки подлинности входящего в систему объекта (пользователя, процесса или устройства), предъявившего свой идентификатор. Эта проверка позволяет достоверно убедиться, что пользователь (процесс или устройство) является именно тем, кем себя объявляет. При проведении аутентификации проверяющая сторона убеждается в подлинности проверяемой стороны, при этом проверяемая сторона тоже активно участвует в процессе обмена информацией. Обычно пользователь подтверждает свою идентификацию, вводя в систему уникальную, не известную другим пользователям информацию о себе (пароль или сертификат).
Идентификация и аутентификация являются взаимосвязанными процессами распознавания и проверки подлинности субъектов (пользователей). Именно от них зависит последующее решение системы, можно ли разрешить доступ к ресурсам системы конкретному пользователю или процессу. После идентификации и аутентификации субъекта выполняется его авторизация.
Авторизация (Authorization) – процедура предоставления пользователю (процессу или устройству) определенных прав доступа к ресурсам системы после успешного прохождения им процедуры аутентификации. Авторизация устанавливает сферу действия пользователя и доступные ему ресурсы.
С процедурами аутентификации и авторизации тесно связана процедура администрирования действий пользователя. Задачи аутентификации, авторизации и администрирования тесно связаны между собой.
Администрирование (Accounting) – это процесс управления доступом пользователей к ресурсам системы.
Необходимый уровень аутентификации определяется требованиями безопасности, которые установлены в организации. Общедоступные веб-серверы могут разрешить анонимный или гостевой доступ к информации. Финансовые транзакции могут потребовать строгой аутентификации. Примером слабой аутентификации может служить использование IP-адреса для определения пользователя. Подмена (spoofing) IP-адреса может легко разрушить этот механизм аутентификации. Надежная аутентификация является тем ключевым фактором, который гарантирует, что только авторизованные пользователи получат доступ к контролируемой информации.
При защите каналов передачи данных должна выполняться взаимная аутентификация субъектов, то есть взаимное подтверждение подлинности субъектов, связывающихся между собой по линиям связи. Процедура подтверждения подлинности выполняется обычно в начале сеанса в процессе установления соединения абонентов. Цель данной процедуры – обеспечить уверенность, что соединение установлено с законным субъектом и вся информация дойдет до места назначения.
Для подтверждения своей подлинности субъект может предъявлять системе разные сущности. В зависимости от предъявляемых субъектом сущностей процессы аутентификации могут быть разделены на следующие категории:
· на основе знания чего-либо – пароль, персональный идентификационный PIN-код, секретные и открытые ключи, знание которых демонстрируется в протоколах типа запрос-ответ;
· на основе обладания чем-либо – магнитные карты, смарт-карты, сертификаты, USB-ключи или USB-токены;
· на основе каких-либо неотъемлемых характеристик – методы, базирующиеся на проверке биометрических характеристик пользователя (голос, радужная оболочка и сетчатка глаза, отпечатки пальцев, геометрия ладони и др.); данная категория не использует криптографические методы и средства. Аутентификация на основе биометрических характеристик применяется для контроля доступа в помещения или к какой-либо технике.
Пароль – это то, что знает пользователь и что также знает другой участник взаимодействия. Для взаимной аутентификации участников взаимодействия может быть организован обмен паролями между ними.
Персональный идентификационный номер PIN (Personal Identification Number) является испытанным способом аутентификации держателя пластиковой карты и смарт-карты. Секретное значение PIN-кода должно быть известно только держателю карты.
Динамический (одноразовый) пароль – это пароль, который после однократного применения никогда больше не используется. На практике обычно используется регулярно меняющееся значение, которое базируется на постоянном пароле или ключевой фразе.
Система запрос-ответ – одна из сторон инициирует аутентификацию с помощью посылки другой стороне уникального и непредсказуемого значения «запрос», а другая сторона посылает ответ, вычисленный с помощью «запроса» и секрета. Так как обе стороны владеют одним секретом, то первая сторона может проверить правильность ответа второй стороны.
Сертификаты и цифровые подписи – если для аутентификации используются сертификаты, то требуется применение цифровых подписей на этих сертификатах. Сертификаты выдаются ответственным лицом в организации пользователя, сервером сертификатов или внешней доверенной организацией.
Процессы аутентификации по уровню обеспечиваемой безопасности разделяются на следующие типы:
· простая аутентификация, использующая пароли;
· строгая аутентификация на основе использования многофакторных проверок и криптографических методов;
· биометрическая аутентификация пользователей.
Основными атаками на протоколы аутентификации являются:
· маскарад (Impersonation) – пользователь пытается выдать себя за другого с целью получения полномочий и возможности действий от лица другого пользователя;
· подмена стороны аутентификационного обмена (Interleaving attack) – злоумышленник в ходе данной атаки участвует в процессе аутентификационного обмена между двумя сторонами с целью модификации проходящего через него трафика;
· повторная передача (Replay attack) – повторная передача ау-тентификационных данных каким-либо пользователем;
· принудительная задержка (Forced delay) – злоумышленник перехватывает какую-либо информацию и передает ее спустя некоторое время;
· атака с выборкой текста (Chosen-text attack) – злоумышленник перехватывает аутентификационный трафик и пытается получить информацию о долговременных криптографических ключах.
Для предотвращения таких атак при построении протоколов аутентификации применяются следующие приемы:
· использование механизмов типа запрос-ответ, меток времени, случайных чисел, идентификаторов, цифровых подписей;
· привязка результата аутентификации к последующим действиям пользователей в рамках системы. Примером подобного подхода может служить осуществление в процессе аутентификации обмена секретными сеансовыми ключами, которые применяются при дальнейшем взаимодействии пользователей;
· периодическое выполнение процедур аутентификации в рамках уже установленного сеанса связи и т.п.
Механизм запроса-ответа состоит в следующем. Если пользователь А хочет быть уверенным, что сообщения, получаемые им от пользователя В, не являются ложными, он включает в посылаемое для В сообщение непредсказуемый элемент – запрос X (например, некоторое случайное число). При ответе пользователь В должен выполнить над этим элементом некоторую операцию (например, вычислить некоторую функцию f(X)). Это невозможно осуществить заранее, так как пользователю В неизвестно, какое случайное число X придет в запросе. Получив ответ с результатом действий пользователя В, пользователь А может быть уверен, что В – подлинный. Недостаток этого метода – возможность установления закономерности между запросом и ответом.
Механизм отметки времени подразумевает регистрацию времени для каждого сообщения. В этом случае каждый пользователь сети может определить, насколько устарело пришедшее сообщение, и решить не принимать его, поскольку оно может быть ложным.
В обоих случаях для защиты механизма контроля следует применять шифрование, чтобы быть уверенным, что ответ послан не злоумышленником.
При использовании отметок времени возникает проблема допустимого временного интервала задержки для подтверждения подлинности сеанса. Ведь сообщение с «временным штемпелем» в принципе не может быть передано мгновенно. Кроме того, компьютерные часы получателя и отправителя не могут быть абсолютно синхронизированы.
При сравнении и выборе протоколов аутентификации необходимо учитывать следующие характеристики:
· наличие взаимной аутентификации – свойство отражает необходимость обоюдной аутентификации между сторонами аутентификационного обмена;
· вычислительная эффективность – количество операций, необходимых для выполнения протокола;
· коммуникационная эффективность – свойство отражает количество сообщений и их длину, необходимую для осуществления аутентификации;
· наличие третьей стороны – доверенный сервер распределения симметричных ключей или сервер, реализующий дерево сертификатов для распределения открытых ключей;
· гарантии безопасности – применение шифрования и цифровой подписи.