Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПУЛКО_учебное пособие.doc
Скачиваний:
22
Добавлен:
18.09.2019
Размер:
987.14 Кб
Скачать

3. Аутентификация

Аутентификация – метод доказательства пользователем того, что он действительно является тем, за кого себя выдает. Процедуру аутентификации необходимо отличать от идентификации, которая подразумевает только предъявление пользователем своего имени - идентификатора. В аутентификации участвуют две стороны – одна сторона (клиент) доказывает свою аутентичность, другая (сервер аутентификации) – принимает доказательства и выносит решение. В качестве доказательства аутентичности могут выступать:

  • нечто, что аутентифицируемый знает (пароль, ключ и т.п.);

  • нечто, чем аутентифицируемый владеет (электронная магнитная карта);

  • нечто, что является его частью (биометрические параметры).

3.1. Парольная аутентификация

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

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

  • с однонаправленной передачей информации от клиента к серверу аутентификации;

  • технология «запрос-ответ»

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

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

Приведенная на рис.3.1 схема неспособна противостоять атаке несанкционированного воспроизведения, когда злоумышленник, перехватив сетевой трафик сеанса аутентификационной связи легального пользователя, позднее в точности воспроизводит его, и таким образом получает доступ к ресурсам. Для противостояния атаке подобного рода в запрос вносятся временные метки, либо некоторые одноразовые числа, которые по договоренности сторон могут быть использованы только однажды. Схема аутентификации с одноразовыми числами представлена на рис.3.2. Дополнительный параметр t в этой схеме является либо случайным числом, генерируемым для каждого запроса на аутентификацию, либо одноразовым числом из набора, заранее оговоренного обеими сторонами. При использовании этой схемы злоумышленник не сможет повторно воспроизвести ранее сохраненный им запрос на аутентификацию легального пользователя, поскольку в нем использовано значение t, которое считается уже использованным, и сервер отвергнет повторный запрос.

Очевидным требованием к подобной системе аутентификация является наличие на стороне сервера базы данных, в которой бы сохранялись уже использованные значения t. Если в качестве t используется временная метка, то на с истему аутентификации накладываются дополнительные требования по временной синхронизации вычислительных средств клиента и сервера. Развитием подобных схем аутентификации стала схема «запрос-ответ». В этой схеме в ответ на запрос клиента на аутентификацию сервер высылает ему некоторое случайное или псевдослучайное число (challenge), клиент должен выполнить некоторое криптографическое действие (блочное шифрование, хэширование) над объединением парольной фразы и присланным сервером числом. Результат этого действия высылается серверу, который, выполнив аналогичные действия с challenge и хранящимся у него паролем клиента, сравнивает результат с присланным пользователем значением и принимает решение об аутентификации. Схема аутентификации «запрос-ответ» приведена на рис.3.3. Схема «запрос-ответ» также защищает от несанкционированного воспроизведения, поскольку для каждого сеанса аутентификации сервер генерирует уникальный challenge.

Говоря о парольной аутентификации, необходимо сказать несколько слов о качестве применяемых парольных фраз. Для того чтобы система аутентификации была защищена от атак типа угадывания или перебора паролей, необходимо, чтобы длина пароля и его семантическая наполненность максимально противостояли такого рода атакам. Типовые ошибки при выборе пароля:

  • пользователь выбирает в качестве пароля фразу, производную от идентификатора пользователя;

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

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

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

Как еще одну угрозу парольной аутентификации можно назвать применяемые злоумышленниками методы социальной инженерии, когда для раскрытия пароля используются методы социальной коммуникации (например, звонок от имени системного администратора с просьбой назвать свой пароль).

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

Протокол аутентификации PAP (Password Authentification Protocol) - наиболее простой протокол проверки подлинности для подключений по протоколу PPP. Имя пользователя и пароль запрашиваются удаленным сервером доступа и возвращаются клиентом удаленного доступа в обычном текстовом формате.

Протокол аутентификации CHAP (Challenge Handshake Authentification Protocol) использует схему проверки подлинности типа "запрос-ответ" для подключений по протоколу PPP. Описан в спецификации RFC 1994, использует необратимое шифрование по промышленному стандарту MD5 для хеширования ответа на запрос, выданный сервером удаленного доступа. Может использоваться также для периодического подтверждения подлинности субъекта в рамках уже установленного соединения.

Протокол аутентификации EAP (Extensible Authentication Protocol)- расширение протокола PPP, обеспечивающее проверку подлинности удаленных пользователей при помощи специальных устройств. Предусмотрена поддержка набора схем проверки подлинности. Эти схемы включают генераторы кода доступа, удаленное подключение, протокол Kerberos V5, одноразовые пароли, проверку подлинности на основе открытых ключей с использованием смарт-карт, сертификаты и другое. EAP работает с удаленными клиентами, а также с клиентами PPTP и L2TP.

