Авторизации пользователя в операционную систему с помощью QR-кода

0

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ      

 

Учреждение образования

«Гродненский государственный университет имени Янки Купалы»

 

Факультет математики и информатики

Кафедра системного программирования и компьютерной безопасности

 

 

 

 

 

 

МАММЕТДЖУМАЕВ МЕРДАН БАБАНЯЗОВИЧ

 

Авторизации пользователя в операционную систему

с помощью QR-кода

 

 

Курсовая работа

студента 4 курса специальности

СДП-КБ-121 «Компьютерная безопасность

(математические методы и программные системы)»

дневной формы получения образования

 

 

«Допустить к защите»

 

Заведующий кафедрой

 

__________________

Кадан А.М.

 ____________2016 г.

 

Научный руководитель

Ерёмина Александра Рафаэловна,

доцент кафедры

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

 

 

 

 

 

 

Гродно 2016

 

РЕЗЮМЕ

 

Курсовая работа: 27 страниц, 15 рисунков, 2 приложения, 1 таблица, 9 использованных источников.

 

 

УПРАВЛЕНИЯ ДОСТУПОМ, АВТОРИЗАЦИЯ ПОЛЬЗОВАТЕЛЯ, РАСПОЗНОВАНИЕ QR-КОДА, СТАНДАРТ QR-КОДОВ, БИНАРИЗАЦИЯ ИЗОБРАЖЕНИЯ

 

 

Цель курсовой работы: разработка программного приложения для авторизации пользователя в операционной системе с помощью QR-кода.

Объект исследования: безопасность доступа к личным данным пользователя.

Предмет исследования: технологии и программные средства, используемые для создания приложения авторизации пользователя в операционной системе.

Методы исследования: структурная и объектно-ориентированная методология контроля доступа, метод сравнения, метод анализа.

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

 

 

SUMMARY

 

Term paper topic: 27 pages, 15 pictures, 2 applications, 1table, 9 sources.

 

 

ACCESS CONTROL, AUTHORIZATION OF USERS, RECOGNITION QR-CODE, STANDARDS OF QR-CODES, BINARIZATION IMAGES

 

 

The objective of research: the development of software applications for the authorization of the user in the operating system via QR-code.

The object of research: is the security of access to personal user data.

The subject of research: technology and software used to create the application user authentication on the operating systemю.

Research methods: structural and object-oriented methodology of access control method of comparison, the method of analysis.

Research and development: the application is characterized in that it allows to log into the operating system of a particular user, which is registered in the software.

 

 

 

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ. 5

1 УПРАВЛЕНИЕ ДОСТУПОМ КАК ОДИН ИЗ СПОСОБОВ ЗАЩИТЫ ИНФОРМАЦИИ.. 6

1.1 Управление доступом. 6

1.2 Способы аутентификация пользователей. 9

1.3 Выводы.. 12

2 ТЕХНОЛОГИЧЕСКИЕ ОСНОВЫ QR-КОДОВ.. 14

2.1. Технологии QR-кода. 14

2.1.1 Стандарт QR-кодов. 14

2.1.2 Распознавание QR-кода. 17

2.2 Описание используемых алгоритмов. 18

2.2.1 Бинаризация изображения. 19

2.2.2 Разметка (labeling) изображения. 20

2.2.3 Аффинные преобразования. 21

2.3 Выводы.. 23

3 РАЗРАБОТКА ПРОГРАММЫ ДЛЯ АВТОРИЗАЦИИ ПОЛЬЗОВАТЕЛЯ В ОПЕРАЦИОННУЮ СИСТЕМУ С ПОМОЩЬЮ QR-КОДА.. 24

4.1. Реализация программы.. 24

4.2. Работа программы. 25

3.3 Выводы.. 28

ЗАКЛЮЧЕНИЕ. 30

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ. 31

ПРИЛОЖЕНИЕ А добавления пользователя. 32

ПРИЛОЖЕНИЕ Б проверка QR-кода. 33

 

 

 


ВВЕДЕНИЕ

 

 

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

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

Цель курсовой  работы является разработка программного средства по защите ОС с помощью QR-кодом.

Объектом исследования являются защита от несанкционированного доступа.

Предметом исследования выступают параметры настройки и конфигурации окружения в момент авторизации пользователя в операционной среде Windows.

