Защита программных средств от исследования 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Защита программных средств от исследования



Изучение логики работы программы может выполняться в одном из двух режимов: статическом и динамическом [60, 61]. Сущность статического режима заключается в изучении исходного текста программы. Для получения листингов исходного текста выполняемый программный модуль дизассемблируют, то есть получают из программы на машинном языке программу на языке Ассемблер.

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

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

Существует несколько методов противодействия дизассемблированию:

  • шифрование;
  • архивация:
  • использование самогенерирующих кодов;
  • "обман" дизассемблера.

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

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

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

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

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

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

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

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

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

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

Для противодействия трассировке программы в ее состав вводятся следующие механизмы:

  • изменение среды функционирования;
  • модификация кодов программы;
  • "случайные" переходы.

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

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

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

 

 

13. Контроль целостности программ и данных в процессе эксплуатации.

На этапе эксплуатации КС целостность и доступность информации в системе обеспечивается путем:

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

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

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

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

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

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

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

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

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

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

  • подготовка КС к выполнению работ;
  • допуск специалистов к выполнению работ;
  • организация работ на объекте;
  • завершение работ.

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

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

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

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

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

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

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

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

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

Для защиты КС от компьютерных вирусов необходимо руководствоваться рекомендациями, изложенными в п. 10.6.

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

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

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