Протокол Kerberos представляет собой набор методов идентификации и проверки истинности партнеров по обмену информацией (рабочих станций, пользователей или серверов) в открытой (незащищенной) сети. Протокол предполагает взаимодействие двух участников А и В посредством сервера, которому они оба доверяют и имеют с ним секретные долговременные ключи.

Базовый протокол Kerberos предполагает взаимодействие следующих участников: клиента А, проверяющей стороны В и доверенного сервера Т (сервер аутентификации Kerberos). В начале работы А и В не имеют общего секрета в виде ключа шифрования, в то время как Т имеет общий секрет с каждым из них в виде базы данных клиентов и их секретных ключей. Протокол Kerberos решает следующие задачи: проверку подлинности клиента А (возможна также взаимная аутентификация), обмен временным сеансовым ключом шифрования.

Работа протокола происходит следующим образом. А запрашивает у Т необходимые данные, называемые удостоверением и позволяющие В проверить подлинность А. Т выступает здесь в роли центра распространения ключей (key distribution center, KDC) и передаёт А зашифрованный его секретным ключом сеансовый ключ и билет (ticket), зашифрованный ключом В. Этот билет, который впоследствии А передаёт В, содержит сеансовый ключ и данные об А, что позволяет В осуществить проверку подлинности А. Для предотвращения атаки несанкционированного воспроизведения А передаёт вместе с билетом сообщение (аутентификатор), содержащее отметку о текущем времени и зашифрованное сеансовым ключом. Работа базового протокола Kerberos поясняется схемой на рис. 3.4., в котором приняты следующие обозначения:

Е – симметричный алгоритм шифрования (DES);

NA –текущее время, устанавливаемое А;

ТА – временная метка согласно локальным часам А;

k – сеансовый ключ взаимодействия А и В, генерируемый Т;

L – срок действия сеансового ключа;

КAТ, К секретные ключи шифрования А-Т и В-Т;

ticket- билет, например ticketB=EKBT(k,A,L);

auth – аутентификатор, например, аутентификатор А Ek(A,TA).

Пользователь А посылает серверу T данные для получения сеансового ключа с В в сообщении (1). Сервер T генерирует сеансовый ключ k, определяет время его жизни L , шифрует их на ключе KАT , а также формирует билет ticketB, используя секр етный ключ KBT и передает эту информацию пользователю в сообщении (2). Пользователь А, получив сообщение (2), расшифровывает его первую часть своим ключом KАT , извлекает сеансовый ключ и с его помощью формирует аутентификатор auth, который вместе с билетом передает B в сообщении (3). В получает сообщение (3), расшифровывает билет при помощи KBT , получает k и расшифровывает аутентификатор. При этом B должен проверить чтобы:

а) совпали значения идентификатора А в билете и аутентификаторе;

б) была правильной временная метка TA в аутентификаторе;

в) текущее время В находилось в интервале времени жизни L, указанного в билете.

Если все проверки пройдены, то В объявляет, что А успешно прошёл процесс аутентификации, и высылает A зашифрованное на сеансовом ключе значение TA. в сообщении (4). Полученное от В значение ТА пользователь сравнивает с посланным в аутентификаторе. Если они совпадают – пользователь А может в свою очередь аутентифицировать В.

В полной версии протокола Kerberos в отличие от базовой используеюся серверы двух уровней. Первый сервер называется сервером аутентификации. Он формирует билеты большого срока действия, которые называются билеты на получение билетов (ticket granting ticker, TGT). Второй тип серверов (серверы выдачи билетов) по получении TGT генерируют билеты другого типа – билеты на ресурс (resource ticket ,RT), которые непосредственно используются для аутентификации. Использование такой схемы позволяет существенно разгрузить сервер аутентификации при наличии множества пользователей в системе, но при этом сохранить централизованный принцип управления процедурой аутентификации.

В операционной системе Microsoft Windows 2000 аутентификация пользователей производится с помощью протокола Kerberos версии 5, дополненного расширениями, связанными с инфраструктурой открытых ключей. Первоначальная проверка пользователя производится в рамках процесса Winlogon, которая обеспечивает единую регистрацию пользователей в системе. Центр распределения ключей Kerberos интегрирован с другими службами безопасности Windows 2000, установленными на контроллере домена.

3.2. Аутентификация на основе сертификатов

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

Сертификат — блок информации, содержащий данные, уникально идентифицирующие пользователя, его публичный ключ, время действия ключа. Кроме того, сертификат должен быть подписан заверяющим лицом – специальной сертифицирующей организацией, пользующейся доверием со стороны пользователей. Алгоритм подписи – это алгоритм, который использует заверяющее лицо для подписи сертификата. Подпись создается пропусканием текста сертификата через одностороннюю хэш-функцию. Величина, получаемая на выходе хэш-функции, зашифровывается частным ключом сертифицирующей организации. При этом предполагается, что публичный ключ заверяющего лица общедоступен и может быть беспрепятственно получен пользователем из открытых источников.

