Управление ключами шифрования и информационная безопасность сети

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

Показывать лекцию целиком

4.1. Введение

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

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

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

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

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

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

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

    4.2. Пароли

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

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

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

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

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

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

    Атаки

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

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

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

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

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

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

    (рис 4.2) Хеширование пароля

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

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

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

    (рис 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.

    4.3. Вызов-ответ

    При установлении подлинности пароля претендент доказывает свою идентичность, демонстрируя, что он знает секрет и пароль. Однако из-за того, что претендент сообщает секрет, этот секрет восприимчив к перехвату противником. В установлении подлинности с помощью вызова-ответа претендент доказывает, что он знает секрет, не посылая его. Другими словами, претендент не передает секрет верификатору; верификатор или имеет его, или находит его.

    В установлении подлинности с помощью вызова-ответа претендент доказывает, что знает секрет, не посылая его к верификатору.

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

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

    Использование шифра с симметричным ключом

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

    Первый подход.При первом подходе верификатор передает nonce, случайное число, используемое только однажды для вызова претендент а. Nonce должен изменяться; каждый раз создается различное случайное число. Претендент отвечает на вызов, используя ключ засекречивания, общедоступный претендент у и верификатору. рис. 4.5 показывает первый подход.

    (рис 4.5) Заявка nonce

    Первое сообщение не является частью вызова-ответа - это только сообщение верификатору, что претендент хочет вызвать систему. Второе сообщение - вызов. RB - это nonce, случайно выбранное верификатором (Боб) число-вызов претендент у. Претендент шифрует nonce, используя общедоступный ключ засекречивания, известный только претендент у и верификатору. Он передает результат верификатору. Верификатор расшифровывает сообщение. Если при дешифровании получен тот же самый nonce, как и переданный верификатором, Алисе предоставляется доступ.

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

    Читатель, возможно, заметил, что использование nonce предотвращает ответ на третье сообщение Евы. Ева не может ответить на третье сообщение и притвориться, что это новый запрос об установлении подлинности Алисы, потому что как только Боб получает ответ (значение RB ), этот ответ больше не может быть задействован. В следующий раз используется новое значение.

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

    (рис 4.6) Вызов с меткой времени

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

    (рис 4.7) Двунаправленное установление подлинности

    Второе сообщение RB - вызов от Боба Алисе. В третьем сообщении Алиса отвечает на вызов Боба и в то же самое время передает свой вызов RA Бобу. Третье сообщение - ответ Боба. Обратите внимание, что в четвертом сообщении порядок RA и RB изменяется, чтобы предотвратить атаку ответа третьего сообщения противником.

    Использование функций ключевого хэширования

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

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

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

    (рис 4.8) Функция ключевого хэширования

    Шифр, использующий асимметричный ключ

    Вместо шифра с симметричными ключами мы можем применить для установления подлинности объекта шифр с асимметричными ключами. Здесь секрет - это секретный ключ претендент а. Претендент должен показать, что он имеет секретный ключ, связанный с открытым ключом, который доступен каждому. Верификатор должен зашифровать вызов, используя открытый ключ претендент а; претендент затем расшифровывает сообщение, используя свой секретный ключ. Этот ответ на вызов - расшифрованный вызов. Далее рассматриваются два подхода: один для однонаправленного установления подлинности и один - для двунаправленного.

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

    (рис 4.9) Однонаправленная система проверки подлинности с асимметричным ключом

    Второй подход.Во втором подходе используются два открытых ключа, один в каждом направлении. Алиса передает опознавательный код и nonce, зашифрованные открытым ключом Боба. Боб отвечает своим nonce, расшифрованным открытым ключом Алисы. В конечном итоге Алиса отвечает расшифрованным nonce Боба. рис. 4.10 иллюстрирует этот подход.

    (рис 4.10) Двунаправленная система проверки подлинности с асимметричным ключом

    Использование цифровой подписи

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

    Первый подход.При первом подходе, показанном на рис. 4.11, Боб использует исходный текст вызова, а Алиса подписывает ответ.

    (рис 4.11) Одностороннее установление подлинности с помощью цифровой подписи

    Второй подход.При втором подходе, показанном на рис. 4.12, Алиса и Боб устанавливают подлинность друг друга.

    (рис 4.12) Двустороннее установление подлинности с помощью цифровой подписи

    4.4. Подтверждение с нулевым разглашением

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

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

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

    В установлении подлинности с нулевым разглашением претендент доказывает, что он знает секрет, не показывая его.

    Протокол Фиата-Шамира

    В протоколе Фиата-Шамира (Amos Fiat, Adi Shamir) третье лицо, которому доверяют (см. лекцию 5), выбирает два больших простых числа p и q, чтобы вычислить значение n = p x q. Значение n объявляется общедоступным. Значения p и q сохраняются секретными. Алиса, претендент, выбирает секретное число s между 1 и n - 1. Она вычисляет v = s2 mod n. Она сохраняет s как свой секретный ключ и регистрирует v как свой общедоступный ключ вместе с третьим лицом. Проверка Алисы Бобом может быть сделана в четыре шага, как показано на рис. 4.13.

  • Алиса- претендент выбирает случайное число r между 0, и n - 1 ( r называется "обязательство"). Она затем вычисляет значение

    x = r2 mod n ( x называется "свидетельство").

  • Алиса передает x Бобу как свидетельство.
  • Боб-верификатор передает вызов c Алисе. Значение c равно или 0, или 1.
  • Алиса вычисляет свой ответ y = rsc. Обратите внимание, что r - случайное число, выбранное Алисой на первом шаге, s - ее секретный ключ и c - признак ( 0 или 1 ).
  • Алиса передает ответ Бобу, чтобы показать, что она знает значение своего секретного ключа, s. Она подтверждает, что это была именно Алиса.
  • Боб вычисляет y2 и xc. Если эти два значения являются конгруэнтными, то для Алисы значение s означает "она честна"; или она вычислила значение y другим способом ("она нечестная"), потому что мы можем легко доказать, что y - тот же самый, как xc по модулю n:
    y2 = (rsc)2 = r2s2c = r2(s2)c= xc
    
  • (рис 4.13) Протокол Фиата - Шамира

    Раунд состоит из шести шагов; верификация повторяется несколько раз со значением c, равным 0 или 1 (выбираются случайно). В каждом раунде, который будет верифицирован, претендент должен передать результат испытания. Если не проходит хотя бы один раунд, процесс прерывается и формируется сообщение, что Алиса не прошла испытание на подлинность.

    Давайте рассмотрим этот тщательно продуманный и интересный протокол. Алиса может быть честна (знает значение s ) или нечестна (не знает значение s ). Если она честна, она проходит каждый раунд. Если нет - она может пройти раунд, правильно предсказывая значение вызова. При этом могут возникнуть две ситуации:

  • Алиса предполагает, что значение c (выход) будет 1 (предсказание). Она вычисляет $$x = r^{2} / \gamma$$ и передает x как свидетельство.
  • Если ее предположение правильно (оказалось, что c был равен 1), она передает y = r как ответ. Мы можем видеть, что она передаст результат, который соответствует тесту $$(y^{2} = x^{\gamma с})$$.
  • Если ее предположение неправильно (оказалось, что c, было 0), она не может найти значение y, которое соответствует тесту. Она, вероятно, выходит из игры или передаст значение, которое не соответствует ожидаемому результату теста, и Боб прервет процесс.
  • Алиса предполагает, что значение c (вызов) будет 0. Она вычисляет x = r и передает x как свидетельство.
  • Если ее предположение правильно (оказалось, что c было 0), она передает y = r как ответ. Она передает результат испытания, который соответствует $$(y^{2} = x^{\gamma с})$$.
  • Если ее предположение неправильно (оказалось, что c было 1), она не может найти значение y, которое соответствует тесту. Она, вероятно, выходит из игры или передаст значение, которое не соответствует ожидаемому результату теста, и Боб прервет процесс.
  • Мы можем видеть, что нечестный претендент имеет 50-процентный шанс на введение в заблуждение верификатора, проводящего испытание (предсказывая значение вызова). Другими словами, Боб назначает вероятность 1/2 для каждого раунда испытания. Если процесс повторяется 20 раз, вероятность уменьшается до (1/2)20 или 9,54 x 10-7. Другими словами, просто невероятно, что Алиса может правильно предсказать 20 раз.

    Пример "пещера Аладдина". Чтобы показать логику вышеупомянутого протокола, Жан-Жак Кискатер (Quisquater) и Гиом Гийу (Gillou) изобрели пример "пещера Аладдина" ( рис. 4.14).

    (рис 4.14) Одноразовый пароль Лампорта

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

  • Алиса выбирает, куда идти: или направо, или налево. И говорит об этом Бобу (соответствует передаче свидетельства x ).
  • После того как Алиса исчезает в пещере, Боб подходит к разветвлению (точка 2) и просит, чтобы Алиса вышла или справа, или слева. Это соответствует передаче вызова ( c ).
  • Если Алиса знает волшебное слово (свой секретный ключ), она может выйти с запрошенной стороны. Ей, вероятно, придется использовать волшебное слово (если она находится на неправильной стороне), или она может выйти, не используя волшебное слово (если она - на правильной стороне). Однако если Алиса не знает волшебное слово, она может выйти только с правильной стороны, если она разгадала вызов Боба. С вероятностью 1/2 Алиса может убедить глупого Боба, что она знает волшебное слово. Это соответствует ответу ( y ).
  • Игра повторяется много раз. Алиса победит, если она все время проходит испытания положительно. Вероятность, что она победит в игре, если она не знает волшебное слово, очень низка. Другими словами, P = (1/2)N, где P - вероятность победы, если она не знает волшебное слово.

    N - количество раз повторения испытания.

  • Протокол Фейге-Фиата-Шамира

    Протокол Фейге-Фиата-Шамира (Feige-Fiat-Shamir) подобен первому подходу за исключением того, что он использует вектор секретных ключей [s1, s2 ...sk], вектор общедоступных ключей $$[\gamma _{1}, \gamma _{2} \dots \gamma _{k}]$$ и векторы признаков ( c1,c2,...,ck). Секретные ключи выбраны случайно, но они должны быть взаимно простыми с n. Общедоступные ключи выбраны так, что $$\gamma _{i} = (s_{i}^{2})^{-1} mod n$$. На рис. 4.15 показаны три шага в процессе.

    (рис 4.15) Протокол Фейге - Фиата - Шамира

    Мы можем доказать, что $$y^{2} \gamma ^{c1}_{1}, \gamma ^{c2}_{2}, \dots , \gamma ^{ck}_{k}$$ имеет то же значение, что и x:

    $$y^{2} \gamma _{1}^{c1}, \gamma _{2}^{c2}, \dots , \gamma _{k}^{ck} = r^{2}(s_{1}^{c1})^{2}(s_{2}^{c2})^{2}\dots (s_{k}^{ck})^{2}\gamma _{1}^{c1}, \gamma _{2}^{c2}, \dots , \gamma _{k}^{ck} = x(s_{1}^{2})^{c1}(\gamma _{1}^{c1})(s_{2}^{2})^{c2}(\gamma _{2}^{c2})\dots (s_{k}^{2})^{ck}(\gamma _{k}^{ck}) = x(s_{1}^{2} \gamma _{1}^{c1})^{c1}(s_{2}^{2}\gamma _{2}^{c2})^{c2}\dots (s_{k}^{2}\gamma _{k}^{ck})^{ck} = x(1)^{c1}(1)^{c2} \dots (1)^{ck} = x$$

    Три шага составляют раунд; проверка повторяется несколько раз со значением индекса s, равным 0 или 1 (выбирается случайно). Претендент должен провести испытание в каждом раунде, который проверяется. Если претендент ошибается в одном раунде, процесс прерывается и подлинность не подтверждается.

    Протокол Кискатера-Гийу

    Протокол Кискатера (Quisquater) и Гийу (Gillou) расширяет протокол Фиата-Шамира, в котором может быть использовано меньшее число раундов, чтобы доказать полномочность претендент а. Третье лицо, которому доверяют (см. лекции 5), выбирает два больших простых числа p и q, чтобы вычислить значение n = p x q.

    Сторона, которой доверяют, также выбирает показатель $$\phi,$$ e, который является взаимно-простым с , где $$\varphi = (p - 1) (q - 1)$$. Значения , которое является общедоступным, и число s, которое является секретным. Однако в этом случае отношения между $$\gamma$$ и s определяются уравнением

    $$s^{e} x \gamma = 1 mod \ n$$

    Три шага составляют раунд; проверка повторяется несколько раз со случайным значением c (вызов - challenge) между 1 и e. Претендент должен передать результат испытания в каждом раунде, который будет проверяться. Если претендент передал неверно хотя бы один раунд, процесс прерывается и сообщение признается неподлинным. рис. 4.16 иллюстрирует один раунд.

    (рис 4.16) Протокол Кискатера - Гию

    Равенство может быть доказано так, как показано ниже:

    $$y^{e} x \gamma = ( r x s^{c})^{e} x \gamma = r^{e} x s^{ce} x \gamma ^{c} = r^{e} x (s^{s} x \gamma )^{c} = x x 1^{c} = x$$

    4.5. Биометрия

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

    Компоненты

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

    Регистрация

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

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

    Установление подлинности проводится с помощью верификации или идентификации.

    Верификация

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

    Идентификация

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

    Методы

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

    (рис 4.17) Биометрика

    Физиологические методы

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

    Отпечатки пальца. Хотя есть несколько методов для того, чтобы измерить характеристики, связанные с отпечатками пальца, два из них самые общие - на основе деталей и на основе изображения. Методика на основе деталей - это система создает граф, основанный на расположении отдельных типов узоров (полей папиллярных линий). Граф фиксирует начало и конец отдельных ветвей. В методике на основе изображения система создает изображение кончика пальца и находит подобные изображения в базе данных. Отпечатки пальца использовались в течение долгого времени. Они демонстрируют высокий уровень точности и поддерживают верификацию и идентификацию. Однако отпечатки пальца могут меняться при старении, получении ранения или болезни.

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

    Сетчатка. Устройства для этой цели исследуют кровеносные сосуды - глазное дно. Однако эти устройства дороги и пока не очень распространены.

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

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

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

    ДНК (дезоксирибонуклеиновая кислота, DNA - deoxyribonucleic acid) химически найдена в ядре всех человеческих клеток и в большинстве других организмов. Взятый один раз образец постоянен в течение всей жизни и даже после смерти. Это чрезвычайно точный метод. Он может использоваться и для верификации, и для идентификации. Единственная проблема: идентичные близнецы могут иметь одинаковую ДНК.

    Поведенческие методы

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

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

    Нажатие клавиши (ритм печати) - это методика измеряет поведение человека, связанное с работой на клавиатуре. Она может измерить продолжительность нажатия клавиш, время между нажатиями клавиш, число и частоту ошибок, силу давления на клавиши, и так далее. Она - не дорогая, потому что не требует нового оборудования, однако не очень точная, потому что эти черты могут изменяться со временем (люди становятся более быстрыми или более медленными "машинистками"). Точность также зависит от сложности текста.

    Точность

    Точность биометрических методов измеряется с помощью двух параметров: коэффициент ложной тревоги (FRR - False Rejection Rate) и коэффициент ложной идентификации (FAR - False Acceptance Rate).

    Коэффициент ложной тревоги (FRR)

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

    Коэффициент ложной идентификации (FAR)

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

    Приложения

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

    4.6. Рекомендованная литература

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

    Книги

    Установление подлинности объекта рассматривается в [Sti06], [TW06], [Sal03] и [KPS02].

    Сайты

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

  • http://en.wikipedia.org/wiki/Challenge-response_authentication
  • http://en.wikipedia.org/wiki/Password-authenticated_key_agreement
  • http://rfc.net/rfc2195.html
  • 4.7. Итоги

  • Установление подлинности объекта позволяет одной стороне доказывать свою идентичность другой стороне. При установлении подлинности объекта претендент доказывает свою идентичность верификатору, используя один из трех видов свидетельств: " нечто известное ", " обладающий чем-то " или " нечто свойственное ".
  • При установлении подлинности на основе пароля претендент использует строку символов как нечто известное. Установление подлинности на основе пароля может быть разделено на две обширных категории: фиксированный и одноразовый пароли. Атаки установления подлинности на основе пароля включают перехват информации, захват пароля, доступ файла пароля, подбор и атаки словаря.
  • При установлении подлинности с помощью вызова-ответа претендент доказывает, что он знает секрет, фактически не открывая его. Установление подлинности с помощью вызова-ответа может использовать шифры с симметричным ключом, функции ключевого хэширования, шифры с асимметричными ключами и цифровые подписи.
  • При установлении подлинности с нулевым разглашением претендент не показывает свой секрет; он только доказывает, что знает его.
  • Биометрия - измерение физиологических или поведенческих характеристик, чтобы опознать человека по чему-либо свойственному ему. Мы можем разделить биометрические методы на две обширные категории: физиологические и поведенческие. Физиологические методы измеряют физические черты человеческого тела для верификации и идентификации. Поведенческие методы измеряют некоторые черты человеческого поведения.
  • 4.8. Набор для практики

    Обзорные вопросы

  • Покажите отличие между установлением подлинности источника данных и установлением подлинности объекта.
  • Перечислите и дайте определение трем типам свидетельств идентификации при установлении подлинности объекта.
  • . Покажите отличие между фиксированными и одноразовыми паролями.
  • Каковы преимущества и недостатки использования длинных паролей?
  • Объясните общую идею установления подлинности объекта с помощью вызова-ответа.
  • Дайте определение nonce и расскажите о его использовании в установлении подлинности объекта.
  • Дайте определение атаки словаря и расскажите, как она может быть предотвращена.
  • . Покажите отличие между установлениями подлинности объекта вызовом-ответом и подтверждениями с нулевым разглашением.
  • Дайте определение биометрии и покажите отличие между двумя категориями методов.
  • Покажите отличие между двумя параметрами точности, определенными для биометрического измерения в этой лекции.
  • Упражнения

  • Мы обсуждали фиксированные и одноразовые пароли как два крайних случая. Что вы можете сказать о часто изменяемых паролях? Как вы думаете, может ли эта схема быть реализована в действительности? Каковы преимущества и недостатки такого метода?
  • Как система может предотвратить атаку подбора пароля? Как банк может предотвратить использование PIN в случае, если кто-то нашел или украл банковскую кредитную карточку и пробует использовать ее?
  • Покажите еще два действия процедуры установления подлинности по рис. 4.4.
  • Каковы недостатки использования метки времени по рис. 4.6?
  • Можно ли повторить три сообщения по рис. 4.5, чтобы достигнуть двунаправленного установления подлинности? Объясните.
  • Покажите, как на рис. 4.5 может быть проведено установление подлинности с помощью ключевой хэш-функции.
  • Покажите, как на рис. 4.7 может быть проведено установление подлинности с помощью ключевой хэш-функции.
  • Сравните рис. 4.5 и рис. 4.9 и составьте список совпадений и различий.
  • Сравните рис. 4.7 и рис. 4.10 и составьте список совпадений и различий.
  • Можно ли использовать метку времени с шифром с асимметричными ключами для установления подлинности? Объясните.
  • Сравните и противопоставьте рис. 4.13, рис. 4.15 и рис. 4.16. Составьте список совпадений и различий.
  • Проделайте заново пример "пещеры" для протокола Фейге-Фиата-Шамира.
  • Для p = 569, q = 683 и s = 157 показать три раунда протокола Фиата-Шамира, вычисляя значения и заполняя таблицы.
  • Для p = 683, q = 811, s1 = 157 и s2 = 43215 покажите три раунда протокола Фейге-Фиата-Шамира, вычисляя значения и заполняя таблицы.
  • Для p = 683, q = 811 и v = 157 покажите три раунда протокола Кискатера-Гийу, вычисляя значения и заполняя таблицы.
  • Нарисуйте рисунок-диаграмму, чтобы показать общую идею трех протоколов для установления подлинности с нулевым разглашением, которые мы обсуждали в этой лекции.
  • В протоколе Фиата-Шамира - какова вероятность, что нечестный претендент правильно ответит на вызов 15 раз?
  • В протоколе Фейге-Фиата-Шамира - какова вероятность, что нечестный претендент правильно ответит на вызов 15 раз?
  • В протоколе Кискатера-Гийу - какова вероятность, что нечестный претендент правильно ответит на вызов 15 раз, если значение свидетельства выбрано между 1 и 15?
  • В двунаправленном подходе к установлению подлинности на рис. 4.10, если позволяются множественные сеансы установления подлинности, Ева перехватывает RB-nonce от Боба (во втором сеансе) и передает его как nonce Алисы для второго сеанса. Боб, не проверяя, что этот nonce - тот же, как тот nonce, который он передал, зашифровал RB и вставляет его в сообщение с nonce. Ева использует зашифрованный RB и притворяется, что она - Алиса, продолжающая первый сеанс и отвечающая зашифрованным RB. Это - атака отражения. Покажите шаги в этом сценарии.
  • Вернуться к учебному плану