Каждое должностное лицо из руководства организации, службы безопасности или подразделения ОБИ должны иметь знания и навыки работы с КСЗИ в объеме, достаточном для выполнения своих функциональных обязанностей. Причем должностные лица должны располагать минимально возможными сведениями о конкретных механизмах защиты и о защищаемой информации. Это достигается за счет очень строгой регламентации их деятельности. Документирование всех алгоритмов эксплуатации КСЗИ позволяет, при необходимости, легко заменять должностных лиц, а также осуществлять контроль над их деятельностью. Реализация этого (принципа позволит избежать "незаменимости" отдельных сотрудников и наладить эффективный контроль деятельности должностных лиц.

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

 

14. Идентификация, аутентификация, хэширование.

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

--
Что в самой простой схеме плохого?

· Подбор паролей для усложнения вводят timeout, или задержки по времени между попытками аутентификации, а также предъявляют требования к паролем, о них позже.

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

· В самом простом случае пароли храняться просто в "файле" или БД открыто - то при доступе к БД (базе данных) пароли опять у злоумышленника

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

Итак, первые базовые рекомендации при построении парольных систем. Эти же рекомендации будут распространяться и на все остальные протоколы, у которых есть пароли или хранилища:

· Рекомендации к паролям:

1. Ограничения на минимальную длинну

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

3. Наличие символов разного регистра, цифр, знаков и.т.д

· Рекомендации к Хранилищу

1. Защита от доступа неавторизированных пользователей - обычно доступ имеет только администратор

2. Шифрование паролей

3. Хэширование паролей (о хэшировании мы ещё не говорили - об этом чуть далее, тут имеется в виду дополнительное хэширование, а лучше даже шифрование)

-- хэширование (англ. hashing) — преобразование массива входных данных произвольной длины в (выходную) битовую строку фиксированной длины, выполняемое определённым алгоритмом. Функция, реализующая алгоритм и выполняющая преобразование, называется «хеш-функцией»
В веб приложениях, для борьбы с прослушиванием, чтобы уж хотябы парольную фразу не раскрыть применяют хэширование перед отправкой. Зачастую применяют криптографические хэш-функции.
Более того, для противодействия атак по-словарю и удлиннения пароля используют соль на входе в хэш функцию.

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

--
Теперь ненмого о WEB. Я уже говорил ранее, что протоколы на основе фиксированных паролей очень слабы. Хотя одноразовые пароли могут тут пригодиться. Но всёже, для идентификации рекомендуется использовать более сложные схемы, о которых мы поговорим в следующих чатях цикла.
Но всёже, существует одна проблема. Сложные алгоритмы требуют большего числа шагов -> больше подключений. Естественно это неудобно, да и вводить пароль каждый раз при отправке данных, скажем, в социальной сети - это неудобно.

Поэтому применяют более сложные способы аутентификации (о которых потом), после чего B предоставляет A временный секрет (пароль). Обычно это делают на основе Cookie, в которых хранится большая сгенерированная случайная последовательность, которая используется для так называемой Cookie-base аутентификации (тотже протокол с фиксированным паролем, только в качестве пароля cookie).
Если злоумышленник похитил эти Cookie, то фактически он может получить доступ, но только на время, пока не истечёт срок валидности Cookie, или пока пользователь не нажмёт кнопку "Выход" (в этом случае обычно cookie сбрасывают) Также для выполнения критических задач просят пройти повторную идентификацию по более надёжному протоколу.
Иногда также эти cookie подписываются сервером, и привязываются к ip, хотя последнее обходится злоумышленником с помощью ip-spoofing.

 

15. Основные определения понятия и этапы развития криптографии.

Одно из основных понятий криптографии - шифр (араб. صِفْر (sifr) - «ноль», «ничто», «пустота», откуда фр. chiffre - «цифра»; арабы первыми стали заменять буквы на цифры с целью защиты исходного текста).

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

Составными элементами шифра являются:

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

- алгоритмы криптографического преобразования (зашифрования и дешифрования);

- множество ключей.

Азбука или алфавит (греч. ἀλφάβητος) - форма письменности, основанная на стандартном наборе знаков, один или набор которых соответствуют фонемам1 языка. В общем случае алфавит для записи исходных сообщений и алфавит для записи шифрованных сообщений могут отличаться. Например, исходные сообщения записываются с помощью букв, а шифрограммы с помощью цифр или графических обозначений.

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

Шифрование (зашифрование) — процесс применения шифра к защищаемой информации, т.е. преобразование исходного сообщения в зашифрованное.

Дешифрование — процесс, обратный шифрованию, т. е. преобразование шифрованного сообщения в исходное.

Алгоритмы шифрования и зашифрования, как правило, отличаются друг от друга, но могут и совпадать. В частности, в некоторых комбинированных блочных шифрах (DES, ГОСТ 28147-89) алгоритмы совпадают, но отличаются порядком использования ключа (ключевых элементов). Алгоритм шифрования может включать в себя предварительное кодирование, а алгоритм расшифрования - обратное перекодирование. Например, в аддитивных шифрах перед шифрованием буквы (символы) исходного сообщения заменяются на числа, а результат расшифрования в виде чисел преобразуется в буквы (символы). Аналогичная ситуация имеет место и в некоторых шифрах замены (шифр Хилла), комбинированных блочных шифрах, ассиметричных шифрах.

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

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

f(P, k1) = C, (3.1)

g(C, k2) = P, (3.2)

где P (англ. public - открытый) - открытое сообщение;
C (англ. cipher - шифрованный) - шифрованное сообщение;
f - алгоритм шифрования;
g - алгоритм расшифрования;
k1 – ключ зашифрования, известный отправителю;
k2 – ключ расшифрования, известный адресату.

 

В настоящее время разработкой методов шифрования и дешифрования информации (в т.ч. и без знания ключа) занимается криптология (греч. κρυπτός — тайный, λόγος — слово, знание). Криптология разделяется на два направления — криптографию и криптоанализ. Цели этих двух правлений криптологии прямо противоположны.

Криптография (греч. κρυπτός — скрытый и γράφω — пишу, рисую) – наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

Криптоанализ (греч. κρυπτός — скрытый и ανάλυση — разложение, расчленение) – наука, занимающаяся вопросами оценки сильных и слабых сторон методов шифрования, а также разработкой методов, позволяющих взламывать криптосистемы.

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

- общедоступные кодовые системы, предназначенные для преобразования информации в форму, удобную для передачи, хранения или автоматической обработки (азбука Морзе, Unicode, штрихкод);

- секретные кодовые системы, предназначенные, как и криптографические системы, для обеспечения конфиденциальности (номенклаторы, «Код Госдепартамента», «Американский код для окопов», «Речные коды: Потомак»).

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

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

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

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

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

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

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

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

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

- от вида защищаемой информации (документальная, телефонная, телевизионная, компьютерная и т.д.);

- от объема и требуемой скорости передачи шифрованной информации;

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

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

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

 

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

1. Диск Энея - это диск, имеющий диаметр 10—15 сантиметров. В диске есть отверстия, количество которых совпадает с числом букв алфавита. Для того, чтобы записать сообщение, нужно было протянуть нитку через соответствующие буквам исходного сообщения отверстия в диске. При прочтении сообщения, получатель вытягивал нитку, получая нужные буквы, но в обратном порядке. Недостатком этого шифра является то, что недоброжелатель может прочитать сообщение, если перехватит диск. В связи с этим создатель имел способ мгновенного уничтожения сообщения — это достигалось за счет вырывания нити из катушки в центре диска.

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

3. Книжный шифр – является одной из техник тайнописи. Эней описал ее в своём сочинении «О перенесении осады». Энеем была выдвинута идея делать почти незаметные дырки около букв в книгах или других документах. Подобным этому шифром во времена Первой мировой войны пользовались немецкие.

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

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

Довольно известным методом шифрования является квадрат Полибия. Этот шифр был создан во II веке до н. э. в Древней Греции. Этот шифр заключался в следующем: буквы алфавита записывались в квадрат 5 на 5, столбцы и строки которого нумеровались числами от 1 до 5, в каждую клетку квадрата записывалась буква (если пользоваться греческим алфавитом, то одна ячейка квадрата будет пустой т.к. в количество букв греческого алфавита – 24), после записи в квадрат, с помощью оптического телеграфа передавались номера строки и столбца, которые соответствовали символу исходного сообщения (на каждую букву сообщения нужно было два сигнала, а именно: число факелов - это разрядность буквы по горизонтали и вертикали.

Еще более знаменитым и часто используемым в современное время, можно по праву назвать шифр Цезаря. Шифр Цезаря представляет собой шифр подстановки, в котором каждая буква исходного сообщения заменяется на букву, находящуюся на некотором, постоянном для всего сообщения, удалении (т.е. смещение на определенное число букв) позиций левее или правее исходной буквы в алфавите. Пример: При сдвиге вправо на 3 (именно таким сдвигом пользовался Цезарь) A станет D, B-E и так далее.

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



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 585; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.230.162.238 (0.119 с.)