Протоколы аутентификации

Автор работы: Пользователь скрыл имя, 10 Октября 2013 в 22:35, курсовая работа

Краткое описание

В настоящее время различного рода информация стала играть очень важную роль во всех сферах деятельности людей. Расширилось использование компьютерных сетей, в частности глобальной сети Интернет, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера. Вследствие этого возникла необходимость в безопасном способе передачи важной информации, который гарантировал бы, что она не будет передана постороннему лицу, выдающему себя за получателя. Чтобы во время передачи информации можно было удостоверяется в том, что ваш собеседник является именно тем, за кого он себя выдает, была придумана процедура аутентификации, то есть проверки подлинности.

Прикрепленные файлы: 1 файл

Курсяк.doc

— 118.50 Кб (Скачать документ)

 

Методы применения одноразовых  паролей для аутентификации пользователей  классифицируют следующим образом:

1. Использование генератора  псевдослучайных чисел, общего  для пользователя и проверяющей  системы, с одним и тем же  начальным значением.

2. Использование механизма  временных меток на основе  системы единого времени.

3. Использование списка  случайных паролей, общего для легального пользователя и проверяющей системы, и механизма их синхронизации.

Первый метод применения одноразовых паролей для аутентификации пользователей базируется на использовании  генератора псевдослучайных чисел, общего для пользователя, осуществляющего вход и проверяющей системы аутентификации, с одним и тем же начальным значением. Различают два основных способа реализации этого метода аутентификации:

  • последовательность преобразуемых одноразовых паролей. В процессе очередной сессии аутентификации пользователь создает и передает пароль именно для данной сессии, зашифрованный на секретном ключе, полученном из пароля предыдущей сессии;
  • последовательности паролей, основанные на односторонней функции. Суть данного метода составляет последовательное использование односторонней функции. Этот метод является более предпочтительным с точки зрения безопасности по сравнению с методом последовательно преобразуемых паролей.

В качестве примера аппаратного  способа реализации механизма одноразовых  паролей на основе временных меток можно привести технологию аутентификации SecurId, основанную на одноразовых паролях с использованием аппаратных ключей и механизма временной синхронизации. Эта технология аутентификации создана компанией Security Dynamics и реализована в ряде коммуникационных серверов довольно большого числа компаний, например, в серверах компании Cisco Systems. Данная схема аутентификации основывается на программном алгоритме генерации случайных чисел через определённые промежутки времени, которые устанавливаются и могут быть изменены администратором системы. В механизме аутентификации задействованы два параметра:

    • значение метки текущего времени;
  • специальный секретный ключ - уникальное 64-битовое число, предоставляемое каждому легальному пользователю при регистрации и хранящееся только в двух местах - в базе данных аутентификационной системы и в аппаратном ключе пользователя.

В тот момент, когда  пользователь осуществляет вход в сеть, система предлагает ему ввести его 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 ставит перед собой реализацию следующих принципов:

  • Пароль пользователя никогда не должен передаваться по сети.
  • Пароль пользователя ни в какой форме не должен храниться на клиентской машине: он должен быть ликвидирован сразу после использования.
  • Пароль пользователя не должен храниться в незашифрованном виде даже в базе данных аутентификации (authentication server database).
  • Пользователь вводит пароль только один раз за сессию. Таким образом, пользователи имеют доступ ко всем сервисам, на которые они авторизованы, без необходимости заново вводить пароль во время сессии. Это свойство также известная как Single Sign-On.
  • Управление аутентификацией осуществляется централизованно сервером аутентификации. Прикладные серверы, предоставляющие услуги, не должны содержать аутентификационных данных пользователей. Это важно для централизованного администрирования учетных записей пользователей; не сохраняется избыточная информация аутентификации на различных серверах; при изменении пользователем пароля, он одновременно меняется для всех предоставляемых услуг.
  • Не только пользователи обязаны подтвердить, что они являются теми, кем заявляют, но и прикладные серверы должны подтвердить свою идентичность пользователям. Этот процесс называется Взаимная аутоинтефикация.
  • После завершения этапов аутентификации и авторизации, клиент и сервер должны иметь возможность установить зашифрованную связь. С этой целью Kerberos поддерживает генерацию и обмен ключей шифрования.

В основу Kerberos положен  протокол Нидхэма-Шредера. В качестве доверенного третьей стороны выступает Центр Распределение Ключей.

Протокол основан на понятии Ticket (билет). Ticket (билет) является зашифрованным пакетом данных, который выдается доверенным центром аутентификации (KDC, центр распределения ключей).

Когда пользователь выполняет первичную аутентификацию, после успешного подтверждения его подлинности KDC выдает первичное удостоверение пользователя для доступа к сетевым ресурсам — Ticket Granting Ticket (TGT). В дальнейшем, при обращении к отдельным ресурсам сети, пользователь, предъявляя TGT, получает от KDC удостоверение для доступа к конкретному сетевому ресурсу — Service Ticket (TGS).

Итак, рассмотрим процесс  аутентификации пользователя.

1. Получив приглашение  на ввод имени пользователя, пароля  и домена, пользователь указывает  эти данные.

2. Затем компьютер  пользователя обращается к службе KDC и передает ей имя пользователя, имя домена, а также текущее время на рабочей станции пользователя, при этом имя пользователя передается в открытом виде, текущее время на рабочей станции пользователя передается в зашифрованном виде и является аутентификатором. Ключ шифрования формируется из пароля пользователя в результате хеширования.

3. Служба KDC ищет пользователя  в БД, выявляет мастер ключ пользователя, который основан на пароле пользователя и расшифровывает аутентификатор, т. е. получает время отправки запроса. Разница во времени отправки запроса и текущего времени на контроллере домена не должно превышать определенного значения, установленного политикой протокола Kerberos.

4. Затем KDC создает два объекта:

  • ключ сессии, посредством которого будет обеспечиваться зашифрование данных при обмене между клиентом и службой KDC,
  • билет на получение билета Ticket-Granting Ticket (TGT). TGT включает: вторую копию ключа сессии, имя пользователя, время окончания жизни билета. Билет на получение билета шифруется с использованием собственного мастер ключа службы KDC, который известен только KDC, т. е. TGT может быть расшифрован только самой службой KDC.

5. Служба KDC зашифровывает  аутентификатор пользователя (time stamp) и ключ сессии с помощью ключа клиента. После этого эти данные отправляются клиенту.

6. Компьютер клиента  получает информацию от службы KDC, проверяет аутентификатор, расшифровывает  ключ сессии.

7. Теперь клиент обладает  ключом сессии и TGT, что предоставляет возможность безопасного взаимодействия со службой KDC. Клиент аутентифицирован в домене и получает возможность осуществлять доступ к ресурсам домена, используя протокол Kerberos.

Информация о работе Протоколы аутентификации