Рассмотрим основные механизмы зашиты информации и обо-шачим некоторые средства их реализации.
Основой любых систем ЗИ являются идентификация и аутентификация, так как все механизмы защиты информации рассчитаны на работу с поименованными субъектами и объектами АС [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 бит, что примерно эквивалентно паролю из трех цифр. Таким образом, стойкость «случайного» пароля, порожденного встроенной функцией генерации случайных чисел, не зависит от алфавита и размера пароля. Для создания паролей в идеале следует использовать криптографически безопасные генераторы случайных чисел (ГСЧ) — генераторы гаммы. Инициализация этих генераторов должна производиться от различных источников случайности, а не только от системного времени.