Слайд 1 - Кафедра измерительных информационных технологий

advertisement
Санкт-Петербургский Государственный Политехнический Университет
Факультет технической кибернетики
Кафедра Измерительных информационных технологий
Дипломный проект
Тема: Аутентификация в Windows 7 при
помощи электронного USB ключа
Выполнил: студент группы 6085/20 Шестаков К.А.
Научный руководитель: доц., к.т.н., Сальников В.Ю.
Постановка задачи
Цель дипломной работы – разработка программного
комплекса аутентификации в Windows 7 при помощи
электронного USB ключа.
Для реализации данной цели необходимо:
1. Исследовать механизмы аутентификации в Windows 7;
2. Разработать методы работы с USB ключом;
3. Разработать методы хранения и защиты ключевой
информации.
2
Актуальность
Контроль доступа к информационным ресурсам сложная задача.
Проблемы с паролями и безопасностью актуальны как для крупных
организаций так и для обычных пользователей. Решить эти проблемы
пытаются при помощи электронных ключей и других аппаратных
аутентификаторов.
Электронные ключи предназначены для однофакторной и
двухфакторной аутентификации пользователей и хранения ключевой
информации.
Двухфакторная аутентификация – это сочетание следующих
элементов:
1. То, что у вас есть, например смарт-карта или USB накопитель.
2. То, что вы знаете, например личный идентификационный номер
(PIN).
3
Недостатки существующих решений
Основные недостатки существующих программных
продуктов аутентификации в Windows при помощи
электронного USB ключа:
1.
2.
3.
Не все поддерживают проверку на основе PIN-кода.
Большинство не имеет открытого исходного кода.
Некоторые программы не поддерживаются последними
версиями Windows.
4
Архитектура входа в Windows 7
Начало
Перезагрузка
Системы
(выход из
сеанса)
Winlogon
запускает
LogonUI сеанса
консоли
Загрузка Dll
каждого
поставщика
В каждом сеансе, кроме нулевого,
есть экземпляр процесса winlogon. Новый
процесс LogonUI регистрирует и загружает
несколько поставщиков учетных данных, а
также
осуществляет
визуализацию
графического отображения процесса входа в
систему.
Создание
экземпл. объекта
для каждого
поставщика
Экран входа в
систему
Конец
5
Алгоритм работы поставщика учетных
данных
Чтобы поставщик начал обработку информации
необходимо соблюдение двух условий:
1. К компьютеру должен быть подключен один
USB накопитель.
2. Должен быть введен PIN-код (четыре цифры).
Обработка начинается при нажатии клавиши
«Enter» в поле ввода PIN-кода.
6
Алгоритм работы программы – агента
(отслеживание извлечения ключевого устройства)
При запуске, программа – агент
пытается
получить
PNPID
ключевого устройства.
Если
идентификатор
был
получен, то при извлечении
электронного USB ключа будет
выполнен выход из сеанса.
Если идентификатор получить
не
удалось,
извлечение
не
отслеживается.
7
Алгоритм работы программы – агента
(создание ключевого устройства)
Создание электронных USB ключей возможно
только от имени «Администратора».
Чтобы создать ключевое устройство необходимо:
1. Подключить один USB накопитель.
2. Указать имя пользователя.
3. Ввести пароль (необязательное поле)
4. Ввести PIN-код.
5. Нажать кнопку «Создать».
8
Получение информации об электронном USB ключе
при помощи механизма WMI
ROOT/CIMV2 – пространство имен WMI по умолчанию на компьютерах с
операционной системой Windows.
При построении WQL запросов используются два класса WMI:
1. Win32_LogicalDisk – класс логических дисков
Свойства:
- DriveType (2 – съемное устройство)
- Caption (буква логического диска)
2. Win32_DiskDrive – класс физических дисков.
Свойства:
- InterfaceType («USB»)
- PNPDeviceID (идентификатор)
В коде программ используются следующие запросы:
- SELECT * FROM Win32_LogicalDisk – возвращает все логические диски.
- SELECT * FROM Win32_DiskDrive – возвращает все физические диски.
9
Алгоритм шифрования ключевой информации
Функции
шифрования
и
дешифрования написаны на основе
блочного алгоритма шифрования
TEA.
Блок данных – 4 байта разбит
на две равные части v0 и v1 по
2байта. Ключ разбит на четыре
подключа K0, K1, K2 и K3 по 2байта.
Переменная Delta – 2байта, на
каждом шаге цикла умножается на
номер шага. Ключи и Delta
инициализируются
значениями,
полученными с использованием
значения PIN-кода.
10
Хранение ключевой информации
Информация о созданных USB ключах хранится в реестре
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVer
sion\Diagnostics:
- LOGX – логин;
- PNPX – зашифрованный PNPID электронного USB ключа.
X – номер записи от 0 до 9.
В программе – агенте не имеется средств для удаления
информации о созданных электронных USB ключах. Удаление
ключевой информации выполняет администратор путем извлечения
соответствующих записей из реестра.
11
Графический интерфейс
Окно для ввода PIN-кода
поставщика учетных данных.
Окно программы – агента.
12
Технические требования
Программный комплекс аутентификации с использованием
ключевого USB устройства разработан для операционной системы
Windows 7.
Компьютер должен иметь разъем USB или разъем для карт
памяти MMC/SD.
Электронный USB ключ должен иметь флеш-память не
менее 32КБ для хранения зашифрованного пароля.
13
Недостатки и ограничения
При включении, перезагрузке компьютера, когда отображается
экран входа в систему, окно для ввода PIN-кода появляется с задержкой в
несколько секунд. При выходе из сеанса или блокировании окно
появляется сразу.
Для авторизации в системе или при создании электронного USB
ключа, к компьютеру может быть подключен только один USB накопитель.
Количество зарегистрированных на компьютере электронных
USB ключей ограничено десятью.
Отсутствуют
инструменты
удаления
информации
о
зарегистрированных в системе ключевых устройствах. Поэтому удаление
ключевой информации выполняется администратором путем извлечения
соответствующих записей из реестра.
14
Заключение
В результате выполнения дипломного проекта
были решены следующие задачи:
1. Исследованы механизмы аутентификации в
Windows 7.
2. Разработаны методы работы с USB ключом.
3. Разработаны методы хранения и защиты
информации.
4. Написан собственный поставщик учетных
данных.
5. Написана программа – агент.
6. Проведены успешные испытания.
7. Выявлены недостатки и ограничения.
15
Download