Идентификация и аутентификация

Рассмотрим основные механизмы зашиты информации и обо-шачим некоторые средства их реализации.

Основой любых систем ЗИ являются идентификация и аутентификация, так как все механизмы защиты информации рассчитаны на работу с поименованными субъектами и объектами АС [28]. Напомним, что в качестве субъектов АС могут выступать как пользователи, так и процессы, а в качестве объектов АС — ин­формация и другие информационные ресурсы системы.

С древних времен люди использовали различные средства, чтобы доказать другим, что они те, за кого себя выдают. Для этих целей использовались устные пароли («то, что знаю»), различные удо­стоверения личности с трудно подделываемыми элементами («то, что имею»), в удостоверениях личности могли быть описаны осо­бые приметы человека («то, чем являюсь»). Характерной чертой этих, докомпьютерных, методов установления подлинности лич­ности было то, что в качестве проверяющего лица обычно высту­пал человек, а также то, что такая проверка происходила при не­посредственном контакте.

В современных вычислительных сетях решение о подлинности предъявленного удостоверения выносит компьютер, а непосред­ственный контакт предъявителя и проверяющего становится все большей редкостью. Рассмотрим и еще одно существенное отли­чие сегодняшней ситуации от исторических времен. Если в ту эпоху лицу, не прошедшему проверку подлинности, грозило усек­новение головы, то сейчас любой может попробовать себя в каче­стве «взломщика» информационной системы практически без вся­ких для себя последствий.

