Лекция 12. Практикум для студентов всех специальностей, использующих федеральный компонент по основам информационной безопасности и защите информации
Скачать 1.25 Mb.
|
Номер варианта Контрольные вопросы 1,5,7, 3,9,18,28 Какие вы знаете методы криптографической защиты файлов? 2,4,6,8, 20,22,24, 26,30 В чем преимущества и недостатки одноалфавитных методов? 11,13,15, 10,17,19, 27 Если вам необходимо зашифровать текст, содержащий важную информацию, какой метод, из рассмотренных, вы выберете? Обоснуйте свой выбор. 12,14,16 21,23.25, 29 Целесообразно ли повторно применять для уже зашифрованного текста: а) метод многоалфавитного шифрования? б) метод Цезаря? 24 ЛАБОРАТОРНАЯ РАБОТА №2 ИССЛЕДОВАНИЕ РАЗЛИЧНЫХ МЕТОДОВ ЗАЩИТЫ ТЕКСТОВОЙ ИНФОРМАЦИИ И ИХ СТОЙКОСТИ НА ОСНОВЕ ПОДБОРА КЛЮЧЕЙ Цель работы: Изучение методов шифрования/расшифрования перестановкой символов, подстановкой, гаммированием, использованием таблицы Виженера. Исследование и сравнение стойкости различных методов, на основе атак путем перебора всех возможных ключей. В лабораторной работе рассматривается способ вскрытия шифра, основанный на переборе всех вариантов ключа. Критерием правильности варианта служит наличие в тексте «вероятного слова». Перебирается множество всех возможных ключей, шифрованный текст расшифровывается на каждом ключе. В получившемся «псевдооткрытом» тексте ищется вероятное слово. Если такого слова нет, текущий текст бракуется и осуществляется переход к следующему ключу. Если такое слово найдено, на экран выводится вариант ключа. Затем перебор ключей продолжается до тех пор, пока не исчерпается все множество вариантов. Возможно обнаружение нескольких ключей, при которых в «псевдооткрытых текстах» имеется вероятное слово. После завершения перебора необходимо расшифровать текст на найденных ключах. «Псевдооткрытый текст» выводится на экран для визуального контроля. Если оператор признает текст открытым, то работа по вскрытию заканчивается. Иначе, данный вариант ключа бракуется и осуществляется переход к следующему ключу. 1. Порядок выполнения лабораторной работы Для выполнения лабораторной работы необходимо запустить программу LAB_RAB.exe, используемую для шифрования/расшифрования, а также дешифрования (методом протяжки вероятного слова) файлов. Система реализует следующие функции: – ввод, удаление и селекция ключей пользователя; 25 – поддержка списка ключей; – шифрование и расшифрование текста; – дешифрование текста путем подбора ключей, методом протяжки вероятного слова. Система поддерживает следующие методы криптографического преобразования информации: – замена; – перестановка; – гаммирование; – таблица Виженера. При запуске утилит шифрования и расшифрования у пользователя запрашивается подтверждение на правильность выбранного метода для работы и соответствия заданного ключа целям пользователя (также всегда при изменении файла в текстовом редакторе выдается запрос на сохранение изменений при каждом шаге, дальнейшее развитие которого приведет к необратимым изменениям в файле и потере изначальной информации). Описание интерфейса. Окно текстового редактора с широким набором дополнительных функций. Таблица всех ключей, введенных в систему с быстрым доступом для ввода, удаления или выбора текущего ключа. Список всех методов шифрования для быстрого и удобного переключения между ними. Основное меню (вверху экрана). Дополнительное меню (вызывается нажатием правой кнопки мыши). Набор вспомогательных кнопок для быстрого и удобного интерфейса. Поля вывода текущего состояния системы: текущий ключ; вероятное слово; сила ключа для протяжки. 26 Пример работы с программой Внимание! Будьте внимательны при установке параметров работы, так как в процессе вычисления по ходу работы эти параметры изменить уже не удастся. После запуска программы абсолютно все рабочие поля пустые и необходимо провести первоначальные настройки для работоспособности системы. 1. Вводится список ключей. 2. Вводится вероятное слово (необязательно вначале, до его ввода все меню запуска протяжки все равно недоступны). 3. Выбирается необходимый метод шифрования. 4. Загружается исходный или зашифрованный файл (открываются соответствующие меню для шифрования и расшифрования). 5. Запускается необходимый процесс: – шифрование; – расшифрование; – протяжка вероятного слова; – конвертация текста. 6. Продолжение работы в любом порядке в соответствии с описанными пунктами. 7. При завершении работы не забудьте сохранить необходимые результаты (при закрытии и загрузке новых файлов система автоматически запрашивает подтверждение на запись). Шифрование 1. Открыть файл. 2. Внести необходимые изменения. 3. Настроить соответствующие параметры: – тип шифрования; – ключ; – прочие. 27 4. Запустить процесс шифрования через пункт меню УТИЛИТЫ \ ЗАШИФРОВАТЬ F5. Внимание! При шифровании файла все внесенные пользователем изменения до текущего момента времени будут сохранены на жестком диске. Расшифрование 1. Открыть файл. 2. Произвести необходимые изменения. 3. Настроить соответствующие параметры: – тип шифрования; – прочие. 4. Запустить процесс расшифрования через пункт меню УТИЛИТЫ \ РАСШИФРОВАТЬ F6. Внимание! При расшифровании файла все проведенные пользователем изменения до текущего момента времени будут сохранены на жестком диске. Протяжка вероятного слова (дешифрование) Внимание! Мощность ключа задастся заранее в опции "сила ключа". Длина ключа значительно влияет на время протяжки вероятного слова (в худшем случае имеем дело с логарифмическим алгоритмом). 1. Вводится вероятное слово (длинной от 1(3) до 9) 2. Для отделения вновь найденных ключей от предыдущих между ними добавляется надпись "подбор". 3. Перебор ключей. 4. Расшифровывается первая вся строка текста по текущему ключу. 5. Порциями, равными длине вероятного слова, сравнивается содержимое этой строки со значением вероятного слова. 6. Если найдено хоть одно совпадение, запоминаем ключ. 7. Переходим к новому ключу. 8. Переходим к следующей строке. 28 9. Результаты должны содержаться в списке ключей. Если совпадений не найдено, в список ключей ничего не добавляется. Операции с ключами С базой ключей могут осуществляться следующие действия: – добавить новый ключ; – удалить одну запись; – изменить активную запись; – очистить всю таблицу введенных ключей . Примечание. Под словами "работа с таблицей ключей" имеются ввиду ключи, введенные для использования в двух методах (гаммирования и таблица Виженера). Ключи для перестановки В каждый момент времени в системе может быть только один текущий ключ для перестановки. Правила ввода ключа для перестановки: 1. При переключении в списке поддерживаемых системой методов шифрования на пункт "Перестановка" вызывается окно ввода ключа перестановки. Окно состоит из двух кнопок (Отмены и Выхода без изменений и кнопки Enter – подтверждение установленной длины ключа) и окна задания длины ключа для перестановки. 2. В окне задания длины ключа необходимо выбрать необходимую длину (параметры заменяются в пределах 1 … 9), и подтвердить желание использовать ключ именно такой длины. 3. После подтверждения в окне высветятся кнопки с цифрами на лицевой стороне (в количестве, равном длине ключа), при нажатии на кнопку происходит фиксация кнопки (ее обесцвечивание) для 29 невозможности ее дальнейшего использования (так как все цифры в ключе перестановки должны быть неповторяющимися). 4. После перебора всех кнопок система запоминает введенный ключ, выводит его в поле ввода ключей и выходит из окна ввода ключа перестановки в окно основной программы. 2. Задание 1. Ознакомиться с описанием лабораторной работы и заданием. 2. Выполнить настройку программы: выбрать метод шифрования; ввести ключи для всех методов; ввести вероятное слово; осуществить все остальные системные настройки. 3. Для метода замены (одноалфавитного метода): выбрать данный алгоритм в списке доступных методов шифрования; установить необходимое смещение; открыть произвольный файл; просмотреть содержимое исходного файла; выполнить для этого файла шифрование (при необходимости можно задать имя зашифрованного файла); просмотреть в редакторе зашифрованный файл; ввести вероятное слово; ввести вероятную длину ключа (кроме метода замены); подобрать ключ; выполнить расшифрование со всеми найденными ключами; найти в каком-либо из расшифрованных файлов правильно расшифрованное ключевое слово; расшифровать файл исходным ключом; проверить результат. 30 4. Для метода перестановки: выбрать метод перестановки; в открывшемся окне ввода ключа перестановки символов указать сначала длину этого ключа, а затем из появившихся кнопок составить необходимую комбинацию для ключа, нажимая на кнопки в заданном порядке; при этом уже использованные кнопки становятся недоступными для предотвращения их повторного ввода; далее действия полностью соответствуют изложенным в предыдущем пункте задания. 5. Для метода гаммирования: выбрать метод гаммирования; ввести ключ гаммирования; полностью повторить п. 3. 6. Для таблицы Виженера все действия повторяются из п. 5 (метод гаммирования). В отчете для каждого метода шифрования описывается последовательность выполняемых действий, имена всех использованных файлов, указываются исходные и найденные ключи, описывается процесс дешифрования. Преподавателю предоставляется отчет о проделанной работе и все использованные файлы. 31 Номер варианта Контрольные вопросы 1,5,7, 3,9,18,28 Чем отличается ―псевдооткрытый‖ текст (текст, полученный при расшифровке по ложному ключу) от настоящего открытого текста? 2,4,6,8, 20,22,24, 26,30 Как зависит время вскрытия шифра описанным выше способом подбора ключей от длины ―вероятного‖ слова? 11,13,15, 10,17,19, 27 Зависит ли время вскрытия шифра гаммирования (или таблицы Виженера) от мощности алфавита гаммы? 12,14,16 21,23.25, 29 В чем недостатки метода дешифрования с использованием протяжки вероятного слова? 32 ЛАБОРАТОРНАЯ РАБОТА №3 ИЗУЧЕНИЕ УСТРОЙСТВА И ПРИНЦИПА РАБОТЫ ШИФРОВАЛЬНОЙ МАШИНЫ ЭНИГМА (Enigma) Цель работы: Изучение принципов шифрования/расшифрования информации, используемых в шифровальной машине Энигма. Ознакомление с общими принципами действия шифровальной машины Энигма на примере эмулятора. Предварительно необходимо установить программу эмулятор Enigma3S. 1. Энигма, устройство и принцип действия Рис. 3.1. Внешний вид шифровальной машины Энигма Эни́гма (Enigma) 4 — портативная шифровальная машина, использовавшаяся для шифрования и расшифрования секретных сообщений. Более точно, Энигма — целое семейство электромеханических роторных машин, применявшихся с 20-х годов XX века. 4 Эмуляторы Энигмы http://www.attlabs.att.co.uk/andyc/enigma 33 Энигма использовалась в коммерческих целях, а также в военных и государственных службах во многих странах мира, но наибольшее распространение получила в Германии во время второй мировой войны. Именно Энигма Вермахта (Wehrmacht Enigma) — немецкая военная модель — чаще всего является предметом изучения. Хотя шифр Энигмы, с точки зрения криптографии, был достаточно слаб, но на практике лишь сочетание этого фактора с другими, такими, как ошибки операторов, процедурные изъяны и захваты экземпляров Энигмы и шифровальных книг, позволило английским криптоаналитикам вскрывать сообщения, зашифрованные шифром Энигмы. Рис. 3.2. Электрическая схема Энигмы (замена в тексте буквы 'A' буквой 'D') 34 Шифрующее действие Энигмы показано для двух последовательно нажатых клавиш — ток течет через роторы, "отражается" от рефлектора, затем снова возвращается через роторы. Серыми линиями на рисунке показаны другие возможные электрические цепи внутри каждого ротора. Буква ―A‖ заменяется в шифротексте по-разному при последовательных нажатиях клавиши, сначала на ―G‖, затем на ―C‖. Сигнал идет по другому маршруту за счет поворота ротора. Как и другие роторные машины, Энигма состояла из комбинации механических и электрических систем. Механическая часть включала клавиатуру, набор вращающихся дисков (роторов), расположенных вдоль вала, и ступенчатого механизма, приводящего в движение один или более роторов при каждом нажатии клавиши. Движение роторов приводит к различным вариантам подстановки символов при каждом следующем нажатии клавиши на клавиатуре. Механические части двигались, образуя меняющийся электрический контур — то есть, фактически, шифрование осуществлялось электрически. При нажатии клавиш контур замыкался, ток проходил через различные компоненты и в итоге включал одну из множества лампочек, отображавшую выводимую букву. Например, при шифровании сообщения, начинающегося ―ANX...‖, оператор вначале нажимал кнопку ―A‖, и загоралась лампочка ―Z‖, то есть ―Z‖ становилась первой буквой криптограммы. Оператор продолжал шифрование, нажимая на клавиатуре ―N‖ и, так далее, до конца исходного сообщения. Постоянное изменение электрической цепи, через которую шел ток, вследствие вращения роторов, позволяло реализовать многоалфавитный шифр подстановки, что давало высокую стойкость для того времени. 35 Роторы Рис. 3.3. Левая сторона ротора Энигмы, видны плоские электрические контакты Рис. 3.4. Правая сторона ротора, видны штыревые контакты Роторы — это сердце Энигмы. Каждый ротор представляет собой диск примерно 10 см в диаметре, сделанный из твердой резины или бакелита, с пружинными штыревыми контактами на одной стороне ротора, расположенными по окружности; на другой стороне соответствующее количество плоских электрических контактов. Штыревые и плоские контакты соответсвуют буквам в алфавите; обычно это 26 букв ―A‖…―Z‖. При соприкосновении контакты соседних роторов замыкают электрическую цепь. Внутри ротора каждый штыревой контакт соединен с некоторым плоским. Порядок соединения может быть различным. Сам по себе ротор воспроизводит шифрование простой заменой символов. Например, контакт, отвечающий за букву ―Е‖, может быть соединен с контактом буквы ―Т‖ на другой стороне ротора. Но при 36 использовании нескольких роторов в связке (обычно трех или четырех), за счет их постоянного движения, получается более стойкий тип многоалфавитного шифрования. Ротор может занимать одну из 26 позиций в машине. Он может быть повернут вручную при помощи рифленого пальцевого колесика, которое выдается наружу, как показано на Рис. 3.5. Чтобы оператор всегда мог определить положение ротора, на каждом ободе находится алфавитное кольцо; одна из букв видна через окошко. В ранних моделях Энигмы алфавитное кольцо было фиксировано; в более поздних версиях ввели усложненную конструкцию с возможностью его регулировки. Каждый ротор содержит выемку (или несколько выемок), используемых для управления движением роторов. Рис. 3.5. Ротор в разобранном виде 1. кольцо с выемками 2. маркирующая точка для контакта "A" 3. алфавитное кольцо 4. залуженные контакты 5. электропроводка 6. штыревые контакты 7. пружинный рычаг для настройки кольца 37 8. втулка 9. пальцевое кольцо 10. храповое колесо Рис. 3.6. Три последовательно соединенных ротора Военные версии Энигмы выпускались с несколькими роторами; первая модель содержала только три. В 1938 г. их стало пять, но только три из них одновременно использовались в машине. Эти типы роторов были маркированы римскими цифрами I, II, III, IV, V, и все с одной выемкой, расположенной в разных местах алфавитного кольца. В военно- морских версиях Wehrmacht Enigma содержалось большее количество роторов, чем в других: шесть, семь или восемь. В Wehrmacht Enigma каждый ротор прикреплен к регулируемому кольцу с выемками. Пять базовых роторов (I-V) имели по одной выемке, тогда как военно-морские с дополнительными роторами (VI-VIII) — по две. В определенный момент, выемка попадает напротив собачки, позволяя ей зацепить храповик следующего ротора при последующем нажатии клавиши. Когда же собачка не попадает в выемку, она просто проскальзывает по поверхности кольца, не цепляя шестеренки. В системе с одной выемкой второй ротор продвигается вперед на одну позицию в то 38 время, как первый продвигается на 26. Аналогично, третий ротор продвигается на один шаг в то время, как второй делает 26 шагов. Особенностью было то, что второй ротор также поворачивался, если поворачивался третий; это означает, что второй ротор мог повернуться дважды при двух последовательных нажатиях клавиш, так называемое "двухшаговое движение", что приводит к уменьшению периода при шифровании. Рис. 3.7. Роторы Энигмы в собранном состоянии. Три подвижных ротора помещены между двумя неподвижными деталями: входное кольцо и рефлектор (помечен "B" слева) Входное колесо Входное колесо (Eintrittswalze по-немецки), или входной статор, соединяет коммутационную панель, или (в случае ее отсутствия) клавиатуру и ламповую панель, с роторами. Несмотря на то, что фиксированное соединение проводов имеет сравнительно небольшее значение с точки зрения безопасности, это оказалось некоторым препятствием в работе польского криптоаналитика Марьяна Реджевски, когда он пытался определить способ коммутации проводов внутри роторов. Коммерческая версия Энигмы соединяла буквы в порядке их |