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

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

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

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

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

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

Содержание

Введение

1. Структура стегосистемы

2. RSA

2.1 Устойчивые числа и их применение в криптосистеме RSA

2.2 Рекомендуемая длина ключа

2.3 Шифрование

2.4 Применение алгоритма RSA для установления подлинности цифровых подписей

2.5 Цифровая подпись

2.6 Скорость работы алгоритма RSA

2.7 Способы взлома криптосистемы RSA

2.8 Криптосистема RSA в мире

3. Скрытие данных в аудиосигналах

3.1 Методы кодирования с расширением спектра

3.2 Внедрение информации модификацией фазы аудиосигнала

3.3 Встраивание информации за счет изменения времени задержки эхо-сигнала

3.4 Метод маскирования ЦВЗ

4. Программная реализация алгоритма

4.1 Краткое руководство пользователя

4.2 Системные требования для программы Контейнер v1.0

5. Отладка и тестирование программы

5.1 Технология отладки

5.2 Тестирование программы

5.3 Схема алгоритма отладки

6. Экономико-организационная часть

7. Безопасность и жизнедеятельность

7.1 Анализ опасных и вредных факторов выявленных на рабочем месте, при работе с ПЭВМ

7.2 Требования к помещению, в котором располагаются рабочие места операторов ПЭВМ

Список использованной литературы

Приложение. Листинг программы

Введение

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

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

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

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

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

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

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

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

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

Технология встраивания идентификационных номеров производителей имеет много общего с технологией ЦВЗ. Отличие заключается в том, что в первом случае каждая защищенная копия имеет свой уникальный встраиваемый номер (отсюда и название - дословно «отпечатки пальцев»). Этот идентификационный номер позволяет производителю отслеживать дальнейшую судьбу своего детища: не занялся ли кто-нибудь из покупателей незаконным тиражированием. Если да, то «отпечатки пальцев» быстро укажут на виновного.

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

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

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

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

Процесс внедрения ЦВЗ также должен учитывать свойства системы восприятия человека. Стеганография использует имеющуюся в сигналах психовизуальную избыточность, но другим, чем при сжатии данных образом. В большинстве стегосистем для внедрения и выделения ЦВЗ используется ключ. Ключ может быть предназначен для узкого круга лиц или же быть общедоступным. Например, ключ должен содержаться во всех DVD-плейерах, чтобы они могли прочесть содержащиеся на дисках ЦВЗ. Иногда по аналогии с криптографией стегосистемы делят на два класса: с открытым ключом и с секретным ключом. На наш взгляд, аналогия неверна, так как понятие открытого ключа в данном случае в корне различно. Правильным выражением было бы «общедоступный ключ», причем ключ встраивания совпадает с ключом выделения. Не существует, насколько известно, стегосистемы, в которой бы при выделении ЦВЗ требовалась другая информация, чем при его вложении. Хотя и не доказана гипотеза о невозможности существования подобной системы. В системе с общедоступным ключом достаточно сложно противостоять возможным атакам со стороны злоумышленников. В самом деле, в данном случае нарушителю точно известен ключ и месторасположение ЦВЗ, а также его значение.

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

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

1. Разработать систему защиты конфиденциальной информации с учетом разработанного программного продукта.

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

3. Выбор и обоснование криптографического метода.

4. Простота использования программного продукта.

Программа должна располагаться и запускаться с любого вида носителей достаточного объема (жесткие диски, компакт-диски CD-ROM и т.д.

1. Структура стегосистемы

Стегосистема состоит из следующих основных элементов, представленных на рис.1.1:

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

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

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

- устройство выделения встроенного сообщения;

- стегодетектор - устройство, предназначенное для определения наличия стегосообщения;

- декодер - устройство, восстанавливающее скрытое сообщение. Этот узел может отсутствовать, как будет пояснено далее.

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

Как показано на рис.1.1, в стегосистеме происходит объединение двух типов информации так, чтобы они могли быть различимы двумя принципиально разными детекторами. В качестве одного из детекторов выступает система выделения ЦВЗ, в качестве другого - человек.

Прежде, чем осуществить вложение ЦВЗ в контейнер, ЦВЗ должен быть преобразован к некоторому подходящему виду. Первоначальную обработку скрытого сообщения выполняет показанный на рис.1.1 прекодер. В качестве важнейшей предварительной обработки ЦВЗ (а также и контейнера) назовем вычисление его обобщенного преобразования Фурье. Это позволяет осуществить встраивание ЦВЗ в спектральной области, что значительно повышает его устойчивость к искажениям. Предварительная обработка часто выполняется с использованием ключа для повышения секретности встраивания. Далее ЦВЗ «вкладывается» в контейнер, например, путем модификации младших значащих бит коэффициентов. В стегодетекторе происходит обнаружение ЦВЗ в (возможно измененном) защищенном ЦВЗ аудио файле. Это изменение может быть обусловлено влиянием ошибок в канале связи, операций обработки сигнала, преднамеренных атак нарушителей. Во многих моделях стегосистем сигнал-контейнер рассматривается как аддитивный шум. Тогда задача обнаружения и выделения стегосообщения является классической для теории связи. Однако такой подход не учитывает двух факторов: неслучайного характера сигнала контейнера и требований по сохранению его качества. Эти моменты не встречаются в известной теории обнаружения и выделения сигналов на фоне аддитивного шума. Их учет позволит построить более эффективные стегосистемы.

Различают стегодетекторы, предназначенные для обнаружения факта наличия ЦВЗ и устройства, предназначенные для выделения этого ЦВЗ (стегодекодеры). В первом случае возможны детекторы с жесткими (да/нет) или мягкими решениями. Для вынесения решения о наличии/отсутствии ЦВЗ удобно использовать такие меры, как расстояние по Хэммингу, либо взаимную корреляцию между имеющимся сигналом и оригиналом (при наличии последнего, разумеется). А что делать, если у нас нет исходного сигнала? Тогда в дело вступают более тонкие статистические методы, основанные на построении моделей исследуемого класса сигналов. В зависимости от того, какая информация требуется детектору для обнаружения ЦВЗ, стегосистемы ЦВЗ делятся на три класса: открытые, полузакрытые и закрытые системы. Эта классификация приведена в табл.1.1.

Табл.1.1. Классификация систем встраивания ЦВЗ

Что требуется детектору

Выход детектора

Исходный сигнал

Исходный ЦВЗ

Да/Нет

ЦВЗ

Закрытые

Тип I

+

+

+

-

Тип II

+

-

-

+

Полузакрытые

-

+

+

-

Открытые

-

-

-

+

Наибольшее применение могут иметь открытые стегосистемы ЦВЗ, которые аналогичны системам скрытой передачи данных. Наибольшую устойчивость по отношению к внешним воздействиям имеют закрытые стегосистемы I типа.

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

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

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

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

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

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

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

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

На рис.1.2 представлена классификация систем цифровой стеганографии.

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

Стегосистема образует стегоканал, по которому передается заполненный контейнер. Этот канал считается подверженным воздействиям со стороны нарушителей. Следуя Симмонсу в стеганографии обычно рассматривается такая постановка задачи («проблема заключенных»).

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

Определение факта наличия скрытой информации - главная задача стегоанализа.

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

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

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

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

- Стегосистема ЦВЗ должна иметь низкую вероятность ложного обнаружения скрытого сообщения в сигнале, его не содержащем. В некоторых приложениях такое обнаружение может привести к серьезным последствиям. Например, ложное обнаружение ЦВЗ на DVD-диске может вызвать отказ от его воспроизведения плейером.

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

- Стегосистема должна иметь приемлемую вычислительную сложность реализации. При этом возможна асимметричная по сложности реализации система ЦВЗ, то есть сложный стегокодер и простой стегодекодер.

К ЦВЗ предъявляются следующие требования.

- ЦВЗ должен легко (вычислительно) извлекаться законным пользователем.

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

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

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

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

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

Как видно из рис.1.3, применение ЦВЗ не ограничивается приложениями безопасности информации. Основные области использования технологии ЦВЗ могут быть объединены в четыре группы: защита от копирования (использования), скрытая аннотация документов, доказательство аутентичности информации и скрытая связь.

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

2. RSA

RSA - криптографическая система открытого ключа, обеспечивающая такие механизмы защиты как шифрование и цифровая подпись (аутентификация - установление подлинности). Криптосистема RSA разработана в 1977 году и названа в честь ее разработчиков Ronald Rivest, Adi Shamir и Leonard Adleman.

Алгоритм RSA работает следующим образом: берутся два достаточно больших простых числа p и q и вычисляется их произведение n = p*q; n называется модулем.

Затем выбирается число e, удовлетворяющее условию 1< e < (p - 1)*(q - 1) и не имеющее общих делителей кроме 1 (взаимно простое) с числом (p - 1)*(q - 1).

Затем вычисляется число d таким образом, что (e*d - 1) делится на (p - 1)*(q - 1).

. e - открытый (public) показатель

. d - частный (private) показатель.

. (n; e) - открытый (public) ключ

. (n; d). - частный (private) ключ.

Делители (факторы) p и q можно либо уничтожить либо сохранить вместе с частным (private) ключом.

Если бы существовали эффективные методы разложения на сомножители (факторинга), то, разложив n на сомножители (факторы) p и q, можно было бы получить частный (private) ключ d. Таким образом надежность криптосистемы RSA основана на трудноразрешимой - практически неразрешимой - задаче разложения n на сомножители (то есть на невозможности факторинга n) так как в настоящее время эффективного способа поиска сомножителей не существует.

Ниже описывается использование системы RSA для шифрования информации и создания цифровых подписей (практическое применение немного отличается).

2.1 Устойчивые числа и их применение в криптосистеме RSA

В литературе, описывающей алгоритм RSA, часто указывается, что при выборе пары чисел для создания модуля n необходимо, чтобы выбранные числа p и q являлись “устойчивыми". Устойчивые числа имеют некоторые свойства, которые затрудняют разложение на множители их произведение n определенными методами факторинга; одно из этих свойств, например, существование больших главных делителей (факторов) p - 1 и p + 1. Причиной таких мер являются некоторые методы факторинга (разложения на множители) например, метод Pollard (p - 1) и Pollard (p + 1) особенно подходят для таких чисел p, когда (p - 1) или (p + 1) имеют только маленькие делители (факторы); устойчивые числа устойчивы в частности к таким атакам. Требование использовать устойчивые числа выдвигается в частности стандартом ANSI X9.31.

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

2.2 Рекомендуемая длина ключа

Размер ключа в алгоритме RSA связан с размером модуля n. Два числа p и q, произведением которых является модуль, должны иметь приблизительно одинаковую длину поскольку в этом случае найти сомножители (факторы) сложнее, чем в случае когда длина чисел значительно различается. Например, если предполагается использовать 768-битный модуль, то каждое число должно иметь длину приблизительно 384 бита. Обратите внимание, что если два числа чрезвычайно близки друг к другу или их разность близка к некоторому предопределенному значению, то возникает потенциальная угроза безопасности, однако такая вероятность - близость двух случайно выбранных чисел - незначительна.

1. Возьмем M = (p+q)/2

2. При p < q, имеем 0 [pic] м - sqrt (n) [pic] (q - p)[pic].

Поскольку p = M*([pic][pic]), то значения p и q можно легко найти, если разность p - q достаточно мала.

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

Хороший анализ защиты, обеспечиваемой определенной длиной модуля, приведен в описании модуля дискретного логарифма Rivest [Riv92a], но то же можно применить и к алгоритму RSA. В более позднем обзоре защиты, предлагаемой ключами RSA различной длины защита анализируется на основе методов разложения на множители (факторинга), существовавших в 1995 и перспективах их развития, а также рассматривает возможность привлечения больших вычислительных ресурсов по информационным сетям. Проведенная в 1997 году оценка показала, что 512-битный ключ RSA может быть вскрыт (факторингом) за $ 1,000,000 и восемь месяцев. В 1999 году 512-битный ключ был вскрыт за семь месяцев и это означает, что 512-битные ключи уже не обеспечивают достаточную безопасность за исключением очень краткосрочных задач безопасности.

В настоящее время Лаборатория RSA рекомендует для обычных задач ключи размером 1024 бита, а для особо важных задач - 2048 битов (например, для главного Мастера Сертификатов).

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

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

Что же касается затруднения взлома увеличением размера ключа, то удвоение длины модуля в среднем увеличивает время операций открытого (public) ключа (шифрование и проверка подписи) в четыре раза, а время операций частного (private) ключа (расшифровка и подпись) в восемь раз. Разница между временем работы отрытого и секретного ключей возникает потому, что открытый показатель может оставаться неизменным, в то время как модуль будет увеличен, а длина частного показателя будет увеличена пропорционально увеличению длины ключа. Время создания ключей при удвоении модуля увеличивается в 16 раз, но это нечасто выполняемая операция и потому на общей производительности это практически не сказывается.

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

2.3 Шифрование

Предположим, Маша хочет послать Саше сообщение M. Маша создает зашифрованный текст С, возводя сообщение M в степень e и умножая на модуль n: C = M[pic] (mod n), где e и n - открытый (public) ключ Саши. Затем Маша посылает С (зашифрованный текст)Саше. Чтобы расшифровать полученный текст, Саша возводит полученный зашифрованный текст C в степень d и умножает на модуль n: M = cd(mod n); зависимость между e и d гарантирует, что Саша вычислит M верно. Так как только Саша знает d, то только он имеет возможность расшифровать полученное сообщение.

2.4 Применение алгоритма RSA для установления подлинности цифровых подписей

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

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

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

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

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

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

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

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

2.5 Цифровая подпись

Предположим, Маша хочет послать Саше сообщение M, причем таким образом, чтобы Саша был уверен, что сообщение не было взломано и что автором сообщения действительно является Маша. Маша создает цифровую подпись S возводя M в степень d и умножая на модуль n: S = M[pic] (mod n), где d и n - частный ключ Маши. Она посылает M и S Саше.

Чтобы проверить подпись, Саша возводит S в степень e и умножает на модуль n: M = S[pic] (mod n), где e и n - открытый (public) ключ Маши.

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

2.6 Скорость работы алгоритма RSA

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

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

Если k - количество битов в модуле, то в обычно используемых для RSA алгоритмах количество шагов необходимых для выполнения операции с открытым (public) ключом пропорционально второй степени k, количество шагов для операций частного (private) ключа - третьей степени k, количество шагов для операции создания ключей - четвертой степени k.

Методы "быстрого умножения" - например, методы основанные на Быстром Преобразовании Фурье (FFT - Fast Fourier Transform) - выполняются меньшим количеством шагов; тем не менее они не получили широкого распространения из- за сложности программного обеспечения, а также потому, что с типичными размерами ключей они фактически работают медленнее. Однако производительность и эффективность приложений и оборудования реализующих алгоритм RSA быстро увеличиваются.

Алгоритм RSA намного медленнее чем DES и другие алгоритмы блокового шифрования. Программная реализация DES работает быстрее по крайней мере в 100 раз и от 1,000 до 10,000 - в аппаратной реализации (в зависимости от конкретного устройства). Благодаря ведущимся разработкам, работа алгоритма RSA, вероятно, ускорится, но аналогично ускорится и работа алгоритмов блокового шифрования.

2.7 Способы взлома криптосистемы RSA

Существует несколько способов взлома RSA. Наиболее эффективная атака: найти закрытый ключ, соответствующий необходимому открытому (public) ключу. Это позволит нападающему читать все сообщения, зашифрованные открытым (public) ключом и подделывать подписи. Такую атаку можно провести, найдя главные сомножители (факторы) общего модуля n - p и q. На основании p, q и e (общий показатель), нападающий может легко вычислить частный показатель d. Основная сложность - поиск главных сомножителей (факторинг) n; безопасность RSA зависит от разложения на сомножители (факторинга), что является трудноразрешимой задачей, не имеющей эффективных способов решения.

Фактически, задача восстановления частного (private) ключа эквивалентна задаче разложения на множители (факторинга) модуля: можно использовать d для поиска сомножителей n, и наоборот можно использовать n для поиска d. Надо отметить, что усовершенствование вычислительного оборудования само по себе не уменьшит стойкость криптосистемы RSA, если ключи будут иметь достаточную длину. Фактически же совершенствование оборудования увеличивает стойкость криптосистемы.

Другой способ взломать RSA состоит в том, чтобы найти метод вычисления корня степени e из mod n. Поскольку С = M[pic] (mod n), то корнем степени e из (mod n) является сообщение M. Вычислив корень, можно вскрыть зашифрованные сообщения и подделывать подписи, даже не зная закрытый ключ. Такая атака не эквивалентна факторингу, но в настоящее время неизвестны методы, которые позволяют взломать RSA таким образом. Однако, в особых случаях, когда на основе одного и того же показателя относительно небольшой величины шифруется достаточно много связанных сообщений, есть возможность вскрыть сообщения. Упомянутые атаки - единственные способы расшифровать все сообщения, зашифрованные данным ключом RSA.

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

Самое простое нападение на единственное сообщение - атака по предполагаемому открытому тексту. Нападающий, имея зашифрованный текст, предполагает, что сообщение содержит какой-то определенный текст, например, "Нападение на рассвете", затем шифрует предполагаемый текст открытым (public) ключом получателя и сравнивает полученный текст с имеющимся зашифрованным текстом. Такую атаку можно предотвратить, добавив в конец сообщения несколько случайных битов. Другая атака единственного сообщения применяется в том случае если кто-то посылает одно и то же сообщение M трем корреспондентам, каждый из которых использует общий показатель e = 3. Зная это, нападающий может перехватить эти сообщения и расшифровать сообщение M. Такую атаку можно предотвратить вводя в сообщение перед каждым шифрованием несколько случайных бит. Также существуют несколько атак по зашифрованному тексту (или атаки отдельных сообщений с целью подделки подписи), при которых нападающий создает некоторый зашифрованный текст и получает соответствующий открытый текст, например, заставляя обманным путем зарегистрированного пользователя расшифровать поддельное сообщение. Разумеется, существуют и атаки нацеленные не на криптосистему непосредственно, а на уязвимые места всей системы коммуникаций в целом; такие атаки не могут рассматриваться как взлом RSA, так как говорят не о слабости алгоритма RSA, а скорее об уязвимости его конкретной реализации. Например, нападающий может завладеть закрытым ключом, если тот хранится без должных предосторожностей. Необходимо подчеркнуть, что для полной защиты недостаточно защитить выполнение алгоритма RSA и принять меры вычислительной безопасности, то есть использовать ключ достаточной длины. На практике же наибольший успех имеют атаки на незащищенные этапы управления ключами системы RSA.

2.8 Криптосистема RSA в мире

На начало 2001 года криптосистема RSA являлась наиболее широко используемой асимметричной криптосистемой (криптосистемой открытого (public) ключа) и зачастую называется стандартом де факто. Вне зависимости от официальных стандартов существование такого стандарта чрезвычайно важно для развития электронной коммерции и вообще экономики. Единая система открытого (public) ключа допускает обмен документами с электронно-цифровыми подписями между пользователями различных государств, использующими различное программное обеспечение на различных платформах; такая возможность насущно необходима для развития электронной коммерции. Распространение системы RSA дошло до такой степени, что ее учитывают при создании новых стандартов. При разработке стандартов цифровых подписей, в первую очередь в 1997 был разработан стандарт ANSI X9.30, поддерживающий Digital Signature Standard (стандарт Цифровой подписи). Годом позже был введен ANSI X9.31, в котором сделан акцент на цифровых подписях RSA, что отвечает фактически сложившейся ситуации в частности для финансовых учреждений.

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

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

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

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

Однако, этот критерий не учитывает других важных требований к криптосистемам:

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

- совершенство используемых протоколов защиты,

- минимальный объем используемой ключевой информации,

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

...

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

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