Автор работы: Пользователь скрыл имя, 10 Октября 2013 в 22:35, курсовая работа
В настоящее время различного рода информация стала играть очень важную роль во всех сферах деятельности людей. Расширилось использование компьютерных сетей, в частности глобальной сети Интернет, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера. Вследствие этого возникла необходимость в безопасном способе передачи важной информации, который гарантировал бы, что она не будет передана постороннему лицу, выдающему себя за получателя. Чтобы во время передачи информации можно было удостоверяется в том, что ваш собеседник является именно тем, за кого он себя выдает, была придумана процедура аутентификации, то есть проверки подлинности.
Методы применения одноразовых паролей для аутентификации пользователей классифицируют следующим образом:
1. Использование генератора
псевдослучайных чисел, общего
для пользователя и
2. Использование механизма временных меток на основе системы единого времени.
3. Использование списка случайных паролей, общего для легального пользователя и проверяющей системы, и механизма их синхронизации.
Первый метод применения
одноразовых паролей для
В качестве примера аппаратного способа реализации механизма одноразовых паролей на основе временных меток можно привести технологию аутентификации SecurId, основанную на одноразовых паролях с использованием аппаратных ключей и механизма временной синхронизации. Эта технология аутентификации создана компанией Security Dynamics и реализована в ряде коммуникационных серверов довольно большого числа компаний, например, в серверах компании Cisco Systems. Данная схема аутентификации основывается на программном алгоритме генерации случайных чисел через определённые промежутки времени, которые устанавливаются и могут быть изменены администратором системы. В механизме аутентификации задействованы два параметра:
В тот момент, когда пользователь осуществляет вход в сеть, система предлагает ему ввести его PIN-код, состоящий из четырех десятичных цифр, а также шесть цифр случайно генерируемого числа, отображаемого в этот момент на дисплее аппаратного ключа. Используя введенный пользователем PIN-код, сервер извлекает из базы данных секретный ключ пользователя и выполняет алгоритм генерации случайного числа, используя в качестве параметров извлеченный секретный ключ и значение текущего времени. После этого сервер осуществляет проверку, совпадают ли сгенерированное число и число, введённое пользователем. Если эти числа совпадают, то сервер разрешает пользователю осуществить логический в систему.
Наиболее эффективным
и способным составить
Третий метод использования
одноразовых паролей для
2.3 Аутентификация с помощью сертифицирующих центров
Использование сертификатов основано на предположении, что сертифицирующих организаций немного и их открытые ключи широко доступны, например, из публикаций в журналах. Когда пользователь хочет подтвердить свою личность, он предъявляет свой сертификат в двух формах: открытой (то есть такой, в которой он получил его в сертифицирующей организации) и зашифрованной с применением своего закрытого ключа. Сторона, проводящая аутентификацию, берет из незашифрованного сертификата открытый ключ пользователя и расшифровывает с его помощью зашифрованный сертификат. Совпадение результата с открытым сертификатом подтверждает, что предъявитель действительно является владельцем закрытого ключа, соответствующего указанному открытому. Затем с помощью известного открытого ключа указанной в сертификате организации проводится расшифровка подписи этой организации в сертификате. Если в результате получается тот же сертификат с тем же именем пользователя и его открытым ключом, значит, он действительно прошел регистрацию в сертификационном центре, является тем, за кого себя выдает, и указанный в сертификате открытый ключ действительно принадлежит ему.
Сертификаты можно использовать не только для аутентификации, но и для предоставления избирательных прав доступа. Для этого в сертификат могут вводиться дополнительные поля, в которых указывается принадлежность его владельцев к той или иной категории пользователей. Эта категория назначается сертифицирующей организацией в зависимости от условий, на которых выдается сертификат. Например, организация, поставляющая через Интернет на коммерческой основе информацию, может выдавать сертификаты определенной категории пользователям, оплатившим годовую подписку на некоторый бюллетень, тогда веб-сервер будет предоставлять доступ к страницам бюллетеня только пользователям, предъявившим сертификат данной категории.
Реализация данного подхода состоит в организации доверительного центра распространения ключей (KDC, key distribution center). При такой схеме у каждого пользователя всего один ключ, общий с KDC-центром. Операции с ключами аутентификации и сеансовыми ключами проходят через KDC-центр.
Рассмотрим пример аутентификации на основе данного протокола: Пользователь 1 (П1) выбирает ключ сеанса, Ks, и заявляет KDC-центру, что он желает поговорить с пользователем 2 (П2) при помощи ключа Ks. Это сообщение шифруется секретным ключом КА, которым совместно владеют только П1 и центр распространения ключей. Центр распространения ключей расшифровывает это сообщение и извлекает из него идентификатор личности П2 и ключ сеанса. Затем он формирует новое сообщение, содержащее идентификатор личности П1 и ключ сеанса, и посылает его П2. Это сообщение зашифровывается ключом Кв — секретным ключом, общим для П2 и центра распространения ключей. Расшифровав это сообщение, П2 узнает, что П1 желает с ним поговорить и какой ключ он хочет использовать.
Аутентификация в данном случае происходит сама собой. KDC знает, что сообщение 1 пришло от П1, так как больше никто не может зашифровать его секретным ключом П1. Аналогично, П2 знает, что сообщение 2 пришло от KDC, так как кроме него их общий секретный ключ никому не известен.
Более сложный метод аутентификации состоит в использовании многостороннего протокола оклик-отзыв. Хорошо известным примером такого протокола является протокол аутентификации Нидхэма-Шредера. Работа протокола начинается с того, что П1 сообщает KDC-центру, что он желает поговорить с П2. Это сообщение содержит большое случайное число RA. Центр распространения ключей посылает обратно сообщение 2, содержащее случайное число П1, ключ сеанса и так называемый билет, который он может послать П2. Цель посылки случайного числа RA состоит в том, чтобы убедить П1 в том, что сообщение 2 является свежим, а не повторно воспроизведенным. Идентификатор П2 также помещается в сообщение 2 на случай, если злоумышленник (З1) вздумает заменить его идентификатор на свой в сообщении 1, так чтобы KDC-центр зашифровал билет в конце сообщения 2 ключом Кт (ключ З1) вместо Кв. Билет, зашифрованный ключом Кв, помещается внутри зашифрованного сообщения, чтобы злоумышленник не смог заменить его чем-либо другим, пока сообщение 2 добирается до П1.
Затем П2 посылает билет П2 вместе с новым случайным числом RA2, зашифрованным ключом сеанса Ks. В сообщении 4 П2 посылает обратно KS(RA2-1), чтобы доказать П1, что он разговаривает с настоящим П2. Отсылать обратно просто KS(RA2) бессмысленно, так как это число могло быть украдено злоумышленником из сообщения 3.
Получив сообщение 4, П1 убеждается, что разговаривает с П2 и что до сих пор не было использовано повторных сообщений. Между отправкой случайного числа RA2 и получением ответа на него в виде Ks(RA2-i) проходит довольно короткий промежуток времени. Цель сообщения 5 — убедить П2, что он действительно разговаривает с П1 и что в этом сеансе связи также отсутствуют повторно воспроизведенные данные. Возможность атаки с помощью повторного воспроизведения ранее записанной информации исключается этим протоколом благодаря тому, что каждая сторона формирует оклик другой стороны и получает на него отзыв.
2.4 Аутентификация при помощи протокола Kerberos
Во многих реально работающих системах применяется протокол аутентификации Kerberos, основанный на одном из вариантов протокола Нидхэма-Шредера. Он назван по имени трехглавого пса греческих мифов Кербера, охранявшего выход из Аида. Кербер пропускал в Аид всякого, но не выпускал оттуда никого. Протокол Kerberos был разработан в Массачусетском технологическом институте для обеспечения пользователям рабочих станций надежного доступа к сетевым ресурсам.
Протокол Kerberos предлагает
механизм взаимной аутентификации клиента
и сервера перед установлением
связи между ними, причём в протоколе
учтён тот факт, что начальный
обмен информацией между клиент
В своей основе протокол Kerberos ставит перед собой реализацию следующих принципов:
В основу Kerberos положен протокол Нидхэма-Шредера. В качестве доверенного третьей стороны выступает Центр Распределение Ключей.
Протокол основан на понятии Ticket (билет). Ticket (билет) является зашифрованным пакетом данных, который выдается доверенным центром аутентификации (KDC, центр распределения ключей).
Когда пользователь выполняет первичную аутентификацию, после успешного подтверждения его подлинности KDC выдает первичное удостоверение пользователя для доступа к сетевым ресурсам — Ticket Granting Ticket (TGT). В дальнейшем, при обращении к отдельным ресурсам сети, пользователь, предъявляя TGT, получает от KDC удостоверение для доступа к конкретному сетевому ресурсу — Service Ticket (TGS).
Итак, рассмотрим процесс аутентификации пользователя.
1. Получив приглашение на ввод имени пользователя, пароля и домена, пользователь указывает эти данные.
2. Затем компьютер
пользователя обращается к
3. Служба KDC ищет пользователя в БД, выявляет мастер ключ пользователя, который основан на пароле пользователя и расшифровывает аутентификатор, т. е. получает время отправки запроса. Разница во времени отправки запроса и текущего времени на контроллере домена не должно превышать определенного значения, установленного политикой протокола Kerberos.
4. Затем KDC создает два объекта:
5. Служба KDC зашифровывает аутентификатор пользователя (time stamp) и ключ сессии с помощью ключа клиента. После этого эти данные отправляются клиенту.
6. Компьютер клиента получает информацию от службы KDC, проверяет аутентификатор, расшифровывает ключ сессии.
7. Теперь клиент обладает ключом сессии и TGT, что предоставляет возможность безопасного взаимодействия со службой KDC. Клиент аутентифицирован в домене и получает возможность осуществлять доступ к ресурсам домена, используя протокол Kerberos.