Сетевой электронный научный журнал "СИСТЕМОТЕХНИКА", № 2, 2004 г.

СОЗДАНИЕ СИСТЕМ АВТОРИЗАЦИИ ПОЛЬЗОВАТЕЛЯ В СРЕДЕ MICROSOFT WINDOWS,
ИСПОЛЬЗУЮЩИХ СМАРТ ТЕХНОЛОГИИ

 

Куликов А.Л., Петрова И.Ю.

(Астраханский Государственный университет, аспирант кафедры Информационных систем,
 
anthony@mail.ru, petrova@aspu.ru)

 

С развитием кампусных сетей высших учебных заведений в России, при наличии достаточно большого (порядка 200-300 шт. и более) парка компьютерных терминалов общего пользования, при организации авторизованного доступа к разнородным информационным ресурсам возникает проблема гарантированного обеспечения авторизованного предоставления доступа к информации. В качестве ОС на рабочих местах, наиболее часто используются ОС семейства Microsoft Windows, либо ОС семейства Linux (как правило устанавливаются «русскоязычные» версии дистрибутивов, изначально ориентированные на российский рынок).

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

1.    Гарантированную авторизацию пользователя

2.    Возможность получения/работы с информацией с любого компьютера общего пользования

3.    Обеспечение защиты передаваемой информации

4.    Обеспечивать доступ к разнородной информации

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

Указанные возможности были реализованы в рамках практического применения результатов исследования в рамках диссертационной работы, при создании информационной системы «Смарт.АГУ» (Астраханский Государственный университет).

Рассмотрим более подробно каждый пункт требований к системе. В среде Microsoft Windows (семейство NT) существует достаточное количество хорошо зарекомендовавших себя подходов к организации авторизации пользователя. Наиболее простым из них является использование встроенных механизмов разграничения полномочий средствами ОС. Пользователь получает регистрационные данные (имя и пароль), которые вводит каждый раз перед началом работы. Типовое рабочее место может содержать определенный (регламентированный) набор программного обеспечения для работы пользователя (например текстовый процессор, графический пакет, и т.п.). Неудобством такого подхода к авторизации пользователя является необходимость ввода регистрационных данных, которая может быть решена, используя возможность автоматического входа в систему. Но в этом случае не обеспечивается необходимый уровень безопасности: т.к. получается что абсолютно любой пользователь может работать с системой, что является неприемлемым.

Таким образом одновременно должны обеспечиваться взаимоисключающие возможности:

·      работа только авторизованных пользователей

·      максимальная простота авторизации для конечного пользователя

Одним из вариантов решения подобной проблемы является использование «электронных ключей». Это может быть ключевая дискета, устройство напрямую подключаемое к USB порту, или, например, смарт-карта. Использование «электронных ключей» практически всегда подразумевает установку дополнительного программного обеспечения для контроля доступа. Одним из перспективных направлений обеспечения «прозрачной» и наиболее универсальной авторизации  пользователя в среде Microsoft Windows является использование смарт-карт. В среде Microsoft Windows (начиная с windows 2000 professional) встроен механизм, обеспечивающий поддержку использования смарт-карт на уровне ОС. Типичная для Microsoft абстракция в реализации интерфейсов (winscard) позволяет использовать смарт-карты и смарт-ридеры любых производителей, при условии их соответствия стандарту ISO/IEC-7816. Схема организации интерфейса PC/SC (personal computer/smartcard) приведена на рисунке 1.

 

4_1.gif (8732 b)

 

Рис. 1. Интерфейс PC/SC

 

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

