Автор: Пользователь скрыл имя, 23 Января 2012 в 09:32, курсовая работа
Введение
Защита данных в компьютерных сетях становится одной из самых открытых проблем в современных информационно-вычислительных системах. На сегодняшний день сформулировано три базовых принципа информационной безопасности
Введение Содержание
1. Аналитическая часть _______________________________5
1.1. Понятие информационной безопасности __________________5
1.2. История развития криптографии_________________________8
1.3. Обзор современных криптографических алгоритмов_______21
1.4. Анализ криптографического алгоритма DES______________30
1.5. Постановка задачи____________________________________32
2. Проектная часть __________________________________32
2.1. Программное обеспечение_____________________________34
Заключение_____________________________________________37
Библиографический список _______________________________38
Приложение _____________________________
Кроме
выбора подходящей для конкретной ИС
криптографической системы, важная
проблема - управление ключами. Как
бы ни была сложна и надежна сама
криптосистема, она основана на использовании
ключей. Если для обеспечения
генерацию ключей;
накопление ключей;
распределение
ключей.
Рассмотрим, как они должны быть реализованы для того, чтобы обеспечить безопасность ключевой информации в ИС.
Генерация
ключей.
В самом начале разговора о криптографических методах было сказано, что не стоит использовать неслучайные ключи с целью легкости их запоминания. В серьезных ИС используются специальные аппаратные и программные методы генерации случайных ключей. Как правило используют датчики ПСЧ. Однако степень случайности их генерации должна быть достаточно высоким. Идеальным генераторами являются устройства на основе “натуральных” случайных процессов. Например случайным математическим объектом являются десятичные знаки иррациональных чисел, которые вычисляются с помощью стандартных математических методов.
Накопление
ключей.
Под накоплением ключей понимается организация их хранения, учета и удаления. Поскольку ключ является самым привлекательным для злоумышленника объектом, открывающим ему путь к конфиденциальной информации, то вопросам накопления ключей следует уделять особое внимание. Секретные ключи никогда не должны записываться в явном виде на носителе, который может быть считан или скопирован. В достаточно сложной ИС один пользователь может работать с большим объемом ключевой информации, и иногда даже возникает необходимость организации мини-баз данных по ключевой информации. Такие базы данных отвечают за принятие, хранение, учет и удаление используемых ключей. Итак, каждая информация об используемых ключах должна храниться в зашифрованном виде. Ключи, зашифровывающие ключевую информацию называются мастер-ключами. Желательно, чтобы мастер-ключи каждый пользователь знал наизусть, и не хранил их вообще на каких-либо материальных носителях. Очень важным условием безопасности информации является периодическое обновление ключевой информации в ИС. При этом переназначаться должны как обычные ключи, так и мастер-ключи. В особо ответственных ИС обновление ключевой информации желательно делать ежедневно. Вопрос обновления ключевой информации связан и с третьим элементом управления ключами - распределением ключей.
Распределение ключей.
Распределение ключей - самый ответственный процесс в управлении ключами. К нему предъявляются два требования:
-
Оперативность и точность
- Скрытность расопределяемых ключей.
В
последнее время заметен сдвиг
в сторону использования
1.
Путем создания одного ли
2.
Прямой обмен ключами между
пользователями информационной
системы. В этом случае
В качестве обобщения сказанного о распределении ключей следует сказать следующее. Задача управления ключами сводится к поиску такого протокола распределения ключей, который обеспечивал бы:
возможность отказа от центра распределения ключей;
взаимное
подтверждение подлинности
подтверждение
достоверности сеанса механизмом запроса-ответа,
использование для этого
использование
при обмене ключами минимального
числа сообщений
1.4. Анализ криптографического алгоритма DES
Схема такого типа имеет название «запрос-ответ». Когда пользователь пытается осуществить логический вход, то аутентификационный сервер передает ему запрос в виде случайного числа (рис. Б.). Аппаратный ключ пользователя зашифровывает это случайное число, используя алгоритм DES и секретный ключ пользователя. Секретный ключ пользователя хранится в базе данных сервера и в памяти аппаратного ключа. В зашифрованном виде слово-вызов возвращается на сервер. Сервер, в свою очередь также зашифровывает сгенерированное им самим случайное число с помощью алгоритма DES и того же секретного ключа пользователя, а затем сравнивает результат с числом, полученным от аппаратного ключа. Если они совпадают, то пользователю разрешается логический вход.
Механизм слова-вызова имеет свои ограничения — он обычно требует наличия компьютера на каждом конце соединения, так как аппаратный ключ должен иметь возможность как получать, так и отправлять информацию. А схема временной синхронизации позволяет ограничиться простым терминалом или факсом. В этом случае пользователи могут даже вводить пароль с телефонной клавиатуры, когда звонят в сеть для получения голосовой почты.
Схема
«запрос-ответ» уступает схеме временной
синхронизации по простоте использования.
Для логического входа по схеме
временной синхронизации
Сложность проблем сетевой безопасности нуждается в специалистах по безопасности различных уровней и специализаций.
Среди
специальных сертификационных программ
конкретных производителей широкое признание
и уважение в индустрии получил статус
Sun Certified Security Administrator для операционной
системы Solaris OS, предлагающий его обладателю
широкий круг преимуществ. Для его получения
требуется глубокие знания вопросов безопасности,
включая основные концепции безопасности,
управления устройствами обнаружения,
атак на системы безопасности, защиты
файлов и системных ресурсов, предохранения
узлов и сетей и сетевых соединений, аутентификации
и шифрования. Этот экзамен включает знания
по безопасности в сетевых средах, а не
только на изолированных системах и доступен
на английском, японском и немецком языках.
Он предназначен для продвинутых сетевых
администраторов, сетевых администраторов
и специалистов по безопасности, ответственных
за управление безопасностью на одном
или более компьютерах, работающих под
управлением ОС Solaris. Эта сертификация
подтверждает навыки, необходимые для
обеспечения конфиденциальности, усиления
идентифицируемости и уменьшения суммарного
риска появления уязвимостей в системе
безопасности
1.5. Постановка
задачи
Разработка
прикладной программы для
Обратный шифр.
Порядок криптографического преобразования:
а) составляется список используемых символов (например, алфавит) и выписывается в столбец;
б) напротив данного столбца выписывается список используемых символов в обратном порядке;
в) в цикле выбираются поочередно все символы шифруемого сообщения;
г) для текущего символа ищется соответствие в левом списке;
д) шифр-символом будет являться элемент правого списка находящийся напротив найденного в левом списке.
Пример: необходимо зашифровать слово «год».
а | я |
б | ю |
в | э |
г | ь |
д | ы |
е | ъ |
ё | щ |
ж | ш |
з | ц |
и | х |
й | ф |
л | у |
к | т |
л | с |
м | р |
н | п |
о | о |
п | н |
р | м |
с | л |
т | л |
у | к |
ф | й |
х | и |
ц | з |
ш | ж |
щ | ё |
ъ | е |
ы | д |
ь | г |
э | в |
ю | б |
я | а |
Таким
образом, получаем зашифрованное слово:
«ьоы».
Для
расшифровки необходимо выполнить аналогичные
действия:
2.
Проектная часть
2.1.
Программное обеспечение
Для
решения поставленной задачи используем
среду разработки Delphi, который предоставляет
пользователям оболочку графического
интерфейса (GUI), которая обеспечивает
стандартную среду пользователя
и программиста. (GUI) предлагает более
сложное и дружелюбное окружение пользователя,
чем командно-управляемый интерфейс DOS.
Работа в Windows основана на интуитивно понятных
принципах. Вам легко переключиться с
задачи на задачу и осуществлять обмен
информацией между ними. Однако разработчики
приложений традиционно сталкиваются
с трудностями программирования, поскольку
организация среды Windows является чрезвычайно
сложной. Delphi - язык и среда программирования,
относящаяся к классу RAD- (Rapid Application Development
«Средство быстрой разработки приложений»)
средств CASE - технологии. Delphi сделала разработку
мощных приложений Windows быстрым процессом,
доставляющим вам удовольствие. Приложения
Windows, для создания которых требовалось
большое количество человеческих усилий
например в С++, теперь могут быть написаны
одним человеком, использующим Delphi. Интерфейс
Windows обеспечивает полное перенесение
CASE-технологий в интегрированную систему
поддержки работ по созданию прикладной
системы на всех фазах жизненного цикла
работы и проектирования системы. Delphi
обладает широким набором возможностей,
начиная от проектировщика форм и кончая
поддержкой всех форматов популярных
баз данных. Среда устраняет необходимость
программировать такие компоненты Windows
общего назначения, как метки, пиктограммы
и даже диалоговые панели. Работая в , вы
неоднократно видели одинаковые «объекты»
во многих разнообразных приложениях.
Диалоговые панели (например Choose File и Save
File) являются примерами многократно используемых
компонентов, встроенных непосредственно
в Delphi, который позволяет приспособить
эти компоненты к имеющийся задаче, чтобы
они работали именно так, как требуется
создаваемому приложению. Также здесь
имеются предварительно определенные
визуальные и невизуальные объекты, включая
кнопки, объекты с данными, меню и уже построенные
диалоговые панели. С помощью этих объектов
можно, например, обеспечить ввод данных
просто несколькими нажатиями кнопок
мыши, не прибегая к программированию.
Это наглядная реализация применений
CASE-технологий в современном программировании
приложений. Та часть, которая непосредственно
связана с программированием интерфейса
пользователя системой получила название
визуальное программирование Выгоды от
проектирования АРМ в среде Windows с помощью
Delphi: · Устраняется необходимость в повторном
вводе данных; · Обеспечивается согласованность
проекта и его реализации; · Увеличивается
производительность разработки и переносимость
программ. Визуальное программирование
как бы добавляет новое измерение при
создании создании приложений, давая возможность
изображать эти объекты на экране монитора
до выполнения самой программы. Без визуального
программирования процесс отображения
требует написания фрагмента кода, создающего
и настрающего объект «по месту». Увидеть
закодированные объекты было возможно
только в ходе исполнения программы. При
таком подходе достижение того, чтобы
объекты выглядели и вели себя заданным
образом, становится утомительным процессом,
который требует неоднократных исправлений
программного кода с последующей прогонкой
программы и наблюдения за тем, что в итоге
получилось. Благодаря средствам визуальной
разработки можно работать с объектами,
держа их перед глазами и получая результаты
практически сразу. Способность видеть
объекты такими, какими они появляются
в ходе исполнения программы, снимает
необходимость проведения множества операций
вручную, что характерно для работы в среде
не обладающей визуальными средствами
вне зависимости от того, является она
объектно-ориентированной или нет. После
того, как объект помещен в форму среды
визуального программирования, все его
атрибуты сразу отображаются в виде кода,
который соответствует объекту как единице,
исполняемой в ходе работы программы.
Размещение объектов в Delphi связано с более
тесными отношениями между объектами
и реальным программным кодом. Объекты
помещаются в вашу форму, при этом код,
отвечающий объектам, автоматически записывается
в исходный файл. Этот код компилируется,
обеспечивая существенно более высокую
производительность, чем визуальная среда,
которая интерпретирует информацию лишь
в ходе исполнения программы.