Часть дипломной работы. Тема звучит как: «Система контроля доступа к операционной системе пользователя с применением технологии аутентификации на основе верификации отпечатка устойчивого клавиатурного почерка».
Концепт: клиент-серверная архитектура. Пользователь на клиенте (скорее всего Windows) открывает приложение, проходит обучение, данные об отпечатке в файле хранятся локально, на клиенте. На сервер (скорее всего Linux, но можно предложить и свои варианты) по окончании тренировочной сессии отправляется посчитанная хэш-сумма этого файла, и залить это в базу (в виде md5, например) для конкретного юзера.
Как проходит проверка: в программе по обработке почерка должен быть анализ словаря, слова-триггеры и будут служить для проверки. Данная проверка происходит в фоновом режиме при работе пользователя, то есть отдельная программа это мониторит (как демон в Unix, например). Если возникли подозрения-просим в отдельном окошке пройти проверку (что-то написать), если прошел-закрываем окошко, если нет- разлогиниваем пользователя, отправляем репорт о несанкционированном доступе.
Также раз в определенный промежуток времени (раз в час, например) рассчитываем md5 (например) хэш-суммы файла и сверяемся с тем, что у нас лежит на сервере для этого пользователя. Если совпадают прошел проверку. Если нет - злоумышленник заменил файл на свой (натренированный под себя например) и гоняет ПК жертвы, периодически успешно проходя проверки по триггерам (словам "привет" и т.п.), разлогиниваем пользователя, отправляем репорт о несанкционированном доступе.
То есть у нас две проверки: локально проверяется сам почерк определенными триггерами, сервером проверяется подделка локального файла.
Еще неупомянутые моменты:
1. Алгоритм обработки клавиатурного почерка должен быть на основе математических алгоритмов (комплекснее, чем было в программе полгода назад), с анализом словаря (я предполагаю, есть основания анализировать самые распространенные слова, но если я не права-поправьте)
2. С преподавателем решили брать Клиент-Windows и сервер-Linux, но если есть другие предложения-есть вариант их рассмотреть.
3. Просьба оставлять комментарии в коде для облегчения понимания программы, как построчно, так и по главным частям программы (например, для чего нужна определенная функция).
4. Поскольку я параллельно буду заниматься теоретической частью диплома, просьба сообщать мне заранее о примерном плане разработки системы (т.е. какие библиотеки, алгоритмы, методы, утилиты будут использоваться, как будет всё работать и т.д). По этой же причине мне нужны будут промежуточные результаты работы для теоретического описания (насколько это возможно). Просьба их периодически скидывать.
5. Мне будут нужны источники информации, которые будут использованы в работе. Так же заранее, периодически.
EDIT: Программа должна уметь работать с русским языком
EDIT: Файлы должны передаваться защищено, например, с помощью сертификата
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |