Разработка рекомендаций по совершенствованию модели безопасности компьютерной системы

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 12.02.2014
Размер файла 822,0 K

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

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

Размещено на http://www.allbest.ru/

48

  • Содержание
  • Введение
  • 1. Общая модель безопасного обмена информацией
  • 1.1 Основы криптологии
  • 1.2 Оценка надежности криптоалгоритмов
  • 1.3 Классификация методов шифрования информации
  • 1.4 Абсолютно стойкий шифр
  • 1.5 Задача аутентификации информации
  • 1.6 Защита от случайных искажений
  • 1.7 Контроль целостности с использованием криптографических методов
  • 1.8 Выводы
  • 2. Определение вероятностных характеристик двоичного канала
  • 2.1 Постановка задачи
  • 2.2 Основные понятия помехоустойчивого кодирования
  • 2.3 Вероятностные характеристики при полностью известном сигнале
  • 2.4 Прием сигналов с неопределенной фазой
  • 2.5 Выводы
  • 3. Оценка качества приема кодограмм со стиранием
  • 3.1 Оценка оптимального когерентного приема
  • 3.2 Оценка оптимального некогерентного приема
  • 3.3 Выводы
  • Заключение
  • Список используемых источников

Введение

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

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

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

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

Важнейшей характеристикой любой компьютерной системы независимо от ее сложности и назначения становится безопасность циркулирующей в ней информации. В первую очередь это объясняется все ускоряющимися темпами научно-технического прогресса, результатом которого являются все более совершенные компьютерные технологии. Их появление не только ставит новые проблемы обеспечения безопасности, но и представляет, казалось бы, уже решенные вопросы в совершенно новом ракурсе [3, 12]. Как отмечается в [4, 10, 16, 17], трудоемкости решения задачи защиты информации также способствуют:

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

сосредоточение в единых базах данных информации различного назначения и принадлежности;

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

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

увеличение количества технических средств и связей в АСОД;

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

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

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

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

Целью создания любой системы безопасности является предупреждение последствий умышленных (преднамеренных) и случайных деструктивных воздействий, следствием которых могут быть разрушение, модификация или утечка информации, а также дезинформация [10, 15]. В том случае, если объект атаки противника -- какой-то из компонентов системы (аппаратные средства или ПО), можно говорить о прерывании, когда компонент системы становится недоступен, теряет работоспособность или попросту утрачивается в результате обычной кражи; перехвате и/или модификации, когда противник получает доступ к компоненту и/или возможность манипулировать им; подделке, когда противнику удается добавить в систему некий компонент или процесс (разрушающее программное воздействие), файлы или записи в них [4]. Эффективная система безопасности должна обеспечивать [10]:

секретность всей информации или наиболее важной ее части;

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

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

защиту авторских прав, прав собственников информации, возможностъ разрешения конфликтов;

разграничение ответственности за нарушение установленных правил информационных отношений;

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

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

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

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

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

Цель работы - разработка рекомендаций по совершенствованию модели безопасности компьютерной системы.

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

рассмотреть общую модель безопасного обмена информацией;

выявить вероятностные характеристики двоичного канала;

проанализировать прием кодограмм со стиранием;

разработать рекомендации по совершенствованию модели безопасности.

Работа состоит из введения, трех глав, заключения и списка литературы.

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

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

Во второй главе рассмотрены вопросы определения вероятностных характеристик двоичного канала.

В третьей главе оценивается прием кодограмм со стиранием и рекомендации по совершенствованию модели безопасности.

Заключение содержит основные выводы и подводит итог проделанной работы.

1. Общая модель безопасного обмена информацией

1.1 Основы криптологии

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

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

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

1.2 Оценка надежности криптоалгоритмов

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

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

Методы оценки качества криптоалгоритмов, используемые на практике [7, 9]:

1) всевозможные попытки их вскрытия;

2) анализ сложности алгоритма дешифрования;

З) оценка статистической безопасности шифра.

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

противник может перехватывать все зашифрованные сообщения, но не имеет соответствующих им открытых текстов;

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

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

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

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

Алгоритм полного перебора по всему ключевому пространству -- это пример так называемого экспоненциального алгоритма. Если сложность алгоритма выражается неким многочленом (полиномом) от n, где п число элементарных операций, такой алгоритм носит название полиномиального. Пример полиномиального алгоритма -- алгоритм умножения столбиком двух п -разрядных двоичных чисел, требующий выполнения п2 элементарных, битовых, операций умножения [7].

