Программная реализация криптографического алгоритма RSA

Структурная схема защиты информации в ЛВС. Потенциальные угрозы безопасности информации и средства ее защиты. Шифрование трафика сети. Практическая реализация алгоритма и постановка задачи. Описание состава программных средств и модулей программы.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 26.04.2010
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

50

69

ОГЛАВЛЕНИЕ

Введение

1. Структурная схема защиты информации в ЛВС

1.1. Потенциальные угрозы безопасности информации

1.2. Средства защиты информации в лвс

1.3. Шифрование трафика сети

1.4. Структура системы защиты информации

1.5. Требования к защите информации в лвс подразделения

2. Практическая реализация алгоритма

2.1. Постановка задачи

2.2. Описание состава программных средств

2.3. Описание модулей программы

2.4. Состав проекта

2.5. Описание программы

Заключение

Библиографический список

Приложение 1

Приложение 2

Приложение 3

Приложение 4

Введение

Вопрос защиты информации поднимается уже с тех пор, как люди научились письменной грамоте. Всегда существовала информация, которая не должна быть известна всем. Люди, обладающие такой информацией, прибегали к разным способам ее защиты. Из известных примеров это такие способы, как тайнопись (письмо симпатическими чернилами), шифрование («тарабарская грамота», шифр Цезаря, более совершенные шифры замены, подстановки). В настоящее время всеобщей компьютеризации благополучие и даже жизнь многих людей зависят от обеспечения информационной безопасности множества компьютерных систем обработки информации, а также контроля и управления различными объектами. К таким объектам (их называют критическими) можно отнести системы телекоммуникаций, банковские системы, атомные станции, системы управления воздушным и наземным транспортом, а также системы обработки и хранения секретной и конфиденциальной информации. Для нормального и безопасного функционирования этих систем необходимо поддерживать их безопасность и целостность.

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

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

Четко обозначилось три аспекта уязвимости информации:

Подверженность физическому уничтожению или искажению.

Возможность несанкционированной (случайной или злоумышленной) модификации.

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

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

- совершенствование организационных и организационно-технических мероприятий технологии обработки информации в ЭВМ;

- блокирование несанкционированного доступа к обрабатываемой в ЭВМ информации;

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

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

1. Структурная схема защиты информации в ЛВС

1.1 Потенциальные угрозы безопасности информации

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

Случайные угрозы

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

Причинами таких воздействий могут быть:

- Отказы и сбои аппаратуры.

- Помехи на линии связи от воздействий внешней среды.

- Ошибки человека как звена системы.

- Системные и системотехнические ошибки разработчиков.

- Структурные, алгоритмические и программные ошибки.

- Аварийные ситуации.

- Другие воздействия.

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

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

Ошибки человека могут подразделяться на логические (неправильно принятые решения), сенсорные (неправильное восприятие оператором информации) и оперативные, или моторные (неправильная реализация решения). Интенсивность ошибок человека может колебаться в широких пределах: от 1-2% до 15-40% и выше от общего числа операций при решении задачи.

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

- Отказ от функционирования АСУ в целом, например выход из строя электропитания.

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

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

Преднамеренные угрозы

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

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

- Терминалы пользователей.

- Терминал администратора системы.

- Терминал оператора функционального контроля.

- Средства отображения информации.

- Средства загрузки программного обеспечения.

- Средства документирования информации.

- Носители информации.

- Внешние каналы связи.

Имея в виду, что при отсутствии защиты нарушитель может воспользоваться как штатными, так и другими физическими каналами доступа, назовем возможные каналы несанкционированного доступа (ВКНСД) в вычислительной системе, через которые возможно получить доступ к аппаратуре, ПО и осуществить хищение, разрушение, модификацию информации и ознакомление с нею:

- Все перечисленные штатные средства при их использовании законными пользователями не по назначению и за пределами своих полномочий.

- Все перечисленные штатные средства при их использовании посторонними лицами.

- Технологические пульты управления.

- Внутренний монтаж аппаратуры.

- Линии связи между аппаратными средствами данной вычислительной системы.

