ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.12.2020
Просмотров: 4279
Скачиваний: 25
Рассмотрим элементы системы аутентификации. В любой та
кой системе, во-первых, присутствует субъект доступа — человек
или программный процесс. Во-вторых, должен быть идентифика
тор, т.е. какая-то характеристика, отличающая этого субъекта от
других. В-третьих, есть владелец информационной системы, не
сущий ответственность за ее эксплуатацию и полагающийся в раз
граничении пользователей на механизм аутентификации. От его
имени обычно действует администратор. Следовательно, в-чет-
вертых, необходимо наличие механизма аутентификации для про
верки предъявленного идентификатора. И наконец, при успеш
ном прохождении аутентификации субъект доступа наделяется
определенными правами и полномочиями, т.е. происходит про
цесс его авторизации.
В табл. 8.1 приведены элементы аутентификации для различ
ных информационных систем.
В компьютерных системах механизмы аутентификации и авто
ризации обычно реализуются раздельно.
Механизмы аутентификации в современных информационных
системах основаны на тех же факторах, что и в далеком прошлом:
• «то, что знаю» — пароли;
• «то, что имею» — смарт-карты, токены и т.п.;
• «то, чем являюсь» — биометрические технологии аутентифи
кации.
Т а б л и ц а 8.1.
Элементы системы аутентификации
Элемент
аутентификации
Процедура
регистрации
в системе
Банкомат
Web-cepeep
по отношению
к клиенту
Субъект
доступа
Авторизованный
пользователь
Владелец банков
ского счета
Владелец
Web-cepeepa
Идентификатор
Секретный
пароль
Банковская
карточка и PIN
Открытый ключ
в сертификате
Владелец
системы,
администратор
Предприятие,
фирма
Банк
Удостоверяю
щий центр,
выдающий
сертификаты
Механизм
аутентификации
Программное
обеспечение,
проверяющее
пароль
Программное
обеспечение,
проверяющее
карточку
Программное
обеспечение,
проверяющее
сертификат
Механизм
авторизации
Процесс
регистрации,
управление
доступом
Разрешение
на выполнение
банковской
транзакции
Метки браузе
ра, говорящие
о «защищен
ном» статусе
страницы
Аутентификация может быть однофакторной (как правило,
основанной на паролях) и многофакторной (сочетание вышепри
веденных факторов).
В настоящее время считается, что парольная зашита не обеспе
чивает безопасности распределенных систем, поэтому применя
ются многофакторные механизмы аутентификации. Кроме того,
реализуются усиленные (криптографические) протоколы аутен
тификации, используемые в распределенных системах.
Рассмотрим основные типы механизмов аутентификации. К ним
относятся: локальная аутентификация; прямая аутентификация;
непрямая аутентификация; автономная аутентификация.
Локальная аутентификация
характерна для автономных ком
пьютеров. Здесь вся система, включая механизмы аутентифика
ции и авторизации, находится в пределах защищаемого организа
ционными и техническими мерами периметра безопасности.
Пользователь находится вне этого периметра. Если к надежности
периметра безопасности имеется высокое доверие, то в качестве
паролей могут использоваться запоминающиеся слова, PIN-коды.
Пароли могут храниться в системе в открытом виде. Ведь все, что
может сделать нарушитель — это подбирать пароль в интерактив
ном режиме. Конечно, если периметр безопасности «взломан», то
нарушитель сможет внедрить закладку, например записывающую
последовательность нажатий клавиш.
Общим недостатком локальных механизмов аутентификации
являются трудности администрирования систем, где они реализо
ваны, которые возрастают при увеличении рабочих мест.
При
прямой аутентификации
имеется сервер, на котором раз
мещены и механизмы аутентификации, и объекты доступа, т.е.
данные. К этому серверу имеют удаленный доступ несколько
пользователей. Как и при локальной аутентификации, механиз
мы аутентификации и управления доступом находятся внутри
одного физического периметра безопасности.
Аутентификация называется прямой, так как решение о досту
пе принимается в той же точке, к которой и осуществляется до
ступ. Такая система хорошо работает при небольшом количестве
пользователей: администратор знает своих пользователей, поддер
живает базу данных аутентификации. В случае надобности вопро
сы исключения/добавления в эту базу пользователей решаются
максимально оперативно и просто.
Как и обычно, за преимущества и удобства централизации надо
платить, так как при этом снижается устойчивость к сбоям: до
статочно нарушить работу одного сервера. Ввиду того, что пользо
вательские станции находятся вне пределов периметра безопас
ности, к каналу связи между ними и сервером безопасности воз
можен несанкционированный доступ. Поэтому становится невоз
можным использование «обычных», многоразовых паролей, а также
биометрических средств аутентификации: противник всегда мо
жет перехватить информацию и использовать ее впоследствии.
В системах прямой аутентификации используются зашифрованные
пароли либо одноразовые пароли, а также схемы «запрос-ответ».
В современных протоколах аутентификации типа RADIUS,
Kerberos, а также протоколов, реализованных в домене Windows,
используется
непрямая аутентификация
, при которой имеется
несколько точек обслуживания, требующих управления доступом.
База данных аутентификации — единая, что облегчает админист
рирование. В системе непрямой аутентификации имеется отдель
ный сервер аутентификации, услугами которого пользуются все
точки управления доступом. Отсюда и название «непрямая», так
как точки доступа не принимают решения самостоятельно, но
целиком полагаются на сервер аутентификации. В системах с не
прямой аутентификацией не обойтись без применения протоко
лов аутентификации.
Опишем наиболее общий протокол непрямой аутентифика
ции.
1. Субъект доступа обращается к точке доступа, передавая ей
свой идентификатор и пароль.
2. Точка доступа передает эти данные серверу аутентифика
ции.
3. Сервер аутентификации принимает решение о разрешении/
запрете доступа и сообщает его точке доступа.
4. Точка доступа доводит решение до субъекта доступа.
У нарушителя в данном протоколе имеется возможность не
только повторно использовать перехваченный пароль пользовате
ля, но и подделать ответ сервера аутентификации, вследствие чего
в этом канале связи также должно применяться шифрование.
Системы непрямой аутентификации хорошо масштабируемы,
кроме того, могут обладать высокой устойчивостью к сбоям. Для
достижения этого свойства применяются механизмы репликации
баз данных аутентификации на различные территориально разне
сенные серверы.
В системах с открытым ключом применяется
автономная
аутентификация.
В подобных системах аутентификация выпол
няется максимально распределенным образом, так как считается,
что субъекты доступа не имеют связи в реальном времени с серве
ром аутентификации. Этот тип аутентификации объединяет осо
бенности первых трех типов. Как и в случае локальной аутенти
фикации, автономная аутентификация может выполняться на не
подключенном к сети устройстве. Как и в случае локальной и
прямой аутентификации механизм аутентификации расположен
там же, где и механизм управления доступом. Как и при непря
мой аутентификации, владелец поддерживает централизованный
список авторизованных пользователей.
Такие системы характерны для электронной коммерции, когда
клиенты (точки обслуживания) пытаются аутентифицировать сер
вер, а не наоборот. Владелец представляет собой независимую
сторону (Удостоверяющий центр), который обеспечивает единую
среду доверия для серверов и клиентов. Аутентификация осуще
ствляется в два этапа. На первом этапе Удостоверяющий центр
передает клиенту подписанный им сертификат открытого ключа
сервера. Клиент проверяет подлинность подписи и далее исполь
зует этот ключ в криптопротоколах типа SSL для безопасного со
единения с сервером.
Особенностью аутентификации автономного типа является то,
что формирование и подпись сертификатов для участников ин
формационного обмена владелец осуществляет в изолированной
системе, поэтому нарушитель не имеет доступа к механизму реги
страции пользователей.
Автономный тип аутентификации является отказоустойчивым,
так как устройство может аутентифицировать любой объект, осу
ществляя поиск нужных сертификатов в своей базе данных или
извлекая из того объекта, который аутентифицируется (именно
так сделано в SSL). Каталоги открытых ключей могут также быть
реплицированы на многие устройства системы.
Основным недостатком автономного типа аутентификации яв
ляется сложность лишения полномочий ранее авторизованного
пользователя.
Как указано в ГОСТ Р ИСО 7498-2 — 99 [14], под
паролем
по
нимается «конфиденциальная информация аутентификации, обыч
но состоящая из строки знаков».
Пароли бывают
одноразовые
и
многоразовые.
Вначале будем
считать (по умолчанию), что все пароли — многоразовые.
На безопасность применения паролей для аутентификации важ
ное влияние оказывают следующие моменты:
• генерация паролей;
• выдача паролей пользователям и их хранение ими;
• хранение паролей в системе;
• ввод пароля пользователем и его проверка;
• периодичность смены паролей;
• вывод паролей из действия.
Еще лет 20 назад вопросам генерации паролей не уделялось
особого внимания. Так, в Руководстве Министерства обороны
США, изданном в 1985 г., единственными требованиями была
хорошая запоминаемость и отличие текущего выбранного пароля
от предыдущего. Кроме того, рекомендовалось проектировать си
стемы так, чтобы свести вероятность подбора пароля за 1 год его
применения до величины 10~6. Для этого длина пароля должна
была составлять 9 буквенных или 8 буквенно-цифровых симво
лов. Кстати, именно последнее требование к паролям встречается
в РД Гостехкомиссии для автоматизированных систем высоких
классов защищенности.
Однако разрешать пользователям выбирать себе пароль само
стоятельно было не очень хорошей идеей, так как чаще всего они
выбирали в качестве них какие-нибудь значимые слова. Посколь
ку средний размер активного словаря человека — порядка 5 тыс.
слов, вероятность угадывания составляет всего лишь 5 • 10_3 с пер
вой попытки. Если же учесть возможность автоматизированных
словарных атак с заранее подготовленными словарями, то подбор
пароля может быть осуществлен моментально. Поэтому в руко
водствах по безопасности обычно указывается на необходимость
выбора буквенно-цифрового пароля из символов верхнего и ниж
него регистров, что существенно увеличивает пространство атаки.
Как запомнить такой пароль? Ведь требование хорошей запо
минаемости паролей возникло не от хорошей жизни: оно необхо
димо для того, чтобы пользователи не записывали пароли, где
попало. Хрестоматийным нарицательным примером является за
писанный на хранящейся под ковриком мышки или приклеенной
с обратной стороны клавиатуры бумажке пароль. Это лишний раз
показывает, что технические меры следует дополнять организа
ционными. В соответствии с современными воззрениями, гриф
секретности паролей должен быть не ниже грифа секретности за
щищаемых данных. Значит, он должен быть либо записанным на
учтенный лист бумаги (в рабочую тетрадь), либо на носитель со
ответствующего уровня конфиденциальности. В настоящее время
на рынке имеются достаточно удобные (и, что немаловажно, сер
тифицированные для обработки информации с самыми высоки
ми грифами) устройства памяти для хранения паролей.
Итак, проблему надежного хранения паролей можно решить,
затратив небольшие деньги, а то и вообще бесплатно. Но как осу
ществлять их автоматическую генерацию? Казалось бы, какая раз
ница? Используем вызовы функции rand(), приведем получивши
еся числа по нужному модулю — пароль готов. Однако во многих
языках программирования встроенная функция генерации слу
чайных чисел порождает вполне детерминированную последова
тельность.
Кроме всего прочего, для встроенной функции типа rand() очень
мало пространство атаки. Под
пространством атаки
понимает
ся среднее количество бит, которые должен «угадать» противник
для подбора пароля. Например, чтобы подобрать пароль, состоя
щий из одного шестнадцатиричного символа, противнику нужно
угадать 4 бита, значит, пространство атаки составляет 4 бита, т.е.,
по сути, пространство атаки есть не что иное, как энтропия паро
ля. В случае использования встроенной функции пространство
атаки будет определяться не длиной и алфавитом сгенерирован
ных паролей, а энтропией начального заполнения линейного кон