Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив WinRAR / лекции / операционные системы.pdf
Скачиваний:
107
Добавлен:
12.02.2015
Размер:
2.27 Mб
Скачать

285

карточки, используемые для доступа к банкоматам. Такие карточки, часто называемые аппаратными ключами, могут иметь клавиатуру и маленькое дисплейное окно. Аппаратные ключи могут быть также реализованы в виде присоединяемого к разъему устройства, которое располагается между компьютером и модемом, или в виде карты (гибкого диска), вставляемой в дисковод компьютера.

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

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

Рассмотрим подробнее две схемы, основанные на использовании аппаратных ключей.

Синхронизация по времени

Механизм аутентификации в значительной степени зависит от производителя. Одним из наиболее популярных механизмов является схема, разработанная компанией Security Dynamics (рис. 5.13). Схема синхронизации основана на алгоритме, который через определенный интервал времени (изменяемый при желании администратором сети) генерирует случайное число. Алгоритм использует два параметра:

1)секретный ключ, представляющий собой 64-битное число, уникально назначаемое каждому пользователю и хранящееся одновременно в аппаратном ключе и в базе данных аутентификационного сервера;

2)значение текущего времени.

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

 

286

 

 

Удаленный клиент PIN = 2360

 

Аутентификационный сервер

112511

Дисплейное

 

 

окно

Сравнение

login: 2360

Секретный

 

 

password: 112511

 

 

ключ

 

 

 

 

 

 

Таймер

112511

 

 

 

 

 

 

Таймер

 

 

Функция

 

 

вычисления

 

 

пароля

Пароль

Пароль = 112511

2360

Ключ

 

Публичная сеть

PIN = 2360

PIN

Рис. 5.13. Аутентификация, основанная на временной синхронизации

Затем сервер выполняет алгоритм генерации случайного числа, используя в качестве параметров найденный секретный ключ и значение текущего времени, и проверяет, совпадает ли сгенерированное число с числом, которое ввел пользователь. Если они совпадают, то пользователю разрешается логический вход.

Потенциальной проблемой этой схемы является временная синхронизация сервера и аппаратного ключа (ясно, что вопрос согласования часовых поясов решается просто). Гораздо сложнее обстоит дело с постепенным рассогласованием внутренних часов сервера и аппаратного ключа, тем более что потенциально аппаратный ключ может работать несколько лет. Компания Security Dynamics решает эту проблему двумя способами. Во-первых, при производстве аппаратного ключа измеряется отклонение частоты его таймера от номинала. Далее эта величина учитывается в виде параметра алгоритма сервера. Во-вторых, сервер отслеживает коды, генерируемые конкретным аппаратным ключом, и если таймер данного ключа постоянно спешит или отстает, то сервер динамически подстраивается под него.

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

287

Схема с использованием слова-вызова

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

Удаленный пользователь

Аутентификационный сервер

login: 2360

2360

Ключ

 

PIN = 2360

 

 

Слово-вызов S = 2567011

Генератор

Ключ

3678510

слова-вызова

 

 

 

 

 

Шифратор

Зашифрованное слово = 112511

 

 

Аппаратный ключ

 

 

(смарт-карта)

 

Сравнение

 

 

Рис. 5.14. Аутентификация по схеме “запрос-ответ”

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

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

288

вводить свой пароль с телефонной клавиатуры, когда звонят в сеть для получения голосовой почты.

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

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

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

Схема использования сертификатов

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

Сертификат представляет собой электронную форму, в которой содержится следующая информация:

1)открытый ключ владельца данного сертификата;

2)сведения о владельце сертификата, такие, например, как имя, адрес электронной почты, наименование организации, в которой он работает, и

т. п.;

3)наименование сертифицирующей организации, выдавшей данный сертификат.

289

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

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

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

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

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

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

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