Брандмауэр-системы. Идентификация и аутентификация

Продолжение. Начало в КГ №№ 26, 28, 30, 31

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

"Идентификация (лат. identifico — отождествлять) — процесс сообщения субъектом своего имени или номера с целью отличить данный субъект от других субъектов.

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

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

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

Процедуры аутентификации

Рассмотрим несколько основных процедур аутентификации:

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

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

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

1. Пароль должен содержать не меньше шести символов.
2. Пароль не следует записывать.
3. Пароль не следует сообщать третьим лицам.
4. Лучше всего пользоваться комбинациями букв, цифр, а также верхним и нижним регистром.
5. Не следует использовать пароли типа 1234 или qwerty.
6. Периодически меняйте пароли, но не слишком часто.
7. Не следует использовать пароли повторно.
8. По отношению к особо важным документам полезно пользоваться правилом двух лиц: два сотрудника водят каждый по половине из двух паролей.
9. Пароль администратора должен быть известен только администратору.

Атаки на пароли обычно автоматизированы. Для их осуществления пользуются специальным ПО и т.п.

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

Процедуры аутентификации для брандмауэр-систем

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

Процедура аутентификации с помощью маркера доступа

Примером аутентификации такого рода может служить процедура Digipass. Это маркер доступа, работающий с использованием процедуры DES*. Работа Digipass основана на методе "запрос-ответ". Если брандмауэр-система формирует запрос, то система пользователя генерирует ответ в соответствии с маркером безопасности. При этом криптографический алгоритм DES*, лежащий в основе этого метода, функционирует как на маркере безопасности, так и на брандмауэр-системе. Для того, чтобы брандмауэр-система и маркер безопасности получили один и тот же результат, необходимо, чтобы они имели один и тот же секретный ключ. Этот ключ обычно создается диспетчером безопасности. На маркере безопасности он вводится при установке, а брандмауэр-системе передается посредством модуля диспетчера безопасности. Запрос вычисляется по произвольным параметрам (случайное число складывается с временным значением), после чего результат шифруется с помощью ключа и отправляется системе пользователя. Маркер безопасности производит вычисления, при этом на троне брандмауэр-системы производятся такие же вычисления. Результаты сравниваются и в случае положительного процесса сравнения пользователю предоставляется доступ. При новом обращении пользователя запрос постоянно пересчитывается. Для активизации маркера безопасности пользователь должен активизировать его посредством PIN-кода. При этом PIN-код может быть изменен пользователем. Таким образом, имея в своем распоряжении маркер безопасности, никто не сможет им воспользоваться, если не знает PIN-кода.

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

. Не требуется какого-либо специального ПО — все операции осуществляются с помощью монитора и клавиатуры.
. Маркер безопасности как таковой представляет собой совершенно безопасную аппаратуру.

S/Key

По-другому это звучит как процедура присвоения одноразового пароля. Она была разработана компанией Bell Communicatons Research (Bellcore) и основывается на односторонних хэш-функциях MD4 и MD5. В случае клиентских реализаций пользователь имеет небольшое устройство, похожее на калькулятор. Сервер присылает запрос на это устройство, оно, в свою очередь, генерирует ответ, который и должен ввести пользователь. Весь механизм заключается в применении односторонней хэш-функции к строке, которая состоит из начального значения n и пароля пользователя. В результате этой операции будет получена криптографическая контрольная сумма. После она пропускается через функцию преобразования, которая генерирует строку, состоящую из шести слов из словаря. Вот эта строка и будет одноразовым паролем. Контрольная сумма сохраняется с количеством использованных одноразовых паролей (число n минус количество уже проведенных операций аутентификации). Вся безопасность заключается в необратимости хэш-функции и сохранности пароля пользователя. На рис. 2 показана схема вычислений при использовании S/Key. Функциональная последовательность следующая:

1. Пользователь получает список всех одноразовых паролей от брандмауэр-системы и генерирует с помощью программы вычисление одноразовых паролей, которые будут использоваться в каждом отдельном случае. Такие программы имеются практически для всех ОС.

2. Для аутентификации пользователь должен ввести пароль, относящийся только к текущему порядковому номеру, который на единицу меньше предыдущего. Этот пароль шифруется при помощи хэш-функции и сравнивается с предыдущим (n'м) паролем.

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

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

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

Образец подписи

В 1999 году в Европе был принят закон о цифровой подписи. Он дал отличную основу для формирования инфраструктуры безопасности, в которой каждый пользователь получал своеобразное электронное удостоверение личности. Подтвердить подлинность своей личности пользователь может с помощью секретного личного ключа. А брандмауэр-система проверяет секретный ключ, пользуясь подписью, динамически создаваемой генератором случайных чисел (ISO 9798). Протоколы, работающие в системах с открытым ключом, основываются на следующих допущениях:

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

. Брандмауэр-система может генерировать случайные числа.

. Все пользователи имеют секретный закрытый ключ подписи.

По этому механизму брандмауэр-система (С) может аутентифицировать пользователя (G) (рис. 3). Формула, демонстрирующая структуру
последовательности TokenGC, показана на рис. 4. Рассмотрим некоторые аббревиатуры:

=sSX (Y) — подписная версия данных Y с использованием ключа SX.
=C//G — результат конкатенации C и G.
=ePX (Y) — зашифрованная версия данных с помощью открытого ключа PX.
=TX — временная отметка от X.
=RX — случайное число X.
TVPX — временнозависимые параметры X.

1. Объект С отсылает объекту G случайное число RA и поле Text1.

2. Объект G отсылает объекту C последовательность TokenGC и свой сертификат.

3. Получив сообщение, объект С проверяет сертификат G и убеждается, что он имеет действующий открытый ключ, проверяет подпись TokenGC.
Такой процесс позволяет экономить ресурсы брандмауэр-системы, используя готовую инфраструктуру. Цифровые подписи нужных пользователей просто должны быть доступны брандмауэр-системе.

Аутентификация с помощью мобильного телефона

Тут, как многие уже догадались, используются мобильные телефоны, которые работают по технологии GSM (Global System of Mobile Communications). По запросу служба аутентификации генерирует одноразовый пароль, защищенный криптографически и действующий некоторый промежуток времени. Этот пароль отсылается пользователю посредством SMS (Short Message Service). При передаче пароль шифруется с помощью механизма асимметричного шифрования. Соответствующие ключи расположены в базе данных (открытый ключ) и на карточке (закрытый) модуля идентификации подписчика (Subscriber Identity Module — SIM) мобильного телефона. Для шифрования симка снабжена дополнительным приложением — пин-кодом. Эта служба аутентификации совмещает механизмы и коммуникационные службы других процедур.

Основными элементами являются следующие:
. Зашифрованная передача одноразового пароля. Служба SMS передает пароль на телефон пользователя.
. Зашифрованные данные о пользователе в центральной базе данных. Данные, хранящиеся здесь, включают идентификатор пользователя, открытый ключ пользователя, закрытая часть которого хранится на симке, поле для хранения срока действия пароля, телефонного номера, количества ошибочных попыток и действующих санкций.
. Аппаратный модуль безопасности. Этот блок хранит и использует все криптографические ключи.
. Одноразовые пароли. Одноразовые пароли генерируются в аппаратном модуле безопасности службы аутентификации и хранятся в зашифрованной записи данных о пользователе.
. Дополнительное приложение, защищенное пином на симке телефона. В этом приложении после ввода пина зашифрованный пароль расшифровывается с помощью секретного ключа и отображается в текстовом формате.

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

Евгений Кучук, http://sa-sec.org


Компьютерная газета. Статья была опубликована в номере 35 за 2007 год в рубрике безопасность

©1997-2024 Компьютерная газета