В третьем случае считается, что надежная криптосистема с точки зрения противника является «черным ящиком», входная и выходная информационные последовательности которого взаимно независимы, при этом выходная зашифрованная последовательность является псевдослучайной. Поэтому смысл испытаний заключается в проведении статистических тестов, устанавливающих зависимости изменений в зашифрованном тексте от изменений символов или битов в исходном тексте или ключе, а также анализирующих, насколько выходная зашифрованная последовательность по своим статистическим свойствам приближается к истинно случайной последовательности. Случайность текста шифровки можно приближенно оценивать степенью ее сжатия при использовании алгоритма Лемпела--Зива, применяемого в архиваторах IВМ РС. Как отмечается в [9], если степень сжатия больше 10% криптосистема несостоятельна.

Необходимые условия стойкости криптосистемы, проверяемые статистическими методами:

отсутствие статистической зависимости между входной и выходной последовательностями

выходная последовательность по своим статистическим свойствам должна быть похожа на истинно случайную последовательность;

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

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

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

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

особенностью защищаемой информации;

особенностями среды хранения или передачи информации;

ценностью информации, характером защищаемых секретов, временем обеспечения секретности;

объемами информации, скоростью ее передачи, степенью оперативности ее предоставления пользователю;

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

характером угроз, возможностями противника.

1.3 Классификация методов шифрования информации

На рисунке 1.1 показаны основные объекты изучения классической криптографии, где А и В -- законные пользователи, W -- противник или криптоаналитик. Учитывая, что схема на рисунке 1.1,а фактически является частным случаем схемы на рисунке 1.1,б при В=А, в дальнейшем будет рассматриваться только она.

Рисунок 1.1

Процедуры зашифрования (encryption) и расшифрования (decryption) можно представить в следующем виде:

с=Ek(p);

p=Dk(c);

где p и с -- открытый (р1аintеxt) и зашифрованный (сiрhertext) тексты,

ke и kd -- ключи зашифрования и расшифрования; Ek и Dk функции зашифрования с ключом ke и расшифрования с ключом kd соответственно, причем для любого открытого текста p справедливо

Dk(Ek(p))=p.

На рисунке 1.2 приведена классификация методов шифрования информации. Различают два типа алгоритмов шифрования: симметричные (с секретным ключом) и асимметричные (с открытым ключом). В первом случае обычно ключ расшифрования совпадает с ключом зашифрования, т.е.

ke=kd=k

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

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

1.4 Абсолютно стойкий шифр

Простейшей и в то же время наиболее надежной изо всех схем шифрования является так называемая схема однократного использования, изобретение которой чаще всего связывают с именем Г.С. Вернама [13]. Формируется m-разрядная случайная двоичная последовательность - ключ шифра, известный отправителю и получателю сообщения. Отправитель производит побитовое сложение по модулю 2 ключа и m-разрядной двоичной последовательности, соответствующей передаваемому сообщению

сi=pi?ki, i=1,…, m.

где pi, ki и сi - очередной i-й бит соответственно исходного сообщения, ключа и зашифрованного сообщения, m - число бит исходного текста. Процесс расшифрования сводится к повторной генерации ключевой последовательности и наложению ее на зашифрованные данные. Уравнение расшифрования имеет вид

pi=ciЕki, i=1,…, m.

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

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

Необходимые и достаточные условия абсолютной стойкости шифра:

полная случайность ключа;

равенство длин ключа и открытого текста;

однократное использование ключа.

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

Таким образом, построить эффективный криптоалгоритм можно, лишь отказавшись от абсолютной стойкости. Возникает задача разработки такого теоретически нестойкого шифра, для вскрытия которого противнику потребовалось бы выполнить такое число операций, которое неосуществимо на современных и ожидаемых в ближайшей перспективе вычислительных средствах за разумное время. В первую очередь представляет интерес схема, использующая ключ небольшой разрядности, который в дальнейшем выполняет функцию «зародыша», порождающего значительно более длинную ключевую последовательность - генератора псевдослучайных кодов. Последовательность называется псевдослучайной, если по своим статистическим свойствам она неотличима от истинно случайной последовательности, но в отличие от последней является детерминированной, т.е. знание алгоритма ее формирования дает возможность ее повторения необходимое число раз [12]. В общем случае символы исходного алфавита в цифровом виде и символы гаммы складываются по модулю числа элементов алфавита. Возможно использование при гаммировании и других логических операций.

