Использование криптографического интерфейса приложений Cryptoapi

Автор работы: Пользователь скрыл имя, 13 Марта 2013 в 20:04, курсовая работа

Краткое описание

Каждого пользователя разрабатываемая система должна опознавать по его имени (идентификатору). Если имя не введено, используем имя текущего пользователя компьютера. Проверка и хранение пароля для доступа пользователя к своим ключам для вариантов 1 и 2 не требуется (считаем, что система установлена на личном компьютере пользователя, и он контролирует доступ к компьютеру).

Содержание

РЕФЕРАТ 3
ВВЕДЕНИЕ 5
1 ПОСТАНОВКА ЗАДАЧИ 6
2 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 7
3 ОПИСАНИЕ ЛОГИКИ РАБОТЫ ОСНОВНЫХ БЛОКОВ ПРОГРАММЫ 13
4 РЕАЛИЗАЦИЯ ЗАДАЧИ 16
5 ИСХОДНЫЕ ТЕКСТЫ МОДУЛЕЙ 22
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 30

Прикрепленные файлы: 1 файл

курсовой.doc

— 1.29 Мб (Скачать документ)




Министерство образования и  науки РФ

ФГБОУ ВПО «Сибирский Государственный  Технологический Университет»

 

Химико-технологический факультет  заочно-дистанционного обучения

 

Кафедра системотехники

 

 


 

 

 

 

 

ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ

 

 

 

ИСПОЛЬЗОВАНИЕ КРИПТОГРАФИЧЕСКОГО ИНТЕРФЕЙСА

 ПРИЛОЖЕНИЙ CRYPTOAPI  

Пояснительная записка

(СТ.230105.___.П3)

 

 

 

 

 

 

 

Руководитель:

____________________ ___________

                    (подпись)

_______________________________

                                    (оценка, дата)

 

Разработал:

Студент группы 22-04

_____________________________

                    (подпись)

_______________________________

(дата сдачи)

 

 

 

Красноярск 2012 
СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

 

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ ПО СИСТЕМАМ

ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

 

Студент: ___________________________________________

Факультет: Химико-технологический заочно-дистанционного обучения,

 гр. 22-04

Тема курсовой работы: Использование Криптографического Интерфейса  Приложений Cryptoapi  

Вариант 3b  Разработка системы парольной аутентификации с шифрованием критичных данных

Необходимо разработать систему  парольной аутентификации с использованием функций CryptoAPI  на языке Delphi. Система  должна выполнять функции:

  • Ведение списка пользователей, их идентификаторов (логинов) и паролей. Пароли должны храниться в базе данных в виде хэш-кодов. Размер пароля ограничен снизу (не менее 8 символов).  При вводе пароле он не должен отображаться на экране.
  • Для защиты от перехвата пароля с клавиатуры программами-шпионами (keylogger) выполнить реализацию ввода логина  и пароля  через экранную клавиатуру.
  • Процесс аутентификации происходит в два этапа: сначала запрос логина, затем запрос пароля. Если проверка не прошла, пользователь не должен знать, что именно было неверно, логин или пароль.
  • Проверка пароля при его вводе пользователем осуществляется как вычисление хэш-кода от пароля, введенного пользователем, и его сравнения с хранящимся в базе данных хэш-кодом. Проверка логина заключается просто в его поиске в зарегистрированном списке.
  • Деление пользователей на администраторов и обычных пользователей. Администраторы имеют возможность редактирования списка пользователей и просмотра файла протокола,  для пользователей эти функции недоступны. Администратор может быть зарегистрирован только один, поскольку он является владельцем ключа шифрования протокола регистрации.
  • Поддержка следующих ограничений при вводе пользователем пароля:
    • Скрытый вывод символов пароля
    • Ограничение количества возможных попыток  регистрации пользователя  (до 3 раз), при этом учитывается как неправильный логин, так и неправильный пароль.

Задание выдано ___________________

 

Руководитель  ____________________

 

РЕФЕРАТ

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

Пояснительная записка включает в себя 30 страницы текста, 14 рисунков.

Цель работы: Закрепление знаний и навыков, приобретаемых при изучении дисциплины «ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ» по разработке системы парольной аутентификации с использованием функций CryptoAPI  на языке Delphi.

Методы исследования: Проводимые исследования базируются на современных методах работы в СУБД Microsoft Access 2007, Delphi7.

Средство разработки: СУБД Microsoft Access 2007, Delphi7.

Полученные результаты: Система парольной аутентификации с использованием функций CryptoAPI  на языке Delphi.

Ключевые слова: защита, аутентификация, функция хэширования.

 

СОДЕРЖАНИЕ

 

 

 

ВВЕДЕНИЕ

Абсолютно надежной системой защиты фактически не может быть никакая  система. Можно судить лишь о некоторой степени надежности и рисках, связанных со взломом защиты. К примеру, в наших приложениях ОС Windows, несмотря на закрытость ее кода.

 

 

 

 

 

 

 

 

 

 

 

 

        1 ПОСТАНОВКА ЗАДАЧИ

 

Общие положения

Содержанием курсовой работы является разработка одного из вариантов программной системы защиты информации с использованием функций CryptoAPI. Разрабатываемые системы должны иметь графический интерфейс произвольного вида, который разрабатывается студентом самостоятельно. Каждого пользователя разрабатываемая система должна опознавать по его имени (идентификатору). Если имя не введено, используем имя текущего пользователя компьютера. Проверка и хранение пароля для доступа пользователя к своим ключам для вариантов 1 и 2 не требуется (считаем, что система установлена на личном  компьютере пользователя, и он контролирует доступ к компьютеру).

Допускается использование любого криптопровайдера ОС Windows, в том числе  заданного по умолчанию.

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

 

2 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

 