Развивая идею использования в качестве средства авторизации пользователя смарт-карт, рассмотрим проблему использования информационных ресурсов университета, используя в качестве средства авторизации ту же самую смарт-карту. Например проблему обеспечения доступа к персональному расписанию занятий, к просмотру информации своей зачетной книжки. Если в первом случае (доступ на локальный компьютер под управлением ОС Microsoft Windows (NT) все достаточно тривиально (достаточно выполнять минимум проверок на уровень доступа пользователя), то в случае организации доступа к персональной информации требуется обеспечит более высокий уровень безопасности. Подобная система подразумевает наличие некоего центрального сервера, содержащего информацию о пользователях и об их смарт-картах. Современные ОС Microsoft Windows (NT) подвержены возможности неавторизованного получения привилегий супер-пользователя системы (опасность «root exploit»), в связи с чем возникает реальная угроза перехвата персональных данных пользователя, передаваемых на смарт-карту: установка «перехватчиков» паролей (пин-кодов) пользователем, взломавшим систему. Для решения этой проблемы необходимо организовать работу системы таким образом чтобы минимизировать любые возможности использования перехваченных данных:

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

·      обеспечить контроль за пользователем, который запрашивает персональную информацию.

Одним из способов решения данной проблемы является использование «ключа сеанса» - некой последовательности символов, полученной например на основе аппаратных характеристик рабочего места, ключа смарт-карты, и ключа сервера. Механизм необходимо реализовать таким образом, чтобы параметры для формирования ключа сеанса не были доступны в явном виде (т.е. чтобы их нельзя было перехватить, записать, и в дальнейшем использовать для генерации ключей сеанса). В разработанной системе «Смарт.АГУ» для этих целей был создан механизм двухпроходной авторизации. В качестве смарт-карт используются типовые карты ACOS 1 (8k), поддерживающие для формирования ключа алгоритмы DES и 3DES. Данные, использующиеся для генерации ключа сеанса, находящиеся на смарт-карте, не могут быть получены в явном виде (запрещено на уровне операционной системы смарт-карты). Упрощенная схема процесса авторизации выглядит следующим образом:

 

Таблица 1. Двухпроходная авторизация

Шаг

Смарт-карта

Программа

Сервер

1

 

Анализ аппаратной конфигурации компьютера, генерация «ключа системы1»

 

2

Генерация «случайного числа1»

 

 

3

 

Передача «случайного числа1» на сервер

 

4

 

 

Проверка параметров рабочего места («ключа системы1»)

5

 

 

Генерация «случайного числа2»

6

 

 

Расчет «ключа сеанса2», передача «кода2», «случайного числа2»

7

 

Получение с сервера «случайного числа2», «кода2»

 

8

Проверка «кода2», «случайного числа2»

 

 

9

Если нет ошибок-возвращаем «ключ сеанса1»

 

 

10

 

Используем «ключ сеанса1», «ключ системы1»

Используем «ключ сеанса2»

 

Таким образом и сервер и рабочее место независимо получают ключ сеанса (внутри «программы» он используется только в виде результата DES-функции, т.е. в неявном виде). В случае несовпадения ключей сеанса – система блокирует доступ. Дальнейшая возможная шифрация передаваемой информации может обеспечиваться на основе полученных ключей сеанса. Технически схема авторизации реализована на базе БД Oracle 8i, web-сервера Apache 2.0, набора cgi-скриптов. Реализованный механизм авторизации обеспечивает необходимый уровень безопасности (3).

Очевидно, что для обеспечения доступа к разнородной информации необходимо наличие какого либо средства, интегрирующего механизм доступа к разнородной информации. В качестве такого средства в разработанной системе «Смарт.АГУ» была использован аналог технологии cgi (строго говоря конечный пользователь, через двухпроходный механизм авторизации, имеет доступ только к одному cgi-скрипту, контролирующему процесс доступа к системе) – схема взаимодействия показана на рисунке № 2. Для отображения информации на рабочих местах был создан «информационный браузер». Для реализации средств представления информации был выбран модифицированный язык на основе HTML. Динамическая генерация страниц обеспечивает необходимый уровень гибкости системы. Расширяемость системы позволяет непрерывно её модернизировать.

 

 

Рис. 2. Схема организации системы «Смарт.АГУ»

 

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

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

Резюмируя возможности системы, хочется отметить что разработанная система обеспечивает:

·      авторизацию пользователя для работы на компьютере посредством смарт карт

·      доступ к персональной информации различных БД университета

·      необходимый уровень безопасности при предоставлении доступа к персональной информации

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

В настоящее время, разработанная система находится на этапе тестирования для подготовки внедрения в Астраханском Государственном университете.

 

Список литературы

 

  1. «Создание систем управления ВУЗом» (Слюсаренко И. В. АйТи Информационные технологии, г. Москва)
  2. Материалы сервера компании АйТи (www.it.ru)
  3. «ACOS1 (8K) reference manual rev. 3.8» Advanced Card Systems Ltd. 2000
  4. Материалы Microsoft Software Development Network. http://msdn.microsoft.com
  5. «Технологические схемы построения платежных систем на микропроцессорных карточках» (Демидович Ю., BGS Industrial)

Сетевой электронный научный журнал "СИСТЕМОТЕХНИКА", № 2, 2004 г.