4.1 Понятие аутентификации
4.2 Средства контроля аутентификации
4.3 Аутентификация по сертификатам
4.4 Защита ключей в системах аутентификации
4.5 Авторизация
Понятие аутентификации
Рассмотрим основные определения.
Идентификатор пользователя – некоторое уникальное количество информации, позволяющее различать удаленных пользователей (имя учетной записи, имя пользователя, логин)
Пароль пользователя – некоторое секретное количество информации, известное только пользователю и парольной системе, которое может быть запомнено пользователем и предъявлено для прохождения процедуры аутентификации.
Учетная запись пользователя – идентификатор и пароль.
Идентификация – это присвоение пользователям идентификаторов и проверка предъявляемых идентификаторов по списку присвоенных.
Аутентификация – это проверка принадлежности пользователю предъявленного им идентификатора (подтверждение, проверка подлинности).
Авторизация — процесс предоставления определенному лицу прав на выполнение некоторых действий.
В реальном мире эта операция проводится с помощью удостоверения личности (водительские права, паспорт или даже взаимное знакомство). Интересно, что водительские права, не являющиеся цифровым удостоверением, в действительности удовлетворяют требованиям информационной безопасности, а именно позволяет осуществлять двух факторную аутентификацию. Двух факторная аутентификации базируется, по крайней мере на двух из следующих факторов:
· то, что вы имеете;
· то, что вы собой представляете;
· то, что вы знаете.[17]
По мере того как цифровые формы коммуникаций, исследований, развлечений, банковской деятельности и т.д. расширяются, люди сталкиваются с множеством пользовательских идентификаторов и паролей на различных системах. Эта проблема затрагивает и организации. В компаниях используется множество компьютерных систем и приложений, каждое из которых требует свои имя пользователя и пароль. «Сделайте так, пароль был единым!» — требуют пользователи от системных администраторов.
Термин «единый вход в систему» означает использование единых аутентификационных данных. Для этого применялись такие методы, как смарт-карты, маркеры доступа и центральные базы аутентификации (Microsoft Active Directory, Microsoft Passport, Sun One Directory). Несмотря на то, что каждая из этих систем требует некоторой работы по реализации и внесения изменений в структуру сети, они обеспечивают решение по проверке личности, упрощающее работу для всех программных и аппаратных продуктов. Для аутентификации на всех системах Microsoft и Sun или на веб-сайтах, поддерживающих Passport, можно использовать одно имя пользователя и пароль. Такие продукты, как Novell NDS и Microsoft, могут применяться для объединения множества каталогов и единого входа на раздельных системах.
Единый пользовательский идентификатор и пароль облегчают работу пользователей, а также снижают риск того, что пароли станут доступны посторонним лицам, если они были записаны на бумаге легкомысленными санкционированными пользователями. Однако есть и другая сторона медали. Единый вход может снизить степень защищенности сети. Если в системе присутствует множество учетных записей с различными паролями, то, проникнув в одну из них, злоумышленник получит доступ только к тем данным, с которыми позволяет работать данная учетная запись. Другие учетные записи пользователей и ресурсы не будут доступны атакующему. Однако если у пользователя только одна учетная запись и пароль для работы со всеми ресурсами и всех привилегий, злонамеренное проникновение будет иметь гораздо более плачевные последствия.[18]
Существует множество систем парольной аутентификации. Распространены три типа таких систем: локальное хранение и сравнение, централизованное хранение и сравнение, а также системы типа «вопрос-ответ». Реже встречаются системы Kerberos и системы с одноразовыми паролями.
В ранних компьютерных системах пароли не требовались. Компьютером мог пользоваться любой, кто имел к нему физический доступ. С развитием компьютерных систем люди осознали необходимость ограничить доступ определенным кругом привилегированных лиц, и была разработана система идентификации пользователи.
Часто пароли хранились в базах данных в открытом виде. Если можно было бы открыть и прочесть файл, то можно было бы узнать пароль любого пользователя. Безопасность базы данных основывалась на контроле доступа к файлу, а также на честном слове» администраторов и пользователей. Администраторы могли изменить пароли, в их обязанности входило донесение изменений до пользователей и сообщение паролей пользователям, которые их забыли. Позже пользователям была предоставлена возможность самим менять свои пароли, а также им в принудительном порядке предлагалось периодически менять пароли. Так как вся информация в базе данных паролей хранилась в открытом виде, алгоритм аутентификации был прост: пароль вводился в консоли и просто сравнивался с набором паролей до совпадения с одним из них в базе данных.
Этот простой процесс аутентификации широко применяется в приложениях, требующих собственной системы аутентификации. При их использовании создаются и поддерживаются хранимые на этих системах файлы паролей без шифрования. Безопасность таких систем основана на защите файла с паролями. Так как пароли могут быть перехвачены программой злоумышленника, такие системы не являются хорошо защищенными.
Со временем опознавания доступности файла паролей привело к попыткам скрыть его или обеспечить плюс высокий уровень его зашиты. В то время как файл паролей Unix etc/passwd доступен для любых пользователей, поле паролей в файле шифруется и, таким образом, является нечитабельным. Однако если очистить поле пароля (например, после загрузки с компакт-диска), можно войти в систему и без пароля. В современных системах Unix из файла etc/passwd создается теневой файл паролей (etc/shadow), доступ к которому возможен только из администраторской или корневой учетной и, что исключает или усложняет проведение некоторых атак.
В первых версиях Windows использовались легко взламываемые файлы паролей (pwd). Аналогично, в то время как в Windows NT файлы паролей не являются текстовыми, существует ряд атак, которые позволяют либо удалить диспетчер безопасности учетных записей (Security Account Manager, SAM) для последующего создание после перезагрузки нового SAM, включая базовую учетную запись администратора, либо атаковать пароли посредством, грубой силы. В более поздних Windows NT появилась утилита syskey, которая обеспечивала защиту базы данных посредством дополнительных возможностей шифрования. Однако бесплатная утилита pwdump2 может использоваться для извлечения хэшей паролей из файлов, защищенных утилитой syskey.[19]
Еще одной угрозой для систем Windows, защищенных паролями, является доступность загружаемого с гибкого диска приложения Linux, которое может подменить пароль администратора на отдельном сервере. Если хакер имеет физический доступ к компьютеру, он сможет им завладеть; это относится и к другим операционным системам, на которых могут проводиться подобные атаки.
Защита файлов базы данных учетных записей во многих операционных системах изначально была очень слаба, и до сих пор она часто оставляет желать лучшего. Администраторы могут повысить безопасность, применяя более строгие средства управления аутентификацией (файловые разрешения) для файлов баз данных.
Есть множество доступных средств, позволяющих раскрывать пароли при условии физического доступа к системе или к базе данных паролей. Каждая система должна физически защищаться, однако, там, где существует централизованная база данных учетных записей, необходимо принимать дополнительные меры. Кроме того обучение пользователей и средства контроля над учетными записями повышают надежность паролей и затрудняют задачу для злоумышленника настолько, что заставят его отказаться от атаки.