Аутентификация - проверка принадлежности субъекту доступа предъявленного им идентификатора (проверка подлинности). Методы аутентификации заключаются в проверке правильности данных об объявленной личности (субъекте вычислительной системы).

Методы аутентификации классифицируют следующим образом.

1. Пользователь знает некую уникальную  информацию, которую он предъявляет компьютеру при аутентификации. В «правильно» администрируемых системах каждый пользователь должен иметь уникальный пароль, соответственно, ввода пароля вполне достаточно для узнавания пользователя.

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

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

 

Этапы аутентификации

Процесс аутентификации пользователя компьютером можно разделить  на два этапа:

• подготовительный – выполняется  при регистрации пользователя в системе. Именно тогда у пользователя запрашивается образец аутентификационной информации, например, пароль или контрольный отпечаток пальца, который будет рассматриваться системой как эталон при аутентификации;

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

Для аутентификации пользователя компьютер  должен хранить некую таблицу  имен пользователей и соответствующих  им эталонов:

В наиболее простом варианте эталоном может быть просто пароль, хранящийся в открытом виде. Однако такое хранение защищает только от непривилегированных пользователей системы – администратор системы вполне сможет получить все пароли пользователей, хранящиеся в таблице, и впоследствии входить в систему от имени любого пользователя (скажем, для выполнения каких-либо злоумышленных действий, которые будут записаны на другого). Кроме того, известен факт, что подавляющее большинство пользователей используют 1–3 пароля на все случаи жизни. Поэтому узнанный злоумышленником пароль может быть применен и к другим системам или программам, в которых зарегистрирован его владелец. Наиболее часто эталон представляет собой результат какой-либо обработки аутентификационной информации, то есть Ei = f(Ai), где Ai – аутентификационная информация, а f(...) – например, функция хэширования (расчет контрольной суммы данных с использованием криптографических методов – хэша). Хэширование достаточно часто применяется в протоколах межсетевого обмена данными, а также необходимо для использования электронной цифровой подписи.

Есть и другие варианты хранения эталонов, например, такой: Ei = f(IDi, Ai). Этот вариант лучше предыдущего тем, что при одинаковых паролях двух пользователей их эталоны будут  выглядеть по-разному. Впрочем, в  данном случае вместо имен пользователей подойдет и любая случайная последовательность, ее лишь придется хранить в той же таблице для последующего вычисления эталонов в процессе аутентификации.

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

 

Парольная аутентификация

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

• достаточно часто пользователи применяют легко предсказуемые  пароли, например:

– пароль эквивалентен имени пользователя или имени пользователя в обратной последовательности, или какой-либо другой производной от имени пользователя;

– пароль является словом или фразой какого-либо языка – пароль может  быть подобран путем словарной атаки, т. е. перебора в качестве пароля всех слов по словарю; программы, выполняющие  подобные атаки, существуют в Интернете  в великом множестве; правда, пользователи стали хитрее – они пытаются заменить некоторые буквы слова похожими по написанию цифрами и значками, например, password Ѓ p@ssw0rd, но и программы, реализующие словарные атаки, теперь умеют то же самое: заменять ‘a’ на ‘@’, ‘i’ на ‘1’ и т. д.; – короткие пароли еще хуже – они могут быть подобраны простым перебором всех возможных вариантов;

• существуют различные программы  подбора паролей для наиболее популярных приложений и операционных систем. Например, на сайте www.lostpassword.com можно найти программу Word Password Recovery Key, которая позволяет подобрать пароль к документу Microsoft Word, защищенному паролем. Это достаточно мощное средство, позволяющее перебирать пароли как полным перебором (для коротких паролей), так и словарной атакой, причем с подключением словарей различных языков, а также перебором при некоторых известных или предполагаемых символах пароля. Программа Word Password Recovery Key является абсолютно легальной и адресована тем пользователям, кто забыл пароль какого-либо важного документа. Однако она может быть использована и любым злоумышленником уже для не столь безобидных целей;

• пароль может быть перехвачен или  подсмотрен при его вводе либо получен путем применения насилия  к его владельцу.

 

Аутентификация по уникальному  предмету

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

• USB-токены – представляют собой  устройства с различной степенью интеллекта, подключаемые к порту USB компьютера;

• смарт-карты – по функциональности похожи на USB-токены, но работа с ними осуществляется с помощью специальных  устройств, называемых ридерами смарт-карт;

• электронные таблетки iButton (или Touch Memory) – это те самые ключи к домофонам, которыми оборудовано большинство подъездов в Москве; могут подключаться и к компьютеру через специальный коннектор;

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

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

• карты с открытой памятью –  функциональный аналог магнитных карт, способны лишь хранить какую-либо информацию в открытом виде;

• карты с защищенной памятью  – для доступа к хранящейся в них информации необходимо предъявление пароля (PIN-кода);

• микропроцессорные карты –  фактически сочетают функции карт с защищенной памятью и различные криптографические функции.

Простейший вариант «предметной» аутентификации состоит в том, что  предмет просто хранит в открытом виде имя пользователя и его пароль. «Продвинутые» носители, например, микропроцессорные смарт-карты и подавляющее большинство USB-токенов, могут быть активными участниками процесса аутентификации (а не просто передавать по требованию пароль пользователя), что незаменимо для строгой аутентификации. В последнем случае (да и в случае смарт-карт с защищенной памятью и их аналогов) аутентификация с помощью предмета является существенно более надежной, чем парольная. Кроме того, предметы часто используются в качестве одного их факторов двухфакторной аутентификации, где в качестве второго фактора выступает пароль – например, для использования смарт-карт с защищенной памятью, микропроцессорных смарт-карт и USB-токенов необходимо предварительно предъявить PIN-код.

Информация о работе Использование криптографического интерфейса приложений Cryptoapi