Информация. ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ. В. Ф. Шаньгининформационная безопасность компьютерных систем
![]()
|
Глава 7 ТЕХНОЛОГИИ АУТЕНТИФИКАЦИИ Применение открытых каналов передачи данных создает по тенциальные возможности для действий злоумышленников (на рушителей). Поэтому одной из важных задач обеспечения ин формационной безопасности при взаимодействии пользователей является использование методов и средств, позволяющих одной (проверяющей) стороне убедиться в подлинности другой (прове ряемой) стороны. Обычно для решения данной проблемы при меняются специальные приемы, дающие возможность проверить подлинность проверяемой стороны. 7.1. Аутентификация, авторизация и администрирование действий пользователей С каждым зарегистрированным в компьютерной системе субъектом (пользователем или процессом, действующим от име ни пользователя) связана некоторая информация, однозначно идентифицирующая его. Это может быть число или строка сим волов, именующие данный субъект. Эту информацию называют идентификатором субъекта. Если пользователь имеет идентифи катор, зарегистрированный в сети, он считается легальным (за конным) пользователем; остальные пользователи относятся к нелегальным пользователям. Прежде чем получить доступ к ре сурсам компьютерной системы, пользователь должен пройти процесс первичного взаимодействия с компьютерной системой, который включает идентификацию и аутентификацию. Идентификация (Identification) — процедура распознавания пользователя по его идентификатору (имени). Эта функция вы полняется, когда пользователь делает попытку войти в сеть. Пользователь сообщает системе по ее запросу свой идентифика тор, и система проверяет в своей базе данных его наличие. Аутентификация (.Authentication) — процедура проверки под линности заявленного пользователя, процесса или устройства. Эта проверка позволяет достоверно убедиться, что пользователь (процесс или устройство) является именно тем, кем себя объявля ет. При проведении аутентификации проверяющая сторона убеж дается в подлинности проверяемой стороны, при этом проверяе мая сторона тоже активно участвует в процессе обмена информа цией. Обычно пользователь подтверждает свою идентификацию, вводя в систему уникальную, не известную другим пользователям информацию о себе (например, пароль или сертификат). Идентификация и аутентификация являются взаимосвязан ными процессами распознавания и проверки подлинности субъ ектов (пользователей). Именно от них зависит последующее ре шение системы: можно ли разрешить доступ к ресурсам системы конкретному пользователю или процессу. После идентификации и аутентификации субъекта выполняется его авторизация. Авторизация {.Authorization) — процедура предоставления субъекту определенных полномочий и ресурсов в данной систе ме. Иными словами, авторизация устанавливает сферу его дейст вия и доступные ему ресурсы. Если система не может надежно отличить авторизованное лицо от неавторизованного, то конфи денциальность и целостность информации в этой системе могут быть нарушены. Организации необходимо четко определить свои требования к безопасности, чтобы принимать решения о соот ветствующих границах авторизации. С процедурами аутентификации и авторизации тесно связана процедура администрирования действий пользователя. Администрирование (Accounting) — регистрация действий пользователя в сети, включая его попытки доступа к ресурсам. Хотя эта учетная информация может быть использована для вы писывания счета, с позиций безопасности она особенно важна для обнаружения, анализа инцидентов безопасности в сети и соответствующего реагирования на них. Записи в системном журнале, аудиторские проверки и ПО accounting — все это мо жет быть использовано для обеспечения подотчетности пользо вателей, если что-либо случится при входе в сеть с их иденти фикатором. Необходимый уровень аутентификации определяется требо ваниями безопасности, которые установлены в организации. Об щедоступные \ѴеЬ-серверы могут разрешить анонимный или гостевой доступ к информации. Финансовые транзакции могут потребовать строгой аутентификации. Примером слабой формы аутентификации может служить использование IP-адреса для определения пользователя. Подмена (spoofing) IP-адреса может легко разрушить механизм аутентификации. Надежная аутенти фикация является тем ключевым фактором, который гарантиру ет, что только авторизованные пользователи получат доступ к контролируемой информации. При защите каналов передачи данных должна выполняться взаимная аутентификация субъектов, т. е. взаимное подтвержде ние подлинности субъектов, связывающихся между собой по ли ниям связи. Процедура подтверждения подлинности выполняет ся обычно в начале сеанса установления соединения абонентов. Термин «соединение» указывает на логическую связь (потенци ально двустороннюю) между двумя субъектами сети. Цель дан ной процедуры — обеспечить уверенность, что соединение уста новлено с законным субъектом и вся информация дойдет до места назначения. Для подтверждения своей подлинности субъект может предъявлять системе разные сущности. В зависимости от предъ являемых субъектом сущностей процессы аутентификации могут быть разделены на основе: • знания чего-либо. Примерами могут служить пароль, пер сональный идентификационный код PIN (Personal Iden tification Number), а также секретные и открытые ключи, знание которых демонстрируется в протоколах типа за прос-ответ; • обладания чем-либо. Обычно это магнитные карты, смарт- карты, сертификаты и устройства touch memory, • каких-либо неотъемлемых характеристик. Эта категория включает методы, базирующиеся на проверке биометриче ских характеристик пользователя (голоса, радужной обо лочки и сетчатки глаза, отпечатков пальцев, геометрии ла дони и др.). В данной категории не используются крипто графические методы и средства. Аутентификация на основе биометрических характеристик применяется для контроля доступа в помещения или к какой-либо технике [9, 54]. Пароль — это то, что знает пользователь и другой участник взаимодействия. Для взаимной аутентификации участников взаи модействия может быть организован обмен паролями между ними. Персональный идентификационный номер PIN (Personal Identification Number) является испытанным способом аутенти фикации держателя пластиковой карты и смарт-карты. Секрет ное значение PIN-кода должно быть известно только держателю карты. Динамический (одноразовый) пароль — это пароль, который после однократного применения никогда больше не использует ся. На практике обычно используется регулярно меняющееся значение, которое базируется на постоянном пароле или ключе вой фразе. Система запрос—ответ. Одна из сторон инициирует аутен тификацию с помощью посылки другой стороне уникального и непредсказуемого значения «запрос», а другая сторона посылает ответ, вычисленный с помощью «запроса» и секрета. Так как обе стороны владеют одним секретом, то первая сторона может про верить правильность ответа второй стороны. Сертификаты и цифровые подписи. Если для аутентификации используются сертификаты, то требуется применение цифровых подписей на этих сертификатах. Сертификаты выдаются ответ ственным лицом в организации пользователя, сервером серти фикатов или внешней доверенной организацией. В рамках Ин тернета появились коммерческие инфраструктуры управления открытыми ключами РКІ (Public Key Infrastructure) для распро странения сертификатов открытых ключей. Пользователи могут получить сертификаты различных уровней. Процессы аутентификации можно также классифицировать по уровню обеспечиваемой безопасности [9, 54]. В соответствии с этим процессы аутентификации разделяются на следующие типы: • аутентификация, использующая пароли и PIN-коды; • строгая аутентификация на основе использования крипто графических методов и средств; • биометрическая аутентификация пользователей. С точки зрения безопасности каждый из перечисленных ти пов способствует решению своих специфических задач, поэтому процессы и протоколы аутентификации активно используются на практике. Основные атаки на протоколы аутентификации: • маскарад (impersonation). Пользователь выдает себя за дру гого с целью получения полномочий и возможности дейст вий от лица другого пользователя; • подмена стороны аутентификационного обмена (interleaving attack). Злоумышленник в ходе данной атаки участвует в процессе аутентификационного обмена между двумя сто ронами с целью модификации проходящего через него тра фика; • повторная передача (replay attack) заключается в повторной передаче аутентификационных данных каким-либо пользо вателем; • принудительная задержка {forced delay). Злоумышленник перехватывает некоторую информацию и передает ее спус тя некоторое время; • атака с выборкой текста (chosen-text attack). Злоумышлен ник перехватывает аутентификационный трафик и пытает ся получить информацию о долговременных криптографи ческих ключах. Для предотвращения таких атак при построении протоколов аутентификации применяются: • использование механизмов типа «запрос—ответ», «отметка времени», случайных чисел, идентификаторов, цифровых подписей; • привязка результата аутентификации к последующим дей ствиям пользователей в рамках системы. Примером подоб ного подхода может служить осуществление в процессе ау тентификации обмена секретными сеансовыми ключами, которые используются при дальнейшем взаимодействии пользователей; • периодическое выполнение процедур аутентификации в рамках уже установленного сеанса связи и т. п. Механизм «запрос—ответ» состоит в следующем. Если поль зователь А хочет быть уверенным, что сообщения, получаемые им от пользователя В, не являются ложными, он включает в по сылаемое для В сообщение непредсказуемый элемент — запрос X (например, некоторое случайное число). При ответе пользователь В должен выполнить над этим элементом некото рую операцию (например, вычислить некоторую функцию f(X )). Это невозможно осуществить заранее, так как пользователю В неизвестно, какое случайное число X придет в запросе. Получив ответ с результатом действий В, пользователь Л может быть уве рен, что В — подлинный. Недостаток этого метода — возмож ность установления закономерности между запросом и ответом. Механизм «отметка времени» подразумевает регистрацию вре мени для каждого сообщения. В этом случае каждый пользователь сети определяет, насколько «устарело» пришедшее сообщение, и решает не принимать его, поскольку оно может быть ложным. В обоих случаях для защиты механизма контроля следует применять шифрование, чтобы быть уверенным, что ответ по слан не злоумышленником. При использовании отметок времени возникает проблема допустимого временного интервала задержки для подтверждения подлинности сеанса: сообщение с «временным штемпелем» в принципе не может быть передано мгновенно. Кроме того, ком пьютерные часы получателя и отправителя не могут быть абсо лютно синхронизированы. При сравнении и выборе протоколов аутентификации необ ходимо учитывать следующие характеристики: • наличие взаимной аутентификации. Это свойство отражает необходимость обоюдной аутентификации между сторона ми аутентификационного обмена; • вычислительную эффективность. Это количество операций, необходимых для выполнения протокола; • коммуникационную эффективность. Данное свойство отра жает количество сообщений и их длину, необходимую для осуществления аутентификации; • наличие третьей стороны. Примером третьей стороны мо жет служить доверенный сервер распределения симметрич ных ключей или сервер, реализующий дерево сертификатов для распределения открытых ключей; • гарантии безопасности. Примером может служить примене ние шифрования и цифровой подписи [9, 54]. 7.2. Методы аутентификации, использующие пароли и PIN-коды Одной из распространенных схем аутентификации является простая аутентификация, которая основана на применении тра диционных многоразовых паролей с одновременным согласова нием средств его использования и обработки. Аутентификация на основе многоразовых паролей — простой и наглядный при мер использования разделяемой информации. Пока в большин стве защищенных виртуальных сетей VPN (Virtual Private Net work) доступ клиента к серверу разрешается по паролю. Однако все чаще применяются более эффективные средства аутентифи кации, например программные и аппаратные системы аутенти фикации на основе одноразовых паролей, смарт-карт, PIN-ко дов и цифровых сертификатов. 7 .2 .1 . Аутентификация на основе многоразовы х п а р о л е й Базовый принцип «единого входа» предполагает достаточ ность одноразового прохождения пользователем процедуры ау тентификации для доступа ко всем сетевым ресурсам. Поэтому в современных операционных системах предусматривается цен трализованная служба аутентификации, которая выполняется одним из серверов сети и использует для своей работы базу дан ных (БД). В этой БД хранятся учетные данные о пользователях сети, включающие идентификаторы и пароли пользователей, а также другую информацию [45]. Процедуру простой аутентификации пользователя в сети можно представить следующим образом. Пользователь при по пытке логического входа в сеть набирает свои идентификатор и пароль. Эти данные поступают для обработки на сервер аутенти фикации. В БД, хранящейся на сервере аутентификации, по идентификатору пользователя находится соответствующая за пись. Из нее извлекается пароль и сравнивается с тем паролем, который ввел пользователь. Если они совпали, то аутентифика ция прошла успешно — пользователь получает легальный статус и получает те права и ресурсы сети, которые определены для его статуса системой авторизации. В схеме простой аутентификации (рис. 7.1) передача пароля и идентификатора пользователя может производиться следую щими способами [9]: • в незашифрованном виде; например, согласно протоколу парольной аутентификации PAP (Password Authentication Protocol) пароли передаются по линии связи в открытой незащищенной форме; Пользователь А Канал Сервер аутентификации (Пароль подлинный) Рис. 7.1. Простая аутентификация с использованием пароля • в защищенном виде; все передаваемые данные (идентифи катор и пароль пользователя, случайное число и метки вре мени) защищены посредством шифрования или однона правленной функции. Очевидно, что вариант аутентификации с передачей пароля пользователя в незашифрованном виде не гарантирует даже ми нимального уровня безопасности, так как подвержен многочис ленным атакам и легко компрометируется. Чтобы защитить пароль, его нужно зашифровать перед пересылкой по незащи щенному каналу. Для этого в схему включены средства шифро вания Ек и расшифровывания DK, управляемые разделяемым секретным ключом К. Проверка подлинности пользователя ос нована на сравнении присланного пользователем пароля РА и исходного значения Р'А, хранящегося на сервере аутентифика ции. Если значения РА и РА совпадают, то пароль РА считается подлинным, а пользователь А — законным. Схемы организации простой аутентификации отличаются не только методами передачи паролей, но и видами их хранения и проверки. Наиболее распространенным способом является хра нение паролей пользователей в открытом виде в системных фай лах, причем на эти файлы устанавливаются атрибуты защиты от чтения и записи (например, при помощи описания соответст вующих привилегий.в списках контроля доступа ОС). Система сопоставляет введенный пользователем пароль с хранящейся в файле паролей записью. При этом способе не используются криптографические механизмы, такие как шифрование или од нонаправленные функции. Очевидным недостатком этого спосо ба является возможность получения злоумышленником в систе ме привилегий администратора, включая права доступа к сис темным файлам, и в частности, к файлу паролей. Для обеспечения надежной защиты ОС пароль каждого пользователя должен быть известен только этому пользователю и никому другому, в том числе и администраторам системы. На первый взгляд то, что администратор знает пароль некоторого пользователя, не отражается негативно на безопасности систе мы, поскольку администратор, войдя в систему от имени обыч ного пользователя, получает права меньшие чем те, которые он получит, зайдя в систему от своего имени. Однако, входя в сис тему от имени другого пользователя, администратор получает возможность обходить систему аудита, а также совершать дейст вия, компрометирующие этого пользователя, что недопустимо в защищенной системе. Таким образом, пароли пользователей не должны храниться в ОС в открытом виде. С точки зрения безопасности предпочтительным является метод передачи и хранения паролей с использованием односто ронних функций. Обычно для шифрования паролей в списке пользователей используют одну из известных криптографически стойких хэш-функций. В списке пользователей хранится не сам пароль, а образ пароля, являющийся результатом применения к паролю хэш-функции. Однонаправленность хэш-функции не позволяет восстано вить пароль по образу пароля, но позволяет, вычислив хэш- функцию, получить образ введенного пользователем пароля и та ким образом проверить правильность введенного пароля. В про стейшем случае в качестве хэш-функции используется результат шифрования некоторой константы на пароле. Например, односторонняя функция Л( ) может быть опреде лена следующим образом: h(P) = ЕР(Ю), где Р — пароль пользователя; ID — идентификатор пользовате ля; Ер — процедура шифрования, выполняемая с использовани ем пароля Р в качестве ключа. Такие функции удобны, если длина пароля и ключа одина ковы. В этом случае проверка подлинности пользователя А с по мощью пароля РА состоит из пересылки серверу аутентификации отображения h(PA) и сравнения его с предварительно вычислен ным и хранимым в БД сервера аутентификации эквивален том h'iPj) (рис. 7.2). Если отображения h(PA) и h'(PA) равны, то считается, что пользователь успешно прошел аутентификацию. |