1.5 Задача аутентификации информации

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

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

Для обнаружения искажений в распоряжении законного пользователя должна быть некоторая процедура проверки T(p), дающая на выходе 1, если в массиве данных p отсутствуют искажения, или 0, если такие искажения имеют место. Для ограничения возможностей противника по подбору информационной последовательности pў, pў№ p, такой, что T(pў)=1, идеальная процедура такой проверки должна обладать следующими свойствами:

невозможность найти такое сообщение pў способом более эффективным, чем полный перебор по множеству допустимых значений p;

вероятность успешно пройти проверку у случайно выбранного сообщения pў не должна превышать заранее установленного значения.

Вследствие того, что в общем случае все возможные значения p могут являться допустимыми, второе требование требует внесения избыточности в защищаемый массив данных. При этом чем больше разница N между размером преобразованного избыточного p* и размером исходного массивов p, тем меньше вероятность принять искаженные данные за подлинные. Она составляет величину 2-N.

Варианты внесения избыточности с использованием шифрования (рисунок 1.2), с формированием контрольного кода (рисунок 1.3) и с формированием контрольного кода и зашифрованием (рисунок 1.4) схематично показаны на рисунке 1.2-1.4.

Размещено на http://www.allbest.ru/

48

Рисунок 1.2

Размещено на http://www.allbest.ru/

48

Рисунок 1.3

Размещено на http://www.allbest.ru/

48

Рисунок 1.4

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

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

Выделение исходных данных из преобразованного массива p* является простым отбрасыванием контрольного кода s. Проверка целостности заключается в вычислении для содержательной части p* полученного массива данных контрольного кода s?=f(p?) и сравнения его с переданным значением s. Если они совпадают, сообщение считается подлинным, в противном случае - ложным:

Функция f формирования контрольного кода должна удовлетворять следующим требованиям:

она должна быть вычислительно необратимой;

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

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

1.6 Защита от случайных искажений

Основным средством защиты информации от случайных искажений являются помехоустойчивые коды. Наиболее ярким представителем являются CRC- коды (cyclic redundancy code). Циклические коды обладают рядом достоинств:

высокая достоверность обнаружения искажений;

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

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

простота аппаратной реализации и удобство интегрального исполнения;

простота программной реализации.

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

Контроль целостности осуществляется с помощью генератора CRC -кода, построенного на основе регистра сдвига с обратными связями, реализованными в соответствии с характеристическим многочленом. Исходное состояние ячеек памяти регистра выбирается нулевым. Анализируемая двоичная последовательность преобразуется в короткий (обычно в 16- или 32-разрядный) двоичный код - CRC -код. Значение полученного CRC -кода сравнивается с эталонным значением, полученным заранее для последовательности без искажений. По результатам сравнения делается вывод о наличии или отсутствии искажений в анализируемой последовательности.

Рассмотрим схему генератора CRC-кода с характеристическим многочленом . Под регистром сдвига понимают электронную схему, позволяющую вырабатывать последовательность, определенную линейным рекуррентным уравнением [16]. Физическая реализация электронной схемы составляется из двух элементов. Один из этих элементов называют сумматором, второй - задержкой или ячейкой памяти (рисунок 1.5)

Размещено на http://www.allbest.ru/

48

Рисунок 1.5

Сумматор имеет два входа и один выход. Если на оба входа сумматора подаются одинаковые сигналы (0 и 0 или 1 и 1), то на выход подается 0; если на входы подаются разные сигналы (0 и 1 или 1 и 0), то на выход передается 1. Таким образом, сумматор реализует двоичную функцию - сумму по модулю 2. Задержка имеет один вход и один выход. Ячейка памяти работает по тактовым импульсам: она запоминает информацию, поступающую на ее вход, на выход ячейки поступает информация, задержанная на один такт (предшествующее состояние ячейки).

Самыми простыми схемами, используемыми в качестве базовых при построении других, более стойких, поточных шифров, являются линейные регистры сдвига (ЛРС), представляющие из себя несколько (от 20 до 100) ячеек памяти, в каждой из которых может храниться один бит информации. Совокупность бит, находящихся в данный момент в ЛРС, называется его состоянием. Для выработки очередного бита циркулирующей последовательности, т.е. гаммы, ЛРС при поступлении тактового импульса производит один цикл преобразований, называемый тактом. Схематично линейный регистр сдвига показан на рисунке 1.6.

Размещено на http://www.allbest.ru/

