1. Введение Широкое применение компьютерных технологий для обработки конфиденциальной и секретной информации сделало проблему обеспечения защиты информации одной из весьма актуальных. В наиболее надежных системах компьютерной безопасности основным механизмом защиты данных от несанкционированного доступа являются криптографические преобразования. Большинство хорошо известных и апробированных криптоалгоритмов, таких как американский федеральный стандарт DES [1], шифр японской телеграфной компании FEAL-N [2] и стандарт СССР ГОСТ 28147-89 являются ориентированными на аппаратную реализацию. Для многих применений программные криптомодули на их основе не обеспечивают требуемой скорости преобразования данных. Использование дополнительных электронных схем для выполнения процедуры шифрования существенно увеличивает стоимость системы защиты и не обеспечивает достаточную гибкость при перенесении системы на различные типы компьютерных систем. В группу важных проблем организации защищенной обработки информации входят: контроль целостности исходныхданных и эталонного состояния программ, теоретически гарантированная защита от программных заклщок, прозрачное шифрование информации, представленной в разных форматах и записываемой в разные области магнитной памяти (файлы, директории, дискеты, системный раздел С жесткого диска, логические разделы 0, Е, Р... Х), возможность автоматизации архивирования секретной информации и организации защищенной коммуникации, разграничение полномочий в широких пределах и ведение системного журнала по учету работы пользователей на ЭВМ с фиксированием затребованных для работы ресурсов операционной системы и использованных данных, При разработке комплекса безопасности компьютерной обработки данных КОБРА [3] были взяты за основу следующие принципы: (1) отсутствие дополнительных электронных устройств; (2) автоматическое функционирование и комплексность; (3) совместимость со всеми другими программами; (4) шифрование в режиме реального времени и высокая криптостойкость; (5) минимальное потребление вычислительных ресурсов. В эти пункты включены основные требования технологии прозрачной защиты. В настоящей работе кратко характеризуется комплексная система защиты ЭВМ, описываются принципы построения программно-ориентированных криптосистем и их перспективность для разработки спектра скоростных шифров, обладающих высокой криптостойкостью, в том числе шифров с неопределенным алгоритмом. 2. Организация прозрачного режима защиты в системе КОБРА Основным принципом технологии прозрачной защиты является осуществление всех, предусматриваемых механизмами поддержания безопасности, дополнительных процедур автоматически и с высокой скоростью, причем средства поддержания защищенного режима должны быть совместимы с прикладными программами данной системы обработки информации (а желательно - со всеми известными программными продуктами), Каждый запрос рабочих программ на запись, чтение, прием или передачу данных должен быть поддержан высокоскоростным криптографическим преобразованием. Произвольный характер таких запросов означает, что шифрование должно осуществляться в динамическом режиме. Для ряда проблем компьютерной безопасности важно сохранение произвольного формата доступа к данным. Достаточно общим решением этой задачи было бы сохранение возможности произвольного доступа к любому байту и его изменения независимо от других байтов. Это условие пришлось учитывать при проектировании режима прозрачного шифрования, поддерживаемого системой КОБРА, для назначаемых директорий и файлов. Условие независимости преобразования каждого отдельного байта делало основной алгоритм этого комплекса непригодным для решения этой специфической задачи, хотя высокие требования к быстродействию и криптостойкости при поддержании указанного режима должны быть сохранены. Благодаря гибкости использованных принципов построения программно-ориентированных криптосистем шифр с требуемыми характеристиками удалось разработать. Одной из важных проблем защиты ПЭВМ является обеспечение гарантированной защиты от программных закладок, то есть от включения в состав резидентных программ некоторого участка кода, реализующего перехват и запоминание паролей легальных пользователей, ключей шифрования, а в случае необходимости, и модулей шифрования, чтобы потом получить доступ к конфиденциальной информации. Широко применяемая операционная система МS DOS, не имеет средств для организации надежного противодействия такому пути "взлома", проверка целостности по контрольным суммам легко обходится, поэтому разработаны системы, в которых операционная система и все необходимые программы загружаются со съемных носителей информации, которые после использования хранятся в недоступном для нарушителя месте. При таком подходе очевидно, что трудности пользователя пропорциональны объему используемого программного обеспечения. Можно предложить и ряд других способов, обеспечивающих гарантированную защиту от программных закладок. Однако, с учетом принципов прозрачности, в системе КОБРА был реализован механизм шифрования всей информации на жестком диске. При шифровании логического диска С, являющегося системным, не только информация пользователей, но и вся служебная информация, включая таблицу распределения кластеров, корневой каталог, а также загрузчик хранятся, в зашифрованном виде. На съемном носителе находится только специальный загрузчик, обеспечивающий инициализацию процессов динамического шифрования и необходимый в течение нескольких секунд при начале работы на ЭВМ. Таким образом, весь объем системного и прикладного программного обеспечения хранится на жестком диске, а нарушитель в любом случае окажется перед барьером задачи криптоанализа. Пользователь имеет возможность перенести специальный загрузчик со съемного носителя на жесткий диск. Такая возможность повышает удобство работы, но снижает степень защищенности и должна использоваться только в соответствующих случаях. Обычная технология работы пользователя обеспечивается работой криптомодуля в динамическом режиме. Если установлена защита от программных закладок (это является также и защитой от загрузки с системной дискеты) и для какого либо логического раздела устанавливается режим динамического шифрования, то соответственно назначению система СОВRА будет в прозрачном режиме дважды шифровать информацию при операциях считывания и записи для этой области магнитной памяти. Предусматривается возможность использования разных ключей для этих двух процедур. Свойство прозрачности позволяет достичь следующих положительных эффектов: * система защиты ненавязчива, не вводит технологических пауз в работу пользователя, не требует к себе дополнительном внимания, а значит она не снижает производительность работы оператора и не провоцирует его на какие-либо отклонения от режима работы с конфидснциальными данными; * наличие системы безопасности не вводит каких-либо ограничений на использование того или иного программного инструментария; * отсутствие практически ощутимого замедления скорости автоматической обработки данных. 3. Технические особенности системы КОБРА Кратко система КОБРА может быть охарактеризована как чисто программный комплекс, реализующий принципы технологии прозрачной защиты, широко использующий криптографические механизмы, потребляющий минимум ресурсов компьютера и предоставляющий большую гамму возможностей при назначении самых разнообразных режимов безопасной обработки информации. Основными характеристиками этой системы являются следующие: * полная защита от программных закладок; * прозрачный режим шифрования заданных групп файлов и директорий, а также информации в указанном разделе жесткого диска; * сохранение высоких скоростных показателей любых информационных технологий (скорость шифрования более 2 Мбайт/с для Intel 80486/66); * широкие возможности разграничения полномочий пользователей (контроль доступа к логическим устройствам, портам, файлам, директориям, функциональным клавишам и др.); * поддержка эталонном состояния операционной среды: обеспечивается сохранение наиболее важных компонент (CMOS, Autoexec.bat,Config.sys, главная корневая запись и др.); * противодействие вирусам и программам вредителям: система обнаруживает и отражает атаку разных типов вирусов; если данные, заданные в "эталонном состоянии" искажены, то они будут восстановлены; * возможность подготовки специальных дискет: эти дискеты будут восприниматься только на указанном рабочем месте и никакие другие дискеты данный операто не сможет использовать; * высокая стойкость скоростных программно-ориентированных криптоалгоритмов ко всем видам криптоанализа; * совместимость со всеми известными программными продуктами; * минимум потребляемых ресурсов ЭВМ (НD: около 400 кбайт, ОП: около 3 Кбайт в типовом режиме или около 10 Кбай полном режиме). 4. Особенности построения программно ориентированных криптосистем Неэффективность программной реализации аппаратно-ориентированных алгоритмов обусловлена нестандартностью используемого в них формата обработки данных в сравнении с микропроцессором. Известны самые разнообразные шифры, в том числе и легко реализуемые в виде быстродействующих программных модулей, однако, большой проблемой является получение при этом высокого уровня криптостойкости. На практике с целью повышения криптостойкости довольно часто используется многопроходный режим шифрования. При этом необходимо иметь в виду, сохраняется ли клюм и алгоритм шифрования для всех проходок, или же они изменяются от проходки к проходке. Основным вопросом для многопроходных комбинированных криптосистем является оценка соотношения уменьшения скорости обработки данных и повышения криптостойкости. Если скоростные характеристики легко могут быть рассчитаны, то оценки второго параметра достаточно сложны и неоднозначны. Известно, что последовательное применение метода простой подстановки или перестановки m раз не дает повышения криптостойкости. Общеизвестной является следующая оценка для комбинированного многопроходного режима на основе независимых отдельных алгоритмов, использующих независимые ключи шифрования: криптостойкость сложной системы Б имеет значение не меньше произведения значений криптостойкости всех простых алгоритмов Si [4]: S>=S1*S2*S3*...Sm, где m - число независимых алгоритмов. Критерии оценки независимости алгоритмов шифрования в большинстве случаев носят экспертный характер, что связано с трудностями формализованного описания шифров. В знаменитой работе Шеннона [5], открывшей эпоху перехода криптографии на научные рельсы, отмечается важность учета и использования принципов рассеяния (то есть влияния одного бита ключа на много знаков криптограммы) и перемешивания (то есть процедур, нарушающих корреляцию между знаками исходного текста). В этой работе предложена схема построения комбинированных криптосистем на основе многократного чередования простых шифрующих преобразований (каждая из которых в отдельности обеспечивает незначительное рассеяние) и перемешивающих преобразований (например, перестановок). Даже в случаях, когда любой из этих типов преобразований при наращивании их числа не дает существенного повышения результирующей криптостойкости, перемежение разнотипных процедур позволяет построить очень стойкий шифр. Классическим примером реализации этого подхода является американский стандарт DES, японский шифр FEAL-N и подобные им блочные криптосистемы. При создании шифра, ориентированного на реализацию программными средствами, был использован подход, основанный на использовании предварительных процедур настройки резидентного модуля [6, 7]. Этот подход позволяет сощать банк скоростных независимых криптоалгоритмов, на основе котором может быть создана автоматизированная система проектирования шифров с заданным соотношением основных параметров. Особенностью этого класса систем является то, что даже какой-либо отдельный алгоритм может быть использован в многопроходном режиме, давая значительное увеличение криптостойкости при использовании одного и том же ключа. При проектировании конкретного шифра необходимо учитывать комплекс аспектов: (1) требуемый уровень криптостойкости к анализу на основе известного исходного текста очень большого объема; (2) криптостойкость к атакам на основе выбранного шифротекста и выбранного исходного текста, причем общий обьем подобранных текстов может составлять сотни мегабайт; (3) тестирование системы в предположении, что некоторый обьем ключа шифрования известен; (4) скорость шифрования и скорость дешифрования; (5) размер обрабатываемого блока данных; (6) допустимая длина пароля (первичного ключа). Программно-ориентированные криптосистемы, построенные в соответствии с двухэтапным принципом их организации, обеспечивают оптимальное сочетание характеристик: уровень криптостойкости более 10 при криптоанализе на основе известного исходного текста обьемом 100 Мбайт, криптостойкость более 10 при анализе на основе подобранных текстов практически неограниченного объема, скорость шифрования и дешифрования около 20 Мбит/с (для Intel 486/66), размер резидентного модуля около 1 кбайта, входной блок 32-64000 байт и длина пароля 10-60 байт. Интересна следующая потенциальная возможность, В программе инсталляции системы защиты может быть предусмотрена процедура псевдослучайной настройки алгоритма инициирования резидентного криптомодуля, а также алгоритма шифрования. В этом случае, в определенный момент инсталляции системы заказчик в отсутствие разработчика осуществляет некоторые случайные процедуры на клавиатуре, которые обрабатываются программой инсталляции и управляют процессом построения криптосистемы, которая является уникальной и практически ни у какого другого пользователя не будет сгенерирована. Заказчик будет иметь гарантию того, что его уникальный алгоритм является неизвестным даже разработчику. В ряде случаев этот вариант инсталляции может явиться целесообразным и дать значительный дополнительный "запас прочности". Недоверчивые заказчики, однако, должны смириться с тем, что при необходимости передачи конфиденциальных сообщений в прозрачном режиме у них могут возникнуть затруднения, если они не скоординируют заранее свои действия в момент инсталляции со своим потенциальным партнером. Другим путем преодоления этого затруднения является разработка программы инсталляции, которая позволяла бы устанавливать дополнительный стандартизированный шифр, который мог бы быть включен в действие при необходимости передачи данных по линиям связи. 5. Программно-ориентированные шифры с неопределенным алгоритмом В системе КОБРА задана обработка данных блоками по 512 байт, причем пары байт преобразуются последовательно. Однако, используемый криптоалгоритм может быть 20 легко модернизирован таким образом, чтобы задать псевдослучайный характер очередности преобразования входных пар байтов, которая бы контролировалась паролем на этапе выполнения процедур настройки. Это вносит элементы неопределенности в алгоритм шифрования. Дальнейшее развитие двухэтапном принципа организации криптосистем нашло в разработке принципов построения программно-ориентированных шифров с неопределенным алгоритмом [8, 9]. Развитие этого направления перспективно для создания шифров с повышенной криптостойкостью. Действительно, создание таких систем означает, что из арсенала криптоаналитика убирается такое мощное оружие, как знание непосредственных процедур шифрования. Центральной идеей построения неопределенных шифров является включение в этап настройки резидентной части системы процедуры генерации криптоалгоритма резидентного модуля. Причем эти порождающие процедуры легко задаются в виде односторонних преобразований, управляемых паролем (или первичным ключом), что делает практически невозможным установление корреляции между паролем и конкретным потенциально реализуемым алгоритмом шифрования. Для криптоанализа таких криптосистем потребуется разрабатывать специальные подходы, однако, для надлежащим образом составленного алгоритма настройки, трудно предложить существенно более эффективного пути, чем перебор потенциально возможных для реализации конкретных алгоритмов, Даже выработка критериев отбраковки перебираемых алгоритмов является весьма и весьма проблематичной. Действительно, если для конкретного варианта перебора не удается построить ключевую систему на основе криптоанализа с использованием известного исходного текста, то это означает, что либо (1) при шифровании используется другой алгоритм, либо (2) данный метод криптоанализа неэффективен и на до продолжить поиск других путей анализа или получения исходного текста большего объема. Такая дилемма будет присутствовать в каждом варианте подбора алгоритма шифрования.Ниже показано,что можно построить неопределенные криптосистемы, в которых число потенциально реализуемых алгоритмов 20 составляет 10 и более, Осуществление подобного числа (и даже его малой доли)"пробных криптоатак" является нереальным даже для организаций, обладающих чрезвычайно большим вычислительным потенциалом, если предусмотреть уровень стойкости каждого возможного для реализации алгоритма не ниже стандарта DES, Предварительные оценки показывают, что может быть разработан не определенный шифр, в котором любой из потенциально возможных для реализации алгоритмов обладает криптостойкостью зна24 чительно выше значения 10. Наиболее отчетливо видны преимущества криптосистем с неопределенным алгоритмом при рассмотрении их стойкости к атакам на основе специально подобранных исходных текстов (или шифротекстов). Основным моментом при осуществлении криптоанализа такого типа является знание конкретном алгоритма, который будет использоваться для шифрования (или дешифрования) выбранных криптоаналитиком текстов. Таким образом, для организации такого нападения необходимо знать конкретный алгоритм, найти его слабые места, подготовить серию выбранных текстов для шифрования (дешифрования получить и обработать результаты соответствующего преобразования. Поскольку является неизвестным, на какой конкретный алгоритм настроен резидентный модуль, криптоаналитику необходимо выполнить огромное число таких нападений (порядка числа потенциально реализуемых алгоритмов Оценки в самых выгодных для криптоаналитика допущениях показывают, что им должны быть подготовлены тексты объемом более 11 10 Гбайт. Такой объем данных затруднительно ввести в инициированную паролем криптосистему, не упоминая даже о времени, необходимом для их преобразования. Это означает, что любые разновидности атак на основе выбранных текстов, в том числе и дифференциальный криптоанализ, являются несостоятельными для компрометации неопределенных шифров. Рассмотрим несколько приемов задания неопределенности: 1. Для процедур резидентного криптомодуля резервируется множество операций, каждая из которых настраивается под управлением пароля на этапе настройки. Подробное описание шифра такого типа приведено в [8]. Здесь отметим, что в этой схеме легко задается 30 неопределенность более 10. 2. Резидентный модуль осуществляет процедуру шифрования в m проходок, каждая из которых обслуживается одним из N алгоритмов, описанных в библиотеке криптосистемы. Этот алгоритм дает неопределенность равную m W=N . 3. Закон выборки пар байтов (из входного блока данных размером 512 байт) для их последовательной обработки задается в зависимости от пароля. Быстрый способ реализации этого приема позволяет задать неопределенность закона выборки для одной проходки не менее величины w=10. Если этот прием использовать на каждой из m проходок, то общая неопределенность составит m 5m W=w =10 . 6. Заключение Обобщая результаты, полученные при разработке принципов организации программноориентированных шифров и создании конкретных криптосистем для программного комплекса КОБРА, можно сделать следующие выводы: 1. Многочислснная группа скоростных программно-ориентированных криптосистем, обладающих высокой криптостойкостью, может быть создана. Ряд практически реализованных шифров такого типа использованы в системе КОБРА. 2. Программные криптомодули являются более гибкими по сравнению с шифрующими устройствами и позволяют найти оптимальное решение для большого числа прикладных задач. Для решения некоторых задач компьютерной безопасности большинство известных аппаратно-ориентированных шифров являются неэффективными. 3. Использование программно-ориентированных криптосистем является кратчайшим путем создания новых защищенных информационных систем, гарантируя при этом минимальные финансовые затраты. 4. Двухэтапный подход [6,7] к построению механизма шифрования позволяет разработать криптосистемы с неопределенным алгоритмом, облщающие повышенной криптостойкостью [8]. В настоящее время все большее число организаций понимает, что широкое внедрение современных компьютерных технологий обработки данных необходимо поддержать применением криптографических механизмов защиты. Наиболее эффективным путем удовлетворения этого требования является применение программно-ориентированных шифров. Отметим, что активный интерес к этому направлению проявляют и западные исследователи (см.,например, (10)). Сейчас, можно сказать, решается вопрос: будет ли подход, развитый и апробированный в ряде отечественных организаций впервые поддержан официальными стандартами и широко использован в России и других странах СНГ или же инициатива будет упущена и опережающий шаг будет сделан одной из развитых западных стран. Программно-ориентированные шифры, благодаря органически присущей им гибкости, могут быть поддержаны целым спектром стандартов, давая в руки разработчиков систем защиты мощный инструмент, с помощью которого могли бы решаться самые разнообразные по специфике и сложности задачи из области обеспечения информационных систем механизмами криптозащиты. Экспертные оценки криптостойкости ряда модификаций программно-ориентированных шифров, данные ПНИЭИ, ВИКА им.А.Ф.Можайского и институтом кибернетики им.В.М.Глушкова, подтверждают обоснованность такой постановки проблемы. Литература 1.Garon G., Outerbridge R. DES watch: an examination of the sufficiency of the Data Encryption Standart for financial institution in the 1990's/ Cryptologia. 1991. Vol. 15. Э3. P. 177 - 193. 2.Miyaguchi Sh. The FEAL cipher family//Lect. Notes Comput. Sci. 1991. V. 537. Р. 627 - 638. 3. Молдовян А.А. Организация комплексной защиты ПЭВМ от несанкционированного доступа. В сб.:Информатика. Сер. Проблемы выч.техники и информатиз. М.-1992, вып.3-4. 4. Герасименко В.А. Защита информации в автоматизированных системах обработки данных. М.: Энергоатомиздат, 1994. 5. Шеннон К. Работы по теории информации и кибернетике. М.:Изд-во иност. лит-ры,1963. 6. Молдовян А.А,, Молдовян Н.А., Молдовян П.А. Новый метод криптографических преобразований для современных систем защиты ПЭВМ // УСиМ. 1992. Э9/10. 7. Молдовян А.А., Молдовян Н.А. Новый принцип построения криптографических модулей в системах защиты ЭВМ // Кибернетика и системный анализ, Э5, 1993. 8. Молдовян А.А., Молдовян Н.А., Молдовян П.А. Принципы построения программно-ориентированных криптосистем с неопределенным алгоритмом //УСиМ, Э6, 1994. 9. Молдовян А.А., Молдовян Н.А. Способ построения эффективного программного криптомодуля малого обьема //УСиМ, Э3, 1993. 10. Merkle R.C. Fast software encryption functions// Lect.Notes Comput. Sci. 1991.V. 537. Р. 545- 563.