- Побочное электромагнитное излучение аппаратуры системы.

- Побочные наводки по сети электропитания и заземления аппаратуры.

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

- Отходы обработки информации в виде бумажных и магнитных носителей.

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

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

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

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

1. Раскрытие содержания передаваемых сообщений.

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

3. Изменение потока сообщений, что может привести к нарушению режима работы какого-либо объекта, управляемого с удаленной ЭВМ.

4. Неправомерный отказ в предоставлении услуг.

5. Несанкционированное установление соединения.

Угрозы 1 и 2 можно отнести к утечке информации, угрозы 3 и 5 - к ее модификации, а угрозу 4 - к нарушению процесса обмена информацией.

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

1.2 Средства защиты информации в ЛВС

Принято различать пять основных средств защиты информации:

- технические;

- программные;

- криптографические;

- организационные;

- законодательные.

Рассмотрим эти средства подробнее и оценим их возможности в плане дальнейшего их использования при проектировании конкретных средств защиты информации в ЛВС. Общая схема способов и средства защиты информации в системах обработки данных приведена на рис. 1.

Рис. 1. Способы и средства защиты информации в системах обработки данных

1.2.1 Технические средства защиты информации

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

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

1.2.2 Программные средства защиты информации

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

По функциональному назначению программные средства можно разделить на следующие группы:

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

Идентификация - это присвоение какому-либо объекту или субъекту уникального образа, имени или числа. Установление подлинности (аутентификация) заключается в проверке, является ли проверяемый объект (субъект) тем, за кого себя выдает. В качестве синонима слова "аутентификация" иногда используют сочетание "проверка подлинности".

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

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

2. Средства идентификации и установления подлинности технических средств. Такие средства являются дополнительным уровнем защиты по отношению к паролям пользователей.

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

3. Средства обеспечения защиты файлов.

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

- по степени важности;

- по степени секретности;

- по выполняемым функциям пользователей;

- по наименованию документов;

- по видам документов;

- по видам данных;

- по наименованию томов, файлов, массивов, записей;

- по имени пользователя;

- по функциям обработки информации: чтению, записи, исполнению;

- по областям оперативной и долговременной памяти;

- по времени и т.д.

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

4. Средства защиты операционной системы и программ пользователей.

Защита операционной системы - наиболее приоритетная задача. Осуществляется запретом доступа в области памяти, в которых размещается операционная система.

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

5. Вспомогательные средства.

К вспомогательным средствам программной защиты информации относятся:

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

- программные уничтожители остатков информации;

- программы контроля работы механизма защиты;

- программы регистрации обращений к системе и выполнения действий с ресурсами;

- программы формирования и печати грифа секретности;

- программные средства защиты от компьютерных вирусов и др.

1.2.3 Криптографические средства защиты информации

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

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

Более подробно вопросы криптографической защиты будут рассмотрены в разделе 1.3.

1.2.4 Организационные средства защиты информации

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

Организационные мероприятия осуществляют двойную функцию:

1. Полное или частичное перекрытие каналов утечки информации.

2. Объединение всех используемых средств защиты в целостный механизм.

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

Организационные меры предусматривают:

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

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

Хранение носителей информации в тщательно закрытых прочных шкафах.

Назначение одной или нескольких ПЭВМ для обработки ценной информации и дальнейшая работа только на этих ПЭВМ.

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

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

Уничтожение красящих лент или иных материалов, содержащих фрагменты ценной информации.

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

Организационно-технические меры включают:

Ограничение доступа внутрь корпуса ПЭВМ путем установления механических запорных устройств.

Уничтожение всей информации на винчестере ПЭВМ при его отправке в ремонт с использованием средств низкоуровневого форматирования.

Организацию питания ПЭВМ от отдельного источника питания или от общей (городской) электросети через стабилизатор напряжения (сетевой фильтр) или мотор-генератор.

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

