Опубликован: 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 >
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Дмитрий Хитров
Дмитрий Хитров
Россия
Юрий Докучаев
Юрий Докучаев
Россия, ПГТ Яблоновский