48

Рисунок 1.6

Число бит, охваченных в ЛРС обратной связью, называется его разрядностью. На вход генератора поступает анализируемая двоичная последовательность длиной m

Ее можно представить в полиномиальном виде

Тогда процесс получения CRC-кода эквивалентен делению входного многочлена A(x) на характеристический многочлен генератора CRC-кода j(x). Если

,

где и - соответственно частное и остаток, то коэффициенты многочлена появляются на выходе регистра, а коэффициенты многочлена остаются в регистре генератора после прохождения всей последовательности A. Иначе говоря, CRC-код s в точности равен коду остатка R, т.е. s(x)=R(x).

Состояние ячейки на каждом такте зависит входной последовательности и от номера данного такта в общей процедуре контроля. Пример работы ЛРС, показанного на рисунке 1.5, при входной кодограмме «100110101111000» и установке исходного состояния «0000» представлен в таблице 1.1

Таблица 1.1

№ такта

Вход

Яч 1

Яч 2

Яч 3

Яч 4

Выход

0

0

0

0

1

1

1

0

0

0

0

2

0

0

1

0

0

0

3

0

0

0

1

0

0

4

1

0

0

0

1

0

5

1

0

0

0

0

1

6

0

0

0

0

0

0

7

1

1

0

0

0

0

8

0

0

1

0

0

0

9

1

1

0

1

0

0

10

1

0

1

0

1

0

11

1

0

0

1

0

1

12

1

0

0

0

1

0

13

0

1

0

0

0

1

14

0

0

1

0

0

0

15

0

0

0

1

0

0

Поскольку состояние ячеек ненулевое, то в кодограмме имеются ошибки.

Для CRC-генератора справедлив принцип суперпозиции: реакция линейного устройства на сумму двух входных воздействий равна сумме реакций на каждое входное воздействие в отдельности. Входную последовательность можно представить суммой по модулю 2 разрешенной последовательности B и вектора ошибки e:

A=B+e.

Применяя принцип суперпозиции, получим равенство

sA=sB+se.

Таким образом, необходимым и достаточным условием пропуска искажений является равенство se=0, которое имеет место тогда и только тогда, когда многочлен e(x) нацело делится на многочлен j(x).

Пусть N - разрядность CRC-кода и e№0, т.е. в анализируемой последовательности длиной m есть искажения. Рассмотрим достоверность метода, т.е. условия, при которых se=0. При m=N+1, когда степень многочлена e(x) меньше либо равна N, существует только один многочлен e(x), нацело делящийся на многочлен j(x), это e(x)=j(x), а значит в этом случае Ne=1. При m=N+2 существует уже 3 многочлена e(x) степени меньшей или равной N+1 нацело делящиеся на многочлен j(x), это e(x)=j(x), e(x)=j(xx, e(x)=j(x)Ч(x+1), а значит Ne=3. В общем случае при m>N справедливо

.

Учитывая, что общее число искажений в последовательности длиной m равно , для доли обнаруживаемых искажений Pd получаем соотношение

На практике m>>N, 2m>>1, 2m-N>>1. Тогда

(при N=16 Pd=0,99998).

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

1.7 Контроль целостности с использованием криптографических методов

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

формирование с помощью функции зашифрования Ek блочного шифра кода аутентификации сообщений - MAC (Message Authentification Code);

формирование с помощью необратимой функции сжатия h(x) (хеш-функции) информации кода обнаружения манипуляций с данными - MDC (Manipulation Detection Code).

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

Имитоприставка ГОСТ 28147-89 является классическим примером кода MAC. Код аутентификации может формироваться в режимах сцепления блоков шифротекста CBC (Ciphertext Block Chaining) или обратной связи по шифротексту CBF (Ciphertext Feedback), обеспечивающих зависимость последнего блока шифротекста от всех блоков открытого текста. В случае использования преобразования Ek для выработки контрольного текста требования к нему несколько отличаются от требований при его использовании для зашифрования поскольку не требуется свойство обратимости, а также криптостойкость может быть снижена, например, за счет уменьшения числа раундов шифрования. В случае выработки кода MAC преобразование всегда выполняется в одну сторону, при этом в распоряжении противника есть только зависящий от всех блоков открытого текста контрольный код, в то время как при зашифровании у него имеется набор блоков шифротекста, полученных с использованием одного секретного ключа. Схема алгоритма формирования MAC показана на рисунке 1.7.

Размещено на http://www.allbest.ru/

48

Рисунок 1.7

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

MDC есть результат действия хеш-функции. Иначе говоря, MDC это хеш-образ сообщения p, к которому применили хеш-функцию, т.е. s=h(p). Основное требование к хеш-функции состоит в том, чтобы не существовало способа определения массива данных p, имеющего заданное значение хеш-образа h(p), отличного от перебора по всему множеству возможных значений p. Наиболее простой способ построения хеш-функции основан на использовании вычислительной необратимости относительно ключа k функции зашифрования Ek любого блочного шифра. Даже при известных блоках открытого p и закрытого текстов c= Ek (p) ключ k не может быть определен иначе, как перебором по множеству всех возможных значений. Таким образом, схема формирования хеш-образа сообщения p, обладающая гарантированной стойкостью, равной стойкости используемого шифра, может быть следующей:

1) массив данных p разбивается на блоки фиксированного размера, равного размеру ключа зkч используемого блочного шифра, т.е.

,

;

2) если последний блок pm неполный, он дополняется каким-либо образом до нужного размера зkч;

3) хеш-образ сообщения вычисляется по алгоритму

,

где s0 - синхропосылка, обычно выбирают s0=0.

Задача подбора массива данных

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

, , …, ;

достаточно решить только одно уравнение

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

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

,

где pi - некоторый блок открытого текста, то такой код k? и является побочным ключом, т.е. ключом, дающим при зашифровании блока pi точно такой же результат, что и истинный ключ k. Обнаружение противником побочного ключа при дешифровании сообщения не является особым успехом, так как на этом найденном побочном ключе он не сможет правильно расшифровать другие блоки закрытого текста, учитывая, что для различных блоков побочные ключи в общем случае также различны. В случае выработки кода MDC ситуация прямо противоположна: обнаружение побочного ключа означает, что противник нашел такой ложный блок данных pў, использование которого не изменяет контрольного кода.

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

Размещено на http://www.allbest.ru/

48

Рисунок 1.8

1.8 Выводы

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

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

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

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

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

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

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

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

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

2. Определение вероятностных характеристик двоичного канала

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

При обмене информацией между абонентами по двоичному каналу связи восстановление переданного сообщения осуществляется посредством поэлементного приема сигналов и последующим анализом двоичной кодограммы. Вероятность ошибочного приема кодограммы зависит как от вероятности ошибочного приема одиночного символа, так и величины избыточности кодограммы. Введение в модель канала связи решения на стирание элементарного символа уменьшает вероятность ошибки его восстановления [11, 21]. Для оценки степени влияния стирания на вероятность ошибочного приема кодограммы необходимо определить аналитическое выражение для вероятности ошибки и вероятности стирания элементарного символа (0 или 1). При использовании радиоканала информация передается на заданном интервале [0, T] радиоимпульсами [20]

, (2.1)

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

. (2.2)

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

, (2.3)

где с=-1 при фазоманипулированных сигналах и с=0 при частотно-манипулированных сигналах. При воздействии аддитивной помехи типа «белый шум» со спектральной плотностью мощности формируется смесь , которая подвергается оптимальной обработке y(T), алгоритм и схема которой определяется по критерию максимального правдоподобия [20, 21]

, (2.4)

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

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

2.2 Основные понятия помехоустойчивого кодирования

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

Для исправления ошибок в n- разрядной двоичной кодовой последовательности не все 2n возможных кодограмм представляют элементы сообщения. Так, если М - объем алфавита, k=log2М - количество информационных символов, r - количество проверочных символов, n=k+r - разрядность кодограммы помехоустойчивого кода, то М=2k - это количество используемых (разрешенных) для передачи кодограмм, а остальные 2n-2k неиспользуемые кодограммы или запрещенные. В связи с этим, помехоустойчивые коды обозначаются, как правило, как (n, k) коды. Мера эффективности помехоустойчивого кода определяется отношением R=k/n и называется скоростью кода. Доля избыточных символов в помехоустойчивом коде определяется как 1-R.

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

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

При изучении свойств помехоустойчивых кодов, как правило, используют понятие кодового расстояния dмин. Расстояние между двумя кодограммами (расстояние Хемминга) определяется как число разрядов, в которых эти кодограммы отличаются друг от друга. Кодовое расстояние характеризует список разрешенных кодограмм, и представляет минимально возможное расстояние из расстояний Хемминга между любыми парами разрешенных кодограмм. Для примитивного кода (не обладающего корректирующими способностями) dмин=1.

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

