Автор работы: Пользователь скрыл имя, 05 Апреля 2012 в 19:26, контрольная работа
Все множество потенциальных угроз по природе их возникновения разделяется на два класса: естественные (объективные) и искусственные (субъективные).
Естественные угрозы - это угрозы, вызванные воздействиями на АС и ее элементы объективных физических процессов или стихийных природных явлений, независящих от человека.
Данная схема уязвима для атак с повтором (replay attack): подслушав сообщение , злоумышленник может запомнить его и затем инициировать соединение от имени Александра. Не зная ключа сессии, злоумышленник не может передать в этом соединении произвольные осмысленные данные, но, подслушав данные самой сессии, он может воспроизвести всю сессию.
Использование нонсов требует усложнения протокола таким образом, чтобы сессионный ключ генерировался не Александром, а KDC.
Недостатками двух предыдущих версий протокола является то, что сеансовый ключ передается Валентине самим KDC, что может породить проблемы при синхронизации действий KDC и Александра. Так, Александр может попытаться установить соединение с Валентиной раньше, чем KDC сможет передать ключ.
Возможны более сложные сценарии трехстороннего рассогласования: в результате возможны атаки отказа сервиса на KDC, т.е. заставлять KDC устанавливать соединения с недоступными серверами, злоумышленник может поглощать его ресурсы.
Аутентификация при помощи KDC
Александр
Усовершенствованная аутентификация при помощи KDC
Александр
Более привлекательным является протокол, при котором Александр получает «билет», который затем используется для установления соединения с Валентиной. Это простейшая форма обширного семейства схем использования KDC, известных как варианты алгоритма Нидхема-Шрёдера.
На первый взгляд, схема не предполагает аутентификации Валентины перед Александром. В действительности, поскольку сессионный ключ используется для шифрования данных соединения, то сам факт, что Валентина способна осмысленно отвечать на запросы прикладного характера, может служить подтверждением того, что она расшифровывает сообщения, содержащие сессионный ключ.
Эта простейшая форма протокола уязвима при компрометации секретных значений, как и простая схема запрос-ответ. Так, зная пароль Александра, злоумышленник может представляться KDC и Валентиной, и Александр об этом может не узнать.
Более сложные варианты алгоритма Нидхема-Шрёдера, обеспечивают не только аутентификацию, но и защиту от различных сценариев похищения ключей: как сеансового, так и секретных ключей Александра и Валентины.
Схема Нидхема-Шрёдера
Александр
Более сложный вариант схемы Нидхема-Шрёдера
Александр
2.2. Система распределенной аутентификации Kerberos
Система Kerberos, разработанная в Массачусетском технологическом институте, основана на применении многоступенчатого алгоритма Нидхема-Шрёдера. Разработанный в середине 90-х Kerberos v4 получил широкое распространение в корпоративных сетях, особенно, основанных на системах семейства UNIX. Kerberos v5 был принят в качестве стандарта для использования в сетях ADS. Сервер аутентификации системы Kerberos играет роль центра распределения ключей.
В Kerberos идентичность пользователя подтверждается паролями, а серверов и отдельных сервисов прикладного уровня – псевдослучайными секретными ключами. С точки зрения системы, разница между этими категориями не важна, поэтому пользователей и сервисы объединяют термином принципал, а их пароли и псевдослучайные ключи называют просто ключами. Kerberos допускает распределенное обслуживание одного сервиса несколькими машинами. При этом все копии сервиса могут использовать один ключ, они рассматриваются системой как один принципал.
Кроме секретных ключей, принципалы имеют публичные имена, которые представляют иерархическую структуру: состоят из имени сервиса или пользователя, имени экземпляра сервиса (пользователи существуют в одном экземпляре) и, наконец, имени области. В реализации ADS, как и в SMB, область называется доменом.
Каждая область управляется собственным KDC с реплицируемой БД ключей. В качестве имен областей обычно используется иерархические имена DNS.
Билеты и аутентификаторы
При взаимной аутентификации клиента и сервиса используются не сами ключи, а как в простых версиях протокола Нидхема-Шрёдера, удостоверения, выдаваемые KDC. Удостоверения бывают двух типов: аутентификаторы и билеты.
С целью избежания хранения секретного ключа в памяти клиентского или сервисного процесса Kerberos использует двухступенчатую схему формирования удостоверений.
При регистрации в системе пользователь контактирует с AS (сервер аутентификации) и предъявляет свой пароль. AS на основе этого пароля выдает билет, действительный на время сессии. Срок жизни таких билетов – несколько часов, поэтому их хищение не так опасно, чем похищение ключа. В версии 4 билет выдавался сразу после предъявления запроса клиента без какой-либо дополнительно аутентификации. Злоумышленники могли использовать перехваченные билеты для расшифровки пароля. Для борьбы с этим в версии 5 билет выдается после переаутентификации, похожий на полноценный запрос-ответ.
Желая воспользоваться конкретным сервисом, пользователь предъявляет свой билет TGS (сервис выдачи билетов), который выдает билет к конкретному сервису. TGS является принципалом системы Kerberos и имеет аутентификационный ключ. AS и TGS обычно расположены на одной машине и могут рассматриваться как единый KDC.
Билет порождается на основе удостоверения клиента и ключа сервиса. Он содержит имена клиента и сервиса, сетевой адрес клиента, временной штамп, время жизни и сессионный ключ. В реализации Microsoft билет также содержит список доменных групп, к которым принадлежит пользователь.
Использование временных штампов требует согласование часов всех компьютеров, в крайнем случае – серверов. Т.к. время жизни билетов измеряется часами, синхронизация с точностью до минут вполне удовлетворительна. Важно: так как серверы вынуждены доверять собственным часам, сетевой протокол синхронизации времени должен быть надежным в криптографическом смысле, иначе злоумышленник смог бы убедить сервер, что сегодня все еще пятница и успешно предъявить просроченный билет.
Аутентификация Kerberos
Александр AS
В версии 5 допускаются билеты, время жизни которых начинается не в момент выдачи, а в некоторый момент в будущем (билеты можно приобретать заранее).
Смена пароля
Как и в простом алгоритме запрос-ответ, узким местом протокола Kerberos оказывается процедура смены пароля пользователя и ключа – сервисом.
Схема смены пароля в Kerberos аналогична всем механизмам аутентификации: сервис KDBM (управление базой данных Kerberos), так и другие сервисы сети, имеет секретный ключ в базе данных TGS. Желая сменить пароль, пользователь запрашивает билет к KDBM, получает сессионный ключ, устанавливает соединение с KDBM, зашифрованное этим ключом, и передает серверу старый и новый тексты пароля. Т.о., как и в SMB, новый пароль оказывается в криптографическом смысле зависим от предыдущего и злоумышленник, похитив один пароль и имея возможность анализировать весь последующий трафик жертвы, может узнать и все последующие пароли.
Общие характеристики протокола
Kerberos имеет ряд преимуществ по сравнению с протоколом запрос-ответ:
- можно обойтись меньшим количеством реплик БД учетных записей и меньшей загрузкой на каждую из этих реплик;
- более простая и гибкая схема междоменной (областной) аутентификации;
- более дешевая процедура восстановления сессии после ее разрыва.
Относительно последующего замечания. В схеме запрос-ответ хранить идентификатор сессии после ее разрыва нецелесообразно, а некоторых случаях и невозможно, и оказывается необходимо производить полноценную повторную аутентификацию при каждом восстановлении сессии.
В протоколах, основанных на билетах, клиент может многократно предъявлять билет с одним и тем же ключом сессии, и сервер каждый раз может аутентифицировать этот билет, зная только свой секретный ключ. Т.о., в течение времени жизни билета сервер может подтвердить идентичность клиента, не сохраняя никакого состояния, связанного с его предыдущим состоянием (недостаток – могут использоваться копии похищенных билетов для атак с повтором).
Kerberos имеет важные преимущества перед схемами аутентификации, основанными на передаче пароля открытым текстом, преимущества перед простой схемой запрос-ответ.
Недостатки:
- уязвимость перед атаками с повтором;
- недостаточно надежная схема смены пароля (проблема в Интернет);
- чрезмерное доверие надежности серверов (секретный ключ сервиса хранится обычно в конфигурационном файле этого сервиса). Взлом файловой системы сервера приведет к потере ключа и полному контролю злоумышленника над сервером.
Полтора десятилетия эксплуатации Kerberos показали, что несмотря на указанные недостатки, эта система вполне удовлетворительна в качестве «бюджетной» системы обеспечения безопасности.