Анализ средств защиты информации в информационных системах
Анализ криптографических методов и средств защиты информации в информационных системах. Методология симметричной системы шифрования. Порядок шифрования при помощи шифров. Разработка программы шифрования и расшифрования информации методом прямой замены.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 08.07.2011 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Содержание
Введение
1 Теоретические вопросы криптографической защиты информации в информационных системах
1.1 Обзор современных методов защиты информации в информационных системах
1.1.1 Физический доступ и доступ к данным
1.1.2 Контроль доступа к аппаратуре
1.1.3 Криптографическое преобразование информации
1.2 Основные задачи криптографии
2 Анализ криптографических методов и средств защиты в информационных системах. Сравнительная характеристика шифров, применяемых в информационных системах
2.1 Криптографические средства защиты
2.1.1 Принципы работы криптосистемы
2.1.2 Управление криптографическими ключами
2.2 Методология симметричной системы шифрования
2.3 Порядок шифрования при помощи шифров
2.4 Методы анализа шифров
3 Разработка программы шифрования и расшифрования информации методом прямой замены
3.1 Порядок шифрования и расшифрования информации методом прямой замены
3.2 Программа демонстрации шифрования и расшифрования информации методом прямой замены
Заключение
Глоссарий
Список использованных источников
Приложение
Введение
Проблема защиты информации от постороннего доступа и нежелательных воздействий на нее возникла давно, с той поры, когда человеку по каким-либо причинам не хотелось делиться ею ни с кем или не с каждым человеком. С развитием человеческого общества, появлением частной собственности, государственного строя, борьбой за власть и в дальнейшем расширением масштабов человеческой деятельности информация приобретает цену. Ценной становится та информация, обладание которой позволит ее существующему и потенциальному владельцу получить какой-либо выигрыш: материальный, политический, военный и т.д [11].
В период существования примитивных носителей информации ее защита осуществлялась организационными методами, которые включали ограничение и разграничение доступа, определенные меры наказания за разглашение тайны. По свидетельству Геродота, уже в V веке до новой эры использовалось преобразование информации методом кодирования [22]. Коды появились в глубокой древности в виде криптограмм (по-гречески -- тайнопись). Спартанцы имели специальный механический прибор, при помощи которого важные сообщения можно было писать особым способом, обеспечивающим сохранение тайны. Собственная секретная азбука была у Юлия Цезаря. В средние века и эпоху Возрождения над изобретением тайных шифров трудились многие выдающиеся люди, в их числе известный философ Френсис Бэкон, крупные математики -- Франсуа Виет, Джероламо Кардано, Джон Валлис [24, 31].
С переходом на использование технических средств связи информация подвергается воздействию случайных процессов: неисправностям и сбоям оборудования, ошибкам операторов и т. д., которые могут привести к ее разрушению, изменениям на ложную, а также создать предпосылки к доступу к ней посторонних лиц. С дальнейшим усложнением и широким распространением технических средств связи возросли возможности для преднамеренного доступа к информации [28, 29].
С появлением информационных систем, связанных с автоматизированным вводом, хранением, обработкой и выводом информации, проблема ее защиты приобретает еще большее значение. Этому способствовали:
* увеличение объемов информации, накапливаемой, хранимой и обрабатываемой с помощью ЭВМ и других средств вычислительной техники;
* сосредоточение в единых базах данных информации различного назначения и принадлежности;
* расширение круга пользователей, имеющих доступ к ресурсам вычислительной системы и находящимся в ней массивам данных;
* усложнение режимов функционирования технических средств вычислительной системы: широкое внедрение многопрограммного режима, режима разделения времени и реального времени;
* автоматизация межмашинного обмена информацией, в том числе и на больших расстояниях;
* увеличение количества технических средств и связей в автоматизированных системах управления и обработки данных;
* появление персональных ЭВМ, расширяющих возможности не только пользователя, но и нарушителя.
К настоящему времени и в самом человеческом обществе, и в технологии обработки данных произошли большие изменения, которые повлияли на саму суть проблемы защиты информации. Например, по данным зарубежной литературы, к концу 90-х годов деятельность в области сбора, обработки и использования информации достигла 56% валового национального продукта США, и на нее приходится 73% общей суммы заработной платы [4,10]. Индустрия переработки информации достигла глобального уровня. Появилась возможность выхода в глобальную вычислительную сеть с домашнего компьютера. Появление "электронных" денег (кредитных карточек) создало предпосылки для хищений крупных сумм денег [10]. В печати приведено множество конкретных примеров хищения информации из автоматизированных систем обработки данных, которые весьма убедительно иллюстрируют серьезность и актуальность проблемы.
Новое удивительное порождение научно-технической революции - специальные компьютерные злоумышленники хакеры (Hacker, англ), получающие удовольствие от того, что им удается проникнуть в чужой компьютер [6, 14]. Одновременно они прекрасные знатоки работы информационных систем. С помощью телефона и домашних компьютеров они подключаются к сетям передачи данных, и выкачивают целые информационные банки данных, любую смысловую информацию для своей выгоды.
Парадоксально, но хорошо работающая информационная система с качественными соединениями будет способствовать более успешной краже информации [12, 21]. Для предотвращения плачевного исхода следует не только эффективно реализовать функции слежения и управления безопасностью, но и установить криптографические средства защиты информации в информационной системе.
Все вышесказанное свидетельствует об актуальности темы дипломной работы: «Анализ средств защиты информации в информационных системах».
Целью дипломной работы является создание программы шифрования и расшифрования текстовых сообщений методом прямой замены. Поэтому объектом исследования в дипломной работе выбраны имеющиеся криптографические средства защиты информации в информационных системах.
1 Теоретические вопросы криптографической защиты информации в информационных системах
1.1 Обзор современных методов защиты информации в информационных системах
При наличии простых средств хранения и передачи информации в информационных системах существовали и не потеряли значения до настоящего времени следующие методы ее защиты от преднамеренного несанкционированного доступа: ограничение доступа; разграничение доступа; разделение доступа (привилегий); криптографическое преобразование информации; контроль и учет доступа; законодательные меры [1,3].
Указанные методы осуществлялись чисто организационно или с помощью технических средств.
С появлением автоматизированной обработки информации в информационных системах изменился и дополнился новыми видами физический носитель информации и усложнились технические средства ее обработки.
С усложнением обработки, увеличением количества технических средств, участвующих в ней, увеличиваются количество и виды случайных воздействий, а также возможные каналы несанкционированного доступа. С увеличением объемов, сосредоточением информации, увеличением количества пользователей и другими указанными выше причинами увеличивается вероятность преднамеренного несанкционированного доступа к смыслу информации. В связи с этим развиваются старые и возникают новые дополнительные методы защиты информации в информационных системах [10, 11]:
* методы функционального контроля, обеспечивающие обнаружение и диагностику отказов, сбоев аппаратуры и ошибок человека, а также программные ошибки;
* методы повышения достоверности информации;
* методы защиты информации от аварийных ситуаций;
* методы контроля доступа к внутреннему монтажу аппаратуры, линиям связи и технологическим органам управления;
* методы разграничения и контроля доступа к информации;
* методы идентификации и аутентификации пользователей, технических средств, носителей информации и документов;
* методы защиты от побочного излучения и наводок информации;
* криптографическое преобразование информации.
1.1.1 Физический доступ и доступ к данным
Правила осуществления контроля доступа к данным являются единственными существующими методами для достижения рассмотренных выше требований по индивидуальной идентификации. Наилучшей политикой управления доступом является политика "минимально необходимых привилегий" [25]. Другими словами, пользователь имеет доступ только к той информации, которая необходима ему в работе. К информации, классифицируемой как конфиденциальная (или эквивалентной) и выше, доступ может меняться и периодически подтверждаться. На некотором уровне (по крайней мере регистрированно конфиденциальном или эквивалентном) должна существовать система проверок и контроля доступа, а также регистрация изменений. Необходимо наличие правил, определяющих ответственность за все изменения данных и программ. Должен быть установлен механизм определения попыток неавторизованного доступа к таким ресурсам, как данные и программы. Владелец ресурса, менеджеры подразделений и сотрудники службы безопасности должны быть уведомлены о потенциальных нарушениях, чтобы предотвратить возможность тайного сговора.
1.1.2 Контроль доступа к аппаратуре
В целях контроля доступа к внутреннему монтажу, линиям связи и технологическим органам управления используется аппаратура контроля вскрытия аппаратуры. Это означает, что внутренний монтаж аппаратуры и технологические органы и пульты управления закрыт крышками, дверцами или кожухами, на которые установлены датчик. Датчики срабатывают при вскрытии аппаратуры и выдают электрические сигналы, которые по цепям сбора поступают на централизованно устройство контроля. Установка такой системы имеет смысл при более полном перекрытии всех технологических подходов к аппаратуре, включая средства загрузки программного обеспечения, пульт управления ЭВМ и внешние кабельные соединители технических средств, входящих в состав вычислительной системы. В идеальном случае для систем с повышенными требованиями к эффективности защиты информации целесообразно закрывать крышками под механический замок с датчиком или ставить под контроль включение также штатных средств входа в систему - терминалов пользователей.
Контроль вскрытия аппаратуры необходим не только в интересах защиты информации от НСД, но и для соблюдения технологической дисциплины в целях обеспечения нормального функционирования вычислительной системы, потому что часто при эксплуатации параллельно решению основных задач производится ремонт или профилактика аппаратуры, и может оказаться, что случайно забыли подключить кабель или пульта ЭВМ изменили программу обработки информации. С позиции защиты информации от несанкционированного доступа контроль вскрытия аппаратуры защищает от следующих действий [28]:
· изменения и разрушения принципиальной схемы вычислительной системы и аппаратуры;
· подключения постороннего устройства;
· изменения алгоритма работы вычислительной системы путем использования технологических пультов и органов управления;
· загрузки посторонних программ и внесения программных "вирусов" в систему;
· использования терминалов посторонними лицами и т. д.
Основная задача систем контроля вскрытия аппаратуры - перекрытие на период эксплуатации всех нештатных и технологических подходов к аппаратуре. Если последние потребуются в процессе эксплуатации системы, выводимая на ремонт или профилактику аппаратура перед началом работ отключается от рабочего контура обмена информацией, подлежащей защите, и вводится в рабочий контур под наблюдением и контролем лиц, ответственных за безопасность информации.
1.1.3 Криптографическое преобразование информации
Защита данных с помощью шифрования - одно из возможных эффективных решений проблемы их безопасности. Зашифрованные данные становятся доступными только для того, кто знает, как их расшифровать, и поэтому похищение зашифрованных данных абсолютно бессмысленно для несанкционированных пользователей.
Криптография обеспечивает не только секретность информации, но и ее подлинность [25, 27]. Секретность поддерживается путем шифрования отдельных сообщений или всего файла целиком. Подлинность информации подтверждается путем шифрования специальным кодом, содержащим всю информацию, который проверяется получателем для подтверждения личности автора. Он не только удостоверяет происхождение информации, но и гарантирует ее неизменность.
Даже простое преобразование информации является весьма эффективным средством, дающим возможность скрыть ее смысл от большинства неквалифицированных нарушителей.
Криптография на сегодня является единственным известным способом обеспечения секретности и подтверждения подлинности информации, передаваемой со спутников [29]. Природа стандарта шифрования данных такова, что его алгоритм является общедоступным, секретным должен быть только ключ. Причем одинаковые ключи должны использоваться и для шифрования, дешифрования информации, в противном случае прочитать ее будет невозможно.
Принцип шифрования заключается в кодировании текста с помощью ключа [2, 5, 9]. В традиционных системах шифрования для кодирования и декодирования использовался один и тот же ключ. В новых же системах с открытым ключом или асимметричного шифрования ключи парные: один используется для кодирования, другой - для декодирования информации. В такой системе каждый пользователь владеет уникальной парой ключей. Один ключ, так называемый "открытый", известен всем и используется для кодирования сообщений. Другой ключ, называемый "секретным", держится в строгом секрете и применяется дл расшифровки входящих сообщений. При реализации такой системы один пользователь, которому нужно послать сообщение другому, может зашифровать сообщение открытым ключом последнего. Расшифровать его сможет только владелец личного секретного ключа, поэтому опасность перехвата исключена. Эту систему можно также использовать и для создания защиты от подделки цифровых подписей.
Практическое использование защитного шифрования Интернет и интранет сочетает традиционные симметричные и новые асимметричные схемы [8]. Шифрование открытым ключом применяется для согласования секретного симметричного ключа, который затем используется для шифрования реальных данных. Шифрование обеспечивает самый высокий уровень безопасности данных. Как в аппаратном, так и в программном обеспечении применяются различные алгоритмы шифрования.
1.2 Основные задачи криптографии
Криптография - это дисциплина, изучающая способы защиты процессов информационного взаимодействия от целенаправленных попыток отклонить их от условий нормального протекания, основанные на криптографических преобразованиях, то есть преобразованиях данных по секретным алгоритмам [5]. С давних времен вплоть до настоящего время важнейшей задачей криптографии является защита передаваемых по каналам связи или хранящихся в системах обработки информации данных от несанкционированного ознакомления с ними и от преднамеренного их искажения. Криптография решает указанную задачу посредством шифрования защищаемых данных, что предполагает использование двух следующих взаимно обратных преобразований (рисунок 1) [17]:
- перед отправлением данных по линии связи или перед помещением на хранение они подвергаются зашифрованию;
- для восстановления исходных данных из зашифрованных к ним применяется процедура расшифрования.
Рисунок 1 - Шифрование и расшифрование информации
Шифром называется пара алгоритмов, реализующих каждое из указанных преобразований. Секретность второго из них делает данные недоступными для несанкционированного ознакомления, а секретность первого делает невозможным навязывание ложных данных. Получение открытых данных по зашифрованным без знания алгоритма расшифрования называется дешифрованием.
Задача криптографии, т.е. тайная передача, возникает только для информации, которая нуждается в защите. В таких случаях говорят, что информация содержит тайну или является защищаемой, приватной, конфиденциальной, секретной. Для наиболее типичных, часто встречающихся ситуаций такого типа введены даже специальные понятия [11]:
-государственная тайна;
-военная тайна;
-коммерческая тайна;
-юридическая тайна;
-врачебная тайна и т. д.
Далее мы будем говорить о защищаемой информации в информационной системе, имея в виду следующие признаки такой информации:
-имеется какой-то определенный круг законных пользователей, которые имеют право владеть этой информацией;
-имеются незаконные пользователи, которые стремятся овладеть этой информацией с тем, чтобы обратить ее себе во благо, а законным пользователям во вред.
2 Анализ криптографических методов и средств защиты в информационных системах. Сравнительная характеристика шифров, применяемых в информационных системах
Каждое криптографическое средство использует тот или иной шифр для зашифрования и расшифрования данных в информационных системах. Определим некоторое число характерных признаков, которые можно использовать для установления различия между, используемыми в них шифрами. Примем также, что каждый блок или знак сообщения шифруется в информационной системе отдельно в определенном порядке. При этом условии выделяют 4 характерных признака классификации криптографических систем [22, 26].
Нужно определить, над какими объектами исходного текста производятся криптографические преобразования: над отдельными битами, байтами или блоками. Например, в шифре Энигмы операции производятся побайтно, а в DES оперируют одновременно со множеством бит, называемом блоком. Свойство системы использовать блоки бит называется блочностью.
Функции шифрования могут зависеть от знаков сообщения. Зависимость функции сообщения от знаков сообщения называется сверточностью. В системах, обладающих свойством сверточности, будет наблюдаться размножение ошибок: если при передаче исказится хотя бы один бит шифровки, то после расшифровывания текст будет содержать некоторое количество ошибок.
Шифрование отдельных знаков сообщения может зависеть от их положения в тексте. В приведенном примере сверточного шифрования различные знаки сообщения шифруются с учетом их положения. Поэтому потеря при передаче любой части текста шифровки приведет к неправильному расшифровыванию всех последующих частей сообщения. Независимость знаков шифра от их положения в исходном тексте называется транзитивностью.
Системы шифрования могут быть как симметричными, с одним ключом, так и асимметричными, с разными ключами для шифрования и расшифровывания. Основное отличие между ними состоит в том, что в асимметричной системе знание одного ключа недостаточно для раскрытия соответствующего ему второго ключа (таблица 1) [30].
Таблица 1 - Свойства систем шифрования информационных систем
Тип систем |
Блочность |
Сверточность |
Транзитивность |
Симметричность |
|
Потоковые |
- |
- |
- |
+ |
|
Блочные |
+ |
- |
+ |
- |
|
С открытым ключом |
+ |
- |
+ |
+ |
|
Сверточные |
+ |
+ |
+ |
+ |
В таблице 1 приведены свойства систем шифрования, применяемых в информационных системах. Для реализации потокового шифрования нужно сконструировать генератор ключевой последовательности, выход которого используется для познакового шифрования открытого текста. К преимуществам потоковых шифров относятся отсутствие размножения ошибок, простая реализация и высокая скорость шифрования. Основным недостатком является необходимость передачи информации синхронизации перед заголовком сообщения, которая должна быть принята до расшифровывания любого сообщения. Это связано с тем, что если два различных сообщения шифруются на одном и том же ключе, то для расшифровывания этих сообщений должна использоваться одна и та же ключевая последовательность. Это может создать угрозу криптографической стойкости системы. Поэтому всегда необходимо применять дополнительный, случайно выбираемый ключ, который передается в начале сообщения и используется для модификации основного ключа шифровки.
Потоковые шифры широко используются в военных системах для шифрования данных и преобразования в цифровую форму речевых сигналов. Кроме этого, потоковые шифры используются в системах шифрования каналов передачи данных, где их непрерывное действие препятствует эффективному криптоанализу.
Главное свойство блочного шифрования состоит в том, что каждый бит блока текста шифровки является функцией почти всех бит соответствующего блока открытого текста, и никакие два блока открытого текста не могут быть представлены одним и тем же блоком текста шифровки [13]. Основное преимущество простого блочного шифрования состоит в том, что в хорошо сконструированной системе небольшие изменения открытого текста или ключа вызывает большие и непредсказуемые изменения в тексте шифра.
Но есть и недостатки.
Если ко всем блокам применить один и тот же ключ, то даже при сравнительно большой длине блока (как в DES) возможен криптоанализ "со словарем". Блок небольшого размера может повторяться в сообщении вследствие большой избыточности открытого текста. Это может привести к тому, что идентичные блоки открытого текста в сообщении будут представлены идентичными блоками текста шифровки. Это даст шанс криптоаналитику в угадывании текста и атаке на ключ.
Размножение ошибок внутри блока. Результатом изменения одного бита в принятом блоке шифровки будет неправильное расшифрование всего блока.
Поэтому простейшие блочные шифры не употребляются для шифрования длинных сообщений. Но в финансовых учреждениях, где сообщения состоят из одного-двух блоков, блочные шифры типа DES широко применяются в простейшем варианте. Т.к. использование этого варианта связано с необходимостью частой смены ключа шифрования, то вероятность шифрования двух идентичных блоков открытого текста на одном и том же ключе мала.
Возможно образование смешанных систем потокового и блочного шифрования с использованием лучших свойств каждого из этих шифров. В таких системах потоковое шифрование комбинируется с перестановками бит в блоках. Открытый текст сначала шифруется как при обычном потоковом шифровании. Затем полученный текст шифровки разбивается на блоки фиксированного размера и в каждом блоке дополнительно производится перестановка под управлением ключа. В результате получается шифр, не размножающий ошибки, но обладающий дополнительным свойством, которого нет у потокового шифра замены на основании XOR: перехватчик не знает, какому биту открытого текста соответствует бит текста шифровки. Поэтому зашифрованное таким образом сообщение становится труднее вскрыть [14, 23].
Криптографическая система с открытым ключом представляет собой систему блочного шифрования, оперирующей с блоками большой длины. Это обусловлено тем, что криптоаналитик, знающий открытый ключ шифрования, мог бы предварительно вычислить и составить таблицу соответствующих блоков открытого текста и шифровки. Если длина блока мала, то число возможных блоков будет небольшим и может быть составлена полная таблица, дающая возможность моментального расшифрования любого шифрованного сообщения с использованием известного открытого ключа. Ни один алгоритм шифрования с открытым ключом не может быть применен для каналов с большой скоростью. Это значит, что использование таких систем для блочного шифрования ограничено лишь распределением ключей, аутентификацией и формированием цифровой подписи.
Системы шифрования на основе свертки встречаются в различных практических вариантах. Применение криптографических систем блочного шифрования в сочетании со сверткой дает ряд преимуществ [6].
Возможность использования для обнаружения манипуляций с сообщениями, производимых активными перехватчиками. При этом используется факт размножения ошибок, а также способность этих систем генерировать код аутентификации сообщений.
Такие шифры, в отличие от блочных, могут не требовать начальной синхронизации. Это значит, что если какая-то часть сообщения будет пропущена при приеме, то оставшаяся часть его все равно может быть расшифрована.
Недостатки:
Размножение ошибок. Один ошибочный бит при передаче вызовет блок ошибок в расшифрованном тексте. При этом требование увеличения зависимости одного знака текста шифровки от как можно более длинного его предшествующего участка повышает криптографическую стойкость, но противоречит требованию надежности, связанному с размножением ошибок.
Разработка и реализация систем шифрования с обратной связью оказывается более трудным, чем систем потокового шифрования.
Размножение ошибок может быть и положительным свойством, если важно, чтобы данные принимались точно и даже одна ошибка в них недопустима. Так как сплошной поток ошибок может быть обнаружен несравненно легче, чем одиночный сбой, то в данном случае размножение ошибок уже не является недостатком шифра.
Стоит упомянуть особый вид сверточного шифрования, представляющий большой практический интерес [28]. В простейшем случае имеем код со скоростью X. Это означает, что каждый бит сообщения ti на выходе схемы кодирования заменяется на два бита, например, ti+ti-1 и ti+ti-1+ti-2. Декодирование этого кода сложно и осуществляется обычно методом динамического программирования. При этом достаточно сохранять в памяти лишь четыре варианта возможных входных последовательностей. В процессе декодирования сохраняются лишь те варианты, которые лучше согласованы с входными данными. Для сверточных кодов со скоростью k/n на k входных бит приходится n выходных комбинаций этих бит. Есть возможность случайным образом управлять этими комбинациями, что и приводит к особому виду шифрования. Его свойства следующие.
Декодирование этого шифра сложно, но может быть выполнено в реальном времени с минимальной задержкой.
Есть возможность создания шифров, устраняющих ошибки.
Можно управлять размножением ошибок. Например, выбор выходных комбинаций бит ti+ti-1 и ti+ti-2 в коде со скоростью X при двух искажениях в трех последовательных битах приводит к тому, что ошибки начнут катастрофически размножаться.
Таким образом, существует возможность реализации в одном алгоритме целого набора шифров, резко различающихся по своим свойствам. К недостаткам таких шифров относят увеличение объема сообщения с преобразованием его в шифровку и сложность схемы декодирования при больших значениях n. Однако эти недостатки не настолько серьезны, чтобы исключить возможность применения указанной схемы в связных коммуникациях или аппаратуре ЭВМ.
В большинстве практических криптографических систем применяются алгоритмы или потокового шифрования, или шифрования со сверткой. Большинство систем потокового шифрования использует оригинальные алгоритмы для коммерческого сектора или секретные правительственные алгоритмы. Такое положение сохранится в ближайшие годы [11, 13].
Возможно, что большинство систем шифрования со сверткой будет основано на применении алгоритмов блочного шифрования в специальном варианте (например, DES).
О других методах шифрования можно сказать, что они еще не полностью выдержали испытания временем, хотя обойтись без них уже нельзя (речь идет о системах с открытым ключом). Следовательно, приходится выбирать между системами потокового шифрования и системами шифрования со сверткой, основанными на применении алгоритмов блочного шифрования типа DES. Но существуют области применения (например, финансовые операции), где вполне возможно использование методов простейшего блочного шифрования.
Таблица 2 - Основные данные для выбора типа криптографической системы
Тип систем |
Размножение ошибок |
Аутентификация |
Алгоритм |
Скорость |
|
Потоковые |
Нет |
Нет |
Нет типовых |
Большая |
|
Блочные |
Есть |
Нет |
DES и аналоги |
Большая |
|
С открытым ключом |
Есть |
Есть |
RSA, ЭльГамаля |
Очень низкая |
|
Сверточные |
Есть |
Есть |
Делаются на основе блочных |
Большая |
Выбор криптографического алгоритма зависит от его назначения. Данные, которыми можно руководствоваться при выборе типа криптографической системы, приведены в следующей таблице (табл. 2) [10, 19].
К характеристикам, влияющим на выбор типа криптографической системы, в первую очередь относится требуемая скорость шифрования (например, при допустимой низкой скорости можно использовать систему RSA). Системы блочного шифрования в программном варианте относятся к низкоскоростным, но в аппаратном варианте (например, по алгоритму DES) может работать почти с любыми скоростями (табл. 3) [19].
Таблица 3 - Характеристика криптографических алгоритмов
Характеристика |
DES |
RSA |
|
Скорость работыИспользуемая функцияДлина ключаНаименее затратный криптоанализВременные затраты на криптоанализВремя генерации ключаТип ключа |
БыстраяПерестановка и подстановка56 битПеребор по всему ключевому пространствуСтолетияМиллисекундыСимметричный |
МедленнаяВозведение в степень300...600 битРазложение модуляЗависят от длины ключаДесятки секундАсимметричный |
Если требуются очень высокие скорости, то лучшей может быть система потокового шифрования с высоким быстродействием как в программном, так и в аппаратном вариантах.
Если требуется аутентификация, то должны применяться системы со сверткой текста шифровки или открытым ключом.
Если имеющийся канал связи относится к каналам, подверженным ошибкам, которые не должны размножаться криптографической системой, то выбору системы потокового шифрования нет альтернативы.
2.1 Криптографические средства защиты
Криптографическими средствами защиты называются специальные средства и методы преобразования информации, в результате которых маскируется ее содержание [2, 4, 6]. Основными видами криптографического закрытия являются шифрование и кодирование защищаемых данных. При этом шифрование есть такой вид закрытия, при котором самостоятельному преобразованию подвергается каждый символ закрываемых данных; при кодировании защищаемые данные делятся на блоки, имеющие смысловое значение, и каждый такой блок заменяется цифровым, буквенным или комбинированным кодом. При этом используется несколько различных систем шифрования: заменой, перестановкой, гаммированием, аналитическим преобразованием шифруемых данных. Широкое распространение получили комбинированные шифры, когда исходный текст последовательно преобразуется с использованием двух или даже трех различных шифров [12, 13].
2.1.1 Принципы работы криптосистемы
Типичный пример изображения ситуации, в которой возникает задача криптографии (шифрования) изображён на рисунке 2 [17]:
Рисунок 2 - Задача криптографии
На рисунке 2 А и В - законные пользователи защищённой информации, они хотят обмениваться информацией по общедоступному каналу связи.
П - незаконный пользователь (противник, хакер), который хочет перехватывать передаваемые по каналу связи сообщения и попытаться извлечь из них интересную для него информацию. Эту простую схему можно считать моделью типичной ситуации, в которой применяются криптографические методы защиты информации или просто шифрование.
Исторически в криптографии закрепились некоторые военные слова (противник, атака на шифр и др.). Они наиболее точно отражают смысл соответствующих криптографических понятий. Вместе с тем широко известная военная терминология, основанная на понятии кода (военно-морские коды, коды Генерального штаба, кодовые книги, кодообозначения и т. п.), уже не применяется в теоретической криптографии. Дело в том, что за последние десятилетия сформировалась теория кодирования - большое научное направление, которое разрабатывает и изучает методы защиты информации от случайных искажений в каналах связи [20].
Криптография занимается методами преобразования информации, которые бы не позволили противнику извлечь ее из перехватываемых сообщений. При этом по каналу связи передается уже не сама защищаемая информация, а результат ее преобразования с помощью шифра, и для противника возникает сложная задача вскрытия шифра. Вскрытие (взламывание) шифра - процесс получения защищаемой информации из шифрованного сообщения без знания примененного шифра. Противник может пытаться не получить, а уничтожить или модифицировать защищаемую информацию в процессе ее передачи. Это - совсем другой тип угроз для информация, отличный от перехвата и вскрытия шифра. Для защиты от таких угроз разрабатываются свои специфические методы. Следовательно, на пути от одного законного пользователя к другому информация должна защищаться различными способами, противостоящими различным угрозам. Возникает ситуация цепи из разнотипных звеньев, которая защищает информацию. Естественно, противник будет стремиться найти самое слабое звено, чтобы с наименьшими затратами добраться до информации. А значит, и законные пользователи должны учитывать это обстоятельство в своей стратегии защиты: бессмысленно делать какое-то звено очень прочным, если есть заведомо более слабые звенья ("принцип равнопрочности защиты").
Придумывание хорошего шифра дело трудоемкое. Поэтому желательно увеличить время жизни хорошего шифра и использовать его для шифрования как можно большего количества сообщений. Но при этом возникает опасность, что противник уже разгадал (вскрыл) шифр и читает защищаемую информацию. Если же в шифре сеть сменный ключ то, заменив ключ, можно сделать так, что разработанные противником методы уже не дают эффекта.
2.1.2 Управление криптографическими ключами
Под ключом в криптографии понимают сменный элемент шифра, который применяется для шифрования конкретного сообщения. В последнее время безопасность защищаемой информации стала определяться в первую очередь ключом [7, 8]. Сам шифр, шифрмашина или принцип шифрования стали считать известными противнику и доступными для предварительного изучения, но в них появился неизвестный для противника ключ, от которого существенно зависят применяемые преобразования информации. Теперь законные пользователи, прежде чем обмениваться шифрованными сообщениями, должны тайно от противника обменяться ключами или установить одинаковый ключ на обоих концах канала связи. А для противника появилась новая задача - определить ключ, после чего можно легко прочитать зашифрованные на этом ключе сообщения.
Вернемся к формальному описанию основного объекта криптографии (рис.2) [17]. Теперь в него необходимо внести существенное изменение - добавить недоступный для противника секретный канал связи для обмена ключами (рисунок 3) [17].
Рисунок 3 - Секретный канал связи для обмена ключами
Создать такой канал связи вполне реально, поскольку нагрузка на него, вообще говоря, небольшая. Отметим теперь, что не существует единого шифра, подходящего для всех случаев. Выбор способа шифрования зависит от особенностей информации, ее ценности и возможностей владельцев по защите своей информации. Прежде всего подчеркнем большое разнообразие видов защищаемой информации: документальная, телефонная, телевизионная, компьютерная и т.д. Каждый вид информации имеет свои специфические особенности, и эти особенности сильно влияют на выбор методов шифрования информации. Большое значение имеют объемы и требуемая скорость передачи шифрованной информации. Выбор вида шифра и его параметров существенно зависит от характера защищаемых секретов или тайны. Некоторые тайны (например, государственные, военные и др.) должны сохраняться десятилетиями, а некоторые (например, биржевые) - уже через несколько часов можно разгласить. Необходимо учитывать также и возможности того противника, от которого защищается данная информация. Одно дело- противостоять одиночке или даже банде уголовников, а другое дело - мощной государственной структуре.
Любая современная криптографическая система основана (построена) на использовании криптографических ключей [23]. Она работает по определенной методологии (процедуре), состоящей из: одного или более алгоритмов шифрования (математических формул); ключей, используемых этими алгоритмами шифрования; системы управления ключами; незашифрованного текста; и зашифрованного текста (шифртекста).
Рассмотренные значения стойкости шифров являются потенциальными величинами. Они могут быть реализованы при строгом соблюдении правил использования криптографических средств защиты.
Основные правила криптозащиты [23, 25]:
1. Сохранение в тайне ключей.
2. Исключение дублирования.
3. Достаточно частая смена ключей.
Под дублированием здесь понимается повторное шифрование одного и того же отрывка текста с использованием тех же ключей (например, если при первом шифровании произошел сбой). Нарушение этого правила резко снижает надежность шифрования, так как исходный текст может быть восстановлен с помощью статистического анализа двух вариантов зашифрованного текста.
Важнейшим правилом криптозащиты является достаточно частая смена ключей [25]. Причем частота может определяться исходя из длительности использования ключа или исходя из объема зашифрованного текста. При этом смена ключей по временному графику является защитной мерой против возможного их хищения, смена после шифрования определенного объема текста - от раскрытия шифра статистическими методами.
Нельзя допускать злоумышленнику возможности направить в систему ряд специально подобранных сообщений и получать их в зашифрованном виде. Такого взлома не может выдержать ни одна криптосистема!
Важными аспектами организации криптозащиты являются выбор способа закрытия, распределение ключей и доставка их в места пользования (механизм распределения ключей).
Выбор способа защиты тесно связан с трудоемкостью метода шифрования, степенью секретности закрываемых данных, стойкостью метода и объемом шифруемой информации [21].
Один из принципов криптографии является предположение о несекретности метода закрытия информации. Предполагается, что необходимая надежность закрытия обеспечивается только за счет сохранения в тайне ключей. Отсюда вытекает принципиальная важность формирования ключей, распределения их и доставка в пункты назначения. Основными правилами механизма распределения ключей являются [21, 26]:
1. Ключи должны выбираться случайно.
2. Выбранные ключи должны распределяться таким образом, чтобы не было закономерностей в изменении ключей от пользователя к пользователю.
3. Должна быть обеспечена тайна ключей на всех этапах функционирования системы. Ключи должны передаваться по линиям связи, почте или курьерами в зашифрованном виде с помощью другого ключа. На практике часто образуется иерархия ключей шифрования, в которой ключи нижнего уровня при пересылке шифруются с помощью ключей верхнего уровня. Ключ в вершине иерархии не шифруется, а задается и хранится у доверенного лица, рассылается пользователям курьерами. Чем ниже уровень ключа, тем чаще он меняется и рассылается по линиям связи. Подобная схема шифрования ключей часто используется в сетях.
2.2 Методология симметричной системы шифрования
Для шифрования, и для расшифровки отправителем и получателем применяется один и тот же ключ, об использовании которого они договорились до начала взаимодействия [30]. Если ключ не был скомпрометирован, то при расшифровке автоматически выполняется аутентификация отправителя, так как только отправитель имеет ключ, с помощью которого можно зашифровать информацию, и только получатель имеет ключ, с помощью которого можно расшифровать информацию. Так как отправитель и получатель - единственные люди, которые знают этот симметричный ключ, при компрометации ключа будет скомпрометировано только взаимодействие этих двух пользователей. Проблемой, которая будет актуальна и для других криптосистем, является вопрос о том, как безопасно распространять симметричные (секретные) ключи.
Алгоритмы симметричного шифрования используют ключи не очень большой длины и могут быстро шифровать большие объемы данных.
Порядок использования систем с симметричными ключами [30]:
Безопасно создается, распространяется и сохраняется симметричный секретный ключ.
Отправитель создает электронную подпись с помощью расчета хэш-функции для текста и присоединения полученной строки к тексту
Отправитель использует быстрый симметричный алгоритм шифрования-расшифровки вместе с секретным симметричным ключом к полученному пакету (тексту вместе с присоединенной электронной подписью) для получения зашифрованного текста. Неявно таким образом производится аудентификация, так как только отправитель знает симметричный секретный ключ и может зашифровать этот пакет. Только получатель знает симметричный секретный ключ и может расшифровать этот пакет.
Отправитель передает зашифрованный текст. Симметричный секретный ключ никогда не передается по незащищенным каналам связи.
Получатель использует тот же самый симметричный алгоритм шифрования-расшифровки вместе с тем же самым симметричным ключом (который уже есть у получателя) к зашифрованному тексту для восстановления исходного текста и электронной подписи. Его успешное восстановление аутентифицирует кого-то, кто знает секретный ключ.
Получатель сравнивает две этих электронных подписи для проверки целостности сообщения (отсутствия его искажения).
Доступными сегодня средствами, в которых используется симметричная методология, являются [10, 18]:
-Kerberos, который был разработан для аутентификации доступа к ресурсам в сети, а не для верификации данных.
Он использует центральную базу данных, в которой хранятся копии секретных ключей всех пользователей.
-Сети банкоматов (ATM Banking Networks).
Эти системы являются оригинальными разработками владеющих ими банков и не продаются. В них также используются симметричные методологии.
2.3 Порядок шифрования при помощи шифров
На следующем ниже рисунке 4 приведена схема преобразования данных при шифровании [5]:
Рисунок 4 - Схема преобразования данных при шифровании
Изначально шифрование использовалось для защиты передаваемых сообщений от обеих указанных угроз, однако позднее было показано, что оно может защитить данные от несанкционированной модификации только если выполнены определенные условия, а именно:
- шифруемое сообщение содержит большую избыточность;
- процесс шифрования хорошо "перемешивает" структурные единицы сообщения (биты, символы и т.д.).
Каким же условиям должен удовлетворять шифр? Ну прежде всего, процедура расшифрования должна всегда восстанавливать открытое сообщение в его исходном виде. Иными словами, для каждого допустимого сообщения T преобразования зашифрования и расшифрования должны удовлетворять следующему свойству:
T = D(E(T)) (1)
Второе условие, которому должен удовлетворять шифр, следующее: он должен шифровать данные, то есть делать их непонятными для непосвященного.
Другими словами, не должно существовать легко прослеживаемых связей между исходными и зашифрованными данными. Кроме того, шифр должен быть криптостойким, то есть устойчивым к попыткам дешифрования сообщений [22]. Понятно, что вопрос стойкости шифров является главным в этой отрасли криптографии, и его рассмотрение мы начнем с выяснения того, что же может служить мерой стойкости.
Отправленное сообщение до поступления к получателю является для него и, естественно, для злоумышленника неопределенным - если это было бы не так, тогда не было бы вообще никакого смысла его посылать.
Пусть возможна отправка сообщений T1,T2,...,Tn с вероятностью p1, p2,..., pn соответственно. Тогда мерой неопределенности сообщения для всех, кто обладает этой априорной информацией, может служить величина математического ожидания логарифма вероятности одного сообщения, взятая со знаком "минус"; по некоторым соображениям в качестве основания логарифма удобно выбрать 2:
(2)
Эта величина имеет вполне понятный физический смысл: количество битов информации, которое необходимо в среднем передать, чтобы полностью устранить неопределенность [22]. Если никакой априорной информации о сообщении нет кроме его размера в N бит, то все возможные из 2N вариантов считаются равновероятными и тогда неопределенность сообщения равна его размеру:
H(T) = -2N·2-N·log2(2-N) = N = | T |, (3)
где через | Т | обозначен размер блока данных Т в битах. А если об исходном тексте неизвестно вообще ничего, даже его размер? В этом случае все равно необходимо принять за основу какую-либо модель распределения. Как правило, в реальности подобных трудностей не возникает, поскольку многие весьма стойкие шифры «не считают нужным» скрывать размер шифруемого сообщения, так как в этом действительно почти никогда нет особой необходимости, и эта характеристика априорно считается известной злоумышленнику. Там же, где этот размер все же реально необходимо скрыть, все сообщения перед зашифрованием преобразуются в массивы данных одной и той же длины, и мы опять получаем рассмотренную выше ситуацию.
После перехвата шифротекста эта величина, естественно, может измениться, теперь она становится апостериорной ("послеопытной") условной неопределенностью - условием здесь является перехваченное шифрованное сообщение T'. Теперь она задается следующей формулой:
(4)
где через p ( Ti | T' ) обозначена вероятность того, что исходное сообщение есть Ti при условии, что результат его зашифрования есть T'.
Одной из важнейших характеристик качества шифра служит количество информации об исходном тексте, которое злоумышленник может извлечь из перехваченного шифротекста - оно находится как разность между априорной и апостериорной неопределенностью исходного сообщения [6]:
I = H(T ) - H(T | T' ). (5)
Эта величина всегда неотрицательна. Показателем здесь является то, насколько уменьшится - понятно, что увеличиться она не может - неопределенность исходного текста при получении соответствующего шифротекста по сравнению с априорной неопределенностью, и не станет ли она меньше минимально допустимой величины.
В наилучшем для разработчиков шифра случае обе эти неопределенности равны:
H(T | T') = H(T), (6)
то есть злоумышленник не может извлечь никакой полезной для себя информации об открытом тексте из перехваченного шифротекста: I = 0. Иными словами, знание шифротекста не позволяет уменьшить неопределенность соответствующего открытого текста, улучшить его оценку и увеличить вероятность его правильного определения. Шифры, удовлетворяющие данному условию, называются абсолютно стойкими или совершенными шифрами, так как зашифрованные с их применением сообщения не только не могут быть дешифрованы в принципе, но злоумышленник даже не сможет приблизиться к успешному определению исходного текста, то есть увеличить вероятность его правильного дешифрования [6, 31].
Естественно, основной вопрос, который интересовал криптографов, это существуют ли на практике абсолютно стойкие шифры. Специалистам было интуитивно понятно, что они существуют, и пример подобного шифра привел Вернам более чем за два десятилетия до того, как один из основоположников теории информации К.Шеннон формально доказал их существование. В этом доказательстве Шеннон также получил и необходимое условие абсолютной стойкости шифра [6]:
Для того, чтобы шифр был абсолютно стойким, необходимо, чтобы неопределенность алгоритма шифрования была не меньше неопределенности шифруемого сообщения.
Неопределенность алгоритма шифрования определяется точно так же, как и неопределенность сообщения - математическое ожидание двоичного логарифма вероятности использования алгоритма со знаком минус, - и имеет смысл только в том случае, если определено множество возможных алгоритмов и задана вероятность использования каждого из них. Стойкость шифров основана на секретности, то есть на неопределенности для злоумышленника алгоритма расшифрования - если бы это было не так, любой бы мог расшифровать зашифрованные данные. Чем меньше знает злоумышленник о шифре, тем менее вероятно успешное дешифрование сообщения. Поясним сказанное на примере [6]: пусть перехвачена короткая 12-битовая шифровка, имеющая следующее содержание: 1 0 0 1 0 1 1 1 0 1 0 1
Для простоты предположим, что исходное сообщение имеет ту же длину. Если у злоумышленника нет никаких априорных сведений о зашифрованном сообщении, для него каждый из 212 исходных вариантов равновероятен, и, таким образом, вероятность правильно определить исходное сообщение простым угадыванием равна 2-12. Предположим теперь, что злоумышленнику априорно известно, что зашифрование является наложением одной и той же 4-битовой маски на каждую 4-битовую группу сообщения с помощью операции побитового исключающего или. Очевидно, возможно 16 = 24 различных вариантов битовой маски, соответственно, возможно 16 различных значений исходного текста:
маска исходный текст
0000 100101110101
0001 100001100100
0010 101101010110
.....
1111 011010001010
Таким образом, теперь вероятность правильно угадать исходный текст равна 1/16 - знание особенности использованного способа шифрования повысило ее в 256 раз. Отсюда следует интересный вывод: чем больше неопределенность в шифрующем преобразовании для постороннего лица, тем дальше оно стоит от разгадки шифра, тем шифр надежнее.
2.4 Методы анализа шифров
Способность шифра противостоять всевозможным атакам на него называют стойкостью шифра [11, 14]. Под атакой на шифр понимают попытку вскрытия этого шифра. Понятие стойкости шифра является центральным для криптографии. Хотя качественно понять его довольно легко, но получение строгих доказуемых оценок стойкости для каждого конкретного шифра - проблема нерешенная. Это объясняется тем, что до сих пор нет необходимых для решения такой проблемы математических результатов. Поэтому стойкость конкретного шифра оценивается только путем всевозможных попыток его вскрытия и зависит от квалификации криптоаналитиков, атакующих шифр. Такую процедуру иногда называют проверкой стойкости. Важным подготовительным этапом для проверки стойкости шифра является продумывание различных предполагаемых возможностей, с помощью которых противник может атаковать шифр. Появление таких возможностей у противника обычно не зависит от криптографии, это является некоторой внешней подсказкой и существенно влияет на стойкость шифра. Поэтому оценки стойкости шифра всегда содержат те предположения о целях и возможностях противника, в условиях которых эти оценки получены. Прежде всего, как это уже отмечалось выше, обычно считается, что противник знает сам шифр и имеет возможности для его предварительного изучения. Противник также знает некоторые характеристики открытых текстов, например, общую тематику сообщений, их стиль, некоторые стандарты, форматы и т.д.
Из более специфических приведем еще три примера возможностей противника [14]:
противник может перехватывать все шифрованные сообщения, но не имеет соответствующих им открытых текстов;
Подобные документы
Автоматизация процесса шифрования на базе современных информационных технологий. Криптографические средства защиты. Управление криптографическими ключами. Сравнение симметричных и асимметричных алгоритмов шифрования. Программы шифрования информации.
курсовая работа [795,7 K], добавлен 02.12.2014Виды угроз безопасности в экономических информационных системах, проблема создания и выбора средств их защиты. Механизмы шифрования и основные виды защиты, используемые в автоматизированных информационных технологиях (АИТ). Признаки современных АИТ.
курсовая работа [50,8 K], добавлен 28.08.2011Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.
курсовая работа [101,1 K], добавлен 09.03.2009Основные методы криптографической защиты информации. Система шифрования Цезаря числовым ключом. Алгоритмы двойных перестановок и магические квадраты. Схема шифрования Эль Гамаля. Метод одиночной перестановки по ключу. Криптосистема шифрования данных RSA.
лабораторная работа [24,3 K], добавлен 20.02.2014Предотвращение угроз информационной безопасности. Использование криптографических методов защиты в информационных системах. Разработка блока обратного преобразования для системы нелинейного шифрования на основе операции возведения в степень по модулю.
дипломная работа [565,1 K], добавлен 01.07.2011Понятие шифров сложной замены. Шифры сложной замены называют многоалфавитными. Данная подстановка последовательно и циклически меняет используемые алфавиты. Понятие схемы шифрования Вижинера. Стойкость шифрования методом гаммирования и свойство гаммы.
реферат [52,2 K], добавлен 22.06.2010Современные физические и законодательные методы защиты информации. Внедрение системы безопасности. Управление доступом. Основные направления использования криптографических методов. Использование шифрования, кодирования и иного преобразования информации.
реферат [17,4 K], добавлен 16.05.2015Краткая история развития криптографических методов защиты информации. Сущность шифрования и криптографии с симметричными ключами. Описание аналитических и аддитивных методов шифрования. Методы криптографии с открытыми ключами и цифровые сертификаты.
курсовая работа [1,2 M], добавлен 28.12.2014Криптография и шифрование. Симметричные и асимметричные криптосистемы. Основные современные методы шифрования. Алгоритмы шифрования: замены (подстановки), перестановки, гаммирования. Комбинированные методы шифрования. Программные шифраторы.
реферат [57,7 K], добавлен 24.05.2005Симметричные криптосистемы; алгоритмы шифрования и дешифрования данных, их применение в компьютерной технике в системах защиты конфиденциальной и коммерческой информации. Основные режимы работы алгоритма DES, разработка программной реализации ключа.
курсовая работа [129,6 K], добавлен 17.02.2011