Для того, чтобы в коде с обнаружением ошибок одна из разрешенных кодограмм не трансформировалась в другую, минимальное кодовое расстояние должно быть тем больше, чем больше t - кратность обнаруживаемых ошибок. Аналогично в случае кодов исправляющих ошибки. Кратность исправляемых ошибок обозначим g. Установим соотношения между dмин и t, или g. Если dмин задано, а произошло t=dмин ошибок, то возможна трансформация одной разрешенной кодограммы в другую. При t<dмин такой трансформации не произойдет. Поэтому связь между dмин и t можно записать формулой

dминіt+1. (2.5)

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

dмині2g+1. (2.6)

Формулы, устанавливающие зависимости между dмин t и ?, имеют простую геометрическую интерпретацию, приведенную на рисунке 2.1:

- запрещенные кодограммы; - разрешенные кодограммы.

Рисунок 2.1 -Геометрическая интерпретация корректирующих способностей кодов

Вероятность появления фиксированной комбинации для n-разрядной кодограммы из i ошибок равна p0i(1-p0)n-i. p0 - вероятность ошибки одиночного символа. Заметим, что при p0<0,5 выполняется неравенство

(1-p0)n>p0(1-p0)n-1>p02(1-p0)n-2>... . (2.7)

Следовательно, появление фиксированной одиночной ошибки более вероятно, чем фиксированной комбинации двух ошибок, и так далее. Это значит, что декодер принимает решение в пользу ближайшей по расстоянию Хемминга разрешенной кодограммы, вероятность передачи которой максимальна. Декодер, реализующий это правило декодирования, является декодером максимального правдоподобия, и в указанных предположениях он минимизирует вероятность ошибок декодирования принятой кодограммы [22]. В этом смысле такой декодер является оптимальным.

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

Предположим, что в качестве разрешенных кодограмм для передачи восьми элементов сообщения выбраны:

B1 - 00000; B2 - 00111; B3 - 01001; B4 - 01110.

B5 - 10010; B6 - 10101; B7 - 11011; B8 - 11100.

В примере dмин=2, что позволяет гарантированно обнаруживать однократные ошибки.

Таблица 1 - Таблица декодирования

00000 00111 01001 01110 10010 10101 11011 11100

00001 00110 01000 01111 10011 10100 11010 11101

00010 00101 01011 01100 10000 10111 11001 11110


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

  • Метод вероятностно-алгебраического моделирования. Примеры определения вероятностных характеристик функционально-сложной системы в символьном виде. Получение и добавление данных с сервера "Всемирной организации здравоохранения". Структура базы данных.

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

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

    дипломная работа [2,7 M], добавлен 10.09.2011

  • Оптимальное статистическое (экономное) кодирование. Основные понятия и определения теории кодирования. Принципы построения оптимальных кодов. Способность системы осуществлять прием информации в условиях наличия помех. Увеличение мощности сигналов.

    реферат [69,3 K], добавлен 09.07.2009

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

    реферат [17,4 K], добавлен 16.05.2015

  • Модель взаимодействия открытых систем Open Systems Interconnection Reference Model. Основные особенности модели ISO/OSI. Характеристики физических сигналов, метод кодирования, способ подключения. Канальный уровень модели ISO/OSI. Передача и прием кадров.

    презентация [52,7 K], добавлен 25.10.2013

  • Эффективность преобразования и кодирования сигналов, используемых в качестве переносчиков информации. Амплитудная модуляция. Генераторы сигналов низкой частоты. Построение графиков "пороговый сигнал-полоса канала связи" для идеального и реального каналов.

    курсовая работа [299,7 K], добавлен 23.01.2014

  • История развития криптографии, ее основные понятия. Простейший прием дешифровки сообщения. Основные методы и способы шифрования, современный криптографический анализ. Перспективы развития криптографии. Создание легкого для запоминания и надежного пароля.

    курсовая работа [3,9 M], добавлен 18.12.2011

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

    презентация [756,5 K], добавлен 29.10.2013

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

    курсовая работа [52,3 K], добавлен 13.06.2012

  • Разработка программы кодирования текстового файла при помощи блочного алгоритма шифрования ТЕА типа "Сеть Фейштеля", который основан на битовых операциях с 64-битным блоком и имеет 128-битный ключ шифрования. Результаты кодирования и декодирования.

    лабораторная работа [299,9 K], добавлен 18.07.2013

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