Содержание к диссертации
ВВЕДЕНИЕ. ПОСТАНОВКА ЗАДАЧИ. 4
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ МОДЕЛИРОВАНИЯ КРИПТОПРЕОБРАЗОВАНИЙ. 19
1.1 Постановка задачи синтеза структурной модели криптопреобразования. 19
1.2 Основные классы СБШ. 22
1.3 Выбор проблемно-ориентированного базиса структурного проектирования СБШ. 38
1.4 Обобщенная структурная модель СБШ. 41
1.5 Критерии синтеза структурных моделей СБШ. 45 Выводы 47
ГЛАВА 2. ИНЖЕНЕРНЫЕ ОСНОВЫ МОДЕЛИРОВАНИЯ ПРОГРАММНЫХ РЕАЛИЗАЦИЙ КРИПТОПРЕОБРАЗОВАНИЙ. 48
2.1. Постановка задачи моделирования программных реализаций криптопреобразований. 48
2.2. Формальный язык описания структурных моделей СБШ.
2.3 Моделирование среды реализации криптоалгоритма. 54
2.4 Алгоритм трансляции денотационной модели СБШ в программную модель. 66
2.5 Организация процесса вычислений. 69 Выводы 78
ГЛАВА 3. СРАВНИТЕЛЬНЫЙ АНАЛИЗ КАЧЕСТВА ПРОГРАММНЫХ РЕАЛИЗАЦИЙ КРИПТОАЛГОРИТМОВ. 80
3.1 Постановка задачи получения комплексных оценок качества программных реализаций криптоалгоритмов. 80
3.2 Основные свойства криптоалгоритмов. 82
3.3 Критерии оценивания качества криптоалгоритмов. 87
3.4 Методика формирования интегральной оценки качества криптопреобразования. 98
Выводы ПО
ГЛАВА 4. РЕАЛИЗАЦИЯ АЛГОРИТМОВ МОДЕЛИРОВАНИЯ И АНАЛИЗА В
РАМКАХ ИНСТРУМЕНТАРИЯ МАРК. 111
4.1 Архитектура инструментария МАРК. 112
4.2 Форматы данных. 120
4.3 Методика моделирования и анализа программных реализаций криптоалгоритмов. 121
4.4 Возможности и ограничения инструментария 122
Выводы 123
ГЛАВА 5. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ ИНСТРУМЕНТАРИЯ МАРК 125
5.1 Внедрение инструментария МАРК в учебном процессе на факультете "Информационная Безопасность" МИФИ. 125
5.2 Применение инструментария МАРК при организации защищенного информационного обмена в корпоративной сети Департамента государственной аттестации научных и научно-педагогических работников Минобразования России. 129
Выводы 139
ЗАКЛЮЧЕНИЕ 141
ЛИТЕРАТУРА 144
ПРИЛОЖЕНИЕ 1. ФРАГМЕНТ ГРАММАТИКИ ФОРМАЛЬНОГО ЯЗЫКА
ОПИСАНИЯ СТРУКТУРНЫХ МОДЕЛЕЙ КРИПТОПРЕОБРАЗОВАНИЙ 153
ПРИЛОЖЕНИЕ 2. АКТЫ О ВНЕДРЕНИИ 157
ПРИЛОЖЕНИЕ 3. ПРИМЕРЫ ДЕНОТАЦИОННОГО ОПИСАНИЯ КРИПТОАЛГОРИТМОВ 161
ПРИЛОЖЕНИЕ 4. ФРАГМЕНТЫ ИСХОДНЫХ ТЕКСТОВ КОМПИЛЯТОРА
ДЕНОТАЦИОННОЙ МОДЕЛИ КРИПТОАЛГОРИТМА 172
Введение к работе
Увеличение мощности вычислительных систем вместе с их удешевлением привело к широкому использованию компьютерной техники во многих сферах человеческой деятельности. Внедрение современных информационных технологий в системы управления и информационного обеспечения производственной и научной сферы создало благоприятную обстановку для злоумышленников в плане доступа к конфиденциальной информации и ее незаконного распространения, нарушения авторских прав, несанкционированного вмешательства в процессы обработки информации и принятия решений. Массовое использование импортных средств вычислительной техники и технологий, привлечение к установке и обслуживанию информационных систем иностранных специалистов создало предпосылки для внедрения систем регулярного несанкционированного контроля информационных процессов. Рост ценности информации и информатизация общества ставят вопросы разграничения доступа к информации и вопросы защиты от компьютерного терроризма, как одной из составляющих национальных интересов государства в информационной сфере [46, 15].
Активизация компьютерных преступлений обусловлена целым рядом объективных причин [24,45]:
• переход от традиционной "бумажной" технологии хранения и передачи информации к цифровой с использованием современных средств вычислительной техники;
• тенденция к интеграции вычислительных систем, создание глобальных сетей и расширение доступа к информационным ресурсам;
• увеличение сложности программных средств и связанное с этим уменьшение их надежности.
В этих условиях особое значение приобретает организация эффективных мер противодействия угрозам безопасности информации с учетом новейших компьютерных технологий ее обработки, что, в свою очередь, включает развитие отечественного производства аппаратных и программных средств защиты информации и методов контроля за их эффективностью [25].
По способам осуществления все меры обеспечения безопасности информационных систем подразделяются на правовые, морально-этические, административные, физические и технические [8]. Технические (аппаратно программные) меры защиты основаны на использовании различных электронных устройств и специальных программ, входящих в состав автоматизированной системы и выполняющих (самостоятельно или в комплексе с другими средствами) различные функции защиты.
В настоящее время на рынке представлено большое разнообразие программно-технических средств защиты, которые условно можно разделить на несколько групп:
• средства, обеспечивающие разграничение доступа к информации в автоматизированных системах;
• средства, обеспечивающие защиту информации при передаче ее по каналам связи;
• средства, обеспечивающие защиту от утечки информации по акустическим и электромагнитным полям, возникающим при работе технических средств автоматизированных систем;
• средства, обеспечивающие защиту от воздействия программ-вирусов;
• материалы, обеспечивающие безопасность хранения, транспортировки носителей информации и защиту их от копирования.
Задачи защиты от угроз, связанных с несанкционированным доступом (НСД) к информации, возлагаются на комплекс программно-технических средств защиты, реализуемый в рамках системы защиты информации от несанкционированного доступа (СЗИ НСД), состоящей из следующих четырех подсистем [1]:
• управление доступом;
• регистрации и учета;
• криптографической;
• обеспечения целостности.
Применение современных методов криптографического преобразования данных является одним из наиболее эффективных средств обеспечения конфиденциальности, целостности и подлинности информации в процессе ее хранения, обработки и передачи по каналам связи. Использование криптографических средств защиты в совокупности с необходимыми техническими и организационными мероприятиями позволяет обеспечить надежную защиту информации в автоматизированных системах от широкого спектра угроз [39].
Применение криптоалгоритмов для защиты информации основано на следующих предположениях [36]:
• может быть выработана секретная информация, называемая секретным ключом и имеющая сравнительно небольшой объем;
• секретный ключ может быть распределен между двумя абонентами по защищенному каналу таким образом, чтобы он не стал известным посторонним лицам;
• секретным ключом обладают только законные пользователи криптосистемы, которые не разглашают его;
• обеспечивается целостность вычислителя, т.е. устройство шифрования защищено от подмены и от модифицирования;
• обеспечивается целостность процесса шифрования, т.е. в процессе шифрования преобразуемые данные изменяются в соответствии с алгоритмом преобразования и не могут быть изменены целенаправленно с помощью каких-либо внешних воздействий ни на одном из шагов преобразования.
В настоящее время к средствам криптографической защиты информации (СКЗИ) в компьютерных системах (КС) относят аппаратные, программно-аппаратные и программные средства, реализующие криптографические алгоритмы преобразования информации с целью [14]:
• защиты информации при ее обработке, хранении и передаче по транспортной среде КС;
• обеспечения достоверности и целостности информации (в том числе с использованием алгоритмов электронной цифровой подписи (ЭЦП)) при ее обработке, хранении и передаче по транспортной среде КС;
• выработки информации, используемой для идентификации и аутентификации субъектов, пользователей и устройств;
• выработки информации, используемой для защиты аутентифицирующих элементов защищенной КС при их выработке, хранении, обработке и передаче.
Как правило, СКЗИ функционируют в автоматизированных системах как самостоятельное средство, однако в отдельных случаях они могут функционировать в составе средств разграничения доступа как функциональная подсистема для усиления защитных свойств последних [4, 31].
Расширение области приложения криптографии породило многообразие криптоалгоритмов, к которым предъявляются высокие требования по надежности, безопасности, быстродействию и удобству в эксплуатации [17]. При этом значительную роль среди них играет требование "прозрачности" - система должна быть удобна в эксплуатации и не снижать производительности работы конечных пользователей. Последнее предполагает, что все процессы преобразования информации с целью ее закрытия должны выполняться в режиме реального времени.
Одной из важных тенденций развития СКЗИ на современном этапе является возрастание роли программных механизмов защиты по сравнению с аппаратными. Это обусловлено следующими факторами:
• в последние годы прогресс в области средств вычислительной техники привел к значительному росту производительности вычислительных систем, а также к резкому повышению объема и быстродействия запоминающих устройств;
• возникающие проблемы в области защищенного информационного обмена требуют использования криптографических протоколов со сравнительно высокой вычислительной сложностью, эффективная реализация которых требует использования ресурсов ЭВМ;
• легкость тиражирования чисто программных СКЗИ открывает широкие возможности для их массового внедрения.
Данная тенденция нашла свое отражение в области разработки современных криптоалгоритмов. С конца 1993 г. ежегодно проводится международная конференция по быстрым программным шифрам (FSE - Fast Software Encryption). Зарубежными исследователями предложен ряд программно-ориентированных криптоалгоритмов [70, 76, 117, 118, 130, 131], подвергшихся всестороннему исследованию в открытой литературе. Особенностью скоростных программных шифров является ориентация на специфику обработки данных в компьютерных системах, что позволяет получить высокие скорости шифрования при использовании микропроцессоров широкого применения [37]. Наибольшее практическое значение среди программных шифров имеют симметричные блочные шифры (СБШ), сочетающие высокую скорость преобразования информации с возможностью обеспечения независимого шифрования отдельных блоков данных. Возможность определения для данных криптоалгоритмов различных режимов шифрования (СВС, CFB, OFB и др. [18]) позволяет использовать их также в качестве хэш-функции, поточного шифра или генератора псевдослучайной последовательности, что значительно расширяет круг сфер приложения.
Прогресс в области информационных технологий ставит перед прикладной криптографией целый круг новых задач. Частая смена программно-аппаратных платформ и непрерывное повышение производительности вычислительных систем ставят задачу быстрого проектирования и оперативной доработки криптоалгоритмов в соответствии с изменившимися условиями их эксплуатации. При этом большое значение приобретает разработка параметризованных алгоритмов, а также алгоритмов, имеющих возможность адаптации к увеличению длины секретного ключа и входного информационного блока. Происходящие изменения в архитектуре ЭВМ, затрагивающие набор команд, разрядность данных и механизмы распараллеливания вычислений могут оказывать значительное влияние на результирующие параметры эффективности криптоалгоритмов, ориентированных на программную реализацию. В данных условиях повышается роль средств моделирования характеристик программных реализаций криптоалгоритмов на целевой ЭВМ.
В процессе программной реализации криптографических алгоритмов и, в особенности, при применении различных процедур оптимизации программного кода для отдельных элементов шифрующего преобразования возникает задача проверки соответствия полученной реализации формальной спецификации криптоалгоритма. Наиболее распространенным методом решения данной задачи является использование набора тестовых примеров-эталонов, что требует, в свою очередь, разработки соответствующих средств формирования эталонных решений [16].
Актуальность задачи моделирования и анализа программных реализаций криптографических преобразований обусловлена необходимостью автоматизации процедур проектирования и верификации эффективных программных реализаций криптоалгоритмов и соответствует текущим потребностям прикладной криптографии на современном этапе ее развития.
Методология и теоретическая база изучения проблем, возникающих при проектировании программных реализаций криптографических преобразований, в настоящее время только формируется. Данная работа опирается на результаты исследований как российских, так и зарубежных специалистов в области защиты информации, таких как Герасименко В.А., Зегжда Д.П., Малюк А.А., Щербаков А.Ю., C.Adams, E.Biham, J. Daemen, L. Knudsen, B. Preneel, B.Schneier и др. и развивает их отдельные положения применительно к задаче формализации подходов к построению и анализу моделей программных реализаций криптопреобразований, представляющей одно из направлений исследований в области развития и совершенствования средств криптографической защиты в рамках решения общей проблемы обеспечения информационной безопасности.
Проблема моделирования и анализа свойств программных реализаций криптографических преобразований является одним из новых направлений исследований в прикладной криптографии. По этой причине число публикаций по этому вопросу в открытой печати является достаточно скудным. Наиболее значительной работой в области моделирования, посвященной исследованию свойств программных реализаций криптоалгоритмов на различных аппаратных платформах, является [74]. В работе предложена методика моделирования программных реализаций алгоритмов блочного шифрования с учетом особенностей аппаратной архитектуры целевых ЭВМ; на основе данных, полученных в результате моделирования, проводится сравнительный анализ потенциальной эффективности криптоалгоритмов на перспективных аппаратных платформах. Недостатком исследования является ограничение диапазона рассматриваемых процессорных архитектур VLIW-архитектурами, а также снижение качества моделирования за счет пренебрежения задержками, возникающими в процессе обработки команд.
Работ в области анализа значительно больше. Это обусловлено необходимостью определения критериев рационального выбора среди огромного множества существующих на сегодняшний день криптоалгоритмов. Большая часть работ основана систематизации информации о различных характеристиках криптоалгоритмов и определения на их основе критериев оценки некоторых свойств криптоалгоритмов. Так, в работе Кнудсена [100] была предложен критерий "практической стойкости" для сетей Фейстеля, позволяющий оценить стойкость криптоалгоритмов к линейному [96, 102, 115, 120] и дифференциальному [62, 63, 103, 108] методам криптоанализа в предположении ограничения возможностей криптоаналитика некоторыми "реальными возможностями". В результате исследования обобщенных сетей Фейстеля, Шнайером [132] были выделены некоторые характеристики полного цикла шифрования входного информационного блока (представляющего собой последовательность раундовых преобразований), позволяющие получить количественные оценки стойкости криптоалгоритма к дифференциальному и линейному криптоанализу, получившие название "степени перемешивания" {rate of confusion) и "степени рассеивания"(га/е of diffusion). Существует также ряд других работ [55, 56, 80, 83, 84, 88, 89, 95, 97, 101,116, 124, 132, 137, 138], посвященных проблеме определения критериев оценки криптографических свойств шифрующих преобразований.
В последнее время наблюдается рост публикаций в области формирования критериев оценивания реализационных свойств криптопреобразований. Так, согласно Глэдману [84] значительная доля информации о потенциальной эффективности программной реализации криптоалгоритма может быть получена непосредственно из его спецификации. Он выделяет следующие направления оценки эффективности криптоалгоритмов:
• эффективность спецификаций шифра в перспективе реализации;
• принципиальная возможность корректной реализации криптоалгоритма на основе данных только спецификации;
• усилия, требуемые для достижения алгоритмом разумного уровня эффективности в выбранном окружении.
В работе [74] была предложена методика определения теоретических верхних границ производительности криптосхем на основе измерения программного кода, соответствующего "критическому пути". Критический путь представляет собой путь через алгоритм, от открытого текста к шифртексту, который имеет наибольшее взвешенное значение счетчика инструкций, где взвешивание производится по числу циклов задержки, ассоциированных с каждой инструкцией на пути.
Основными недостатками перечисленных работ является получение некоторых частных решений, не позволяющих получить целостное представление об исследуемом криптоалгоритме. Так, исследование криптографических свойств S-блоков в общем случае не позволяет сделать вывод о криптографической стойкости шифра в целом. Наличие возможности вычисления раундовых подключей "на лету" [95] оказывает влияние на реализационные свойства криптоалгоритма в зависимости от размера памяти, занимаемой основным кодом. Таким образом, для реальных прикладных задач изолированная оценка свойств криптоалгоритма не может быть эффективно применена.
Преимущества интегрированного подхода к оценке качества криптоалгоритмов были отмечены в [124]. Однако, предложенный в данной работе "универсальный" подход к анализу симметричных алгоритмов блочного шифрования обладает существенным недостатком, заключающимся в том, что обеспечение приемлемых характеристик шифра в широком диапазоне различных сфер его применения неизбежно приводит к компромиссным решениям. Полученный в результате подобного отбора криптоалгоритм не будет являться оптимальным при использовании его в рамках конкретной прикладной задачи. Необходим комплексный анализ, учитывающий специфику конкретного применения.
В данной работе развиваются рассмотренные подходы к моделированию и анализу свойств криптопреобразований с учетом устранения указанных недостатков. Обобщение различных подходов к моделированию и анализу программных реализаций криптопреобразований на конструктивной основе предполагает системный анализ проблемы в целом [26]. Автором данной диссертационной работы предложен систематический подход к решению проблемы моделирования и анализа программных реализаций криптографических преобразований, основанный на теории моделирования и анализа сложных систем [23, 28, 50]. Согласно данной теории моделирование представляет собой совокупность двух процессов:
• построение модели исследуемого объекта,
• имитация процесса функционирования модели с целью получения необходимых характеристик объекта.
При этом моделируемый объект (криптоалгоритм) представляется в виде некоторого аналога, отражающего для определяемых эксплуатационных характеристик объекта функциональную зависимость между входами и выходами реального криптоалгоритма, а определение значений характеристик осуществляется путем реализации данных функциональных зависимостей при различных значениях параметров реального криптоалгоритма и внешней среды (программно-аппаратной среды реализации криптоалгоритма).
В задачу анализа входит выработка утверждений о свойствах моделируемого криптоалгоритма, сформированных на основе набора известных критериев с использованием характеристик, полученных в результате моделирования.
Моделирование программных реализаций криптографических предполагает построение и исследование характеристик программных моделей криптоалгоритмов. Под программной моделью в данном случае понимается совокупность программных средств, реализующих функцию криптографического преобразования данных исследуемого криптоалгоритма. Данный набор средств однозначно определяется параметрами программно-аппаратной среды и структурой моделируемого криптоалгоритма. Программная модель может представлять собой совокупность операторов языка программирования высокого уровня или последовательность команд гипотетической ЭВМ. Основной задачей, решаемой в процессе создания программной модели, является точное соответствие полученной модели формальной спецификации моделируемого криптопреобразования. При этом полученный программный код в общем случае не является оптимальным.
Имитация процесса функционирования программной модели криптоалгоритма предполагает разработку интерпретатора программной модели. Интерпретатор программной модели представляет собой совокупность алгоритмов и средств преобразования программной модели во множество эксплуатационных характеристик криптоалгоритма с учетом влияния особенностей среды реализации криптоалгоритма. При этом качество моделирования определяется возможностью максимального учета всех факторов, имеющих место в реальных вычислительных системах и оказывающих влияние на полученные характеристики. Примером подобных факторов могут быть задержки, возникающие из-за различных конфликтов в аппаратуре при параллельной обработке данных; а также перераспределение процессорного времени, характерное для многозадачных систем.
Главной целью моделирования является получение количественных оценок эксплуатационных характеристик программных реализаций криптоалгоритмов на основе имитации процесса вычислений на соответствующих программных моделях. При этом значения полученных характеристик должны соответствовать реальным данным, имеющим место при практической реализации криптоалгоритма с точностью, обеспечивающей ранжирование криптоалгоритмов по заданным критериям. Результатом моделирования процесса вычислений является получение конкретных значений характеристик моделируемого криптоалгоритма.
Учет влияния внешних факторов на процесс вычислений осуществляется путем построения модели вычислительной среды, определяющей условия эксплуатации криптоалгоритма. Под вычислительной средой будем понимать совокупность программных и аппаратных средств, функционирующих на целевой ЭВМ. При этом главную роль для определения реализационных характеристик моделируемого криптопреобразования играет выбор процессорной архитектуры.
Множество критериев определяет диапазон изменения значений характеристик для каждого из определяемых свойств моделируемого криптоалгоритма. При нахождении значения характеристик в диапазоне, определенным заданным критерием, соответствующий криптоалгоритм будет обладать заданным свойством.
Множество оценок свойств криптопреобразований определяет "профиль" криптоалгоритма с точки зрения конкретных условий его применения. При этом решающее значение имеет определение качества криптопреобразования, как меры соответствия требованиям конкретной прикладной задачи. Введение обобщенного понятия качества моделируемого криптопреобразования позволяет задать отношение порядка на множестве исследуемых криптоалгоритмов и осуществлять рациональный выбор решений с учетом специфики прикладных задач.
Таким образом, решение проблемы моделирования и анализа программных реализаций криптографических преобразований подразумевает решение следующих подзадач:
• разработку методов и средств построения структурной модели криптоалгоритма;
• разработку языка спецификации (формализованного описания) полученной модели;
• разработку алгоритма трансляции спецификации криптоалгоритма в соответствующую программную модель, учитывающую особенности программной реализации криптоалгоритма на конкретной программно-аппаратной платформе;
• создание инструментальных средств имитации процесса вычислений на полученной программной модели для получения значений различных характеристик исследуемого криптоалгоритма;
• разработка средств интерпретации и оценки полученных результатов.
Формальная постановка задачи моделирования и анализа программных реализаций криптографических преобразований может быть представлена семеркой G, Tr, I, Q, Р, R, U (1), где G -совокупность методов и средств построения структурной модели исследуемого криптопреобразования, Тг - алгоритмы трансляции формализованного описания структурной модели криптопреобразования в соответствующую программную модель, / - совокупность процедур имитации процесса вычислений, Q - множество характеристик исследуемого криптоалгоритма (цели моделирования), Р -совокупность методов и средств моделирования среды реализации криптопреобразований, R - множество критериев оценивания свойств криптопреобразований, U - множество комплексных оценок. Определение всех компонент указанной шестерки является существом решаемой задачи.
Данная диссертационная работа посвящена повышению безопасности информационно-вычислительных систем критического назначения посредством решения задачи верификации и оптимизации применяемых программных средств криптографической защиты. Для решения этой задачи была разработана совокупность программных средств и методов моделирования и анализа программных реализаций криптографических преобразований, реализованная на примере симметричных блочных шифров (СБШ).
Исследования в области создания СБШ с оптимальными характеристиками активно проводились как в нашей стране [3-7, 16, 32, 36, 37], так и за рубежом [56, 75, 87, 88, 100, 128, 132, 135]. При этом значительное внимание уделялось методам построения блоков подстановок на двоичных векторах (S-блоков) [55, 71, 83, 87-89, 97, 137, 138]. В результате многолетнего всестороннего анализа широкого спектра блочных криптоалгоритмов был сформулирован ряд критериев априорной оценки качества криптопреобразований [64, 75, 101]. Данные работы подготовили научно-методологический базис для создания системы моделирования и анализа программных реализаций СБШ.
Целью исследования, проводимого в рамках данной работы являлась разработка и реализация методов синтеза и анализа моделей программных реализаций криптографических преобразований для создания, модификации и тестирования СБШ, применяемых в современных СКЗИ.
Для достижения поставленной цели были решены следующие задачи:
• проведена классификация СБШ в соответствии с методологией создания;
• разработана обобщенная структурная модель СБШ, позволяющая синтезировать произвольный СБШ из унифицированных структурных компонент с применением операций композиции и задания рекурсивного определения;
• разработан формальный язык описания структурных моделей СБШ, позволяющий формировать описание модели в виде, приближенном к формальным спецификациям;
• автоматизирована процедура преобразования формального описания модели шифра в программный код на языке высокого уровня и набор команд гипотетической ЭВМ;
• реализован интерпретатор модели гипотетической ЭВМ, позволяющий получить теоретические оценки эффективности программной реализации моделируемого криптоалгоритма на выбранной аппаратной платформе;
• предложена методика построения семейства интегральных оценок качества симметричных блочных криптопреобразований;
• в рамках предложенного подхода реализован программный комплекс моделирования и анализа программных реализаций симметричных блочных криптопреобразований.
Основным научным результатом работы является разработка методологического базиса проектирования и анализа широкого класса СБШ. В ходе исследований был получен ряд результатов, характеризующихся научной новизной, а именно:
• предложен новый подход к классификации СБШ, учитывающий генетические зависимости, возникающие в процессе проектирования между различными классами СБШ;
• разработан формальный язык описания структурных моделей СБШ, формирующий описание криптопреобразования в виде, приближенном к спецификации;
• разработана модель гипотетической ЭВМ, позволяющая учитывать последние достижения в области создания аппаратного и программного обеспечения вычислительных систем;
• предложена систематизация критериев оценивания криптографических преобразований с точки зрения оцениваемых свойств;
• предложена методика получения интегральных оценок качества криптопреобразований в соответствии с требованиями конкретной прикладной задачи;
• предложен интегрированный подход к созданию систем моделирования программных реализаций криптографических преобразований, заключающийся в объединении в рамках единого инструментария различных средств поддержки разработки.
Автором диссертационной работы на защиту выносится:
• совокупность алгоритмов и средств синтеза структурных моделей криптопреобразований;
• формальный язык описания структурных моделей криптопреобразований;
• совокупность алгоритмов и средств моделирования аппаратной платформы реализации криптопреобразований;
• методика формирования семейства интегральных оценок качества моделируемых криптопреобразований.
Результаты, представленные в работе, могут быть использованы для решения различных научно-исследовательских задач, а также в учебном процессе. Применение инструментария моделирования и анализа в учебном процессе при подготовке специалистов соответствующего профиля может повысить эффективность обучения и степень наглядности представления учебного материала.
Предложенный в работе интегрированный подход, заключающийся в объединении в рамках единого инструментария различных средств поддержки разработки программных реализаций криптопреобразований, позволяет решить целый ряд задач, имеющих важное практическое значение, а именно:
• разработки и анализа свойств новых криптоалгоритмов,
• модификации и усовершенствования существующих криптоалгоритмов в связи с изменившимися условиями их эксплуатации,
• получения эталонных решений для тестирования программных реализаций криптоалгоритмов на соответствие формальной спецификации,
• выработки рекомендаций по выбору средств криптографической защиты, наиболее полно отвечающих потребностям конкретной прикладной задачи.
Работа состоит из пяти глав.
В первой главе определяется класс СБШ и его роль в обеспечении защиты данных, приводится обзор известных на сегодняшний день методов построения СБШ, формулируется задача по разработке общего алгоритма синтеза структурных моделей СБШ.
На основе анализа различных подходов к классификации СБШ предложен усовершенствованный метод классификации, отражающий генетические зависимости между различными подклассами СБШ, возникающие в процессе проектирования. Для каждого из выделенных подклассов СБШ изучены основные свойства, указаны преимущества и недостатки полученных решений. Предложена обобщенная структурная модель СБШ на основе композиции унифицированных структурных компонент (УСК). В рамках данной структурной модели определены основные структурные компоненты СБШ. На их основе сформировано полное множество УСК.
Во второй главе описывается методика трансляции структурной модели криптопреобразования в программную модель и исследование характеристик полученной программной модели. В качестве формального описания структурной модели криптопреобразования была предложена денотационная модель, формирующая описание шифра в виде, приближенном к формальной спецификации. Разработан формальный язык для описания денотационных моделей криптоалгоритмов. Предложенное подмножество языка является полным. Разработана многоступенчатая процедура преобразования денотационной модели шифра в процедурную модель, соответствующую фон-неймановской модели вычислителя. Процедура включает проверки на целостность и непротиворечивость полученной модели.
Разработан алгоритм преобразования процедурной модели шифра в последовательность команд гипотетической ЭВМ. С этой целью была предложена модель гипотетического процессора, учитывающая особенности конвейерной и суперскалярной обработки, характерные для современных процессорных платформ. Разработан интерпретатор последовательности инструкций гипотетического процессора, моделирующий процесс вычислений на гипотетической ЭВМ. В процессе работы данного интерпретатора могут быть получены различные характеристики программной реализации криптосхемы, в частности, определена теоретическая верхняя граница производительности алгоритма, компактность кода и эффективный параллелизм.
Третья глава посвящена разработке методики построения семейства интегральных оценок, позволяющих выработать рациональное решение как при создании новых криптоалгоритмов, так и при использовании уже существующих в различных прикладных СКЗИ. Для этих целей было рассмотрено множество различных критериев оценки свойств криптоалгоритмов, проведена их системная классификация. Исследовалась взаимозависимость различных критериев, по результатам исследования было сформировано множество независимых критериев. Полученное множество представляет собой минимальный базис формирования интегральной оценки. Предложена методика построения семейства интегральных оценок качества криптопреобразований, учитывающая особенности конкретной реализации криптопреобразований. Данная методика основана на построении вектора оценки на множестве независимых критериев и последующего применения процедуры линейной аддитивной свертки с весовыми коэффициентами, определяемыми методами экспертного оценивания. Результаты анализа могут быть использованы для определения множества допустимых решений, удовлетворяющих заданным ограничениям, а также для поиска оптимального решения.
Четвертая глава содержит описание разработанного инструментария МАРК (Моделирования и Анализа программных Реализаций Криптографических преобразований). Рассматриваются составляющие его компоненты, интерфейсные функции и правила взаимодействия при выполнении системных операций. Главной задачей разрабатываемого инструментария является организация некоторого "каркаса", реализующего набор общих концептуальных принципов моделирования и анализа на примере СБШ, но при этом имеющего широкие возможности наращивания и модификации компонент. Предлагается методика применения разработанного инструментария для создании новых и модификации существующих криптоалгоритмов.
В пятой главе описываются практические примеры применения разработанного программного комплекса для решения различных прикладных задач. В качестве примера применения описываются два проекта, в которых использовались полученные результаты. Первый проект был реализован на факультете "Информационной безопасности" Московского инженерно-физического института в рамках учебного процесса. В задачу второго проекта входила разработка комплекса прикладного программного обеспечения для организации защиты информационных потоков в корпоративной сети Департамента аттестации научных и научно-педагогических работников Минобразования России.
В Заключении дается оценка завершенности разработки и эффективности применения предложенных методов, а также рассматриваются перспективы развития работ в данном направлении.
Результаты исследований, проводимых в рамках данной работы неоднократно докладывались на ежегодных научных конференциях регионального и международного уровня, публиковались в журнале "Безопасность информационных технологий".