Методика и порядок выполнения работы
1. Ознакомиться с теоретическими сведениями, изложенными в данных методических указаниях
2. Изучить классификационную структуру организационных средств защиты информации
3. Рассмотреть перечень организационных мер защиты
4. Оформить отчет
Содержание отчета и его форма
Отчет должен иметь форму согласно оформлению простого реферата. Титульный лист должен включать название дисциплины, название лабораторной работы, фамилию и инициалы сдающего студента, номер группы, фамилию и инициалы принимающего преподавателя.
Основная часть лабораторной работы должна содержать:
1. Структуризацию критериев системной классификации организационных средств защиты информации
2. Классификационную структуру организационных средств защиты информации
3. Перечень организационных мер защиты
4. Выводы по проделанной работе
Вопросы для защиты работы
1. Дайте определение, приведите и обоснуйте классификацию организационно-правовых средств защиты
2. Раскройте назначение, приведите перечень и краткое содержание организационных мероприятий общего характера
3. Раскройте назначение, приведите перечень и краткое содержание мероприятий, осуществляемых на разных этапах функционирования систем защиты.
Лабораторная работа № 9
ИССЛЕДОВАНИЕ ОСОБЕННОСТЕЙ КРИПТОГРАФИЧЕСКИХ СРЕДСТВ ЗАЩИТЫ
Цель и содержание: провести исследование особенностей криптографических средств защиты
Теоретическое обоснование
Криптографическое закрытие является специфическим способом защиты информации, оно имеет многовековую историю развития и применения. Поэтому у специалистов не возникало сомнений в том, что эти средства могут эффективно использоваться также и для защиты информации
в АСОД, вследствие чего им уделялось и продолжает уделяться большое внимание. Достаточно сказать, что в США еще в 1978 г. утвержден а рекомендован дня широкого применения национальный стандарт криптографического закрытия информации. Подобный стандарт в 1989 г, утвержден и у нас в стране. Интенсивно ведутся исследования с целью разработки высоко стойких и гибких методов криптографического закрытия информации. Более того, сформировалось самостоятельное научное направление - криптология, изучающая и разрабатывающая научно-методологические основы, способы, методы и средства криптографического преобразования информации.
Можно выделить следующие три периода развития криптологии, Первый период - эра донаучной криптологии, являвшейся ремеслом-уделом узкого круга искусных умельцев. Началом второго периода можно считать 1949 год, когда появилась работа К. Шеннона «Теория связи в секретных системах», в которой проведено фундаментальное научное исследование шифров и важнейших вопросов их стойкости. Благодаря этому труду криптология оформилась как прикладная математическая дисциплина. И, наконец, начало третьему периоду было положено появлением в 1976 г. работы У. Диффи, М. Хеллмана «Новые направления в криптографии», где показано, что секретная связь возможна без предварительной передачи секретного ключа. Так началось и продолжается до настоящего времени бурное развитие наряду с обычной классической криптографией и криптографии с открытым ключом.
Приведем краткую историческую справку развития криптографии.
Еще несколько веков назад само применение письменности можно было рассматривать как способ закрытия информации, так как владение письменностью было уделом немногих.
XX в. до н. э. При раскопках в Месопотамии был найден один из самых древних шифртекстов. Он был написан клинописью на глиняной табличке и содержал рецепт глазури для покрытия гончарных изделий что, по-видимому, было коммерческой тайной. Известны древнеегипетские религиозные тексты и медицинские рецепты.
Середина IX в. до н. э. Именно в это время, как сообщает Плутарх использовалось шифрующее устройство - скиталь, которое реализовывало по так называемый шифр перестановки. При шифровании слова писались на узкую ленту, намотанную на цилиндр, вдоль образующей этого цилиндра (скиталя). После этого лента разматывалась и на ней оставались переставленные буквы открытого текста. Неизвестным параметром ключом - в данном случае служил диаметр этого цилиндра. Известен и метод дешифрования такого шифр текста, предложенный Аристотелем, который наматывал ленту на конус, и то место, где появлялось читаемое слово или его часть, определяло неизвестный диаметр цилиндра.
56 г. н. э. Во время войны с галлами Ю. Цезарь использует другую разновидность шифра - шифр замены. Под алфавитом открытого текста писался тот же алфавит со сдвигом (у Цезаря на три позиции) по циклу. При шифровании буквы открытого текста у верхнего алфавита заменялись на буквы нижнего алфавита. Хотя этот шифр был известен до Ю. Цезаря, тем не менее шифр был назван его именем.
Другим более сложным шифром замены является греческий шифр –«квадрат Полибия». Алфавит записывается в виде квадратной таблицы. При шифровании буквы открытого текста заменялись на пару чисел - номера столбца и строки этой буквы в таблице. При произвольном расписывании алфавита по таблице и шифровании такой таблицей короткого сообщения, этот шифр является стойким даже по современным понятиям. Идея была реализована в более сложных шифрах, применявшихся во время первой мировой войны.
Крах Римской империи в V в н. э. сопровождался закатом искусства и наук, в том числе и криптографии. Церковь в те времена преследовала тайнопись, которую она считала чернокнижием и колдовством. Сокрытие мыслей за цифрами не позволяло церкви контролировать эти мысли.
Р. Бэкон (1214-1294) - францисканский монах и философ - описал семь систем секретного письма. Большинство шифров в те времена применялись для закрытия научных записей.
Вторая половина XV в. Леон Баттиста Альберти, архитектор и математик, работал в Ватикане, автор книги о шифрах, где описал шифр замены, на основе двух концентрических кругов, по периферии которых были нанесены на одном круге - алфавит открытого текста, а на другом -алфавит шифр текста. Важно, что шифр алфавит был не последовательным и мог быть смещен на любое количество шагов. Именно Альберти впервые применял для дешифрования свойство неравномерности встречаемости различных букв в языке. Он впервые также предложил для повышения стойкости применять повторное шифрование с помощью разных шифр систем.
Известен факт, когда король Франции Франциск I в 1546 году издал указ, запрещающий подданным использование шифров. Хотя шифры того времени были исключительно простыми, они считались нераскрываемыми.
Иоганн Тритемий (1462-1516) - монах-бенедиктинец, живший в Германии, Написан один из первых учебников по криптографии. Предложил оригинальный шифр многозначной замены под названием «Ave Maria». Каждая буква открытого текста имела не одну замену, а несколько, по выбору шифровальщика. Причем буквы заменялись буквами или словами так, что получался некоторый псевдооткрытый текст, тем самым скрывался сам факт передачи секретного сообщения. То есть применялась стеганография вместе с криптографической защитой. Разновидность шифра многозначной замены применяется до сих пор. Например, в архиваторе ARJ.
Джироламо Кардано - итальянский математик, механик, врач, изобрел систему шифрования, так называемую решетку Кардано, на основе которой, например, был создан один из наиболее стойких военно-морских шифров Великобритании во время второй мировой войны. В куске картона с размеченной решеткой определенным образом прорезались отверстия, нумерованные в произвольном порядке. Чтобы получил шифр текст, нужно положить этот кусок картона на бумагу и начинать вписывать в отверстия буквы в выбранном порядке. После снятия картона промежутки бессмысленного набора букв дописывались до псевдосмысловых фраз, так можно было скрыть факт передачи секретного сообщения. Скрытие легко достигается, если промежутки эти большие и еслислова языка имеют небольшую длину, как, например, в английском языке. «Решетка Кардано» - это пример шифра перестановки.
XVI в. Шифры замены получили развитие в работах итальянца Джованни Батиста Порты (математик) и француза Блеза де Вижинера (дипломат).
Система Вижинера в том или ином виде используется до настоящего времени, поэтому ниже она будет рассмотрена достаточно детально.
XVII в. Кардинал Ришелье (министр при короле Франции Людовике ХШ) создал первую в мире шифр службу.
Лорд Френсис Бэкон (1562-1626) был первым, кто обозначил буквы 5-эначным двоичным кодом: А = 00001, В = 00010,… и т. д. Правда, Бэкон никак не обрабатывал этот код, поэтому такое закрытие было совсем нестойким. Просто интересно, что через три века этот принцип был положен в основу электрической и электронной связи. Тут уместно вспомнить коды Морзе, Бодо, международный телеграфный код № 2, код ASCII, также представляющие собой простую замену.
В этом же веке были изобретены так называемые словарные шифры. При шифровании буквы открытого текста обозначались двумя числами - номером строки и номером буквы в строке на определенной странице какой-нибудь выбранной распространенной книги. Эта система является довольно стойкой, но неудобной. К тому же книга может попасть в руки противника.
В конце XVIII века в переписке французской метрополии с колониями стали широко применяться коды, в основном трехзначные, на несколько сот кодвеличин. Обычно при кодировании пользуются кодкнигой, где для удобства все кодвеличины стоят в алфавитном порядке. Если при кодировании нужного слова не окажется среди кодвеличин, то оно кодируется побуквенно. Код имеет только один ключ - долговременный содержание кодкниги.
К.Гаусс (1777-1855) - великий математик тоже не обошел своим вниманием криптологию. Он создал шифр, который ошибочно считал нераскрываемым. При его создании использовался интересный прием - рандомизация (random - случайный) открытого текста. Открытый текст можно преобразовать в другой текст, содержащий символы большего алфавита, путем замены часто встречающихся букв случайными символами из соответствующих определенных им групп. В подучающемся тексте все символы большого алфавита встречаются с примерно одинаковой частотой. Зашифрованный таким образом текст противостоит методам раскрытия на основе анализа частот появления отдельных символов. После расшифрования законный получатель легко снимает рандомизацию. Такие шифры называют «шифрами с многократной подстановкой» или «равночастотными шифрами». Ниже будет приведен пример такого шифра.
Перейдем теперь к рассмотрению криптографических средств применительно к потребностям защиты информации в современных АСОД.
Как известно, до недавнего времени криптографические средства использовались преимущественно (если не всецело) для сохранения государственной тайны, поэтому сами средства разрабатывались специальными органами, причем использовались криптосистемы очень высокой стойкости, что, естественно, сопряжено было с большими затратами. Однако, поскольку сфера защиты информации в настоящее время резко расширяется, становится весьма целесообразным системный анализ криптографических средств с учетом возможности и целесообразности их широкого применения для сохранения различных видов секретов и в различных условиях. Кроме того, в последние годы интенсивно разрабатываются новые способы криптографического преобразования данных, которые могут найти более широкое по сравнению с традиционными, применение.
В связи с изложенным, представляется целесообразным рассмотреть следующую совокупность вопросов:
1) возможности применения криптографических методов в АСОД;
2) основные требования к криптографическому закрытию информации в АСОД;
3) методы криптографического преобразования данных;
4) проблемы реализации методов криптографической защиты в АСОД;
5) характеристики криптографических средств защиты;
6) новые криптографические методы и их использование.
Рисунок 1 – Возможности использования криптографических методов
Возможность применения криптографических методов в АСОД. Криптографические методы защиты информации в автоматизированных системах могут применяться как для защиты информации, обрабатываемой в ЭВМ или хранящейся в различного типа ЗУ, так и для закрытия информации, передаваемой между различными элементами системы по линиям связи. Поэтому криптографические методы могут использоваться как внутри отдельных устройств или звеньев системы, так и на различных участках линий связи. Возможные узлы и точки автоматизированных систем, в которых могут применяться криптографические методы, показаны на рисунке 1.
В первом варианте (блок К3-1) обеспечивается закрытие информации, передаваемой между терминалом пользователя и устройством группового управления вводом-выводом данных (УГУВВ), вариант № 2 (блок КЗ-2) предусматривает защиту информации, хранимой и обрабатываемой в УГУВВ, в варианте № 3 обеспечивается защита информации в линии связи между УГУВВ и ЦЭВМ (центральная ЭВМ сети). В варианте № 4 защищается информация, хранимая и перерабатываемая в ЦЭВМ, и, наконец, вариант № 5 означает защиту информации, передаваемой по линиям связи между ЦЭВМ и внешними абонентами (например, другими автоматизированными системами, некоторыми исполнительными устройствами и т. д.). Необходимость и целесообразность использования любого из названных вариантов защиты информации определяются степенью конфиденциальности обрабатываемой в каждом структурном элементе системы информации и конкретными условиями размещения и функционирования различных элементов автоматизированной системы. Само собой разумеется, что возможно применение любых комбинаций названных вариантов защиты.
Основные требования к криптографическому закрытию информации в АСОД. К настоящему времени разработано большое количество различных методов шифрования, созданы теоретические и практические основы их применения. Подавляющее число этих методов может быть успешно использовано и для закрытия информации в АСОД. Наличие в составе таких систем быстродействующих процессоров и ЗУ большого объема значительно расширяет возможности криптографического закрытия. Так как криптографические методы при правильном применении обеспечивает высокую эффективность защиты, то они широко используются в системах различного типа.
Однако для того, чтобы криптографическое преобразование обеспечивало эффективную защиту информации в АСОД оно должно удовлетворять ряду требований. Эти требования были выработаны в процессе практического применения криптографии, часть их основана на технико-экономических соображениях. В сжатом виде их можно сформулировать следующим образом:
1) сложность и стойкость криптографического закрытия должны выбираться в зависимости от объема и степени секретности данных;
2) надежность закрытия должна быть такой, чтобы секретность не нарушалась даже в том случае, когда злоумышленнику становится известен метод закрытия;
3) метод закрытия, набор используемых ключей и механизм их распределения не должны быть слишком сложными;
4) выполнение процедур прямого и обратного преобразований должно быть формальным. Эта процедуры не должны зависеть от длины сообщений;
5) ошибки, возникающие в процессе выполнения преобразования» не должны распространяться по системе;
6) вносимая процедурами защиты избыточность должна быть минимальной.
Методы криптографического преобразования данных. В настоящее время не существует общепринятой классификации криптографических методов. Но судя по большинству опубликованных работ, наиболее целесообразной представляется классификация, показанная на рисунке 2.
Под шифрованием в данном случае понимается такой вид криптографического закрытия, при которой преобразованию подвергается каждый символ защищаемого сообщения. Все известные способы шифрования можно разбить на пять групп: подстановка (замена), перестановка, аналитическое преобразование, гаммирование и комбинированное шифрование. Каждый из этих способов может иметь несколько разновидностей, некоторые из которых показаны на схеме.
Под кодированием понимается такой вид криптографического закрытия, когда некоторые элементы защищаемых данных (это не обязательно отдельные символы) заменяются заранее выбранными кодами (цифровыми, буквенными, буквенно-цифровыми сочетаниями и т л.). Этот метод имеет две разновидности: смысловое и символьное кодирование. При смысловом кодировании кодируемые элементы имеют вполне определенный смысл (слова, предложения, группы предложении). При символьном кодировании кодируется каждый символ защищаемого сообщения. Символьное кодирование по существу совпадает с шифрованием заменой.
К отдельным видам криптографического закрытия отнесены методы рассечения-разнесения и сжатия данных. Рассечение-разнесение заключается в том, что массив защищаемых данных делится (рассекается) на такие элементы, каждый из которых в отдельности не позволяет раскрыть содержание защищаемой информации. Выделенные таким образом элементы данных разносятся по разным зонам ЗУ или располагаются на различных носителях. Сжатие данных представляет собой замену часто встречающихся одинаковых строк данных или последовательностей одинаковых символов некоторыми заранее выбранными символами.
Простые системы криптографического преобразования. Простыми названы такие системы, которые, с одной стороны весьма просты в реализации, а с другой - могут обеспечить достаточно надежную защиту, по крайней мере небольших объемов информации и на не очень большие интервалы времени. Из таких систем рассмотрим усложненные замены или подстановки (по так называемой таблице Вижинера и монофонической заменой), усложненные перестановки (с использованием так называемых пустышек и по маршрутам Гамильтона), гаммированием, аналитическим преобразованием, а также кодированием и рассечением-разнесением.
Таблица Вижинера представляет собой квадратную матрицу с n2 элементами, где n - число символов используемого алфавита. На рисунке 3 показана таблица Вижинера для русского языка. Каждая строка получена циклическим сдвигом алфавита на символ. Для шифрования выбирается буквенный ключ, в соответствии с которым формируется рабочая матриц па шифрования. Осуществляется это следующим образом. Из полной таблицы выбирается первая строка и те строки, первые буквы которых соответствуют буквам ключа. Первой размещается первая строка, а под нею - строки, соответствующие буквам ключа в порядке следования этих букв в ключе. Пример такой рабочей матрицы для ключа САЛЬЕРИ приведен в средней части рисунке 4.
Рисунок 2 – Классификация криптографических методов преобразования информации
Рисунок 3 – Таблица Вижинера дня русского алфавита
Рисунок 4 – Порядок шифрования по таблице Вижинера с использованием ключа «Сальери»:
ОТ - открытый текст, ШТ - шифрованный текст
Сам процесс шифрования осуществляется следующим образом: 1) под каждой буквой шифруемого теста записываются буквы ключа, и ключ при этом повторяется необходимое число раз; 2) каждая буква шифруемого текста заменяется по подматрице буквами, находящимися на пересечении линий, соединяющих буквы шифруемого текста в первой строке подматрицы и строк находящихся под ними букв ключа; 3) полученный текст может разбиваться на группы по несколько знаков.
Пусть, например, требуется зашифровать сообщение; МАКСИМАЛЬНО ДОПУСТИМОЙ ЦЕНОЙ ЯВЛЯЕТСЯ ПЯТЬСОТ РУБ. ЗА ШТУКУ. В соответствии с первым правилом записываем под буквами шифруемого текста буквы ключа. Получаем:
МАКСИМАЛЬНО ДОПУСТИМОЙ ЦЕНОЙ ЯВЛЯЕТСЯ САЛЬЕРИСАЛЬ ЕРИСАЛЬЕРИ САЛЬЕ РИСАЛЬЕР
ПЯТЬСОТ РУБ. ЗА ШТУКУ
ИСАЛЬЕР ИСА ЛЬ ЕРИСА
Дальше осуществляется непосредственное шифрование в соответствии со вторым правилом, а именно: берем первую букву шифруемою текста (М) и соответствующую ей букву ключа (С); по букве шифруемого текста (М) входим в рабочую матрицу шифрования и выбираем под нею букву, расположенную в строке соответствующей букве ключа (С) - в нашем примере такой буквой является Э; выбранную таким образом букву помещаем в шифрованный текст. Эта процедура циклически повторяется до зашифрования всего текста.
На рисунке 4 схема шифрования представлена в наглядном виде. Исследования показали, что при использовании такого метода статистические характеристики исходного текста практически не проявляются в зашифрованном сообщении. Нетрудно видеть, что замена по таблице Вижинера эквивалентна простой замене с циклическим изменением алфавита, т. е. здесь мы имеем полиалфавитную подстановку, причем число используемых алфавитов определяется числом букв в слове-ключе. Поэтому стойкость такой замены определяется произведением стойкости прямой замены на число используемых алфавитов, т, е. на число букв в ключе.
Расшифрование текста производится в следующей последовательности:
1) над буквами зашифрованного текста последовательно надписываются буквы ключа, причем ключ повторяется необходимое числа раз;
2) в строке подматрицы Вижннера, соответствующей букве ключа отыскивается буква, соответствующая знаку зашифрованного текста. Находящаяся под ней буква первой строки подматрицы и будет буквой исходного текста;
3) полученный текст группируется в слова по смыслу.
Нетрудно видеть, что процедуры как прямого, так и обратного преобразований являются строго формальными, что позволяет реализовать их алгоритмически. Более того, обе процедуры легко реализуются по иному и тому же алгоритму. На рисунке 5 приведена укрупненная блок-схема такого алгоритма.
Одним из недостатков шифрования по таблице Вижинера является го, что при небольшой длине ключа надежность шифрования остается невысокой, а формирование длинных ключей сопряжено с трудностями.
Нецелесообразно выбирать ключ с повторяющимися буквами, так как при этом стойкость шифра не возрастает, В то же время ключ должен легко запоминаться, чтобы его можно было не записывать. Последовательность же букв, не имеющую смысла, запомнить трудно.
С целью повышения стойкости шифрования можно использовать усовершенствованные варианты таблицы Вижинера. Приведем некоторые из них: 1) во всех (кроме первой) строках таблицы буквы располагаются в произвольном порядке; 2) в качестве ключа используются случайные последовательности чисел. Из таблицы Вижинера выбираются десять Произвольных строк, которые кодируются натуральными числами от 0 до 10, Эти строки используются в соответствии с чередованием цифр в выбранном ключе. В литературе приводятся и другие модификации метода.
Частным случаем рассмотренной поалфавитной замены является так называемая монофоническая замена. Особенность этого метода состоит в том, что количество и состав алфавитов выбираются таким образом, чтобы частоты появления всех символов в зашифрованном тексте были одинаковыми. При таком положении затрудняется криптоанализ зашифрованного текста с помощью его статистической обработки. Выравнивание частот появления символов достигается за счет того, что для часто встречающихся символов исходного текста предусматривается использование большего числа заменяющих элементов, чем для редко встречающихся. Пример монофонического шифра для английского алфавита показан на рисунке 6. Шифрование осуществляется так же, как и при простой замене с той лишь разницей, что после шифрования каждого знака соответствующий ему столбец алфавитов циклически сдвигается вверх на одну позицию. Таким образом, столбцы алфавита как бы образуют независимые друг от друга кольца, поворачиваемые вверх на один знак каждый раз после шифрования соответствующего знака. В качестве примера зашифруем монофоническим шифром текст:
In this book the reader will
Шифрованный текст имеет вид:
A(--,) VNC/LjpGZ+f.] = hq^О…
Подсчитав частоты появления символов, мы увидим, что даже на таком коротком образце текста они в значительной мере выровнены. При увеличении объема текста частоты появления символов будут еще больше выравниваться.
Усложнение перестановки по таблице заключается в том, что для записи символов шифруемого текста используется специальная таблица, в которую введены некоторые усложняющие элементы. Пример такой таблицы приведен на рисунке 12. Как следует из рисунка, таблица представляет собой матрицу размерами 10х10 элементов (размеры могут быть выбраны произвольно), вкоторую, записываются знаки шифруемого текста.
Рисунок 5 – Укрупненная схема алгоритма шифрования по таблице Вижинера
Рисунок 6 – Монофонический шифр для английского алфавита
Усложнение состоит в том, что определенное число клеток таблицы не используется (на рисунке они заштрихованы). Количество и расположение неиспользуемых элементов является дополнительным ключом шифрования. Шифруемый текст блоками по m х n - s элементов (m x n - размеры таблицы, s - число неиспользуемых элементов) записывается в таблицу. Далее процедура шифрования заключается в том, что текст выписывается по столбцам в последовательности цифр ключа.
Зашифрованный текст будет выглядеть так:
ДОПРa БСВИК PPTMa ОЫaНа ЕНСЕФа УТаИС СаАФИа
ЬОЕЕЫа аТМЕа ТЖДЛа
При расшифровании знаки зашифрованного текста записываются столбцами таблицы в последовательности знаков ключа с пропуском неиспользуемых элементов. Исходный текст считывается по строкам.
Варьируя размерами таблицы, последовательностью символов ключа, количеством и расположением неиспользуемых элементов можно получить требуемую стойкость зашифрованного текста. Весьма высокую стойкость шифрования можно обеспечить усложнением перестановок по маршрутам типа гамильтоновских. При этом для записи символов шифруемого текста используются вершины некоторого гиперкуба, а знаки зашифрованного текста считываются по маршрутам Гамильтона, причем используется несколько различных маршрутов. Для примера рассмотрим шифрование по маршрутам Гамильтона при п = 3. Структура и пять маршрутов показаны на рисунке 8, а пример шифрования - на рисунке 9.
Из рассмотренных примеров очевидно, что все процедуры шифрования и расшифровки па методу перестановок являются в достаточной степени формальными и могут быть реализованы алгоритмически.
Шифрование методам гаммирования. Суть метода гаммирования состоит в том, что символы шифруемого текста последовательно складываются с символами некоторой специальной последовательности, которая называется гаммой. Иногда такой метод представляют как наложение гаммы на исходный текст, поэтому он получил название «гаммирование».
Процедуру наложения гаммы на исходный текст можно осуществить двумя способами. При первом способе символы исходного текста и гаммы заменяются цифровыми эквивалентами, которые затем складываются по модулю k , где k - число символов в алфавите, т. е.
,
где , , - символы соответственно зашифрованного, исходного текста и гаммы.
Рисунок 7 – Пример усложненной перестановки по таблице
Рисунок 8 – Шифрование перестановкой по маршрутам
Рисунок 9 – Пример шифрования по маршрутам Гамильтона
При втором методе символы исходного текста и гаммы представляются в виде двоичного кода, затемсоответствующие разряды складываются по модулю 2. Вместо сложения по модулю 2 при гаммировании можно использовать и другие логические операции, например преобразование по правилу логической эквивалентности или логической неэквивалентности.
Такая замена равносильна введению еще одного ключа, которым является выбор правила формирования символов зашифрованного сообщения из символов исходного текста и гаммы. Стойкость шифрования методом гаммирования определяется главным образом свойствами гаммы - длительностью периода и равномерностью статистических характеристик. Последнее свойство обеспечивает отсутствие закономерностей в появлении различных символов в пределах периода.
Обычно разделяют две разновидности гаммирования - с конечной и бесконечной гаммами. При хороших статистических свойствах гаммы стойкость шифрования определяется только длиной периода гаммы. При этом, если длина периода гаммы превышает длину шифруемого текста, то такой шифр теоретически является абсолютно стойким, т. е. его нельзя вскрыть при помощи статистической обработки зашифрованного текста. Это, однако, не означает, что дешифрование такого текста вообще невозможно: при наличии некоторой дополнительной информации исходный текст может быть частично или полностью восстановлен даже при использовании бесконечной гаммы.
В качестве гаммы может быть использована любая последовательность случайных символов, например, последовательность цифр числа , числа е (основание натурального логарифма) и т. п. При шифровании с помощью ЭВМ последовательность гаммы формируется с помощью датчика псевдослучайных чисел (ПСЧ). В настоящее время разработано несколько алгоритмов работы таких датчиков, которые обеспечивают удовлетворительные характеристики гаммы.
Шифрование с помощью аналитических преобразований. Достаточно надежное закрытие информации может быть обеспечено при использовании для шифрования некоторых аналитических преобразований. Для этого можно использовать методы алгебры матриц, например, умножение матрицы на вектор по правилу:
.
Если матрицу использовать в качестве ключа, а вместо компонента вектора подставить символы исходного текста, то компоненты вектора будут представлять собой символы зашифрованного текста.
Приведем пример использования такого метода, взяв в качестве ключа квадратную матрицу третьего порядка
.
Заменим буквы алфавита цифрами, соответствующими их порядковому номеру в алфавите: A-0, Б-l, В-2, и т. д. Тогда отрывку текста ВАТАЛА... (текст взят произвольно) будет соответствовать последовательность 2, 0, 19, 0, 12, 0, По принятому алгоритму шифрования выполним необходимые действия:
При этом зашифрованный текст будет иметь вид: 85, 54, 25, 96, 60, 24.
Расшифрование осуществляется с использованием того же правила умножения матрицы на вектор, только в качестве основы берется матрица, обратная той, с помощью которой осуществляется закрытие, а в качестве вектора-сомножителя - соответствующее количество символов закрытого текста; тогда значениями вектора-результата будут цифровые эквиваленты знаков открытого текста.
Обратной к данной, как известно, называется матрица, получающаяся из так называемой присоединенной матрицы делением всех ее элементов на определитель данной матрицы. В свою очередь присоединенной называется матрица, составленная из алгебраических дополнений А, к элементам данной матрицы, которые вычисляются по формуле:
где - определитель матрицы, получаемый вычеркиванием 1-й ее строки j-го столбца. Определителем же, как известно, называется алгебраическая сумма n! членов (для определителя n-го порядка), составленная следующим образом: членами служат всевозможные произведения n элементов матрицы, взятых по одному в каждой строке и в каждом столбце, при чем член суммы берется со знаком плюс, если его индексы составляют четную подстановку, и со знаком минус - в противном случае. Для матрицы третьего порядка, например, определитель вычисляется по следующей формуле:
Вычисленная по данной формуле матрица, обратная к принятой нами за основу для закрытия, будет иметь вид:
Тогда в условиях нашего примера процесс раскрытия будет выглядеть так:
Таким образом, получили следующую последовательность шахов раскрытого текста: 2, О, 19, 0, 12, 0, ..., что соответствует исходному тексту. Нетрудно видеть, что и этот метод шифрования является формализованным, что позволяет легко реализовать его программными средствами.
Кодирование. Одним из средств криптографического закрытия информации, также имеющим длительную историю практического использования, является кодирование, под которым понимается замена элементов закрываемых данных некоторыми цифровыми, буквенными или комбинированными сочетаниями - копами. Нетрудно заметить, что между кодированием информации и ее шифрованием подстановкой и заменой существует значительная аналогия. Однако между этими методами можно найти и различия.
При шифровании подстановкой заменяемыми единицами информации являются символы алфавита, и. следовательно, шифрованию могут подвергаться любые данные, для фиксирования которых используется данный алфавит. При кодировании замене подвергаются смысловые элементы информации, поэтому для каждого специального сообщения в общем случае необходимо использовать свою систему кодирования.
В общем случае необходимо использовать свою систему кодирования. Правда, в последнее время разработаны специальные коды, имеющие целью сократить объем информации при записи ее в ЗУ. Специфика этих кодов заключается в том, что для записи часто встречающихся символов используются короткие двоичные коды, а для записи редко встречающихся - длинные. Примером такого кода для английского языка может служить так называемый код Хаффмана, показанный на рисунке 10. Двоичный код для букв алфавита образуется путем последовательного выписывания нулей и единиц на маршруте от вершины графа до конца ветви, соответствующего данной букве. Тогда для варианта кода, представленного на рис. 6.15, буква £ кодируется комбинацией 001, R-1101, В-001110 и т. д. Если граф кодирования сохраняется в тайне, то такое кодирование имеет криптографическую стойкость на уровне шифрования простой заменой.
При смысловом кодировании основной кодируемой единицей является смысловой элемент текста. Для кодирования составляется специальная таблица кодов, содержащая перечень кодируемых элементов и соответствующих им кодов. Введем, например, следующую кодовую таблицу:
Автоматизированные системы управления.....................001
Автоматизация управления...............................................002
Осуществляет......................................................................415
Позволяет............................................................................632
Тогда предложение «Автоматизированные системы управления позволяют осуществлять автоматизацию управления» после кодирования будет иметь вид: 001 632 415 002.
Рассечение-paзнесение данных состоит в том, что массив защищаемых данных рассекается на такие элементы, каждый из которых не позволяет раскрыть содержание защищаемой информации, и выделенные таким образом элементы размещаются в различных зонах ЗУ. Обратная процедура называется сборкой данных. Совершенно очевидно, что алгоритм разнесения и сборки данных должен тщательно охраняться.
Пусть, например, текст, подлежащий закрытию, записан в поле ЗУ так, как показано на рис. 6.16. Выберем блок данных длиною в восемь строк и разобьем его на элементы по две строки и два столбца в каждом. Для записи защищаемого текста требуется 16 зон ЗУ. Пусть строки блока перебираются в последовательности 1-4-3-2, а столбцы в последовательности 2-4-3-1. Тогда в k-ю зону ЗУ (k=1,2,…,mn, где m- число строк блока; n - число столбцов) будет занесен элемент блока с номером
Nk=(ri-1)n+Sj,
где ri – значение i-й позиции ключа строки; Sj – значение j-й позиции столбца.
Вычисленные по этой формуле значения будут следующими:
N1= 2 N5=14 N9 = 10 NI3 = 6
N2 = 4 N6=16 N10=12 N14 = 8
N3 = 3 N7=15 N11 = 11 N15 = 7
N4 = l N8=13 N12 = 99 N16 = 5.
После такого разнесения текста, представленного на рисунке 11 содержание кодой из 16 зон ЗУ будет таким, как показано на рисунке 12.
Современные шифры – это сложная комбинация замен и перестановок. Любое шифрпреобразование можно представить как последовательность операции, производимых с элементами ключа и открытого текста а также с производными от них величинами.
Рисунок 10 – Коды Хоффмана
Рисунок 11 – Разбивка текста для закрытия методом рассечения -разнесения
Произвол в выборе элементов алгоритма шифрования достаточно велик. В то же время, алгоритм шифрования не является абсолютно случайной последовательностью операций. Операции, используемые для построения алгоритмов шифрования (своего рода «элементная база» шифров), должны обладать некоторыми хорошими криптографическими свойствами, как бы препятствовать тем или иным методам атаки на шифр, и кроме того, допускать удобную техническую или программную реализацию.
При построении хороших алгоритмов шифрования помимо выбора подходящих операции большое значение имеет конструирование взаимосвязей между элементами алгоритма. От особенностей соединения операций в последовательность, определяющую алгоритм шифрования зависит уровень практической стойкости шифра.
Рассмотрим подробнее широко известные алгоритмы блочного шифрования данных в США и России.
В 1973 г. Национальное бюро стандартов США начало разработку программы по созданию стандарта шифрования данных на ЭВМ. Был
Рисунок 12 – Структура ЗУ с разнесенными данными
объявлен конкурс среди фирм-разработчиков США; который выиграла фирма IBM, представившая в 1974 г. алгоритм шифрования, известный под названием DBS (Data Encryption Stand art).
На рисунке 13 представлена блок-схема DES-алгоритма; Входные 64-битовые векторы, называемые блоками открытого текста, преобразуются в выходные 64-битовые векторы, называемые блоками шифртекста, с помощью двоичного 56-битового ключа К. Число различных ключей DES-алгоритма равно 2 »7*1016 .
Алгоритм реализуется в течение 16 аналогичных циклов шифрования, где на 1-м цикле используется цикловой ключ Ki, представляющий собой алгоритмически вырабатываемую выборку 48 битов из 56 битов ключа K, i= 1,2,…, 16.
На цикле шифрования производятся следующие операции с входными и ключевыми данными: E-расширение 32-битового вектора до 48-битового путем дублирований 16 битов, побитовое суммирование векторов, замена 6-битовых векторов на 4-битовые с помощью S-боксов S1,..., S8, перестановка Р битов 32-битового вектора.
Алгоритм обеспечивает высокую стойкость, однако недавние результаты показали, что современная технология позволяет создать вычислительное устройство стоимостью около 1 млн. долларов США, способное вскрыть секретный ключ с помощью полного перебора в среднем за 3,5 часа.
Из-за небольшого размера ключа было принято решение использовать DES-алгоритм для закрытия коммерческой (несекретной) информации. Практическая реализация перебора всех ключей в данных условиях экономически нецелесообразна, так как затраты на реализацию перебора не соответствуют ценности информации, закрываемой шифром.
DES-алгоритм явился первым примером широкого производства и внедрения технических средств в области защиты информации. Национальное Бюро Стандартов США организовало проверку аппаратных реализаций DES-алгоритма на специальном тестирующем стенде. Только после положительных результатов проверки производитель получает от Национального Бюро Стандартов сертификат на право реализации своего продукта. К настоящему времени аттестовано несколько десятков изделий, выполненных на различной элементной базе.
Достигнута высокая скорость шифрования. По некоторым сообщениям, имеется микросхема, реализующая DES-алгоритм со скоростью 45 Мбит/с. Велика доступность этих изделий: стоимость некоторых аппаратных реализаций ниже 100 долларов США,
Основные области применения DES-алгоритма:
1) хранение данных в ЭВМ (шифрование файлов, паролей);
2) аутентификация сообщений (инея сообщение и контрольную группу, несложно убедиться в подлинности сообщения);
3) электронная система платежей (при операциях с широкой клиентурой и между банками);
4) электронный обмен коммерческой информацией (обмен данными между покупателем, продавцом и банкиром защищен от изменений и перехвата);
Рисунок 13– Блок-схема DES-алгоритма
В 1989 году в СССР был разработан блочный шифр для использования в качестве государственного стандарта шифрования данных. Разработка была принята и зарегистрирована как ГОСТ 28147-89. И хотя масштабы применения этого алгоритма шифрования до сих пор уточняются, начало его внедрению, в частности, в банковской системе, уже положено. Алгоритм, судя по публикациям, несколько медлителен, но обладает весьма высокой стойкостью.
Блок схема алгоритма ГОСТ отличается от блок-схемы DES-алгоритма лишь отсутствием начальной перестановки и числом циклов шифрования (32 в ГОСТе против 16 в DES-алгоритме).
Ключ алгоритма ГОСТ - это массив, состоящий из 32-мерных векторов Х1,Х2,…,Х8. Цикловой ключ 1-го цикла Кi, равен ХS, где ряду значений i от 1 до 32 соответствует следующий ряд значений s:
1,2, 3, 4, 5,6, 7, 8, 1, 2, 3, 4, 5,6,7, 8, 1, 2, 3, 4, 5,б, 7, 8, 8, 7,6, 5, 4, 3, 2,1. Алгоритм расшифрования отличается от алгоритма зашифрования тем, что последовательность ключевых векторов используется в обратном порядке.
Расшифрование данных возможно только при наличии синхропосылки, которая в скрытом виде хранится в памяти ЭВМ или передается по каналам связи вместе с зашифрованными данными.
Важной составной частью шифрсистемы является ключевая система шифра. Под ней обычно понимается описание всех видов ключей (долговременные, суточные, сеансовые и др.), используемых шифром, и алгоритмы их использования (протоколы шифрованной связи).
В электронных шифраторах в качестве ключей могут использоваться начальные состояния элементов памяти в схемах, реализующих алгоритм шифрования, функциональные элементы алгоритма шифрования. Ключ может состоять из нескольких ключевых составляющих различных типов; долговременных, сеансовых и т. д.
Одной из основных характеристик ключа является его размер, определяющий число всевозможных ключевых установок шифра. Если размер ключа недостаточно велик, то шифр может быть вскрыт простым перебором всех вариантов ключей. Если размер ключа чрезмерно велик, то это приводят к удорожанию изготовления ключей, усложнению процедуры установки ключа, понижению надежности работы шифрующего устройства и т. д. Таким образом, выбранный криптографом размер ключа - это всегда некий компромисс.
Заметим, что DES-алгоритм подвергался критике именно в связи с небольшим размером ключа, из-за чего многие криптологии пришли к мнению, что необходимым «запасом прочности» DES-алгоритм не обладает.
Другой важной характеристикой ключа является его случайность. Наличие закономерностей в ключе приводит к неявному уменьшению его размера и, следовательно, к понижению криптографической стойкости шифра. Такого рода ослабление криптографических свойств шифра происходит, например, когда ключевое слово устанавливается по ассоциации с какими-либо именами, датами, терминами. Всякая логика в выборе ключа наносит ущерб криптографическим свойствам шифра.
Таким образом, требование случайности ключей выступает как одно из основных при их изготовлении.
Для изготовления ключей могут использоваться физические датчики и псевдослучайные генераторы со сложным законом образования ключа. Использование хорошего физического датчика более привлекательно с точки зрения обеспечения случайности ключей, но является, как правило, более дорогим и менее производительным способом. Псевдослучайные генераторы более дешевы и производительны, но привносят некоторые зависимости если не в отдельные ключи,то в совокупности ключей, что также нежелательно.
Важной частью практической работы с ключами является обеспечение секретности ключа. К основным мерам по защите ключей относятся следующие:
1) ограничение круга лиц, допущенных к работе с ключами;
2) регламентация рассылки, хранения и уничтожения ключей;
3) регламентация порядка смены ключей;
4) применение технических мер защиты ключевой информации от несанкционированного доступа.
Важной составляющей защиты информации являются протоколы связи, определяющие порядок вхождения в связь, зашифрования и передачи информации. Протокол связи должен быть построен с учетом следующих обстоятельств:
1) протокол должен защищать открытый текст и ключ от несанкционированного доступа на всех этапах передачи информации от источника к получателю сообщений;
2) протокол не должен допускать выхода в линии связи "лишней" информации, предоставляющей криптоаналитику противника дополнительные возможности дешифрования криптограмм.
Нетрудно видеть, что использование криптосистем с секретным ключом предполагает заблаговременные до сеансов связи договоренности между абонентами о сеансовых секретных ключах или их предварительную пересылку по защищенному каналу связи. ЕС настоящему времени разработаны принципы так называемого открытого распределения ключей (ОРК) и открытого шифрования (ОШ), которые явились «новыми направлениям» в криптографии, давшим начало криптографии с открытым ключом.
Рассмотрим схему ОРК. В протоколе обмена секретными ключами предполагается, что все пользователи знают некоторое простое число рипримитивный элемент а(1<а<р)конечного поля GF(p)(то есть элемент, степени которого at все ненулевые элементы поля {1, 2,…, р-1}). Такие элементы всегда существуют, их число равно j(j (p)),функция Эйлера. Для выработки общего секретного ключа k пользователи А и В:
1) независимо друг от друга выбирают случайные числа kA и kB из интервала (1,.... р-1), называемые секретными ключами пользователей;
2) вычисляют с использованием известных р и а величины:
и ,
которые являются открытыми ключами пользователей;
3) обмениваются ключами уA и уB по открытому каналу связи (с подтверждением их авторства, чтобы избежать замены их кем-то другим);
4) по полученным ключам ул и ув независимо вычисляют секретный параметр k, который и будет их общим сеансовый секретным ключом.
Развитие обозначенных подходов позволило разработать достаточно эффективные системы шифрования защищаемых данных и системы так называемой цифровой (электронной) подписи, обладающей основными свойствами собственноручной подписи человека.
Приведем однако пример, иллюстрирующий реальные возможности эффективного использования достаточно простых средств шифрования для обеспечения промышленной, торговой и другой тайны.
Пусть, например, руководство и агент (представитель) какого-либо предприятия (фирмы, концерна) договорились обмениваться закрытыми сообщениями, используя для этого шифр усложненной перестановки. С целью повышения надежности закрытия подготовлено семь вариантов таблиц перестановки с «пустышками», каждая из которых снабжена своим ключом. Договорились также, что в каждый из дней недели будет использоваться соответствующая таблица. Один из возможных вариантов распределения таблиц приведен на рисунке 14. Пусть, например, руководство предприятия передает своему представителю указание следующего содержания: «Предложите партию в сто единиц по цене семьсот руб.» Используя правила шифрования по данному методу, нетрудно убедиться, что в зависимости от дня недели данное сообщение будет представлено в таком виде:
Понедельник: РЛИаОТАИПДБПТЕЖРЮВТЕНОДЦОaСН
ИПaaОаЕаМОСЬaБ ЦЕСТУНЕР.
Вторник: РЛИРЮЮТТПЖаАДЕПИВОЙЦЕСЕНЕаД ЦОТИПНЕаМР. ЦСБУ ЦЕОаЕСТБ,
Среда:ПДИПЮБРЮЖаТРЛТАИаСЕИаОИaaaНП ВТДЦОЦЕМТНССР. УОНУаОаБ.
Рисунок 14 – Вариант использования таблиц усложненной замены
Предлагаем продолжить шифрование для остальных дней недели убедиться, что одной то же сообщение в каждый издней недели шифруется различным образом, а если учесть, что сообщения типа рассмотренного выше должны сохраняться в тайне сравнительно непродолжительное время, то ясно, что рассмотренный в примере способ закрытия следует признать достаточно эффективным.
Аппаратура и материалы:
1. ПЭВМ