Для достижения данной цели необходимо было решить следующие задачи:

  1. Анализ предметной области, связанной с областью работы с QR-кодом;
  2. Разработка архитектуры приложения, выбор алгоритмов распознавания;
  3. Выбор программного обеспечения и технологий, используемых для реализации курсовой работы;
  4. Реализация возможности ввода начальных данных, сохранения и загрузки начальных данных (MD5 и QR-код);
  5. Реализация графического интерфейса утилиты, для настройки;
  6. Реализация возможности авторизации пользователя в операционной системе по информации с web-камеры;
  7. Тестирование утилиты на надёжность и безопасность.

 


1 УПРАВЛЕНИЕ ДОСТУПОМ КАК ОДИН ИЗ СПОСОБОВ ЗАЩИТЫ ИНФОРМАЦИИ

 

 

1.1 Управление доступом

 

 

 

1.2 Способы аутентификация пользователей

 

 

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

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

Рассмотрим эти вопросы.

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

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

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

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

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

 Проверка подлинности содержания информации сводится, по сути, к проверке ее неизменности (с момента создания) в процессе передачи или хранения, то есть проверке целостности.

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

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

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

Биометрическая аутентификация процесс доказательства и проверки подлинности заявленного пользователем имени, через предъявление пользователем своего биометрического образа и путем преобразования этого образа в соответствии с заранее определенным протоколом аутентификации.

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

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

 

Диаграмма 1.1 Сегментация биометрического рынка по методам идентификации

 

Примечание ‑ Источник: собственная разработка на основе [9, с.95].

 

 

Идентификация по отпечаткам пальцев самая распространенная биометрическая технология аутентификации пользователей. Метод использует уникальность рисунка папиллярных узоров на пальцах людей. Отпечаток, полученный с помощью сканера, преобразовывается в цифровой код, а затем сравнивается с ранее введенными наборами эталонов. Преимущества использования аутентификации по отпечаткам пальцев легкость в использовании, удобство и надежность. Универсальность этой технологии позволяет применять её в любых сферах и для решения любых и самых разнообразных задач, где необходима достоверная и достаточно точная идентификация пользователей.

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

Обычно применяются три основных типа сканеров отпечатков пальцев: емкостные, прокатные, оптические. Самые распространенные и широко используемые это оптические сканеры, но они имеют один серьёзный недостаток. Оптические сканеры неустойчивы к муляжам и мертвым пальцам, а это значит, что они не столь эффективны, как другие типы сканеров. Так же в некоторых источниках сканеры отпечатков пальцев делят на 3 класса по их физическим принципам: оптические, кремниевые, ультразвуковые.

Аутентификация по геометриилица это довольно распространенный способ идентификации. Техническая реализация представляет собой сложную математическую задачу. Обширное использование мультимедийных технологий, с помощью которых можно увидеть достаточное количество видеокамер на вокзалах, аэропортах, площадях, улицах, дорогах и других местах скопления людей, стало решающим в развитии этого направления. Для построения трехмерной модели человеческого лица, выделяют контуры глаз, бровей, губ, носа, и других различных элементов лица, затем вычисляют расстояние между ними, и с помощью него строят трехмерную модель. Для определения уникального шаблона, соответствующего определенному человеку, требуется от 12 до 40 характерных элементов. Шаблон должен учитывать множество вариаций изображения на случаи поворота лица, наклона, изменения освещённости, изменения выражения. Диапазон таких вариантов варьируется в зависимости от целей применения данного способа (для идентификации, аутентификации, удаленного поиска на больших территориях и т. д.). Некоторые алгоритмы позволяют компенсировать наличие у человека очков, шляпы, усов и бороды.

 

 

1.3 Выводы

 

 

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

2 ТЕХНОЛОГИЧЕСКИЕ ОСНОВЫ QR-КОДОВ

 

 

2.1. Технологии QR-кода

 

 

Компьютерные и вычислительные технологии в 21 веке непрерывно совершенствуются и модернизируются. То, что было немыслимо 10 лет назад, сейчас является неотъемлемой частью современной жизни. В связи с этим, новые технологии разрабатываются для более мобильного и интерактивного взаимодействия человека с окружающим миром. Они упрощают процесс выполнения монотонной работы и сокращают много времени затрачиваемого на процессы, которые могут быть выполнены вычислительными системами за считанные секунды. Кроме того, в современном мире хранится очень много информации обо всем и возникает потребность в быстром поиске и обработке этой информации. Прогресс в данной области в значительной степени определяется развитием соответствующих технологий.

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

 

 