Размещение дисплея, системного блока, клавиатуры и принтера на расстоянии не менее 2,5 - 3,0 метров от устройств освещения, кондиционирования воздуха, связи (телефона), металлических труб, телевизионной и радиоаппаратуры, а также других ПЭВМ, не использующихся для обработки конфиденциальной информации.

Отключение ПЭВМ от локальной сети или сети удаленного доступа при обработке на ней конфиденциальной информации, кроме случая передачи этой информации по сети.

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

Во время обработки ценной информации на ПЭВМ рекомендуется включать устройства, создающие дополнительный шумовой фон (кондиционеры, вентиляторы), а также обрабатывать другую информацию на рядом стоящих ПЭВМ. Эти устройства должны быть расположены на расстоянии не менее 2,5 - 3,0 метров.

Уничтожение информации непосредственно после ее использования.

1.2.5 Законодательные средства защиты информации

Законодательные средства защиты - это законодательные акты, которые регламентируют правила использования и обработки информации, и устанавливают ответственность и санкции за нарушение этих правил [6].

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

1.3. Шифрование трафика сети

1.3.1 Обзор и классификация методов шифрования информации

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

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

Для построения средств защиты от НСД необходимо иметь представление о методах криптографии. Их классификация приведена в прил. 2.

Большинство из нас постоянно используют шифрование, хотя и не всегда знают об этом. К примеру, операционная система Microsoft Windows, хранит о пользователях (как минимум) следующую секретную информацию:

- пароли для доступа к сетевым ресурсам (домен, принтер, компьютеры в сети и т.п.);

- пароли для доступа в Интернет с помощью DialUр;

- кэш паролей (в браузере существует функция кэширования паролей, и Windows сохраняет все когда-либо вводимые в Интернете пароли);

Рис. 2. Шифрование информации

- сертификаты для доступа к сетевым ресурсам и зашифрованным данным на самом компьютере.

Эти данные хранятся либо в рwl-файле (в Windows 95), либо в SAM-файле (в Windows NT/2000/XР). Это файл Реестра Windows, и потому операционная система никому не даст к нему доступа даже на чтение. Злоумышленник может скопировать такие файлы, только загрузившись в другую ОС или с дискеты. Утилит для их взлома достаточно много, самые современные из них способны подобрать ключ за несколько часов.

1.3.2 Требования к криптосистемам

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

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

- зашифрованный текст должен поддаваться чтению только при наличии ключа шифрования;

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

- число операций, необходимых для расшифровывания информации путем перебора всех возможных ключей должно выходить за пределы возможностей современных компьютеров (с учетом возможности использования сетевых вычислений);

- знание алгоритма шифрования не должно влиять на надежность защиты;

- незначительные изменения ключа шифрования должны приводить к существенному изменению вида зашифрованного текста;

- незначительные изменения шифруемого текста должны приводить к существенному изменению вида зашифрованного текста даже при использовании одного и того же ключа;

- длина шифрованного текста должна быть равна длине исходного текста;

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

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

- алгоритм должен допускать как программную, так и аппаратную реализацию.

1.3.3 Системы шифрования с секретным и открытым ключом

Криптографическая система представляет собой семейство T преобразований открытого текста. Члены этого семейства индексируются, или обозначаются символом k; параметр k является ключом. Пространство ключей K - это набор возможных значений ключа. Обычно ключ представляет собой последовательный ряд букв алфавита.

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

- количество всех возможных ключей;

- среднее время, необходимое для криптоанализа.

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

Современные широко применяемые методы шифрования можно разделить на два наиболее общих типа: с секретным ключом и с открытым ключом.

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

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

Криптографические системы с открытым ключом используют необратимые или односторонние функции, для которых при заданном значении x относительно просто вычислить значение f(x), однако если y = f(x), то нет простого пути для вычисления значения x. Другими словами, чрезвычайно трудно рассчитать значение обратной функции.

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

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

1.3.4 Основные современные методы шифрования

Среди разнообразнейших способов шифрования можно выделить следующие основные методы:

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

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

- Алгоритмы гаммирования - символы исходного текста складываются с символами некой случайной последовательности.

