1 / 18

Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Санкт-Петербургский Государственный политехнический университет Факультет технической кибернетики Кафедра Измерительных информационных технологий. Дипломный проект Тема: Динамическая библиотека графической идентификации ( GINA ) для Windows, реализующая контроль клавиатурного почерка.

hao
Download Presentation

Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Санкт-Петербургский Государственный политехнический университет Факультет технической кибернетики Кафедра Измерительных информационных технологий Дипломный проектТема: Динамическая библиотека графической идентификации (GINA) для Windows, реализующая контроль клавиатурного почерка Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

  2. Цели проекта Реализоватьпроверкуклавиатурногопочерка во время ввода пароля для усложнения процесса аутентификациипри входе в Windows для повышения безопасности рабочей станции

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

  4. GINA 1) Расширение стандартной MSGINA Функции имеют вид: return_type Wlx_function(Param_list) { // свои действия return Wlxtbl.Wlx_function(Param_list); } 2) Custom Gina HKLM\\SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion\\Winlogon\\GinaDLL

  5. Winlogon Существует 3 состояния: • Никто не вошел • Пользователь вошел • Станция заблокирована Рис.1 Схема состояний процесса входа Winlogon

  6. Блок-схема работы GINA

  7. Блок-схема работы GINA с модулем клавиатурного почерка

  8. Математическая модель клавиатурного почерка Проверка делится на 2 этапа: • сбор параметров клавиатурного почерка авторизованных пользователей – эталонные характеристики • сбор и подсчет параметров тестируемого пользователя, сравнение с эталонными при входе в систему

  9. Математическая модель клавиатурного почерка Для проверки клавиатурного почерка используется метод на основе измерений и статистической обработки индивидуальных характеристик клавиатурного почерка. За характеристику почерка берется время между нажатиями клавиш.

  10. Алгоритм проверки клавиатурного почерка

  11. Выводы по теоретической части • Рассмотрена математическая модель проверки клавиатурного почерка • Рассмотрена работа библиотеки Gina и процесса входа (Winlogon) • Данные для проверки почерка собрать во время ввода пароля в функции обработки диалогового окна LogonDialog • Проверку клав почерка произвести в функциях Gina LoggedOutSAS и LockedWkstaSAS

  12. Таблица функций GINA

  13. Класс Gina WlxInitialize(LPWSTR lpWinsta,HANDLE hWlx,PVOID pvReserved,PVOID pWinlogonFunctions,PVOID*pWlxContext); { … pWlxContext – указатель, используемый в последующих вызовах. Gina* pGina = new Gina(); *pWlxContext = (PVOID*)pGina; … } Пример вызова функции класса Gina: (Gina*)pWlxContext->LoggedOutSAS();

  14. Список вспомогательных классов 1) SecurityHelper 2) RegisterHelper 3) StatusWindow 4) GinaModalDialog 5) NoticeDialog 6) LogonDialog 7) SecurityOptionsDialog

  15. Реализация модуля клавиатурного почерка INT_PTR LogonDialog::DialogProc(UINT msg, WPARAM wp, LPARAM lp) { ………… case WM_COMMAND: { if (LOWORD(wp) == IDC_PASSWORD) switch (HIWORD(wp)) { case EN_UPDATE: if (quantity != 0){ finish = timeGetTime ();duration = finish-start;bufTime[quantity] = duration;} start = timeGetTime ();PrevChar=CurChar; CurChar = SendDlgItemMessage(_hwnd, IDC_PASSWORD, WM_GETTEXTLENGTH, NULL, NULL); quantity++; if (CurChar > PrevChar){ SendDlgItemMessage(_hwnd, IDC_PASSWORD, WM_GETTEXT, 254, (LPARAM)buf);} break;} …………

  16. Примеры диалоговых окон Рис. 3 Внешний вид диалога-уведомления Рис. 4 Внешний вид диалога ввода идентификационных данных Рис. 5 Внешний вид диалога опций пользователя

  17. Выводы по практической части • Реализован класс Gina и все вспомогательные классы • Реализована проверка клавиатурного почерка в процессе аутентификации по паролю • Произведено тестирование библиотеки на Windows XP

  18. Заключение • Исследованы способы взаимодействия Winlogon и Gina • Реализована библиотека biokeyboardgina.dll • Тестирование прошло успешно • Возможные расширения библиотеки

More Related