2.1.1 Стандарт QR-кодов

 

 

 QR-код(представлена на рисунке 2.1) это разновидность двухмерного штрих кода, изначально спроектированный для производства автомобилей фирмы Toyota в Японии. Принцип использования QR-кодов заключается в том, что распечатанный или нарисованный код помещается на объект, после чего он может быть считан и расшифрован при помощи устройства, у которого есть функционирующая камера и установленное программное обеспечение, которое декодирует сам QR-код. Название QR-кодрасшифровывается с английского языка как Quick Response code, то есть код быстрого отклика. Этот стандарт кодов пришел на смену обычного штрих-кода, который получил огромную популярность благодаря превосходным функциональным характеристикам, точностью содержащейся в нем информации и скорости ее считывания. Но главным недостатком обычного штрих-кода по сравнению с QR-кодом является небольшой допустимый объем хранимых данных, а так же ограничения на типы данных, которые могут храниться в штрих-коде.

Рисунок 2.1 Пример QR-кода

 

Примечание – Источник: [1, с.5].

 

Информация в QR-коде располагается в двух направлениях – горизонтально и вертикально. Благодаря такому расположению данных в QR-коде, он способен хранить во много раз больше информации, чем его предшественники, включая разные типы данных: цифры, буквы, иероглифы, символы и т.д. Максимальный объем информации различных типов данных, который помещается в один QR-код, представлен в таблице 2.1:

 

Таблица 2.1 – Типы данных и максимальный возможный объем в QR-кодах

 

Тип данных

Максимальный объем (символ)

Возможные символы

Числовые данные

7 089

9,8,7,6,5,4,3,2,1,0

Символьные данные

4 296

A–Z, $, %, *, +, -, ., /, space, :

Бинарная информация, байт

2 953

JIS X 0201

Иероглифы

1 817

JIS-X/0208

 

Примечание – Источник: [1, с.28].

 

Еще одним преимуществом QR-кода является его способность восстанавливать содержащуюся в нем информацию, даже если определенная часть символов на изображении QR-кода были повреждены или не распознаны. Это стало возможным благодаря системе коррекции ошибок на базе кодов Рида-Соломона.

Максимальное количество кодовых слов, которое может быть восстановлено, составляет до 30%. В соответствии со спецификацией [3] QR-кодимеет 4 степени коррекции ошибок: L – 7%, M – 15%, Q – 25%, H – 30%. Чем выше степень коррекции ошибок, тем меньше данных можно зашифровать и поместить в QR-код.

Сам QR-код состоит из определенного набора меток и непосредственно пикселей, которые представляют собой закодированное сообщение, хранимое в QR-коде.

На любом QR-коде обязательно должны присутствовать 6 видов меток:

  1. Позиционирование. Область необходимая для детектирования кода.
  2. Номер версии. Определяет какая версия кода используется (от 1 до 40).
  3. Синхронизация. Дублируется в двух направлениях, и позволяют понизить вероятность возникновения ошибок при считывании, системной информации (например, версия, тип данных и т.п.).
  4. Формат. Необходимы для определения типы данных закодированных в коде.
  5. Выравнивание. Используются для лучшего позиционирования кода во время обработки (при версии QR-кода выше 1).
  6. Уровень коррекции ошибки

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

 

Рисунок 2.2 Метки и данные на QR-коде

 

Примечание – Источник: [3, с.48].

 

 

Более подробно узнать о каждой из меток можно в официальной спецификации ISO/IEC 18004:2006.

Далее в работе будут обсуждаться только метки позиционирования, так как они будут необходимы для обнаружения QR-кода на изображении.

 

 

2.1.2 Распознавание QR-кода

 

 

Во всех существующих программах, которые считывают и декодируют QR-коды, реализован простой алгоритм обнаружения QR-кода на изображении, полученном с камеры. Затем реализована стандартная процедура декодирования информации из QR-кода. Однако этот алгоритм распознавания требует очень четкого позиционирования специально выделенной области на снимающем устройстве и определенного расположения QR-кода в пространстве. После того, как специально определенная область на снимающем устройстве четко совпала с гранями QR-кода, происходит поиск трех меток позиционирования, о которых говорилось в предыдущем разделе. Эти метки расположены строго в определенных местах в выделенной на снимающем устройстве области изображения. Недостаток такого подхода заключается в том, что QR-кодне может находиться в любой области на изображении, и пользователю необходимо самому предварительно фокусироваться на необходимом QR-коде, и следить за тем, чтобы область для съемки QR-кода совпадала с самим QR-кодом, который необходимо декодировать (представлена на рисунке 2.3).

 

