Основы криптографии

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

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

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

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

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

Другим распространенным методом аутентификации является аутентификация с использованием сертификатов открытого ключа. Разработано и применяется несколько таких алгоритмов. Обычно аутентификацию с использованием ключей совмещают с процедурой генерации парного симметричного ключа с целью его дальнейшего использования для обмена сообщениями. Наиболее известной процедурой взаимной аутентификации пары абонентов является метод Диффи и Хеллмана. Он широко описан как в статьях самих авторов, так и в независимых работах. Суть метода состоит в том, что каждый из участников обмена путем математических преобразований своего секретного ключа и открытого ключа своего корреспондента и обмена несекретными посылками получают независимо друг от друга секретное число. Поскольку секретный и открытый ключи абонентов связаны некоторым соотношением, то есть возможность подбора преобразований ключей так, что полученные обоими абонентами числа совпадают. Полученное секретное число можно использовать в качестве разделяемого секрета. Другим интересным методом аутентификации является использование аутентификационного токена. Аутентификационный токен представляет собой физическое устройство, обычно небольших размеров для удобства его ношения с собой. Это может быть смарт-карта или недавно появившиеся устройства, подключаемые к порту USB и выполненные в виде брелока. Обычно аутентификационный токен содержит "на борту" энергонезависимую память и специализированный процессор. Некоторые устройства дополнительно имеют встроенный аппаратный генератор случайных чисел или таймер (часы реального времени). Процессор токена в зависимости от мощности способен выполнять самые различные операции. Есть процессоры, способные выполнять шифрование данных алгоритмом DES или вычислять хэш-суммы с использованием ключа (HMACMD5). Специализированный токен позволяет производить криптографические преобразования без извлечения ключа из памяти токена и передавать между токеном, компьютером и информационной системой только несекретные или зашифрованные данные, что дополнительно защищает протокол аутентификации от перехвата ключей. Обычно программный доступ к токену возможен только после ввода PIN кода, известного только владельцу аутентификационного то?/p>