Когда нужно удостоверить личность пользователя, он предъявляет свой сертификат в двух формах — открытой, то есть такой, в которой он получил его в сертифицирующей организации, и закрытой, зашифрованной с применением собственного закрытого ключа. Сторона, проводящая аутентификацию, берет из открытого сертификата открытый ключ пользователя и с его помощью расшифровывает закрытый сертификат. Совпадение результата с данными открытого сертификата означает успешную аутентификацию. Для того, чтобы проверить, действительно ли данный сертификат заверен сертифицирующей организацией, с помощью открытого ключа выдавшей сертификат организации производится расшифровка подписи этой организации в сертификате. Если в результате получается тот же сертификат — значит, пользователь действительно прошел регистрацию в этой сертифицирующей организации и является тем, за кого себя выдает. В настоящее время существует достаточно большое количество специальных центров сертификации, которые хранят и заверяют ключи пользователей. Самым популярным протоколом сертификации пользователей на сегодня является протокол X.509, который поддерживается большинством браузеров, почтовых клиентов, информационных систем.

Получить сертификат можно у коммерческих организаций. Этим, например, занимается компания Verisign (http://www.verisign.com). Для нужд сертификации внутри локальной сети можно воспользоваться специальным программным обеспечением. Для платформы Windows это может быть сервер сертификатов из поставки Windows 2000 Advanced Server.

3.3. Использование аутентифицирующих устройств

Для аутентификации пользователей могут применяться специальные устройства, хранящие аутентификационную информацию. Наиболее распространенными на сегодня устройствами являются смарт-карты, карты с магнитной полосой, электронные таблетки iButton, USB-токены.

Уникальность каждого из перечисленных предметов определяется информацией, которую он содержит. В простейшем случае эта информация представляет собой идентификатор и пароль пользователя, которые просто считываются с носителя и передаются модулю аутентификации. Более сложный случай — носитель содержит криптографический ключ, который используется в каком-либо из протоколов удаленной аутентификации. Зачастую подобного рода устройства используются в рамках двухфакторной аутентификации, когда совместно с устройством используют дополнительно методы парольной аутентификации (ввод PIN-кода при использовании электронной магнитной карты).

В качестве угроз этому типу аутентификации можно назвать:

  • хищение аутентифицирующего предмета у его владельца;

  • необходимость специального оборудования для работы с устройствами;

  • возможность изготовления копии или эмулятора устройства.

Несмотря на перечисленные угрозы, аутентификация посредством специальных устройств становится все более популярной, тем более что многие популярные информационные системы уже имеют встроенную поддержку подобного рода аутентификации. Так, операционные системы фирмы Microsoft Windows 2000 и выше имеют встроенные средства поддержки аутентификации с использованием USB-токенов.

3.4. Биометрические методы аутентификации

Главным недостатком перечисленных выше методов аутентификации является то, что они аутентифицируют не конкретного субъекта, а фиксируют тот факт, что аутентификатор субъекта соответствует его идентификатору. То есть, все перечисленные методы не защищены от компрометации аутентификатора, когда каким-либо способом (путем угадывания, перебора, хищения) пароль или аутентифицирующее устройство становятся доступны злоумышленнику. Биометрические методы идентификации или аутентификации свободны от этого недостатка, так как они основываются на анализе уникальных характеристик самого человека. В качестве аутентификационной информации в данном случае берутся во внимание оригинальные и неотъемлемые характеристики человека. Наиболее часто используются следующие из них:

  1. Отпечатки пальцев.

  2. Рисунок радужной оболочки глаза.

  3. Геометрия лица.

  4. Голос.

  5. Геометрия руки

  6. Индивидуальная техника работы.

В качестве примера последней характеристики можно назвать «клавиатурный почерк». Способ работы с клавиатурой компьютера у различных пользователей имеет индивидуальные характеристики (темп набора, временные характеристики между нажатием определенных клавиш и т.п.). Эти характеристики замеряются при аутентификации пользователя и сравниваются с заранее сохраненным эталоном для данного пользователя. Надежность методов биометрической аутентификации можно оценить по данным в таблице 3.1[11].

Таблица 3.1

Надежность биометрических методов аутентификации

Биометрический метод

Процент ошибок

Распознавание голоса

3%

Динамика факсимильной подписи

2%

Сканирование сетчатки

2%

Геометрия руки

0.1%

Отпечатки пальцев

0%

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

3.5. Вывод

Аутентификация пользователей является важным элементом системы безопасности. Наиболее популярный способ аутентификации – парольная аутентификация, основанная на знании пользователем некоторой фразы. Она использует криптографические методы (хэширование) для защиты от перехвата пароля. Аутентификация на основе сертификатов использует асимметричные схемы взаимодействия клиента и сервера. Более дорогостоящими и потому пока менее популярными методами аутентификации являются использование аутентифицирующих устройств и биометрических параметров.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]