- Алгоритмы, основанные на сложных математических преобразованиях исходного текста по некоторой формуле. Многие из них используют нерешенные математические задачи. Например, широко используемый в Интернете алгоритм шифрования RSA основан на свойствах простых чисел.

- Комбинированные методы. Последовательное шифрование исходного текста с помощью двух и более методов.

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

Алгоритмы, основанные на сложных математических преобразованиях

Алгоритм RSA
Алгоритм RSA (по первым буквам фамилий его создателей Rivest - Shamir - Adleman) основан на свойствах простых чисел (причем очень больших). Простыми называются такие числа, которые не имеют делителей, кроме самих себя и единицы. А взаимно простыми называются числа, не имеющие общих делителей, кроме 1.
Для начала необходимо выбрать два очень больших простых числа (большие исходные числа нужны для построения больших криптостойких ключей. Например, Unix-программа ssh-keygen по умолчанию генерирует ключи длиной 1024 бита). Как результат перемножения р и q определяется параметр n. Затем выбирается случайное число е, причем оно должно быть взаимно простым с числом (n) = (р - 1)*(q - 1). Отыскивается такое число d, для которого верно соотношение
(e*d) mod (n) = 1.
Mod - остаток от деления, т. е. если e, умноженное на d, поделить (n), то в остатке должно получиться 1. Другими словами, числа (e*d - 1) и (n) должны делиться нацело.
Открытым ключом является пара чисел e и n, а закрытым - d и n. При шифровании исходный текст рассматривается как числовой ряд, и над каждым его числом, которое должно быть меньше n, совершается операция
C(i) = ( M(i)e ) mod n. (1)
В результате получается последовательность C(i), которая и составит криптотекст. Декодирование информации происходит по формуле
M(i) = ( C(i)d ) mod n. (2)
Как видно, расшифровка предполагает знание секретного ключа.
Рассмотрим пример на маленьких числах. Пусть р = 3, q = 7. Тогда n = = р*q = 21. Выберем е = 5. Из формулы (d*5) mod 12 = 1 вычисляем d = 17. Следовательно, открытый ключ 17, 21, секретный - 5, 21.
Зашифруем последовательность «2345»:
C1 = 217 mod 21 = 11;
C2 = 317 mod 21 = 12;
C3 = 417 mod 21 = 16;
C4 = 517 mod 21 = 17.
Криптотекст - 11 12 16 17. Проверим расшифровкой:
M1 = 115 mod 21 = 2;
M2 = 125 mod 21 = 3;
M3 = 165 mod 21 = 4;
M4 = 175 mod 21 = 5;
Как видно, результат совпал с изначальным открытым текстом.
Криптосистема RSA широко применяется в Интернете. Когда пользователи подсоединяются к защищенному серверу по протоколу SSL SSL (Secure Socket Layer), протокол защищенных сокетов - протокол, гарантирующий безопасную передачу данных по сети; комбинирует криптографическую систему с открытым ключом и блочное шифрование данных., устанавливает на свой ПК сертификат WebMoney либо подключается к удаленному серверу с помощью Oрen SSH или SecureShell, большинство даже не подозревает, что все эти программы применяют шифрование открытым ключом с использованием идей алгоритма RSA.
Действительно ли эта система так надежна?
С момента своего создания RSA постоянно подвергалась атакам типа brute-force attack (атака методом грубой силы Brute force («грубая сила») - атака, осуществляемая простым перебором всех возможных либо наиболее часто встречающихся ключей (паролей). Во втором случае brute force достаточно часто называют "атакой по словарю".). В 1978 г. авторы алгоритма опубликовали статью, где привели строку, зашифрованную только что изобретенным ими методом. Первому, кто расшифрует сообщение, было назначено вознаграждение в размере 100 долларов, но для этого требовалось разложить на два сомножителя 129-значное число. Это был первый конкурс на взлом RSA. Задачу решили только через 17 лет после публикации статьи.
Криптостойкость RSA основывается на том предположении, что исключительно трудно, если вообще реально, определить закрытый ключ из открытого. Для этого требовалось решить задачу о существовании делителей огромного целого числа. До сих пор ее аналитическими методами никто не решил, и алгоритм RSA можно взломать лишь путем полного перебора. Строго говоря, утверждение, что задача разложения на множители сложна и что взлом системы RSA труден, также не доказано.
Компания RSA (httр://www.rsa.ru) регулярно проводит конкурсы на взлом собственных (и не только собственных) шифров. Предыдущие конкурсы выиграла организация Distributed.net (httр://www.distributed.net), являющаяся Интернет-сообществом добровольцев.
Участники Distributed.net загружают к себе на ПК небольшую программу-клиент, которая подсоединяется к центральному серверу и получает кусочек данных для вычислений. Затем все данные загружаются на центральный сервер, и клиент получает следующий блок исходной информации. И так происходит до тех пор, пока все комбинации не будут перебраны. Пользователи, участники системы, объединяются в команды, а на сайте ведется рейтинг как команд, так и стран. Например, участвующей в конкурсе по взлому RC5-64 (блочный шифр компании RSA, использующий ключ длиной 64 бита) организации Distributed.net удалось осуществить взлом через пять лет (1757 дней) работы. За это время в проекте участвовали 327 856 пользователей и было перебрано более 15,268*1018 вариантов ключа. Выяснилось, что была (не без юмора) зашифрована фраза «some things are better left unread» («некоторые вещи лучше оставлять непрочтенными»). Общие рекомендации по шифру RC5-64 таковы: алгоритм достаточно стоек для повседневных нужд, но шифровать им данные, остающиеся секретными на протяжении более пяти лет, не рекомендуется».

Вероятностное шифрование

Одной из разновидностей криптосистем с открытым ключом является вероятностное шифрование, разработанное Шафи Гольвассером и Сильвио Минелли. Его суть состоит в том, чтобы алгоритм шифрования Е подчинить вероятностным моделям. В чем же преимущества такого подхода? Для примера, в системе RSA не «маскируются» 0 и 1. Эту проблему успешно решают вероятностные алгоритмы, поскольку они ставят в соответствие открытому тексту М не просто криптотекст С, а некоторый элемент из множества криптотекстов СМ. При этом каждый элемент этого множества выбирается с некоторой вероятностью. Другими словами, для любого открытого текста М результат работы алгоритма Е будет случайной величиной. Может показаться, что в этом случае дешифровать информацию будет невозможно, но это совсем не так. Для того чтобы сделать возможной дешифровку, нужно, чтобы для разных открытых текстов М1 и М2 множества СМ1 и СМ2 не пересекались. Также хочется сказать, что вероятностные алгоритмы шифрования являются более надежными, нежели детерминированные. В этой области наиболее распространены вероятностное шифрование на основе RSA-функций и криптосистема Эль-Гамала.

Комбинированные методы шифрования

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

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

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

Строго говоря, комбинировать можно любые методы шифрования и в любом количестве, однако на практике наибольшее распространение получили следующие комбинации:

подстановка + гаммирование;

перестановка + гаммирование;

гаммирование + гаммирование;

подстановка + перестановка;

Типичным примером комбинированного шифра является национальный стандарт США криптографического закрытия данных (DES).

Криптографический стандарт DES

В 1973 г. Национальное бюро стандартов США начало разработку программы по созданию стандарта шифрования данных на ЭВМ. Был объявлен конкурс среди фирм-разработчиков, который выиграла фирма IBM, представившая в 1974 году алгоритм шифрования, известный под названием DES (Data Encryption Standart).

В этом алгоритме входные 64-битовые векторы, называемые блоками открытого текста, преобразуются в выходные 64-битовые векторы, называемые блоками шифротекста, с помощью двоичного 56-битового ключа К. Число различных ключей DES-алгоритма равно 256.

Алгоритм реализуется в течение 16 аналогичных циклов шифрования, где на i-ом цикле используется цикловой ключ Ki , представляющий собой алгоритмически вырабатываемую выборку 48 из 56 битов ключа Ki, i = 1,2,…,16.

Алгоритм обеспечивает высокую стойкость, однако недавние результаты показали, что современная технология позволяет создать вычислительное устройство стоимостью около 1 млн. долларов США, способное вскрыть секретный ключ с помощью полного перебора в среднем за 3,5 часа.

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

DES-алгоритм явился первым примером широкого производства и внедрения технических средств в области защиты информации. Национальное бюро стандартов США проводит проверку аппаратных реализаций DES-алгоритма, предложенных фирмами-разработчиками, на специальном тестирующем стенде. Только после положительных результатов проверки производитель получает от Национального бюро стандартов сертификат на право реализации своего продукта. К настоящему времени аттестовано несколько десятков изделий, выполненных на различной элементной базе.

Достигнута высокая скорость шифрования. Она составляет в лучших изделиях 45 Мбит/с. Цена некоторых аппаратных изделий не превышает 100 долларов США.

Основные области применения DES-алгоритма:

хранение данных на компьютерах (шифрование файлов, паролей);

аутентификация сообщений (имея сообщение и контрольную группу, несложно убедиться в подлинности сообщения;

электронная система платежей (при операциях с широкой клиентурой и между банками);

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

Позднее появилась модификация DES - Triple DЕS («тройной DES» - так как трижды шифрует информацию «обычным» алгоритмом DES), свободная от основного недостатка прежнего варианта - короткого ключа; он здесь в два раза длиннее. Но, как оказалось, Triple DES унаследовал другие слабые стороны своего предшественника: отсутствие возможности для параллельных вычислений при шифровании и низкую скорость.

ГОСТ 28147-89

В 1989 году в СССР был разработан блочный шифр для использования в качестве государственного стандарта шифрования данных [1]. Разработка была принята и зарегистрирована как ГОСТ 28147-89. Алгоритм был введен в действие в 1990 году. И хотя масштабы применения этого алгоритма шифрования до сих пор уточняются, начало его внедрения, в частности в банковской системе, уже положено. Алгоритм несколько медлителен, но обладает весьма высокой криптостойкостью.

В общих чертах ГОСТ 28147-89 аналогичен DES. Блок-схема алгоритма ГОСТ отличается от блок-схемыDES-алгоритма лишь отсутствием начальной перестановки и числом циклов шифрования (32 в ГОСТ против 16 в DES-алгоритме).

Ключ алгоритма ГОСТ - это массив, состоящий из 32-мерных векторов X1, X2,…X8. Цикловой ключ i-го цикла Ki равен Xs,где ряду значенийi от 1 до 32 соответствует следующий ряд значений s:

1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,8,7,6,5,4,3,2,1.

В шифре ГОСТ используется 256-битовый ключ и объем ключевого пространства составляет 2256. Ни на одной из существующих в настоящее время или предполагаемых к реализации в недалеком будущемкомпьютерных систем общего применения нельзя подобрать ключ за время, меньшее многих сотен лет. Российский стандарт проектировался с большим запасом, по стойкости он на много порядков превосходит американский стандарт DES с его реальным размером ключа в 56 бит и объемом ключевого пространства всего 256, чего явно недостаточно. Ключ криптоалгоритма ГОСТ длиной 32 байта (256 бит) вчетверо больше ключа DES. Необходимое же на перебор всех ключей время при этом возрастает не в четыре раза, а в 25632-8 = 25624, что выливается уже в астрономические цифры). В этой связи DES может представлять скорее исследовательский или научный, чем практический интерес.

1.3.5 Выводы об использовании современных алгоритмов шифрования

В настоящее время наиболее часто применяются три основных стандарта шифрования:

- DES;

- ГОСТ 28147-89 - отечественный метод, отличающийся высокой криптостойкостью;

- RSA - система, в которой шифрование и расшифровка осуществляется с помощью разных ключей.

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

Таблица 1 Характеристики наиболее распространенных методов шифрования

Алгоритм

DES

ГОСТ 28147-89

RSA

Длина ключа

56 бит

256 бит

300-600 бит

Скорость шифрования

10-200 Кбайт/с

50-70 Кбайт/с

300-500 бит/с

Криптостойкость операций

1017

1017

1023

Реализация

Программная и аппаратная

В основном аппаратная

Программная и аппаратная

1.4 Структура системы защиты информации

На основе принятой концепции средства защиты информации делятся на средства защиты от преднамеренного НСД (СЗИ ПНСД) и от случайного НСД (СЗИ СНСД). Средства управления защитой информации (СУЗИ) от НСД являются объединяющими, дающими возможность с помощью целенаправленных и взаимосвязанных функций в сочетании с наиболее полным охватом возможных каналов НСД объекта отдельными средствами защиты создать законченную и строгую систему защиты в комплексе средств автоматизации. Пример структуры такой системы приведен в прил. 3.

СЗИ ПНСД включает 1-й контур защиты - систему контроля доступа на территорию объекта (СКДТО), 2-й контур защиты - систему контроля и разграничения доступа в помещение (СКРДП) и основной контур защиты (ОКЗ). СКДТО, содержащая систему охранной сигнализации (СОС) и контрольно-пропускные пункты (КПП), служит для ограничения доступа лиц на территорию объекта, а также совместно со специальными аппаратными решениями составляет средство защиты от побочных электромагнитных излучений и наводок (ПЭМИН).

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

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

Средства вывода аппаратуры из рабочего контура (СВАРК) обеспечивают блокировку НСД к информации при ремонте и профилактике аппаратуры. В числе средств основного контура применяются также средства защиты ресурсов (СЗР) и организационные меры. СЗР нацелены на недопущение блокировки пользователем-нарушителем работы других пользователей, а также для контроля и ограничения доступа пользователей к ресурсам.

Средства защиты информации на носителях (СЗИН) включают средства шифрования данных (СШД), средства уничтожения остатков информации на носителях (СУОИ), средства аутентификации информации на носителях (САИН), средства верификации программного обеспечения (СВПО) и организационно-технические мероприятия. Система контроля вскрытия аппаратуры включает датчики вскрытия, установленные на контролируемой аппаратуре, цепи сбора сигналов (ЦСС) и устройство контроля вскрытия аппаратуры (УКВА).

СОРДИ содержит терминал службы безопасности информации (ТСБИ), функциональные задачи программного обеспечения (ФЗ ПО), реализующие на программном уровне идентификацию и аутентификацию пользователей, а также разграничение их полномочий по доступу к информации. В целях защиты кодов паролей от НСД для них также должны быть предусмотрены средства защиты (СЗКП).

Средства защиты от случайного НСД включают средства повышения достоверности информации (СПДИ) и средства защиты информации от аварийных ситуаций (СЗИ АС). СПДИ содержат систему функционального контроля (СФК), устройство защиты от ошибок в каналах связи (УЗО КС), средства контроля целостности программного обеспечения (СКЦ ПО) и специальные технические решения (СТР). Они включают средства защиты от переадресации памяти (СЗПП), изоляции функциональных задач (СИФЗ) и другие технические решения.

Средства управления защитой информации содержат автоматизированное рабочее место службы безопасности (АРМ СБ) информации, ФЗ ПО, специально разработанные для выполнения управления защитой на программном уровне, включая ведение журнала учета и регистрации доступа (ЖУРД) и организационные мероприятия. АРМ СБ включает терминал безопасности, УКВА, аппаратуру записи кодов в физические ключи-пароли (АЗКП), необходимое количество ключей-паролей и аппаратуру регистрации и документирования информации (АРДИ). В дополнение к указанным средствам, выполненным на аппаратном и программном уровнях, в необходимых случаях применяются организационные меры.

1.5 Требования к защите информации в ЛВС подразделения

Чтобы обеспечить требуемый уровень безопасности информации в ЛВС подразделения, система безопасности должна иметь следующие средства:

- средства идентификации и проверки полномочий;

- средства обеспечения защиты файлов;

- средства защиты ОС и программ пользователей;

- средства шифрования/дешифрования трафика сети;

- средства уничтожения остатков информации в системе;

- средства регистрации обращений к системе.

2. Практическая реализация алгоритма

2.1 Постановка задачи

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

Входные данные для шифрования файлов - два случайных числа, а также файл, который предварительно должен быть открыт (или текст, введенный в предназначенном для этого текстовом поле). На основе введенных пользователем чисел определяются два ближайших к ним простых числа. Число n - результат их перемножения, - будет входить в пары, являющиеся открытым и закрытым ключами. При этом пара чисел e и n является открытым ключом, а d и n - секретным.

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

2.2. Описание состава программных средств

Криптографический алгоритм RSA был реализован с помощью интегрированного пакета Delphi 7.0. Выбор данного языка программирования обоснован тем, что он предоставляет такие возможности, как объектно-ориентированный подход к программированию, основанный на формах, интеграция с программированием для Windows и компонентная технология. Среда визуального программирования Delphi 7.0 позволяет, с помощью компонентного подхода к созданию приложений, быстро и качественно "собрать" интерфейс программы и большую часть времени использовать именно на реализацию составленного алгоритма [20].

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

2.3 Описание модулей программы

Программа включает в себя два программных модуля.

Первый модуль содержит главную кнопочную форму (см. рис. 3).

Рис. 3. Главная кнопочная форма

Заголовок Caption главной формы изменен на «RSA Cipher Method Realization». Компонент bi_Maximize свойства BorderIcons установлен в значение False, а свойство BorderStyle изменено на bsSingle.

Форма Form1 содержит следующие компоненты: btn_About, btn_CryptFileOpen, btn_Decrypt, btn_DecryptFileOpen, btn_Encrypt, btn_Exit, btn_KeyGenerate, btn_SaveToFile, ed_n, ed_number1, ed_number2, ed_p, ed_phi, ed_PrivateKey, ed_PublicKey, ed_q, lbl_BlockLength, lbl_phi, lbl_PrivateKey, lbl_PublicKey, lbl_ScrambledMessage, lbl_SimpleNumbers, lbl_SourceMessage, mem_Cipher, mem_Decrypt, mem_Encrypt, OpenDialog1, SaveDialog1 Начальные индексы обозначают наименования компонентов в библиотеке VCL Delphi 7.0: btn - Button, ed - Edit, lbl - Label, mem - Memo..


Подобные документы

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

    курсовая работа [994,9 K], добавлен 12.04.2012

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

    курсовая работа [45,0 K], добавлен 13.11.2009

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

    курсовая работа [1,0 M], добавлен 27.11.2007

  • Особенности метода неопределенных множителей Лагранжа, градиентного метода и метода перебора и динамического программирования. Конструирование алгоритма решения задачи. Структурная схема алгоритма сценария диалога и описание его программной реализации.

    курсовая работа [1010,4 K], добавлен 10.08.2014

  • Методы криптографической защиты информации в России в XIX веке. Описание структуры программы: библиотека DLL, графическая оболочка, консольная реализация. Вид функции шифрования. Инструкция системного программиста. Класс для шифровки, расшифровки данных.

    контрольная работа [26,3 K], добавлен 22.12.2011

  • Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.

    курсовая работа [314,2 K], добавлен 27.01.2015

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

    дипломная работа [225,1 K], добавлен 16.06.2012

  • Проблема защиты информации в Internet. Технические детали спецификации SKIP, конфиденциальность и аутентификация. Устройство SunScreen: аппаратная система защиты локальных сетей. Алгоритм шифрования DES. Реализация алгоритма ГОСТ, реализация, расшифровка.

    курсовая работа [2,8 M], добавлен 25.04.2012

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

    курсовая работа [788,8 K], добавлен 27.04.2013

  • Семиуровневая архитектура, основные протоколы и стандарты компьютерных сетей. Виды программных и программно-аппаратных методов защиты: шифрование данных, защита от компьютерных вирусов, несанкционированного доступа, информации при удаленном доступе.

    контрольная работа [25,5 K], добавлен 12.07.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.