КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Контроль целостности информации
6.1. Имитозащита информации
На жизненном цикле информация подвергается случайным и умышленным деструктивным воздействиям. Для обнаружения случайных искажений информации применяются корректирующие коды, которые в некоторых случаях позволяют не только зафиксировать факт наличия искажений информации, но локализовать и исправить эти искажения. Умышленные деструктивные воздействия чаще всего имеют место при хранении информации в памяти компьютера и при ее передаче по каналам связи. При этом полностью исключить возможность несанкционированных изменений в массивах данных не представляется возможным. Следовательно, крайне важно оперативно обнаружить такие изменения, так как в этом случае ущерб, нанесенный законным пользователям, будет минимальным. Как правило, целью злоумышленника, навязывающего ложную информацию, является выдача ее за подлинную, поэтому своевременная фиксация факта наличия искажений в массиве данных сводит на нет все усилия злоумышленника. Под имитозащитой понимают не только исключение возможности несанкционированных изменений информации, а совокупность методов, позволяющих достоверно зафиксировать факты изменений, если они имели место. Для обнаружения искажений в распоряжении законного пользователя (например, получателя информации при ее передаче) должна быть некая процедура проверки , дающая на выходе 1, если в массиве данных отсутствуют искажения, или 0, если такие искажения имеют место. Идеальная процедура такой проверки должна обладать следующими свойствами [9]: • невозможно найти такое сообщение способом, более эффективным, чем полный перебор по множеству допустимых значений (такая возможность в распоряжении противника имеется всегда); • вероятность успешно пройти проверку у случайно выбранного сообщения не должна превышать заранее установленного значения. Учитывая, что в общем случае все возможные значения могут являться допустимыми, второе требование требует внесения избыточности в защищаемый массив данных. При этом чем больше разница между размером преобразованного избыточного и размером исходного массивов, тем меньше вероятность принять искаженные данные за подлинные. На рис. 6.1-6.3 показаны некоторые возможные варианты внесения такой избыточности. В роли неповторяющегося блока данных RB могут выступать метка времени, порядковый номер сообщения и т.п. В роли контрольного кода могут выступать имитовставки или электронная подпись. Имитовставкой принято называть контрольный код, который формируется и проверяется с помощью одного и того же секретного ключа. Использование блока RB позволяет контролировать целостность потока сообщений, защищая от повтора, задержки, переупорядочивания или их утраты. При использовании в качестве RB порядкового номера получатель, получив -е сообщение, проверяет равенство , т.е. что его номер на единицу больше номера предыдущего -го сообщения. При использовании в качестве RB метки времени получатель контролирует, чтобы времена отправки и приема сообщений соответствовали друг другу с учетом задержки в канале связи и разности показаний часов отправителя и получателя. Рис. 6.1 Схема контроля целостности с использованием шифрования
Рис. 6.2 Схема контроля целостности с контрольным кодом
Рис. 6.3 Схема контроля целостности с контрольным кодом и шифрованием Целостность потока сообщений можно также контролировать, используя шифрование со сцеплением сообщений (см. рис. 6.4). Рис.6.4. Контроль целостности потока сообщений
Рассмотрим схему на рис. 6.2. Самый естественный способ преобразования информации с внесением избыточности - это добавление к исходным данным контрольного кода фиксированной разрядности , вычисляемого как некоторая функция от этих данных:
В этой ситуации выделение исходных данных из преобразованного массива суть простое отбрасывание контрольного кода . Проверка же целостности заключается в вычислении для содержательной части полученного массива данных контрольного кода и сравнении его с переданным значением . Если они совпадают, сообщение считается подлинным, в противном случае ложным: Функция формирования контрольного кода должна удовлетворять следующим требованиям: • она должна быть вычислительно необратимой, т.е. подобрать массив данных под заданный контрольный код можно только путем полного перебора по пространству возможных значений ; • у злоумышленника должна отсутствовать возможность сформировать ложный массив данных (или ложное сообщение) и снабдить его корректно вычисленным контрольным кодом Второе свойство можно обеспечить двумя способами: либо сделать функцию зависимой от некоторого секретного параметра (ключа), либо пересылать контрольный код отдельно от защищаемых данных. Простейшим примером кода является контрольная сумма блоков массива данных. Например, если , то где - разрядность. Однако такое преобразование непригодно для имитозащиты, так как контрольная сумма не зависит от взаимного расположения блоков, а самое главное, соответствующее преобразование не является криптографическим. Процедура подбора данных под заданную контрольную комбинацию чрезвычайно проста. Пусть некий массив данных имеет контрольную сумму . Тогда для внесения не обнаруживаемых искажений противнику достаточно дополнить произвольный ложный массив , еще одним блоком Можно выделить два основных криптографических подхода к решению задачи защиты информации от несанкционированных изменений данных: • формирование с помощью функции шифрования блочного шифра кода аутентификации сообщений МАС (Message Authentication Code); • формирование с помощью необратимой функции сжатия (хеш-функции) информации кода обнаружения манипуляций с данными MDC(Manipulation Detection Code). В табл. 6.1 приведена сравнительная характеристика указанных двух подходов [9]. Главное различие между кодами MAC и MDC заключается в том, что в первом случае для формирования контрольного кода требуется секретная информация, а во втором - нет.
Таблица 6.1. Сравнительная характеристика MAC и MDC
Продолжение таблицы 6.1.
6.2. Код аутентификации сообщений
Формирование кода MAC с использованием функции шифрования блочного шифра официально закреплено во многих государственных стандартах шифрования. Имитовставка ГОСТ 28147-89 является классическим примером кода MAC. Код аутентификации сообщений может формироваться в режимах СВС или CFB, обеспечивающих зависимость последнего блока криптограммы от всех блоков открытого текста. В случае использования преобразования для выработки контрольного кода требования к нему несколько отличаются от требований при его использовании для шифрования: во-первых, не требуется свойство обратимости; во-вторых, его криптостойкость может быть снижена (например, за счет уменьшения числа раундов шифрования как в ГОСТ 28147-89). Действительно, в случае выработки кода MAC преобразование всегда выполняется в одну сторону, при этом в распоряжении злоумышленника есть только зависящий от всех блоков открытого текста контрольный код, в то время как при шифровании у него имеется набор блоков криптограммы, полученных с использованием одного секретного ключа. Существует вариант построения кода MAC на основе использования секретного ключа и функции хеширования, при котором хешированию подвергается результат конкатенации секретного ключа и исходного сообщения, поэтому, как и в классическом случае у злоумышленника, не знающего ключа, отсутствует возможность вычислить контрольный код. Для повышения безопасности подобного алгоритма получения MAC создана схема вложенного MAC, в которой хеширование выполняется дважды. В американском стандарте FIPS 198 вложенный MAC назван НМАС (hashed MAC). В американском стандарте FIPS 113 определена схема формирования кода аутентификации сообщений, названная СМАС.
6.3. Код обнаружения манипуляций с данными
Код MDC есть результат действия хеш-функции. Иначе говоря, MDC - это хеш-образ сообщения ,к которому применили хеш-функцию, т.е. . Схема формирования кода MDC, обладающего гарантированной стойкостью, равной стойкости используемого шифра, может быть следующей: 1) массив данных разбивается на блоки фиксированного размера, равного размеру ключа используемого блочного шифра, т.е. , , ; 2) если последний блок неполный, он дополняется каким-либо образом до нужного размера ; 3) вычисляется хеш-образ , где - синхропосылка. Задача подбора массива данных под заданный контрольный код эквивалентна системе уравнений, которую необходимо решить для определения ключа для заданных блоков открытого и закрытого (в режиме простой замены) сообщений. Однако в рассматриваемой ситуации нет необходимости решать всю систему достаточно решить одно уравнение , относительно , остальные блоки массива могут быть произвольными. Но и эта задача в случае использования надежной функции вычислительно неразрешима. К сожалению, приведенная схема формирования MDC не учитывает наличия так называемых побочных ключей шифра. Если для справедливо , где - некоторый блок открытого текста, то такой код и является побочным ключом, т.е. ключом, дающим при шифровании блока точно такой же результат, что и истинный ключ . Обнаружение противником побочного ключа при дешифровании сообщения не является особым успехом, так как с вероятностью, близкой к 1, на этом найденном побочном ключе он не сможет правильно расшифровать другие блоки закрытого текста, учитывая, что для различных блоков побочные ключи в общем случае также различны. В случае выработки кода MDC ситуация прямо противоположна: обнаружение побочного ключа означает, что противник нашел такой ложный блок данных, использование которого не изменяет контрольного кода [9]. Для уменьшения вероятности навязывания ложных данных в результате нахождения побочных ключей, при преобразовании применяются не сами блоки исходного сообщения, а результат их расширения по некоторому алгоритму. Под расширением понимается процедура получения блока данных большего размера из блока данных меньшего размера.
6.4. CRC-код
Идеальным средством защиты информации от случайных искажений являются CRC- коды (cyclic redundancy code). Достоинствами CRC-кодов являются [9]: • высокая достоверность обнаружения искажений, доля обнаруживаемых искажений не зависит от длины массива данных и составляет , где - разрядность контрольного кода; • зависимость контрольного кода не только от всех бит анализируемой информационной последовательности, но и от их взаимного расположения; • высокое быстродействие, связанное с получением контрольного кода в реальном масштабе времени; • простота аппаратной реализации и удобство интегрального исполнения; • простота программной реализации. К сожалению, простое условие пропуска искажений делает CRC-коды принципиально не пригодными для защиты от умышленных искажений информации. Сущность процесса контроля целостности с использованием CRC-кодов заключается в следующем. Генератор CRC-кода инициализируется фиксированным начальным значением. Чаще всего в качестве начального заполнения используется либо код «все 0», либо код «все 1». Учитывая, что от начального состояния генератора достоверность метода не зависит, все дальнейшие рассуждения выполняются в предположении, что исходное состояние устройства - нулевое. Анализируемая двоичная последовательность преобразуется в короткий (обычно шестнадцати- или тридцатидвухразрядный) двоичный код - CRC-код. Значение полученного CRC-кода сравнивается с эталонным значением, полученным заранее для последовательности без искажений. По результатам сравнения делается вывод о наличии или отсутствии искажений в анализируемой последовательности. CRC-код часто называют сигнатурой (signature ). Однако этот термин следует признать неудачным, создающим ненужную путаницу, так как термин signature может означать также и электронную подпись. Процесс получения CRC-кода можно рассматривать как процедуру наложения псевдослучайной последовательности, формируемой регистром сдвига с линейной обратной связью (LFSR), на входную анализируемую последовательность. Рассмотрим схему генератора CRC-кода, показанную на рис. 6.5. Входной анализируемой двоичной последовательности , , , Можно поставить в соответствие многочлен степени . Тогда процесс получения CRC-кода эквивалентен делению многочлена входной последовательности на характеристический многочлен степени генератора CRC-кода. В качестве характеристического многочлена чаще всего выбирается примитивный многочлен. Для случая, представленного на рис. 6.5 . Рис. 6.5. CRC-генератор
Если , где и - соответственно частное и остаток от деления, то коэффициенты многочлена появляются на выходе триггера , а коэффициенты многочлена остаются в регистре генератора после прохождения всей последовательности . Иначе говоря, CRC-код в точности равен коду остатка . Работа генератора CRC-кода описывается системой линейных уравнений где и - состояние -го разряда (триггера) соответственно в моменты времени и , , . В матричной форме уравнение работы CRC-генератора имеет вид , или , где
Таким образом, для CRC-генератора как линейного устройства справедлив принцип суперпозиции,который гласит: реакция линейного устройства на сумму двух входных воздействий равна сумме реакций на каждое воздействие в отдельности. Пусть - анализируемая двоичная последовательность, - правильная последовательность (без искажений), - последовательность, полученная в результате сложения по модулю 2 соответствующих элементов последовательностей и , т.е. для любого элемента последовательности справедливо . Единичные биты последовательности соответствуют искаженным битам последовательности , поэтому последовательности логично назвать последовательностью или вектором ошибок. При отсутствии искажений . Пусть , и - многочлены; , , - CRC-коды соответственно последовательностей , и . Искажения в последовательности будут пропущены, если . Имеем , откуда, применяя принцип суперпозиции, получаем равенство . Таким образом, необходимым и достаточным условием пропуска искажений является равенство ,которое имеет место, когда многочлен нацело делится на многочлен . Пусть -разрядность CRC-кода и , т.е. в анализируемой последовательности длиной есть искажения. Рассмотрим достоверность метода, т.е. условия, при которых . При контрольный код не может быть нулевым, так как первая единица, попавшая в регистр генератора, не успевает выйти из него до конца формирования CRC-кода и не может быть уничтожена из-за сложения с битом обратной связи. Таким образом, при длине входной последовательности, меньшей или равной разрядности CRC-кода, для справедливо , т.е. число не обнаруживаемых искажений равно . При , когда степень многочлена меньше или равна , существует только один многочлен , нацело делящийся на многочлен , это , а значит, в этом случае . При , существуют уже три многочлена , степени меньшей или равной , нацело делящиеся на многочлен , это , , , а значит, . В общем случае при справедливо . Учитывая, что общее число искажений в последовательности длиной равно , для доли обнаруживаемых искажений получаем соотношение . На практике , а значит , , Таким образом, доля обнаруживаемых искажений не зависит от длины анализируемой последовательности, а определяется лишь разрядностью контрольного кода.
Контрольные вопросы к главам 5 и 6: 1. Дайте определение аутентификации. В чем разница между аутентификацией и идентификацией? 2. В чем разница между аутентификацией объекта и субъекта? 3. Назовите способы обеспечения целостности информации. Литература
1. Бабаш А.В., Шанкин Г.П. Криптография. /Под редакцией В.П. Шерстюка, Э.А. Применко. – М.: СОЛОН-ПРЕСС, 2007. 2. Баричев С.Г, Гончаров В.В., Серов Р.Е. Основы современной криптографии: Учебный курс. – М.: Горячая линия-Телеком, 2002. 3. Болелов Э.А. Криптографические методы защиты информации. Часть 1. Симметричные криптосистемы. – М.:МГТУ ГА, 2011. 4. Нечаев В.И. Элементы криптографии (Основы теории защиты информации): Учеб. пособие для вузов / Под ред. В.А. Садовничего. – М.: Высш. шк., 1999. 5. Плотников А.Д. Дискретная математика: учеб. пособие. – Мн: Новое знание, 2008. 6. Рябко Б.Я., Фионов А.Н. Основы современной криптографии и стеганографии: Учебное пособие для вузов. – М.: Горячая линия-Телеком, 2010. 7. Харин Ю.С. и др. Математические и компьютерные основы криптологии: Учеб. пособие. – Мн.: Новое знание, 2003. 8. Ян Сонг Й. Криптоанализ RSA. – М.-Ижевск: НИЦ «Регулярная и хаотическая динамика», Ижевский институт компьютерных исследований, 2011. 9. Иванов М.А. и др. Стохастические методы и средства защиты информации в компьютерных системах и сетях/ Под ред. Журавлева И.Ю. – М.:КУДИЦ-ПРЕСС, 2009. 10. Молдовян Н.А. Теоретический минимум и алгоритмы цифровой подписи. – СПб.: БХВ-Петербург, 2010. 11. ГОСТ Р 34.10-94 - Процессы формирования и проверки электронной цифровой подписи. 12. ГОСТ Р 34.10 2012 - Процессы формирования и проверки электронной цифровой подписи.
Дата добавления: 2014-12-26; Просмотров: 3939; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |