Главная страница

Курсовой. Задачи, поставленные для достижения цели


Скачать 86.44 Kb.
НазваниеЗадачи, поставленные для достижения цели
Дата20.01.2020
Размер86.44 Kb.
Формат файлаdocx
Имя файлаКурсовой.docx
ТипДокументы
#105005


Задачи, поставленные для достижения цели


               1.  Определение понятия криптографии.

               2.  Анализ следующих криптографических методов защиты данных:

  • Шифрование

  • Стеганография

  • Кодирование

  • Сжатие

       3.  Сравнение основных характеристик методов криптографии.

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

Актуальность работы

В современном мире огромной угрозой обществу являются хакеры.

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

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

Основная часть работы

Для начала пару слов о том, что такое Криптография.

Слово Криптография происходит от древнегреческого κρυπτός (криптос) — скрытый и γράφω(ограф) — пишу).

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

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

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

  1. Шифрование

  2. Стеганография

  3. Кодирование

  4. Сжатие    


Шифрование

Шифрование данных чрезвычайно важно для защиты конфиденциальности.

Существует множество типов шифрования.

В этой работе я рассмотрю три основных типа:

  • Симметричное шифрование

  • Асимметричное шифрование

  • Хеширование

Схема шифрования

фото

Симметричное шифрование

Исходными данными для алгоритма шифрования служат:

  • информация, подлежащая шифрованию

  • ключ шифрования.

Наиболее важной частью симметричного шифрования является - ключ.

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

Шифрование данных производится по заданному алгоритму изменения информации.

Этот алгоритм и есть ключ.

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

Доступ к ключу имеют шифрующие устройства и дешифрующие устройства.

Симметричное шифрование происходит в шесть этапов:

  1. Отправление информации в шифрующее устройство

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

  3. Передача информации по каналу связи

  4. Попадание информации в дешифрующее устройство

  5. Декодирование информации

  6. Получение исходной информации

Схема симметричного шифрования

Уязвимость симметричного шифрования

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

Если хакер способен достать этот ключ, он может легко расшифровать зашифрованные данные.

Еще один недостаток объясняется тем, что программное обеспечение, которое обрабатывает данные, не может работать с зашифрованными данными. Следовательно, для возможности использования данных программным обеспечением, данные сначала должны быть декодированы. Если само программное обеспечение скомпрометировано[a][2], то злоумышленник сможет легко получить данные.

Асимметричное шифрование

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

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

Асимметричное шифрование также известно, как шифрование с открытым ключом[3].

Так как, закрытый или же секретный ключ, хранится только у приемника, то его не приходиться передавать каждый раз по каналу связи, что делает задачу для крэкера[4]по краже информации намного сложнее.

Схема асимметричного шифрования

Уязвимость асимметричного шифрования

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

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

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

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

Хэширование

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

Хэш имеет следующие свойства:

  • одни и те же данные всегда производит тот же самый хэш, т.е. при повторном создании хэша данных, хэш не изменит своего значения;

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

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

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

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

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

Проверка на наличие ошибок

Например, контрольная сумма (хеш) может быть передана по каналу связи вместе с основным текстом. В приёмнике, контрольная сумма(хеш) может быть рассчитана заново и её можно сравнить с переданным значением. Если будет обнаружено расхождение, то это значит, что при передаче возникли искажения.

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

Проверка парольной фразы

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

Уязвимость хэширования

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

Но очень важно, чтобы алгоритм был достаточно сложным, так при слабом хэшированнии можно подобрать данные, совпадающие с хэшем.

Кодирование

Кодирование и шифрование часто принимают за одно и то же, но это не так.

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

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

Кодирование –это замена исходного сообщения кодами.

Уязвимость кодирования

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

Сжатие

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

Целью сжатия является сокращение объема информации. В то же время сжатая информация не может быть прочитана или использована без обратного преобразования.

Все методы сжатия данных делятся на два основных класса:

  • Сжатие без потерь

  • Сжатие с потерями

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

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

Уязвимость сжатия

Учитывая доступность средств сжатия и обратного преобразования, эти методы нельзя рассматривать как надежные средства криптографического преобразования информации. Даже если держать в секрете алгоритмы, то они могут быть сравнительно легко раскрыты статистическими методами обработки[6]

К тому же сжатие без абсолютных потерь практически невозможно.

Стеганография

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

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

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

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

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

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

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

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

Программа “Deepsound” является отличным примером стеганографии.

Процесс работы программы «Deepsound» (Практическая часть)

Предлагаю рассмотреть метод стеганографии на практике. Использоваться будет программа под названием «Deepsound» в переводе обозначающее «глубокий звук».

Программа работает, используя методы стеганографии и шифрования. У меня на компьютере есть файл Петр «Ильич Чайковский- танец сахарной феи.mp3». После открытия программы нажимаем на кнопку «добавить файл» и выбираем нашу мелодию. После выбираем файл, который хотим «спрятать» в музыкальном файле, по сути это может быть файл любого типа, но я использовала файл расширения docx. Т.е. документ программы Microsoft Word. После я запустила программу. Программа запросила об установки пароля, который, как мы знаем, будет определяться далее методом хеширования, я установила пароль и завершила работу. По завершении работы я получила обычный музыкальный файл с расширением WAVE. Этот файл я могу прослушивать, как и обычный музыкальный файл. Отличается полученный файл от оригинального размера т.к. при процессе стеганографии в младшие разряды определенных байтов звуковой дорожки в соответствии с алгоритмом криптографического преобразования помещаются биты скрытого файла. И соответственно из-за этого размер отличается, но невооруженным глазом эта разница не будет заметна, т.к. музыкальный файл не теряет своих основных свойств. Для того чтобы получить наш скрытый файл придется заново использовать программу и вводить пароль, но если человек пытающийся украсть информацию, не догадывается о том, что та спрятана, то он даже не дойдет до этого этапа.

Уязвимость стеганографии

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

Интересная особенность криптографии

Криптографические шифры нельзя взломать удалённо.

Что это значит? Что собственно значит управление удаленной машиной?

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

Но когда компьютеры никак не связаны друг с другом, управление одного ПК другим происходит удаленно.

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

С серверного компьютера может происходить удаленное управление всеми ПК, подключенными к серверу.  

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


Метод

Уязвимость

Надежность

Удобность

Ключ

Сохранность исходного вида

Частота применения

актуальность

Шифрование

+

сильная

неудобный

нужен

+

часто

+

Кодирование

+

средняя

неудобный

нужен

+

редко

-

Стеганография

+-

сильная

удобный

нет

-

иногда

+

Сжатие

+

низкая

удобный

нет

-

Часто

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

Итоги

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

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

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

[1] Операнд – это константа, переменная, функция, выражение и другой объект языка программирования, над которым производятся операции

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

[3] Открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для проверки ЭП и для шифрования сообщения.

[4] Крэкер (cracker от англ.” crack” - взломать, сломать) - кто-либо, нарушающий безопасность системы. Введено в 1985 хакерами, чтобы защититься от неверного использования слова "хакер". Правильно пишется "крэкер". Крэкеры взламывают системы, с целью получения несанкционированного доступа к чужой информации. К сожалению, понятия крэкер и хакер часто путают, но на самом деле, это абсолютно разные понятия.    

[5] Хеширование — преобразование по определённому алгоритму входного массива данных произвольной длины в выходную битовую строку фиксированной длины

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

Криптографические методы защиты информации – это мощное оружие в борьбе за информационную безопасность.

Криптография (от древне-греч. κρυπτος – скрытый и γραϕω – пишу) – наука о методах обеспечения конфиденциальности и аутентичности информации.

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

  • защиту конфиденциальности;

  • защиту целостности.

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

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




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

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

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

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

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

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

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

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

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

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

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

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

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

  • криптостойкость обеспечивается не секретностью алгоритма шифрования, а секретностью ключа;

  • шифртекст не должен существенно превосходить по объему исходную информацию;

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

  • время шифрования не должно быть большим;

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

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

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

Работа простой криптосистемы проиллюстрирована на рис. 2.2.




увеличить изображение
Рис. 2.2. Обобщённая схема криптографической системы

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

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

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

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

Преобразование шифрования может быть симметричным и асимметричным относительно преобразования расшифрования. Это важное свойство определяет два класса криптосистем:

  • симметричные (одноключевые) криптосистемы;

  • асимметричные (двухключевые) криптосистемы (с открытым ключом).

Симметричное шифрование

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

Пример симметричного шифрования показан на рис. 2.2.

Сегодня широко используются такие алгоритмы шифрования, как Data Encryption Standard (DES), 3DES (или "тройной DES") и International Data Encryption Algorithm (IDEA). Эти алгоритмы шифруют сообщения блоками по 64 бита. Если объем сообщения превышает 64 бита (как это обычно и бывает), необходимо разбить его на блоки по 64 бита в каждом, а затем каким-то образом свести их воедино. Такое объединение, как правило, происходит одним из следующих четырех методов:

  • электронной кодовой книги (Electronic Code Book, ECB);

  • цепочки зашифрованных блоков (Cipher Block Changing, CBC);

  • x-битовой зашифрованной обратной связи (Cipher FeedBack, CFB-x);

  • выходной обратной связи (Output FeedBack, OFB).

Triple DES (3DES) – симметричный блочный шифр, созданный на основе алгоритма DES, с целью устранения главного недостатка последнего – малой длины ключа (56 бит), который может быть взломан методом полного перебора ключа. Скорость работы 3DES в 3 раза ниже, чем у DES, но криптостойкость намного выше. Время, требуемое для криптоанализа 3DES, может быть намного больше, чем время, нужное для вскрытия DES.

Алгоритм AES (Advanced Encryption Standard), также известный как Rijndael – симметричный алгоритм блочного шифрования – шифрует сообщения блоками по 128 бит, использует ключ 128/192/256 бит.

Шифрование с помощью секретного ключа часто используется для поддержки конфиденциальности данных и очень эффективно реализуется с помощью неизменяемых "вшитых" программ (firmware). Этот метод можно использовать для аутентификации и поддержания целостности данных.

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

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

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


написать администратору сайта