Опубликован: 19.01.2010 | Уровень: специалист | Доступ: платный
Лекция 4:

Установление подлинности объекта

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >
Аннотация: Эта лекция имеет несколько целей: показать различие между установлением подлинности сообщения и установлением подлинности объекта, определить доказательства, используемые для идентификации, обсудить некоторые методы установления подлинности объекта, например, использование пароля, ввести некоторые протоколы вызова-ответа для установления подлинности объекта, ввести некоторые протоколы подтверждения с нулевым разглашением для установления подлинности объекта, определить биометрию и различающие характеристики между физиологическими и поведенческими методами.

4.1. Введение

Установление подлинности объекта (аутентификация) - методика, которая позволяет одной стороне доказывать подлинность другой стороны. Объект может быть человеком, процессом, клиентом или сервером. Объект, подлинность которого должна быть доказана, называется претендентом; признаки подлинности ( идентификационный код) претендент, а названы верификатором. Когда Боб пробует доказать подлинность Алисы, Алиса - претендент, а Боб - верификатор.

Сопоставление источника данных и установления подлинности объекта

Есть два отличия между сообщением, рассмотренным в "Цифровая подпись" , и установлением подлинности объекта, (источника данных), о котором мы будем говорить в этой лекции.

  1. Первое: установление подлинности сообщения (или установление подлинности происхождения данных) не может быть проведено в реальном масштабе времени. Алиса передает сообщение Бобу. Когда Боб проверяет подлинность сообщения, Алиса может участвовать или не участвовать в процессе связи. С другой стороны, когда Алиса запрашивает объект для установления подлинности, соединение для передачи сообщений не устанавливается, пока Алиса не будет опознана Бобом. Алиса должна быть в сети и принять участие в процессе опознавания. Только после того, как она опознана, могут передаваться сообщения между Алисой и Бобом. Установление подлинности источника данных требуется, когда электронную почту передают от Алисы Бобу, равно как и когда Алиса берет наличные из банковского автомата.
  2. Второе: установление подлинности сообщения просто подтверждает подлинность одного сообщения. Процесс установления подлинности сообщения может, в случае необходимости, повторяться для каждого нового сообщения. Установление подлинности объекта подтверждает подлинность претендент а на всю продолжительность сеанса.

Категории проверки

В установлении подлинности объекта претендент должен идентифицировать себя для верификатора. Это может быть сделано одним из трех видов свидетелей: нечто, известное только претендент у , нечто, чем обладает только претендент, или нечто, свойственное только претендент у.

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

Установление подлинности объекта и управление ключами

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

4.2. Пароли

Самый простой и самый старый метод аутентификации объекта - аутентификация на основе пароля, где пароль - " нечто, что знает " претендент.

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

Фиксированный пароль

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

При элементарном подходе система сохраняет таблицу (файл), в которой отсортированы пользовательские идентификаторы. Чтобы получить допуск к системным ресурсам, в начале сеанса пользователь передает системе свой пользовательский идентификатор и пароль. Система использует идентификацию, чтобы найти пароль в таблице. Если пароль, передаваемый пользователем, соответствует паролю в таблице, пользователю предоставляют доступ; иначе его заявка отклоняется. рис. 4.1 иллюстрирует этот подход.

Пользовательский ID и пароль

увеличить изображение
Рис. 4.1. Пользовательский ID и пароль

Атаки

Первый подход. Этот подход содержит несколько видов атак.

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

Захват пароля. Второй тип атаки возникает, когда Ева пробует физически захватить пароль Алисы. Захват может быть предотвращен, если Алиса не записывает пароль, а вместо этого только заучивает его. По этой причине пароль должен быть очень прост и, так или иначе, связан с чем-то знакомым Алисе. Но это делает пароль уязвимым к другим типам атак.

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

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

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

 Хеширование  пароля

увеличить изображение
Рис. 4.2. Хеширование пароля

Когда пользователь передает ID и пароль, система выполняет хэширование пароля, а затем сравнивает значение хэшированного пароля со значением, сохраненным в файле. Если они совпадают, пользователю предоставляют доступ; иначе - доступ запрещается. В этом случае файл не должен быть защищен от чтения.

Атака словаря. Хэш-функция препятствует Еве получать доступ к системе даже при том, что Ева имеет файл пароля. Однако есть все еще возможность атаки словаря. В этой атаке Ева интересуется нахождением только пароля, независимо от пользовательского ID. Например, если пароль - 6 цифр, Ева может создать список чисел с 6-ю цифрами (000000 к 999999) и затем выполнить хэш-функцию к каждому числу; результат - список из одного миллиона хэшированных паролей. Она может затем получить файл пароля и провести поиск входов второго столбца, чтобы найти совпадение. Процесс поиска может быть запрограммирован и выполнен автономно на частном компьютере Евы. После того как совпадение найдено, Ева может работать с интересующей ее системой интерактивно и использовать пароль, чтобы обратиться к системе. Третий подход показывает, как затруднить такую атаку.

Третий подход.Третий подход назван salting пароля. Когда строка пароля создана, к ней добавляется (с помощью операции "конкатенация") случайная строка, называемая salt. Дополненный пароль и хэшированная информация сохраняется в файле и хэшируются, а затем снова сохраняются в файле. Теперь, когда пользователь запрашивает доступ, система извлекает salt, конкатенирует (присоединяет) его c полученным паролем, делает хэширование информации результата и сравнивает с хэшированной информацией, сохраненной в файле. Если они совпадают, разрешается доступ к системе; иначе - заявка отклоняется (см. рис. 4.3).

Salt – пароль("соль" пароля)

увеличить изображение
Рис. 4.3. Salt – пароль("соль" пароля)

Рассмотренный выше процесс затруднил атаку словаря. Если первоначальный пароль - 6 цифр, и salt - 4 цифры, то хэширование приводит к значению с 10-ю цифрами. Это означает, что Ева теперь должна сделать список из 10 миллионов комбинаций и провести хэширование для каждой из них. Список хэширования ИЗ 10 миллионов входов и сравнение требует намного больше времени, чем в предыдущем случае подбора. Salting очень эффективная процедура, если salt - очень длинное случайное число. Операционная система UNIX использует вариант такого метода.

Четвертый подход.В четвертом подходе два метода идентификации объединены. Хороший пример этого типа установления подлинности - использование карты ATM (платежного автомата) с PIN-кодом (PIN - Personal Identification Number - персональный номер идентификации ).

Претендент, имеющий карту, принадлежит категории "имеет нечто", а PIN-код принадлежит той же категории " нечто известное ". PIN - пароль, который увеличивает безопасность карты. Если карта захвачена, она не может использоваться, если PIN-код не известен. Число PIN-кода, однако, традиционно очень коротко, так что оно легко запоминается владельцем. Но это делает его уязвимым для атаки подбором.

Одноразовый пароль

Одноразовый пароль - это пароль, применяемый единожды. Этот тип пароля делает бесполезным перехват пароля и его дополнение ( salting ). Здесь рассматриваются три подхода.

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

Второй подход.Во втором подходе пользователь и система соглашаются последовательно обновлять пароль. Пользователь и система договариваются о первоначальном пароле P1, действительном только для первого доступа. При первом доступе пользователь генерирует новый пароль, P2, и зашифровывает этот пароль, используя P1 как ключ. P2 - пароль для второго доступа. При втором доступе пользователь генерирует новый пароль, P3, и зашифровывает его с помощью P2 ; P3 используется для третьего доступа. Другими словами, Pi нужен, чтобы создать Pi+1. Конечно, Ева может подобрать первый пароль ( P1 ), а потом и найти все последующие.

Третий подход.В третьем подходе пользователь и система создают последовательно модифицированный пароль, используя хэш-функцию. В этом подходе, изобретенном Лесли Лампортом (Leslie Lamport), пользователь и система согласуют первоначальный пароль, P0 и счетчик n. Система вычисляет h" (P0), где h" означает применение хэш-функции n раз. Другими словами,

h"(x) = h(hn-1(x)) 
hn-1(x) = h(hn-2(x)) ...
h2(x) = h(h(x))
h1(x) = h(x)

Система хранит опознавательный код Алисы, значение n, и значения h" (P0)

Рисунок 4.4 показывает, как пользователь обращается к системе в первый раз.

Одноразовый пароль Лампорта

увеличить изображение
Рис. 4.4. Одноразовый пароль Лампорта

Когда система получает ответ пользователя в третьем сообщении, она применяет хэш-функцию, чтобы сравнить значение с полученными данными и узнать, соответствует ли оно значению хэш-функции и записанному в памяти. Если такое соответствие есть, то предоставляется доступ в систему; иначе заявка отклоняется. Затем система уменьшает значение n в памяти и заменяет старое значение пароля hn(P0) на новое значение hn-1(P0).

Когда пользователь обращается к системе второй раз, значение счетчика будет n - 1. Третье сообщение от пользователя - теперь hn-2(P0). Когда система получает это сообщение, она применяет хэш-функцию, чтобы получить hn-1(P0), которое сравнивается с модифицированным входным сообщением.

Значение n во входной информации может быть уменьшено каждый раз, когда есть доступ. Когда значение становится 0, пользователь больше не может обратиться к системе; все должно быть установлено снова. По этой причине значение n обычно выбирается достаточно большое, например, такое как 1000.

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >
Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Мария Архипова
Мария Архипова
Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Олег Волков
Олег Волков
Россия, Балаково, МБОУ СОШ 19