Рисунок 2.3 Область позиционирования

 

Примечание – Источник: [2, с.34].

 

 

2.2 Описание используемых алгоритмов

 

 

Перед тем как получить бинаризированное изображение, необходимо исходное цветное изображение конвертировать в изображение, состоящее из градации серых оттенков. Минимальная насыщенность пикселя в этом случае равняется самом темному цвету, который возможен, а максимальное значение пикселя равняется белому цвету. Метод, который используется для конвертирования цветного изображение в оттенки серого, базируется на разности освещенности пикселей. Данный метод является усовершенствованным аналогом метода усреднения значения трех компонент (R,G,B) каждого пикселя, по формуле:

                                                                (2.1)

 

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

 

                             (2.2)

 

В результате вычисления всех пикселей на изображении по приведенной формуле, будет получено новое изображение, представленное только в оттеках серого. Диапазон оттенков варьируется от 0 – черный цвет, до 255 – белый цвет.

 

        

 

 

 

2.2.1 Бинаризация изображения

 

        

Для того чтобы бинаризировать исходное изображение, использовался метод Оцу, предложенный ученым N. Otsu [4]. Суть метода заключается в том, что изображение, которое необходимо бинаризировать, состоит из двух классов пикселей (например, области интереса и фона) или образует так называемую бимодальную гистограмму. Для дальнейших действий вычисляется оптимальный порог, который разбивает эти два класса так, чтобы их внутригрупповая дисперсия была минимальной. Главное достоинство данного метода – это быстродействие.

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

  1. Пусть q1 и q2 – это вероятности каждого класса, вычисленные по формулам

                                                          (2.3)

                                          (2.4)

  1. Дисперсии для каждого из классов

                                            (2.5)

                                       (2.6)

  1. Средние значения каждого класса равняются:

                                                            (2.7)

                                                        (2.8)

Для того чтобы получить результат необходимо максимизировать следующее уравнение:

        (2.9)

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

 

Рисунок 2.4 Оригинальное и бинаризированное изображение

 

Примечание – Источник: [7, с.67].

 

2.2.2 Разметка (labeling) изображения

 

 

Для обработки бинаризированного изображения и поиска на нем объектов необходимо выделить области (далее эти области будут называться «блобами»), образующие связанные участки на изображении. После разметки изображения каждому пикселу блоба будет присвоен один общий уникальный номер (label). В результате каждый блоб будет описан всеми пикселями, которым был присвоен номер данного блоба. Наглядно процесс разметки представлен на рисунке 2.4. На приведенном рисунке одному блобу принадлежат сразу несколько номеров. Это возникает из-за того, что описываемый далее алгоритм является однопроходным (один раз оценивает каждый пиксель), но в дальнейшем одному блобу присваивается только минимальный номер из тех, что попали в него.

Алгоритм, позволяющий произвести процесс разметки бинаризированного изображения, основан на том, что специальная маска (представлена на рисунке 2.5) перемещается слева направо и сверху вниз, попадая на каждый пиксель. Одна позиция в маске соответствует исходному пикселю, а остальные представляют уже обработанные этой маской пиксели. Для того чтобы определить, какой номер необходимо поставить в исходный пиксель, осуществляется поиск минимального номера в маске у его соседей.

 

Рисунок 2.5 Разметка изображения

 

Примечание – Источник: [7, с.83].

 

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

 

Рисунок 2.6 Маска для разметки (X – исходный пиксель;

A, B, C, D – связанные пиксели)

 

Примечание – Источник: [7, с.86].

 

 

После того, как все пиксели были размечены, производится обработка блоков так, чтобы они содержали только один номер.

 

 

2.2.3 Аффинные преобразования

 

 

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

Полная группа аффинных преобразований состоит из четырех трансформаций: поворот, растяжение, сдвиг, масштабирование.

Эти четыре типа преобразований представлены на рисунке 2.7. Видно, что все эти преобразования не изменяют форму преобразуемого объекта.

 