Согласно ГОСТ Р ИСО 7498-2 — 99 [141, процедура проверки подлинности предъявленного субъектом доступа идентификатора называется аутентификацией. Как указано в этом стандарте, раз­личается аутентификация отправителя данных — «подтверждение того, что отправитель полученных данных соответствует заявлен­ному», и аутентификация равноправного логического объекта — «подтверждение того, что равноправный логический объект в ка­кой-либо ассоциации является заявленным логическим объектом».

Задача аутентификации отправителя данных успешно решает­ся при помощи технологии ЭЦП. Далее речь пойдет об аутенти­фикации во втором смысле этого слова, при этом в качестве субъек­та доступа может выступать как человек, так и программа.

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

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

Рассмотрим элементы системы аутентификации. В любой та­кой системе, во-первых, присутствует субъект доступа — человек пли программный процесс. Во-вторых, должен быть идентифика­тор, т.е. какая-то характеристика, отличающая этого субъекта от других. В-третьих, есть владелец информационной системы, не­сущий ответственность за ее эксплуатацию и полагающийся в раз­граничении пользователей на механизм аутентификации. От его имени обычно действует администратор. Следовательно, в-чет­вертых, необходимо наличие механизма аутентификации для про­верки предъявленного идентификатора. И наконец, при успеш­ном прохождении аутентификации субъект доступа наделяется определенными правами и полномочиями, т.е. происходит про­цесс его авторизации.

В табл. 8.1 приведены элементы аутентификации для различ­ных информационных систем.

В компьютерных системах механизмы аутентификации и авто­ризации обычно реализуются раздельно.

Механизмы аутентификации в современных информационных системах основаны на тех же факторах, что и в далеком прошлом:

• «то, что знаю» — пароли;

• «то, что имею» — смарт-карты, токены и т.п.;

• «то, чем являюсь» — биометрические технологии аутентифи­кации.

Таблица 8.1. Элементы системы аутентификации

 

 

 

 

 

 

 

 

 

Элемент аутентификации     Web-сервер но отношению к клиенту
Процедура регистрации в системе Банкомат
Субъект доступа Авторизованный пользователь Владелец банков­ского счета Владелец Web-сервера
Идентификатор Секретный пароль Банковская Открытый ключ
карточка и PIN в сертификате
   
Владелец системы, администратор Предприятие, фирма Банк Удостоверяю­щий центр, выдающий сертификаты
 
Механизм аутентификации Программное обеспечение, проверяющее пароль Программное обеспечение, проверяющее карточку Программное обеспечение, проверяющее сертификат
Механизм авторизации Процесс регистрации, управление доступом Разрешение на выполнение банковской транзакции Метки браузе­ра, говорящие о «защищен­ном» статусе страницы

Аутентификация может быть однофакторной (как правило, основанной на паролях) и многофакторной (сочетание вышепри­веденных факторов).

В настоящее время считается, что парольная зашита, не обеспе­чивает безопасности распределенных систем, поэтому применя­ются многофакторные механизмы аутентификации. Кроме того, реализуются усиленные (криптографические) протоколы аутен­тификации, используемые в распределенных системах.

Рассмотрим основные типы механизмов аутентификации. К ним относятся: локальная аутентификация; прямая аутентификация; непрямая аутентификация; автономная аутентификация.

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

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

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

Аутентификация называется прямой, так как решение о досту­пе принимается в той же точке, к которой и осуществляется до­ступ. Такая система хорошо работает при небольшом количестве пользователей: администратор знает своих пользователей, поддер­живает базу данных аутентификации. В случае надобности вопро­сы исключения/добавления в эту базу пользователей решаются максимально оперативно и просто.

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

В современных протоколах аутентификации типа RADIUS,kcrberos, а также протоколов, реализованных в домене Windows, используется непрямая аутентификация, при которой имеется несколько точек обслуживания, требующих управления доступом. База данных аутентификации — единая, что облегчает админист­рирование. В системе непрямой аутентификации имеется отдель­ный сервер аутентификации, услугами которого пользуются все точки управления доступом. Отсюда и название «непрямая», так как точки доступа не принимают решения самостоятельно, но целиком полагаются на сервер аутентификации. В системах с не­прямой аутентификацией не обойтись без применения протоко-ЮВ аутентификации.

Опишем наиболее общий протокол непрямой аутентифика­ции.

1. Субъект доступа обращается к точке доступа, передавая ей той идентификатор и пароль.

2. Точка доступа передает эти данные серверу аутентифика­ции.

3. Сервер аутентификации принимает решение о разрешении/ запрете доступа и сообщает его точке доступа.

4. Точка доступа доводит решение до субъекта доступа.

У нарушителя в данном протоколе имеется возможность не только повторно использовать перехваченный пароль пользовате­ля, но и подделать ответ сервера аутентификации, вследствие чего и jtom канале связи также должно применяться шифрование.

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

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

Такие системы характерны для электронной коммерции, когда клиенты (точки обслуживания) пытаются аутентифицировать сер­вер, а не наоборот. Владелец представляет собой независимую сторону (Удостоверяющий центр), который обеспечивает единую среду доверия для серверов и клиентов. Аутентификация осуще­ствляется в два этапа. На первом этапе Удостоверяющий центр передает клиенту подписанный им сертификат открытого ключа сервера. Клиент проверяет подлинность подписи и далее исполь­зует этот ключ в криптопротоколах типа SSL для безопасного со­единения с сервером.

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

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

Основным недостатком автономного типа аутентификации яв­ляется сложность лишения полномочий ранее авторизованного пользователя.

Как указано в ГОСТ Р ИСО 7498-2 — 99 [141, под паролем по­нимается «конфиденциальная информация аутентификации, обыч­но состоящая из строки знаков».

Пароли бывают одноразовые и многоразовые. Вначале будем считать (по умолчанию), что все пароли — многоразовые.

На безопасность применения паролей для аутентификации важ­ное влияние оказывают следующие моменты:

• генерация паролей;

• выдача паролей пользователям и их хранение ими;

• хранение паролей в системе;

• ввод пароля пользователем и его проверка;

• периодичность смены паролей;

• вывод паролей из действия.

Еще лет 20 назад вопросам генерации паролей не уделялось особого внимания. Так, в Руководстве Министерства оборони США, изданном в 1985 г., единственными требованиями были хорошая запоминаемость и отличие текущего выбранного пароля! от предыдущего. Кроме того, рекомендовалось проектировать системы так, чтобы свести вероятность подбора пароля за 1 год его применения до величины 10~6. Для этого длина пароля должна была составлять 9 буквенных или 8 буквенно-цифровых символов. Кстати, именно последнее требование к паролям встречается в РД Гостехкомиссии для автоматизированных систем высоких классов защищенности.

Однако разрешать пользователям выбирать себе пароль само­стоятельно было не очень хорошей идеей, так как чаше всего они ныбирали в качестве них какие-нибудь значимые слова. Посколь­ку средний размер активного словаря человека — порядка 5 тыс. слов, вероятность угадывания составляет всего лишь 5 • 10~3 с пер-ЮЙ попытки. Если же учесть возможность автоматизированных словарных атак с заранее подготовленными словарями, то подбор пароля может быть осуществлен моментально. Поэтому в руко-нодствах по безопасности обычно указывается на необходимость ныбора буквенно-цифрового пароля из символов верхнего и ниж­него регистров, что существенно увеличивает пространство атаки.

Как запомнить такой пароль? Ведь требование хорошей запо­минаемости паролей возникло не от хорошей жизни: оно необхо­димо для того, чтобы пользователи не записывали пароли, где попало. Хрестоматийным нарицательным примером является за­писанный на хранящейся под ковриком мышки или приклеенной с обратной стороны клавиатуры бумажке пароль. Это лишний раз показывает, что технические меры следует дополнять организа­ционными. В соответствии с современными воззрениями, гриф секретности паролей должен быть не ниже грифа секретности за­щищаемых данных. Значит, он должен быть либо записанным на учтенный лист бумаги (в рабочую тетрадь), либо на носитель со­ответствующего уровня конфиденциальности. В настоящее время на рынке имеются достаточно удобные (и, что немаловажно, сер­тифицированные для обработки информации с самыми высоки­ми грифами) устройства памяти для хранения паролей.

Итак, проблему надежного хранения паролей можно решить, ытратив небольшие деньги, а то и вообще бесплатно. Но как осу­ществлять их автоматическую генерацию? Казалось бы, какая раз­ница? Используем вызовы функции rand, приведем получивши­еся числа по нужному модулю — пароль готов. Однако во многих тыках программирования встроенная функция генерации слу­чайных чисел порождает вполне детерминированную последова-Гсльность.

Кроме всего прочего, для встроенной функции типа rand очень мало пространство атаки.(Под пространством атаки понимает­ся среднее количество бит, которые должен «угадать» противник для подбора пароля. Например, чтобы подобрать пароль, состоя­нии! in одного шестнадцатиричного символа, противнику нужно Видать 4 бита, значит, пространство атаки составляет 4 бита, т.е., но сути, пространство атаки есть не что иное, как энтропия паро­ля. В случае использования встроенной функции пространство шаки будет определяться не длиной и алфавитом сгенерирован­ных паролей, а энтропией начального заполнения линейного конгруэнтного генератора, используемого для генерации. В качестве такового используются показания системного таймера, который имеет дискретность 1/12 с. Если противнику известно время ге­нерации пароля с точностью, например, до минуты, то неопреде­ленность составляет всего лишь log2(60 • 12) = 9,5 бит, что пример­но эквивалентно паролю из трех цифр. Таким образом, стойкость «случайного» пароля, порожденного встроенной функцией гене­рации случайных чисел, не зависит от алфавита и размера пароля. Для создания паролей в идеале следует использовать крипто­графически безопасные генераторы случайных чисел (ГСЧ) — ге­нераторы гаммы. Инициализация этих генераторов должна про­изводиться от различных источников случайности, а не только от системного времени.