Разработка входа в информационную систему с использованием эк
Скачать 1.24 Mb.
|
ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ И НАУКИ ГОРОДА МОСКВЫ Государственное бюджетное профессиональное образовательное учреждение города Москвы КОЛЛЕДЖ АВТОМАТИЗАЦИИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ № 20 КУРСОВАЯ РАБОТА По МДК 02.01 «ПРОГРАММНЫЕ И ПРОГРАММНО-АППАРАТНЫЕ СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ»
Москва, 2022 Содержание Введение…………………………………………………………………………….3 Глава 1. Теоретическая часть………………………………………………………4 1.1 Описание предметной области………………………………………………...4 1.2 Постановка задач………………………………………………………………..9 1.3 Обоснование методов решения задачи……………………………………….10 1.4 Описание аппаратного обеспечения………………………………………….10 1.5 Описание программного обеспечения ………………………………………10 Глава 2. Практическая часть……………………………………………………...14 2.1 Описание алгоритма решения задачи………………………………………..14 2.2 Описания процедурной реализации задачи………………………………….14 2.3 Описание процедурной настройки и тестирования…………………………22 2.4 Рекомендации по использование и эксплуатации…………………………..24 Заключение………………………………………………………………………...25 Список использованных источников…………………………………………….26 Введение. Данная курсовая работа предназначена, для того чтобы получше изучить «Электронные ключи» и как они используется, насколько они практичны. Узнаем, как поставить на свой компьютер, вместо пароля, вход с помощью электронного ключа. Проанализируем плюсы и минусы такой системы аутентификации. Объектом исследования является: Понятие «Электронный ключ» Предметом исследования является: Электронный ключ Цель курсовой работы: Познакомиться с системой аутентификации, используя электронный ключ. Глава 1 Часть 1.1 Принцип действия. Ключ присоединяется к определённому интерфейсу компьютера. Далее защищённая программа через специальный драйвер отправляет ему информацию, которая обрабатывается в соответствии с заданным алгоритмом и возвращается обратно. Если ответ ключа правильный, то программа продолжает свою работу. В противном случае она может выполнять определенные разработчиками действия, например, переключаться в демонстрационный режим, блокируя доступ к определённым функциям. Существуют специальные ключи, способные осуществлять лицензирования (ограничения числа работающих в сети копий программы) защищенного приложения по сети. В этом случае достаточно одного ключа на всю локальную сеть. Ключ устанавливается на любой рабочей станции или сервере сети. Защищенные приложения обращаются к ключу по локальной сети. Преимущество в том, что для работы с приложением в пределах локальной сети им не нужно носить с собой электронный ключ. История. Защита программного обеспечения от нелицензионного использования увеличивает прибыль разработчика. На сегодняшний день существует несколько подходов к решению этой проблемы. Подавляющее большинство создателей программного обеспечения используют различные программные модули, контролирующие доступ пользователей с помощью ключей активации, серийных номеров и т. д. Такая защита является дешёвым решением и не может претендовать на надёжность. Интернет изобилует программами, позволяющими нелегально сгенерировать ключ активации (генераторы ключей) или заблокировать запрос на серийный номер/ключ активации (патчи, крэки). Кроме того, не стоит пренебрегать тем фактом, что сам легальный пользователь может обнародовать свой серийный номер. Эти очевидные недостатки привели к созданию аппаратной защиты программного обеспечения в виде электронного ключа. Известно, что первые электронные ключи (то есть аппаратные устройства для защиты программного обеспечения от нелегального копирования) появились в начале 1980-х годов, однако первенство в идее и непосредственном создании устройства, по понятным причинам, установить очень сложно. Защита программного обеспечения с помощью электронного ключа. Рисунок 0 Ключ как инструмент защиты.(рисунок 0) Электронный ключ(донгл) относят к аппаратным методам защиты программного обеспечения, однако современные электронные ключи часто определяются как мультиплатформенные аппаратно-программные инструментальные системы для защиты программного обеспечения. Дело в том, что помимо самого ключа компании, выпускающие электронные ключи, предоставляют SDK (Software Developer Kit — комплект разработчика программного обеспечения). В SDK входит все необходимое для начала использования представляемой технологии в собственных программных продуктах — средства разработки, полная техническая документация, поддержка различных операционных систем, детальные примеры, фрагменты кода, инструменты для автоматической защиты. Также SDK может включать в себя демонстрационные ключи для построения тестовых проектов. Технология защиты. Технология защиты от несанкционированного использования программного обеспечения построена на реализации запросов из исполняемого файла или динамической библиотеки к ключу с последующим получением и, если предусмотрено, анализом ответа. Вот некоторые характерные запросы: проверка наличия подключения ключа; считывание с ключа необходимых программе данных в качестве параметра запуска (используется, в основном, только при поиске подходящего ключа, но не для защиты); запрос на расшифрование данных или исполняемого кода, необходимых для работы программы, зашифрованных при защите программы (позволяет осуществлять «сравнение с эталоном»; в случае шифрования кода, выполнение нерасшифрованного кода приводит к ошибке); запрос на расшифрование данных, зашифрованных ранее самой программой (позволяет отправлять каждый раз разные запросы к ключу и, тем самым, защититься от эмуляции библиотек API / самого ключа) проверка целостности исполняемого кода путём сравнения его текущей контрольной суммы с оригинальной контрольной суммой, считываемой с ключа (к примеру, путём выполнения электронной цифровой подписи кода или других переданных данных алгоритмом ключа и проверки этой электронной цифровой подписи внутри приложения; так как электронная цифровая подпись всегда разная — особенность криптографического алгоритма — то это также помогает защититься от эмуляции API/ключа); запрос к встроенным в ключ часам реального времени (при их наличии; может осуществляться автоматически при ограничении времени работы аппаратных алгоритмов ключа по его внутреннему таймеру); и т. д. Стоит отметить, что некоторые современные ключи (Guardant Code от Компании «Актив», Sentinel от Thales, LOCK от Astroma Ltd., Rockey6 Smart от Feitian, Senselock от Seculab) позволяют разработчику хранить собственные алгоритмы или даже отдельные части кода приложения (например, специфические алгоритмы разработчика, получающие на вход большое число параметров) и исполнять их в самом ключе на его собственном микропроцессоре. Помимо защиты программного обеспечения от нелегального использования такой подход позволяет защитить используемый в программе алгоритм от изучения, клонирования и использования в своих приложениях конкурентами. Однако для простого алгоритма (а разработчики часто совершают ошибку, выбирая для загрузки недостаточно сложный алгоритм) может быть проведен криптоанализ по методу анализа «черного ящика». Как следует из вышесказанного, «сердцем» электронного ключа является алгоритм преобразования (криптографический или другой). В современных ключах он реализован аппаратно — это практически исключает создание полного эмулятора ключа, так как ключ шифрования никогда не передается на выход электронного ключа, что исключает возможность его перехвата. Алгоритм шифрования может быть секретным или публичным. Секретные алгоритмы разрабатываются самим производителем средств защиты, в том числе и индивидуально для каждого заказчика. Главным недостатком использования таких алгоритмов является невозможность оценки криптографической стойкости. С уверенностью сказать, насколько надёжен алгоритм, можно было лишь постфактум: взломали или нет. Публичный алгоритм, или «открытый исходник», обладает криптостойкостью несравнимо большей. Такие алгоритмы проверяются не случайными людьми, а рядом экспертов, специализирующихся на анализе криптографии. Примерами таких алгоритмов могут служить широко используемые ГОСТ 28147—89, AES, RSA, Elgamal и др. Защита с помощью автоматических средств. Для большинства семейств аппаратных ключей разработаны автоматические инструменты (входящие в SDK), позволяющие защитить программу «за несколько кликов мыши». При этом файл приложения «оборачивается» в собственный код разработчика. Реализуемая этим кодом функциональность варьируется в зависимости от производителя, но чаще всего код осуществляет проверку наличия ключа, контроль лицензионной политики (заданной поставщиком программного обеспечения), внедряет механизм защиты исполняемого файла от отладки и декомпиляции (например, сжатие исполняемого файла) и др. Важно то, что для использования автоматического инструмента защиты не требуется доступ к исходному коду приложения. Например, при локализации зарубежных продуктов (когда отсутствует возможность вмешательства в исходный код программного обеспечения) такой механизм защиты незаменим, однако он не позволяет использовать весь потенциал электронных ключей и реализовать гибкую и индивидуальную защиту. Реализация защиты с помощью функции API. Помимо использования автоматической защиты, разработчику программного обеспечения предоставляется возможность самостоятельно разработать защиту, интегрируя систему защиты в приложение на уровне исходного кода. Для этого в SDK включены библиотеки для различных языков программирования, содержащие описание функциональности API для данного ключа. API представляет собой набор функций, предназначенных для обмена данными между приложением, системным драйвером (и сервером в случае сетевых ключей) и самим ключом. Функции API обеспечивают выполнение различных операций с ключом: поиска, чтения и записи памяти, шифрования и расшифрования данных при помощи аппаратных алгоритмов, лицензирования сетевого программного обеспечения и т.д. Умелое применение данного метода обеспечивает высокий уровень защищённости приложений. Нейтрализовать защиту, встроенную в приложение, достаточно трудно вследствие её уникальности и «размытости» в телепрограммы. Сама по себе необходимость изучения и модификации исполняемого кода защищенного приложения для обхода защиты является серьёзным препятствием к её взлому. Поэтому задачей разработчика защиты, в первую очередь, является защита от возможных автоматизированных методов взлома путём реализации собственной защиты с использованием API работы с ключами. Плюсы не надо запоминать пароль всегда под рукой ключ для входа в систему универсален(можно записать несколько паролей на один носитель, но лучше так не делать, в избежание возможных ошибок) Минусы возможна потеря носителя(придется сбрасывать пароль) может быть неудобным, так как на компьютере могут не работать передние порты usb придется всегда носить с собой, что не всегда удобно, хоть носитель и маленький. Часть 1.2 настроить USB электронный ключ реализовать вход в систему, с помощью электронного ключа Часть 1.3 Метод, который я использую, более доступный из всех вариантов. Данный метод зарекомендовал себя хорошими отзывами, надежностью и временем. Часть 1.4 Для дальнейшего выполнения и проверки работоспособности поставленной задачи, необходимы следующие системные требования ПК: Процессор: Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz 3.20 GHz; Видеокарта: NVidia GeForce GT 1030; Оперативная память: 12GB; Материнская плата: Gigabyte H81-D3P; Операционная система: Windows 10; Объем памяти: 500GB; Блок питания: 500W. Часть 1.5 В выполнение практической части будет использован персональный компьютер с операционной системой, от Microsoft, Windows и отформатированная флешка, на которую в дальнейшем и будет установлен ключ, с помощью программы ROHOS. Windows — это операционная система, разработанная корпорацией Microsoft. Представляет собой основную программу, которая управляет всеми функциями компьютера и обеспечивает установку дополнительных приложений. Операционная система запускается сразу же после включения компьютера и является его неотъемлемой частью. Программа ROHOS RohosLogonKey Программа предлагает удобный способ защитить доступ к компьютеру с использованием Физического Ключа вместо обычного пароля. Это очень удобно, доступ выполняется быстро, автоматически, а Windows по-прежнему защищена сильным паролем. Поддерживаемые устройства: USB flash накопители. биометрические USB-накопители. SD/MMC карты памяти либо IPOD (или любой MP3 плейер). электронные ключи и USB-токены: Aladdin eToken, SafeNet iKey, Crypto Identity, ePass, ruToken и другие на основе PKCS#11. смарт карты Java Card. беспроводные мобильные устройства, такие как Bluetooth Phone/Pocket PC. смартфоны на базе iOS/Android с приложение Rohos Logon токены с одноразовым паролем. одноразовые пароли FIDO U2F ключи RFID карты метки и браслеты Функции программы: аварийный вход поможет вам получить доступ к компьютеру, если USB-Ключ утерян или вы забыли PIN-код. защиту компьютера невозможно обойти, загрузив компьютер в Safe Mode (безопасный режим загрузки Windows, где многие программы защиты отключены). данные на USB-Ключе зашифрованы алгоритмом AES-256 (стандарт шифрования в США). Ключ невозможно подделать путем копирования файлов на другой диск. Пароль на ключе в открытом виде не хранится. PIN-код для защиты USB-Ключа от нежелательного использования для входа в систему (с ограниченным количеством попыток ввода: 3 попытки). PIN-код для защиты USB-Ключа от нежелательного использования для входа в систему (с ограниченным количеством попыток ввода: 3 попытки). Преимущества строгой Двух-факторной аутентификации: Rohos Logon Key поддерживает 2 варианта двух-факторной аутентификации: Ключ + Windows пароль пользователя Пользователь подключает Ключ, программа Rohos проверяет его серийный номер и получает имя учетной записи для которой этот Ключ был зарегистрирован, затем Rohos предлагает ввести Windows пароль для данной учетной записи и передает эти данные подсистеме аутентификации Windows. Ключ + PIN код Пользователь подключает Ключ, программа проверяет его серийный номер и предлагает ввести PIN код. Ввод верного PIN кода ограничен тремя попытками, после чего Rohos временно перестает принимать Ключ для входа. Администратор\Пользователь может задать , снять или разблокировать PIN код. Глава 2 Часть 2.1 Для выполнения поставленной задачи необходимо выполнить следующие действия: включить компьютер. подключить носитель(на котором будет храниться ключ для входа). скачать ROHOS LOGON KEY. установить программу. установить через программу ключ, выбрав пользователя. Для выполнения проверки работоспособности поставленной задачи необходимо выполнить следующие действия: произвести выход с учетной записи. попробовать войти с помощью ключа(выбрав способ входа с помощью ключа). Часть 2.2 Для того чтобы выполнить установку ключа, надо скачать программу ROHOS LOGON KEY с официального сайта(http://www.rohos.ru/products/rohos-logon-key/) на рисунках 1.1 и 1.2 показано, как выглядит сайт и куда нажимать, чтобы скачать программу. Рисунок 1.1 Рисунок 1.2 После установки открываем программу. Нажимаем «настроить ключ доступа», после чего откроется окно(показано на рисунке 2). Рисунок 2 Для начала нам надо выбрать пользователя. Нажимаем кнопку изменить. Откроется окно(рисунок 3). Рисунок 3 На данном рисунке(рисунок 3) можно посмотреть название системы(компьютера-домена). Дальше нужно выбрать обьект(пользователя учетной записью, которому будет подключена защита «вход с помощью ключа»). Для этого нажимаем «Дополнительно». Откроется окно(смотреть рисунок 4) Рисунок 4 Нажимаем кнопку «Поиск», для того чтобы отобразить всех пользователей компьютера и выбрать того, кому будем устанавливать защиту(смотреть рисунок 5). Рисунок 5 Выбираем пользователя и нажимаем «ОК»(смотреть рисунок 6) Рисунок 6 Наш пользователь теперь отображается в поле под заголовком «Введите имена выбираемых объектов». Нажимаем «ОК». Откроется окно(смотреть рисунок 2). Мы произвели настройку пользователя. Теперь надо установить ключ на носитель. В поле под названием «тип устройства или метод аутентификации» выбираем вид нашего носителя(в нашем случае это usb накопитель рисунок 7). Рисунок 7 Дальше нам надо показать программе путь нашего носителя, где будет храниться ключ. Для этого в окне(рисунок 2) нажимаем «выбор». Далее откроется окно(смотреть рисунок 8). Рисунок 8 Выбираем наш носитель(в моем случае это «USB KEY» рисунок 9) Рисунок 9 Нажимаем кнопку «ОК». Откроется окно(смотреть рисунок 2). Дальше программа нам предлагает поставить дополнительный пароль(можно оставить пустым, при входе просто нажимаем «ОК» не вводя в поле пароля ничего) для более надежно защиты. В поле «Введите пароль пользователя к Windows(не обязательно)» вводим пароль, в нашем случае это будет «2130»(смотреть рисунок 10). Рисунок 10 Нажимаем настроить ключ. Появится окно с сообщением, что ключ был успешно настроен(рисунок 11). Рисунок 11 Часть 2.3 Проверка выполненной работы. Пробуем зайти с ключом. Рисунок 12 Вводим пароль, предварительно вставив ключ(смотреть рисунок 13). Рисунок 13 Выполняем вход в систему(смотреть рисунок 14). Рисунок 14 Часть 2.4 Для реализации данной защиты, рекомендуется не использовать простые и популярные пароли. Пароль должен регулярно меняться, должен отличаться от паролей, использованных ранее, пароль должен быть сложным состоять не менее чем из 8 символов иначе программы прямого подбора паролей смогут с лёгкостью подобрать пароль. Обновлять ключ, хотя бы раз в месяц вместе с паролем. Заключение Цель курсового исследования достигнута путём реализации поставленной задачи. В результате проведенного исследования по теме «Разработка системы входа в информационную систему с использованием электронных ключей», можно сделать следующие выводы. Проблемы, связанные с повышением безопасности информационной сферы, являются сложными, многоплановыми и взаимосвязанными. Они требуют постоянного, неослабевающего внимания со стороны государства и общества. Развитие информационных технологий побуждает к постоянному приложению совместных усилий по совершенствованию методов и средств, позволяющих достоверно оценивать угрозы безопасности информационной сферы и адекватно реагировать на них. Список использованных источников https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BB%D1%8E%D1%87 (wikipedia) http://www.rohos.ru/products/rohos-logon-key/ (официальный сайт ROHOS LOGON KEY) |