Рисунок 2.7 Группа аффинных преобразований

 

Примечание – Источник: [5, с.88].

 

Преобразования данной группы могут быть представлены следующим образом:

                                      (2.10)

Кроме того, эти преобразования могут быть представлены в матричном виде:

                                         (2.11)

где

                                                  (2.12)

                                              (2.13)

                                                       (2.14)

Рисунок 2.8 Пример операции растяжения на QR-коде

 

Примечание – Источник: [8, с.81].

 

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

 

                                     (2.15а)

                                      (2.15б)

 

2.3 Выводы

 

В наше время QR-коды можно увидеть практически везде, потому что многие компании и пользователи уже смогли убедиться в их эффективности и универсальности. Легко узнаваемые черно-белые квадраты помогают людям решить различные задачи во многих сферах жизнедеятельности.

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

 

 

 

 


3 РАЗРАБОТКА ПРОГРАММЫ ДЛЯ АВТОРИЗАЦИИ ПОЛЬЗОВАТЕЛЯ В ОПЕРАЦИОННУЮ СИСТЕМУ С ПОМОЩЬЮ QR-КОДА

 

 

3.1. Реализация программы

 

 

Для реализации программного обеспечение было использовано язык программирования Visualstudio 2013. Данная программа, зашита и контроль от несанкционированного доступа с помощью QR – кода (представлена на рисунке 3.1).

 

Рисунок 3.1 – Добавления и выдачи Qr-код пользователю

 

Примечание ‑ Источник: собственная разработка

 

Форма состоит из 5 компонентов label, 2 кнопок , 3 textbox 1 picturebox.

Для сканирование QR-кода использована библиотека Zxing (представлена на рисунке 3.2).

Рисунок 3.2 – Cканирование QR-кода

 

Примечание ‑ Источник: собственная разработка

 

Форма состоит из 2 компонентов кнопок, 1 lebel, 1 combobox и 1 picturebox.

 

 

4.2. Работа программы

 

 

Сначала надо добавить пользователя для это необходима вывод имени фамилии и личный пароль пользователя (представлена на рисунке 3.3)

Рисунок 3.3 – Добавления пользователя

 

Примечание ‑ Источник: собственная разработка

 

После вывода данных пользователя программа выдает хэш – функцию и закодирует в QR- коде (представлена на рисунке 3.4).

 

 

Рисунок 3.4 – Cоздание QR-кода

 

Примечание ‑ Источник: собственная разработка

 

 

Далее обязательно сохранить QR-код (представлена на рисунке 3.5).

 

Рисунок 3.5 – Cохранение QR-кода

 

Примечание ‑ Источник: собственная разработка

 

При запуске операционной системы windows автоматически запускается приложение авторизации пользователя с помощью QR-кода (представлена на рисунке 3.6).

 

Рисунок 3.6 Авторизация пользователя

 

Примечание ‑ Источник: собственная разработка

 

При нажатии кнопки «ВКЛ камеру» приложение включает веб-камеру после надо нажать «Проверка» для проверки QR-кода если вы зарегистрированный пользователь появится окно с сообщением «true+md5» программа вас впустит в систему.

При неправильном QR-коде программа считает, и появится окно «false+md5» и не злоумышленника в систему (представлена на рисунке 3.7).

 

Рисунок 3.7 – Ошибка QR-кода

 

Примечание ‑ Источник: собственная разработка

 

 

 

3.3 Выводы

 

 

Таким образом, используя выбранные технологии, рассмотренные в главе 1 и используя данные представленные в главе 2, была осуществлена разработка задуманного программного продукта в полной мере. Была разработана программа, которая позволяет производить авторизацию пользователя в ОС с помощью QR – кода. Созданное приложение защищено от простых вариантов взломов.

 

 

 

 

ЗАКЛЮЧЕНИЕ

 

 

В работе описан подход к разработке программы распознавания QR-кодов.

В результате были решены следующие задачи:

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

В качестве программной реализации был разработан программный продукт «Авторизации пользователя в операционную систему с помощью QR-кода». В данной реализации использованы технологии Zxing для распознавание QR-кода и кодирования/декодирования QR-кодов.

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

 

 

 

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

СП и приложения доступны в полной версии работы

 

Скачать: _22.05.2016.zip

Категория: Курсовые / Компьютерные технологии курсовые

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.