2.4. Управление безопасностью и корпоративная политика

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

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

На втором уровне - координации, происходит распределение пользователей и групп, сбор данных о попытках нарушения системы безопасности и сбор аудита.

На низшем уровне (исполнения) происходит выполнение и текущий контроль услуг в реальном масштабе времени, так как пользователи, ресурсы и правила доступа к ним на этом уровне четко определены.

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

НЕ нашли? Не то? Что вы ищете?

Такое решение может быть реализовано на основе подхода, принятого в распределенной компьютерной среде DCE (Distributed Computing Environment) и рассмотренного в п. 4.1. Так проблему согласования имен ресурсов и пользователей позволяет решить служба каталога, а синхронизацию системных часов - служба времени DCE.

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

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

Политики безопасности системы делятся на следующие пять основных классов:

• политика ответственности;

• политика управления доступом;

• политика конфиденциальности данных;

• политика целостности данных;

• политика управления безопасностью.

Политика ответственности включает в себя политику идентификации и аутентификации, политику определения доверенного пути и политику аудита.

Политика идентификации и аутентификации включает в себя следующее:

• перечень объектов системы, которые являются ответственными (подотчетными) для системы безопасности;

• степень детализации этих объектов (пользователи, группы пользователей, роли, серверы, клиент/серверные машины и т. д.);

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

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

• тип авторизации, требуемый для объекта (пользователя) для того, чтобы обратиться к системе (например - группа/роль, список групп /ролей, заданную по умолчанию группу/роль, уровень секретности/целостности, вычисление необходимого уровня секретности/целостности);

• обеспечиваемые опции logon-а (входа в систему) пользователя;

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

• требования для реализации ре-аутентификации и ре-сертификации;

• определение уровней доверия в механизмах идентификации.

Политика доверенного пути включает в себя:

• типы аутентификационных связей (доверенных путей) могут быть установлены между объектами внутри системы, (например, пользо­ватель/рабочая станция и рабочая станция/пользователь, пользова­тель/клиент/сервер/машина к серверу аутентификации/сертификации до­мена, сервер аутентификации/сертификации к пользователю/ кли­енту/серверу /машине и т. д.);

• пользовательские команды, поддерживаемые на доверенном пути;

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

Политика аудита включает в себя:

*  степень детализации аудита, обеспечиваемая внутри системы (элемент, объект, событие);

*  типы событий распределенной системы, фиксируемые в аудите;

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

Политика контроля доступа включает два класса: с избирательным контролем доступа (ИКД) и не избирательным (НИКД) контролем доступа.

Для обоих классов требуется определять:

·  область применения политики (отдельные серверные машины, выбранные клиент/серверные пары, определенные менеджеры ресурсов, внутри доменная, глобальная, распространяемая на всю систему);

·  элементы системы, контролируемые политикой (объекты и субъекты, управляемые ИКД и НИКД политиками, взаимоотношения между объектами, контролируемыми различными политиками);

·  привилегии, определяемые для объекта, и свойства, контролируемые этими привилегиями;

·  обеспечиваемая степень детализации разрешения доступа объектов к объектам (пользователь, группа, роль, сервер, машина и их комбинации );

·  правила назначения, просмотра, и аннулирования привилегий, обеспечиваемые внутри системы, атрибуты этих правил (зависящие от объекта или привилегий, непосредственные, независимые, временные или ограниченные временем и т. д.);

·  область действия этих правил (отдельная машина, внутри домена, внутри распределенной системы);

·  правила, регулирующие передачу прав доступа от одного объекта другому;

·  правила создания/уничтожения объектов в системе;

·  правила защиты подсистем (например серверов), поддерживаемые в системе;

·  вид контроля, возлагаемого на привилегированных пользователей.

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

Политика обеспечения конфиденциальности данных включает:

·  тип защиты данных от раскрытия, обеспечиваемый в системе при передачи от одного компонента другому (например, между клиентом и сервером или между двумя машинами);

·  параметры защиты (все сообщения, только выбранные сообщения, поля сообщений, RPC пакеты или запросы / ответы диалога);

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

Политика обеспечения целостности данных включает в себя:

·  типы защиты данных от модификации (обнаружение и/или исправление), поддерживаемые в системе для обеспечения передачи данных между различными элементами внутри распределенной системы;

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

·  используемый метод поиска ошибок;

·  тип механизма шифрования для защиты от модификации данных.

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

2.5. Принципы криптографической защиты информации

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

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

2.5.1. Основные понятия и определения

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

Введем основные термины, используемые в криптографии [22-24].

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

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

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

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

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

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

Гаммирование — процесс наложения по определенному закону гаммы шифра на открытые данные. Гамма шифра — псевдослучайная двоичная последовательность, вырабатываемая по заданному алгоритму для зашифрования открытой информации и расшифрования зашифрованной.

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

Имитозащита — защита системы шифрованной связи от навязывания ложных данных.

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

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

В корпоративных сетях применяются два типа криптографических систем: одноключевые, с закрытым ключом (симметричные) и двухключевые, с открытым ключом (несимметричные).

Криптографическа система — это совокупность криптоалгоритмов, протоколов и процедур управления ключами.

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

Криптостойкость — характеристика шифра, определяющая его стойкость к дешифрованию.

Методы расшифрования (дешифрования) информации незаконным объектом разрабатываются на основе криптоанализа.

Криптоанализ — область знаний о раскрытии шифров (ключей) по имеющемуся зашифрованному тексту.

В любой корпоративной сети для предотвращения НСД каждому субъекту доступа (пользователю) присваивается идентификатор. Идентификатор — средство идентификации доступа, представляющее собой отличительный признак субъекта. Основным средством идентификации доступа для пользователей является пароль.

Пароль — средство идентификации доступа, представляющее собой кодовое слово в буквенной, цифровой или буквенно-цифровой форме, которое вводится в ПЭВМ перед началом диалога с нею с клавиатуры терминала или при помощи идентификационной карты.

Аутентификация пользователя - - подтверждение подлинности пользователя с помощью предъявляемого им аутентификатора.

Аутентификатор — средство аутентификации, представляющее отличительный признак пользователя.

Средствами аутентификации пользователя могут быть дополнительные кодовые слова, биометрические данные и другие отличительные признаки пользователя.

2.5.2. Классификация криптографических методов

Современные криптографические методы тесно связаны с методами шифрования сообщений, которые, в свою очередь, зависят от способа использования ключей. При этом ключом является секретное состояние некоторых параметров алгоритма криптопреобразования [21, 22].

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

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

Cхему шифрования в этом случае можно представить следующим образом:

Y=EZ(X);

Х = DZ(Y) = DZ(ЕZ(Х)),

где Х,Y — открытый текст и шифртекст соответственно; EZ, DZ, — функции шифрования и расшифрования соответственно, с ключом Z.

Для взаимной однозначности шифрования и расшифрования необходимо, чтобы выполнялось равенство DEZ=e, где e – единичное преобразование.

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

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

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

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

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

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

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

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

·  сложность дискретного логарифмирования;

·  сложность разложения целых чисел;

·  сложность декодирования произвольного линейного кода.

2.5.3. Симметричные криптосистемы

2.5.3.1 Симметричные блочные криптоалгоритмы

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

Рассеивание представляет собой распространение влияния одного бита открытой информации на большое количество бит шифрованной информации, что позволяет скрыть статистические свойства открытой информации.

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

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

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

¨  электронная кодовая книга ECB (Electronic Code Book);

¨  сцепление блоков шифра CBC (Cipher Block Chaining);

¨  обратная связь по шифрексту CFB (Cipher Feed Back);

Первый режим также называется шифрованием заменой. Второй и третий режимы являются разновидность гаммирования.

2.5.3.2. Алгоритм шифрования данных Rijndael.

Этот алгоритм стал победителем конкурса на новый стандарт шифрования данных в США [33].

Пусть конечное поле GF(28) определяется неразложимым многочленом вида x8+x4+x3+x+1. Будем рассматривать 128 бит = 16 байт как набор элементов этого поля. Данные располагаются в массивы размера 4x4, состоящем из элементов поля GF(28). Алгоритм выполняется за 10 раундов, каждый из которых состоит из четырех операций, называемых ByteSub (замена байтов), ShiftRow (сдвиг строк), MixColumn (перемешивание столбцов) и AddRoundKey (прибавление раундового ключа). В последнем цикле операция MixColumn не выполняется. Элементы в массиве нумеруются начиная с нулевого. Операция ByteSub состоит из двух шагов:

а) Каждый элемент массива заменяется его мультипликативным обратным в поле GF(28), причем 0 отображается в себя.

б) К массиву применяется фиксированное аффинное отображение над GF(28).

Затем операция ShiftRow циклически сдвигает элементы i‑й строки массива на i позиций вправо.

Далее в операции MixColumn столбцы массива рассматриваются как многочлены над GF(28) (например, столбец A=(a0,i, a1,i, a2,i, a3,i) отождествляется с многочленом a3,ix3+a2,ix2+a1,ix+a0,i) и их умножение по модулю многочлена x4+1 на многочлен 03x3+01x2+01x+02 дает элементы нового 4x4 массива B (так, bi,0 – свободный член произведения a3,ix3+a2,ix2+ a1,ix+a0,i и 03x3+01x2+01x+02 по модулю x4+1, элемент bi,1 – коэффициент при x1 и т. д.). Операция MixColumn рассеивает биты каждого элемента массива по столбцу.

AddRoundKey осуществляет операцию XOR между раундовым ключом (порождаемым процедурой генерации подключей) и элементами массива.

Большое преимущество данного алгоритма состоит в том, что он имеет много возможностей для распараллеливания выполнения отдельных операций. Так в ByteSub и AddRoundKey операции над байтами можно выполнять независимо, а в ShiftRow и MixColumn можно независимо выполнять операции над строками и столбцами.

Нелинейные S – преобразователи (в операции ByteSub) спроектированы для повышения устойчивости к дифференциальному криптоанализу. Они обратимы и минимизируют корреляцию между линейными комбинациями выходных битов. Операция MixColumn увеличивает рассеивание.

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

2.5.3.3. Алгоритм ГОСТ

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

Это блочный алгоритм, обрабатывающий блоки по 64 бит под управлением 256-ти битного ключа [25]. Он представляет собой 32-раундовую сеть Фейстеля. Структура одного раунда алгоритма ГОСТ представлена на рис. 2.4.

Распределение подключей между раундами организуется следующим образом. Исходный секретный ключ длиной 256 бит делится на 32-х битные подключи K0, K1,…, K7, которые в раундах шифрования с 1 по 32 используются в следующем порядке K0, K1,…, K7, K0, K1,…, K7, K0, K1,…, K7, K7, K6,…, K0.

Алгоритм предусматривает криптографическое преобразование данных в следующих режимах работы:

¨  простой замены (ECB);

¨  гаммирования;

¨  гаммирования с обратной связью (CBC);

¨  выработки имитовставки.

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

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

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

Режим выработки имитовставки предназначен для обнаружения случайных и преднамеренных ошибок при передаче зашифрованных данных и одинаков для любого из рассмотренных выше режимов шифрования открытой информации. Имитовставка представляет собой дополнительный l битный блок информации U, который формируется либо перед шифрованием всего сообщения, либо совместно с шифрованием по блокам. Число бит l определяется исходя из вероятности возникновения ложной информации p=2-l. Процесс формирования имитовставки осуществляется следующим образом. Первый блок открытой информации подвергается 16-ти раундам преобразования в режиме простой замены. Результат шифрования суммируется по модулю два со вторым блоком открытой информации. Далее результат суммирования опять подвергается 16-ти раундовому шифрованию и суммируется по модулю 2 с третьим блоком открытой информации и т. д. Из полученного после последнего шага криптопреобразования блока криптограммы выбирается имитовставка длиной l бит (обычно 32 бита).

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

2.5.3.4. Сравнительный анализ симметричных криптоалгоритмов.

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

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

Кроме того, алгоритм обладает свойством дополнения, а именно, если x, z – открытый блок данных и ключ соответственно, то имеет место равенство , где .

Таблица 2.3

Алгоритм шифрования

Размер ключа, бит

Длина блока, бит

Число раундов

Основные используемые операции

ГОСТ

256

64

32

Сложение по модулю 232, подстановка, циклический сдвиг, сложение по модулю 2

DES

56

64

16

Подстановка, перестановка, расширение, сложение по модулю 2

FEAL

64, 128

64

4, 8, 16

Сложение по модулю 28, сложение по модулю 2, циклический сдвиг

IDEA

128

64

8

Умножение по модулю 216+1, сложение по модулю 216, сложение по модулю 2

RC5

8t, t£255

32, 64

£255

Сложение по модулю 2n/2, где n - длина блока данных, циклический сдвиг, сложение по модулю 2

Blowfish

£448

64

16

Сложение по модулю 232, подстановка, сложение по модулю 2

RC6

8t, t£255

128

£255

Сложение по модулю 2n/2, где n - длина блока данных, циклический сдвиг, сложение по модулю 2, квадратичная функция

Rijndael

192

128

10

Сложение, умножение многочленов, циклический сдвиг, сложение по модулю 2

При подборе ключей это позволяет злоумышленнику в два раза сократить объем перебора, т. е. ключ можно искать с точностью до инверсии. Появление дифференциального метода криптоанализа привело к снижению стойкости алгоритма до 237 при требуемом объеме известных блоков открытого текста 236 [34].

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

В алгоритме FEAL операции сложения по модулю 2 и 256 различаются только переносом. Поэтому нелинейность оператора FEAL мала. Это обуславливает уязвимость FEAL к дифференциальному и линейному методам криптоанализа. Стойкость FEAL падала значительно быстрее чем стойкость DES. Ключ 8-ми циклового алгоритма FEAL раскрывается дифференциальным методом с помощью 2000 подобранных открытых текстов на персональном компьютере всего за две минуты.

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

Алгоритм шифрования ГОСТ использует в отличие от DES не фиксированные блоки подстановки, которые являются секретным параметром. Длина ключа гораздо больше – 256 бит, что делает абсолютно невозможной атаку перебором. Механизмы рассеивания в данном алгоритме и в алгоритме DES существенно различаются. В ГОСТ рассеивание достигается сложением по модулю 232, подстановкой и сдвигом, а в DES – перестановкой бит в блоке и подстановкой. Для повышения стойкости к дифференциальному и линейному методам криптоанализа, желательно выбирать экстремальные подстановки с нелинейностью 4 и рассеванием 1. Кроме того, наиболее вероятная разность двух выходов подстановки по модулю 2, при фиксированной разности входов должна иметь малую вероятность. В работе [35] показано, что криптоанализ усеченного 24-циклового ГОСТ превышает 254 для случайного блока подстановки.

Алгоритмы RC5, RC6 безопаснее DES поскольку используют более длинный ключ. Они очень просты в реализации и скорость их работы гораздо выше. Значения встроенных параметров – размера входного блока данных, длины ключа, числа циклов могут гибко выбираться исходя из требуемого уровня защиты и производительности. Однако алгоритм RC5 имеет слабые ключи, для которых циклический сдвиг оказывается нулевым, что следует учитывать, в частности при построении на его основе хэш-функций. Для раскрытия ключа 12-раундового алгоритма RC5 требуется 244 подобранных открытых текстов, что существенно ниже сложности перебора.

Для алгоритма Blowfish существуют слабые ключи (S-блоки с одинаковыми словами), использование которых приводит к тому, что дифференциальный криптоанализ позволяет восстановить массив подключей для 8 циклов с помощью 223 выбранных открытых текстов, а для 16 циклов с помощью 3*251 выбранных открытых текстов.

2.5.4. Асимметричные криптографические системы

2.5.4.1. Принципы построения двухключевых криптографических систем

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

Однако, в современных корпоративных сетях с большим количеством пользователей достаточно часто возникают ситуации, связанные с невозможностью доверия друг другу. Кроме того, весьма сложной задачей являются вопросы распределения ключей. Так, если сеть содержит n пользователей, и каждый может связаться с каждым, то для этого необходимо иметь множество возможных сочетаний ключей, которые подлежат доставке безопасным образом, оперативной замене при необходимости и без-опасному хранению. Решением данных проблем явилось создание концепции открытых ключей. Впервые идея шифрования с открытым ключом была предложена Диффи и Хеллманом [26].

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

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

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

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

Вычисление ключей осуществляется получателем сообщений, который оставляет у себя секретный ключ Z2. Другой ключ Z1 (открытый) высылается отправителю сообщений в открытом виде. Любой пользователь сети применяя этот открытый ключ, может зашифровать сообщение и послать его получателю, сгенерировавшему данный открытый ключ. Таким образом, шифрование Е выполняется с помощью открытого ключа Z1, расшифрование D — с помощью секретного ключа Z2. Важным аспектом при этом является то, что функции шифрования и расшифрования обратимы лишь тогда, когда существует стро-гая взаимосвязь между парой ключей, принадлежащих огромному множеству возможных сочетаний ключей. Поэтому, как показано на рис.2.5, открытый и секретный ключ определяются из порождающего или мастер-ключа, выбираемого случайным образом. Открытый и секретный ключи формируются генераторами F и G по порождающему ключу.

Таким образом, ключи, имеющиеся в криптосистеме, входят в нее парами и каждая пара удовлетворяет следующим условиям:

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

-  знание одного ключа не позволяет вычислить другой (с приемлемыми затратами вычислительных и временных ресурсов).

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

Алгоритмы шифрования и генерации ключей в двухключевых криптографических методах основаны на необратимых или односторонних функциях [21, 27]. Односторонняя функция характеризуется тем, что при заданном значении X относительно просто вычислить значение f(X), однако обратить функцию практически (с вычислительной точки зрения) невозможно. Однако одностороннюю функцию в чистом виде использовать для шифрования информации невозможно, так как никто, даже законный объект сети не сможет по значению f(X) восстановить значение X. Поэтому в целях шифрования используют односторонние функции с обходными путями. Такие функции обладают дополнительным свойством: обратная функция может быть вычислена, если известна специальная информация об обходных путях. Более точное определение формулируется так: односторонняя функция с потайным ходом – это необратимая функция или множество необратимых функций fZ с параметром Z таких, что при данном значении Z существуют алгоритмы EZ и DZ, позволяющие легко определить значение Y=fZ(X) для всех возможных X и fZ-1(Y) для всех Y соответственно. Однако практически для всех Z и Y из области значений fZ(X) нахождение значения X с вычислительной точки зрения неосуществимо, даже при известном EZ.

2.5.4.2. Алгоритм шифрования данных RSA.

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

К основным параметрам алгоритма относятся: открытый ключ - Ke, секретный ключ - Kd, сообщение - X, криптограмма - Y. Все они принадлежат множеству целых чисел ZN={0, 1,…, N-1}, где N=p×q – модуль, a p и q большие простые числа. Они являются секретными параметрами и выбираются равной длины для обеспечения максимальной безопасности.

Открытый ключ Ke выбирается исходя из условия:

1 < Ke £ j(N), НОД(Ke, j(N))=1,

где j(N)=(p-1)(q-1) – функция Эйлера. Функция Эйлера возвращает количество положительных целых чисел в интервале от 1 до N, которые взаимно просты с N.

Секретный ключ Kd вычисляется с помощью расширенного алгоритма Евклида исходя из условия

KdKe º 1(mod j(N

При этом числа Kd и N должны быть взаимно простыми.

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

Y=E(X)=XKe(mod N). (2.2)

Абонент B, используя свой секретный ключ определяет исходное сообщение:

X=E(Y)=YKd(mod N). (2.3)

Если значение исходного сообщения превышает N-1, тогда оно разбивается на подблоки Xi £ N-1, и шифруется поблочно способом, описанным выше. Таким образом, шифрование и расшифрование представляют собой одну и ту же операцию модульного возведения в степень, выполняемую с различными параметрами (ключами). На практике в качестве алгоритма быстрого модульного возведения в степень используют ряд последовательных возведений в квадрат целого X (или Y) и умножений на X (Y) с приведением по модулю N.

Функция E(X) – односторонняя функция с потайным ходом, так как любой метод отыскания злоумышленником E(Y) (обращения функции Y) по известным значениям Y, Ke и N, эквивалентен разложению N на простые множители p и q, что практически невозможно при N ³ 2512. Потайным ходом является тройка чисел {p, q, Kd}. Другим возможным способом вскрытия алгоритма является разложение значения j(N) на простые сомножители. Однако эта атака на проще разложения значения N.

Для того, чтобы алгоритм RSA имел практическую ценность, необходимо иметь возможность без существенных затрат времени и ресурсов генерировать большие простые числа и уметь быстро вычислять значения ключей Ke, Kd [22, 27]. Криптоалгоритм RSA реализуется как программным так и аппаратным способом. Для аппаратной реализации RSA разработаны специальные процессоры, реализованные на сверхбольших интегральных схемах. Однако, даже аппаратная реализация в тысячи раз медленнее аппаратной реализации симметричных алгоритмов.

2.5.4.3. Алгоритм шифрования на основе дискретного возведения в степень.

Асимметричный алгоритм, основанный на дискретном возведении в степень, предложен Эль Гамалем и подробно рассмотрен в [27]. Для этого алгоритма достаточно просто вычисляется показательная функция в кольце целых чисел Zp, состоящем из p элементов (p – большое простое число), но трудно вычислить дискретный логарифм в этом кольце.

Рассмотрим схему алгоритма. Пусть кольцо Zp и число g < p являются общими для всей сети.

1.  Абонент А генерирует свой секретный ключ Ke < p и вычисляет открытый ключ KA=gKe(mod p). Открытый ключ публикуется для использования всеми абонентами сети.

2.  Для того чтобы зашифровать сообщение X < p, абонент В генерирует случайное число k такое, что числа k и p-1 являются взаимно простыми, и вычисляет значения a=gk(mod p) и b= KAk×X(mod p). Пара чисел {a, b} является криптограммой, отправляемой абоненту А.

3.  Для расшифрования сообщения абонент А вначале вычисляет значение aKe=(gk)Ke(mod p), а затем определяет сообщение X согласно выражения X=b/aKe(mod p).

Данное выражение справедливо, так как b/aKe º KAk×X / aKe º gKe×k×X / gk×Ke º X.

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

KAk×X1=b1(mod p),

KAk×X2=b2(mod p).

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

2.5.4.4. Алгоритмы шифрования на основе основе использования кодовых конструкций.

В работе [37] впервые была предложена двухключевая криптосистема в основе которой лежит алгебраическая теория кодирования. Криптостойкость такой системы основана на сложности решения следующей задачи. Пусть имеется проверочная H или порождающая G матрица произвольного линейного (n, k)-кода и вектор v. Требуется найти вектор a×H такой, что и cHT=0, где w - вес Хэмминга. Эта задача является NP-полной.

В данном алгоритме построено семейство односторонних функций на основе использования кодов Гоппы. Идея алгоритма состоит в том, чтобы сконструировать быстро декодируемый код Гоппы, а затем замаскировать его под произвольный линейный код, общая задача декодирования которого является NP-полной. Алгоритм строится следующим образом. Абонент A, строит порождающую матрицу G(n, k)-кода Гоппы, исправляющего t ошибок, невырожденную kxk-матрицу S и перестановочную nxn- матрицу P, которые являются его секретным ключом. После этого он вычисляет матрицу

KА=SGP, (2.4)

которая также является порождающей матрицей линейного кода (предположительно трудно декодируемого), с такой же скоростью и корректирующей способностью, как и исходный код Гоппы. Матрица KА является открытым ключом, который передается всем абонентам сети. Абонент B, отправляющий конфиденциальное сообщение, зашифровывает k-битовый вектор сообщения x в n-битовый вектор шифртекста y согласно выражения

y = xKА + e, (2.5)

где e - случайный вектор ошибки с весом Хэмминга, не превышающим t. Полученный вектор отправляется абоненту А, который, в свою очередь расшифровывает криптограмму y следующим образом. Он вычисляет

yP-1=(xS)G + eP-1 , (2.6)

а затем использует алгоритм декодирования исходного кода Гоппы c порождающей матрицей G для нахождения вектора ошибки eP-1 и сообщения x’ = xS-1. Наконец, он восстанавливает исходное сообщение x, умножая x’ на S.

Стойкость рассмотренного алгоритма шифрования определяется сложностью разложения матрицы KА на матрицы G, S и P, а также сложностью декодирования произвольного (неизвестного) линейного кода.

Существует другой алгоритм шифрования на основе линейных кодов. Для его построения необходимо иметь матрицы H, P и K, обладающие следующими свойствами:

H – проверочная (n-k)xn матрица двоичного линейного (n, k) кода над полем GF(q), исправляющего t ошибок и обладающего эффективным методом декодирования;

P – случайная перестановочная nxn матрица;

M – невырожденная (n-k)x(n-k) матрица.

Открытый ключ абонента А представляет собой матрицу

KА=MHP, (2.7)

и количество исправляемых ошибок t, а секретный ключ – матрицы H и P.

Абонент В формирует сообщения x как n – мерные векторы ошибок над конечным полем GF(q)с весом не более t. Затем для каждого такого

вектора вычисляется вектор

y=KxT, (2.8)

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

v=M-1=HPxT=H(xTP)T . (2.9)

После этого полученные векторы v декодируются известным для выбранного исходного кода методом.

2.5.4.5. Алгоритмы криптографического преобразования информации на основе использования свойств эллиптических кривых

Ряд криптосистем с открытым ключом строится на основе таких функций, в которых вычисляется кратное некоторого элемента абелевой группы A. Как известно абелевой группой называется группа A, удовлетворяющая коммутативному закону ba=ab для всех a,b Î A. Групповой закон сложения точек аддитивной абелевой группы ЭК обладает следующим криптографическим свойством. Пусть P и G - элементы циклической подгруппы A кривой E(Fq), причем G является примитивным элементом (генератором) этой подгруппы. Тогда, если P=nG, где n - случайное число (ключ), то нахождение числа n по двум заданным элементам P и G при n®¥ является вычислительно сложной задачей [39].

Таким образом, групповой закон сложения точек ЭК рассматривается в качестве функции криптографического преобразования.

Эллиптическую кривую (ЭК) над полем с характеристикой p¹2 и p¹3 можно представить в виде . Тогда ее дискриминант и инвариант . Если p=2, тогда при j=0 и при j=.

Операция обращения точки для кривой записывается следующим образом -(x,y)=(x,-y). Групповой закон сложения точек имеет вид , где

, (2.10)

. (2.11)

При P1=P2=(x1,y1) получаем 2P1=(x2,-y2)

(2.12)

. (2.13)

Непосредственно из формул видно, что точка в бесконечности получается при удвоении точки P1 с нулевой координатой y либо при сложении двух различных точек с одинаковой координатой x.

Найдем выражения, описывающие групповой закон для ЭК над полем с характеристикой p=2. Для таких кривых над полем F2n получены следующие формулы сложения точек [30, 31, 39]:

(2.14)

где для случая P1(x1,y1)¹P2(x2,y2) , .

Когда P1=P2=(x1,y1), то , . В этом случае обращение точки имеет вид P3=(x3,-y3-x3). Все операции в расширенных полях с характеристикой p=2 проводятся по модулю порождающего многочлена поля и по модулю 2.

Следующие два алгоритма предназначены для выполнения шифрования - дешифрования в группе точек ЭК. В первом из них абонент A отправляет абоненту B свой открытый ключ PA. Абонент B, используя свой секретный ключ nB, вычисляет значения PB=nBG и PAB=nBnAG. Чтобы передать сообщение X от B к A, необходимо ввести сообщение X в точку PX на кривой и выполнить шифрование по схеме: PY= PF+PAB. Точки PB и PY отправляются абоненту A, который выполняет дешифрование сначала вычисляя PAB=nAnBG, а затем PX=PY - PAB. Криптостойкость описанного алгоритма основана на сложности дискретного логарифмирования в группе точек кривой.

Для второго алгоритма необходимо иметь простой порядок группы точек кривой #E(Fq). Абоненты A и B генерируют nA и nB соответственно такие, что наибольший общий делитель НОД(nA,#E(Fq)=1, НОД(nB,#E(Fq)=1. Затем с помощью расширенного алгоритма Евклида вычисляются числа mA, mB, которые являются мультипликативной инверсией nA и nB по модулю #E(Fq) соответственно, т. е. mAnA=mBnB=1 (mod #E(Fq)). Как n, так и m являются секретными ключами обоих абонентов. Для передачи сообщения X абонент A вводит сообщение в точку PX на кривой, затем вычисляет элемент группы nAPX и отправляет его абоненту B. В свою очередь, абонент B вычисляет nB(nAPX) и отсылает полученное значение координат точки абоненту A. На следующем шаге абонент A находит mA(nBnAPX). Так как mAnA=1 (mod #E(Fq)) и #E(Fq)G=0, то mA(nBnAPX)= nBPX. Это значение отсылается абоненту B, который дешифрует сообщение PX= nBmBPX. Данный алгоритм требует на одно больше количество передач между абонентами, чем предыдущий, однако, это не приводит к снижению его стойкости. Криптостойкость этого алгоритма основана на сложности вычисления nAPX, nBnAPX, nBPX, то есть так же на сложности нахождения индекса в группе на кривой.

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

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

. (2.15)

Либо иначе [31]:

, (2.16)

где и мультипликативные характеры порядка 2 и 3 соответственно. Кроме того, согласно теореме Хассе [39] порядок группы оценивается сверху - снизу следующим неравенством

. (2.17)

В общем случае сложность вычисления порядка группы по (2.15) для ЭК оценивается величиной O(log9q), что уже при размере задачи в 40-50 бит приводит к операциям, необходимым для поиска порядка группы, то есть невозможности применения на практике.

Для кривых над полями с характеристикой p¹2 или p¹3 с неполными уравнениями функции правой части уравнения ЭК (один из коэффициентов a или b равен 0) найдены несколько частных случаев, когда порядок группы вычисляется просто [30, 31].

Если характеристика поля p=2 (mod 3) и p=5 (mod 6), а также коэффициент а=0, происходит взаимно-однозначное отображение поля. Так как количество ненулевых элементов поля четное и ровно половина из них является квадратичными вычетами, то сумма характеров по всем x будет равна нулю и группа будет циклической с порядком #E(Fp)=p+1. При p=3(mod 4) и b=0 порядок группы также будет равен #E(Fp)=p+1, однако в этом случае нет взаимно-однозначного отображения поля.

Для кривых над полями с p=1 (mod 6) и p=1 (mod 4) с неполными уравнениями правой части можно показать, что #E(Fp) определяется разложением чисел p в кольцах алгебраических Z[w] и комплексных Z[i] чисел соответственно, где . Для кривой y2=x3+b имеет место равенство

, (2.18)

где p раскладывается в кольце Z[w] и p=d2-de+f2, d=2 (mod 3), e=0 (mod 3). А слагаемое r находится по правилам: r=d+e, r=-d-e, r=2d-e, r=-2d+e, r=d-2e, r=-d+2e, в зависимости от того, является или нет коэффициент b квадратическим или кубическим вычетом. Тогда:

a) Если коэффициент b является кубическим и квадратическим вычетом одновременно, то порядок группы кратен числу 6 с учетом точки в бесконечности;

b) Если коэффициент b является только кубическим вычетом, порядок группы кратен 3 с учетом точки в бесконечности;

c) Если коэффициент b является только квадратическим вычетом, то порядок группы кратен 4 или 2 с учетом точки бесконечности;

d) E коэффициент b является кубическим и квадратичным невычетом одновременно, то порядок группы кратен 6 плюс точка в бесконечности, т. е. #E(Fp)=1 (mod 6).

ЭК вида y2=x3+ax (mod p) при p=1 (mod 4) имеет порядок группы, который определяется разложением p в кольце Z[i]. Если коэффициент -a является квадратическим вычетом, и p=d2+e2 (d - нечетное), то #E(Fp)=p+1+2d или #E(Fp)=p+1-2d. Если коэффициент -a - квадратический невычет, то #E(Fp)=p+1+2e или #E(Fp)=p+1-2e. Отсюда:

a) Если коэффициент a ЭК y2=x3+ax (mod p) взятый с обратным знаком при p=1 (mod 4) является квадратическим вычетом, то #E(Fp)=0 (mod 4);

b) Если число -a является квадратическим невычетом, то порядок группы #E(Fp)=2 (mod 4).

Кривые с дискриминантом являются кривыми с кратными корнями правой части уравнения ЭК. В общем случае их не рекомендуется использовать в качестве основы для создания криптосистем, так как группа точек таких кривых изоморфна либо аддитивной, либо мультипликативной группе исходного кольца целых чисел Zp. Однако, если данная группа изоморфна мультипликативной группе кольца Zp, то криптостойкость системы будет определяться сложностью дискретного логарифмирования в кольце целых чисел. Для поиска порядка группы точек на ЭК такого рода можно воспользоваться следующим свойством. Если D=0 и a, b ¹ 0, тогда #E(Fp)=p+1±1, в зависимости от того, является или нет b квадратическим вычетом. Последнее верно при p=2(mod 3) и одновременно p¹1(mod 4) или p=3(mod 4), а также p=1(mod 3) и одновременно p=1(mod 4) или p¹3(mod 4). Напротив, когда р=2(mod 3) и р=1(mod 4) или p¹3(mod 4), а также, когда р=1(mod 3) и р¹1(mod 4) или р=3(mod 4) - порядок группы тот же самый, но уже в зависимости от того, не является или является коэффициент b квадратическим вычетом.

Для вычисления порядка группы кривой над расширенным полем достаточно найти число точек над простым полем. Если #E(Fp)=p+1-2d - порядок группы над простым полем, то найдем комплексные числа a и b такие, что p=ab, а -2d=a+b. Теперь порядок группы для кривой над полем степени расширения k с теми же коэффициентами равен

. (2.19)

Выражение (2.19) справедливо для расширенных полей с любой характеристикой. Так ЭК над полем F2 с коэффициентами а, b={0,1} имеет число точек #E(F2)={2,4}. Тогда над расширениями поля F2 получаем следующие выражения для #E(F2)k:

, (2.20)

при любом k для #E(F2)=2 и #E(F2)=4 соответственно.

Как видно из вышеизложенного, изменение порядка группы может происходить за счет изменения коэффициентов уравнения эллиптической кривой и конечного поля, над которым рассматривается ЭК. На основе полученных выражений и свойств для ЭК синтезирован алгоритм выбора ЭК с необходимым порядком группы для разработки эффективных криптосистем [30, 31].

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

Алгоритм выбора ЭК:

1. Рассчитать в соответствии с исходными данными по формуле (2.17) характеристику p конечного поля Fpn и степень расширения поля - n.

2. Выбрать уравнение ЭК в соответствии с значением найденной характеристики p.

3. Сгенерировать значения коэффициентов a, b уравнения ЭК. Перейти к шагу 4 при p=2 и к шагу 5 в ином случае.

4. Определить порядок группы согласно (2.19-2.20). Перейти к шагу 6 методики.

5. Определить порядок группы согласно (2.18). Если a=0 при p=2 (mod 6) или b=0 при p=3 (mod 4), то порядок группы .

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

, (2.21)

где i=1...k. Если свойство делимости выполняется, тогда вернуться к шагу 3 методики.

7. Результат: получено уравнение ЭК с порядком группы, удовлетворяющим критерию криптостойкости.

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

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

2.5.5. Протоколы управления криптографическими ключами

Любая криптографическая система основана на использовании криптографических ключей.

Управление ключами — информационный процесс, включающий реализацию следующих основных функций [22, 38]:

генерация ключей;

хранение ключей;

распределение ключей.

2.5.5.1. Протоколы распределения ключей

Распределение ключей — самый ответственный процесс в управлении ключами. К нему предъявляются следующие требования:

оперативность распределения ключей;

точность распределения ключей;

скрытность распределяемых ключей.

Распределение ключей между абонентами корпоративной сети может быть реализовано двумя способами [22, 28]:

¨ использованием одного или нескольких центров распределения ключей;

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

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

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

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

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

Задача распределения ключей сводится к построению протокола распределения ключей, обеспечивающего:

взаимное подтверждение подлинности участников сеанса;

подтверждение достоверности сеанса;

использование минимального числа сообщений при обмене ключами;

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

Распределение ключей с участием ЦРК.

При включении в процесс распределения ключей центра распределения ключей (ЦРК) осуществляется его взаимодействие с одним или обоими участниками сеанса с целью распределения секретных или открытых ключей, предназначенных для использования в последующих сеансах связи [22, 38].

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

Рассмотрим протоколы для симметричных криптосистем c секретными ключами и для асимметричных криптосистем с открытыми ключами. Вызывающий объект обозначается через А, а вызываемый объект - через В. Участники сеанса А и В имеют уникальные идентификаторы IDA, и IDB соответственно.

Протокол для асимметричных криптосистем с использованием сертификатов открытых ключей.

В этом протоколе используется идея сертификатов открытых ключей [22, 27, 38]. Сертификатом открытого ключа С называется сообще-ние ЦРК, удостоверяющее целостность некоторого открытого клю-ча объекта. Например, сертификат открытого ключа для - абонента А, обозначаемый СА, содержит отметку времени Т, идентификатор IDA, и открытый ключ К’A зашифрованные секретным ключом ЦРК KЦPK, то есть

СA= (Т, IDA, КA).

Отметка времени Т используется для подтверждения актуальности сертификата и тем самым предотвращает повторы прежних сертификатов.

Секретный ключ KЦPK известен только ЦРК. Открытый ключ К’ЦРК известен участникам А и В. Объект А инициирует стадию установления ключа, запрашивая у ЦРК сертификат своего открытого ключа и открытого ключа абонента В:

1. А ® ЦРК: IDA, IDB.

ЦРК отвечает сообщением:

2. ЦРК ® А: (Т, IDA, К’A), (Т, IDB, К’B).

Абонент А, используя открытый ключ ЦРК К’ЦРК расшифровывает ответ ЦРК, проверяет оба сертификата. Идентификатор IDB убеждает А, что вызываемый абонент правильно зафиксирован в ЦРК и К’B — является действительно открытым ключом абонента В, поскольку они оба зашифрованы ключом KЦPK.

Хотя открытые ключи предполагаются известными всем, посредничество ЦРК позволяет подтвердить их целостность. Без этого злоумышленник может снабдить А своим открытым ключом, который А будет считать ключом абонента В. Затем злоумышленник может подменить собой абонента В и установить связь с А, и его никто не сможет выявить.

Следующий шаг протокола включает установление связи А с В:

3. А ® В: СA, (Т), (r1).

Здесь СA - сертификат открытого ключа абонента А; (Т) — отметка времени, зашифрованная секретным ключом абонента А и являющаяся его подписью, поскольку никто другой не может создать такую подпись; r1 — случайное число, генерируемое А и используемое для
обмена с В в ходе процедуры установления подлинности. Если сертификат и подпись верны, то абонент В уверен, что сообщение пришло от А. Сообщение (r1) может расшифровать только В, поскольку никто другой не знает сек-ретного ключа KB, соответствующего открытому ключу K’B. Абонент В расшифровывает значение числа r1 и, чтобы подтвердить свою подлинность, посылает абоненту А сообщение

4. В ® А: (r1).

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

Следует отметить, что протокол, основанный на симметричном шифровании, функционирует быстрее, чем протокол, основанный на –асимметричном шифровании.

Прямой обмен ключами между пользователями.

Для решения проблемы обмена сеансовым ключом без использования ЦРК можно применять два способа:

- использовать асимметричные криптосистемы для шифрования и передачи секретного ключа симметричной криптосистемы;

- использовать протокол открытого распределения ключей Диффи — Хеллмана.

Первый способ ничем не отличается от шифрования–расшифрования сообщений асимметричными криптоалгоритмами. Второй способ распределения ключей также базируется на принципах асимметричных криптоалгоритмов- [27,29, 38].

Протокол открытого распределения ключей Диффи - Хеллмана.

Безопасность протокола Диффи-Хеллмана основана на сложности - вычисления дискретных логарифмов в конечном поле, в отличие от простоты дискретного возведения в степень в том же поле [26, 29].

Схема реализации протокола Диффи-Хеллмана представлена на рис.2.6. Для организации защищенного коммуникационного канала два абонента А и В –должны выполнить следующий порядок действий:

1. Заранее устанавливаются общие значения модуля N (N должен быть простым числом) и примитивного элемента qÎZN, 1£ q £N-1, который образует все ненулевые элементы множества ZN. Эти значения являются общими открытыми данными для всех абонентов сети.

2. Абоненты А и В независимо друг от друга выбирают собственные секретные ключи KA, и KB-.

3. Абонент А вычисляет свой открытый ключ

уA =qKA (mod N),

а абонент В - открытый ключ

уB =qKB (mod N).

4. Абоненты А и В обмениваются вычисленными значениями открытых ключей уA и уB по незащищенному каналу.

5. Абоненты А и В вычисляют общий секрет-ный ключ, используя следующие выражения:

А: КAB= (yB) KA = (qKB) KA (mod N);

В: КBA = (yA) KB = (qKA) KB (mod N). Очевидно, что КAB= КBA.

Сгенерированный ключ может использоваться в качестве общего секрет-ного ключа (ключа шифрования ключей или сеансового ключа) в симметричной крипто-системе.

Злоумышленник, перехватив значения N, q, уA и уB, может попытаться определить значение сгенерированного ключа. При этом он сможет - вычислять такое значение KA по известным N, q, уA и уB, что qKA (mod N)= уA. Однако нахождение KA по N, q и уA - это задача нахождения дискретного логарифма в конечном по-ле, которая считается неразрешимой при достаточно большом N (>512 бит). Кроме того число (N-1)/2 также должно быть простым числом.

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

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

2.5.5.2. Протокол управления криптоключами SKIP.

Протокол SKIP (Simple Кеу management for Internet Protocol) может использоваться в качестве интегрирующей среды и системы управления криптоключами. Протокол SKIP базируется на - методе Диффи — Хеллмана и обладает рядом достоинств:

обеспечивает высокую степень защиты информации;

обеспечивает быструю смену ключей;

поддерживает групповые рассылки защищенных сообщений;

допускает модульную замену систем шифрования;

вносит минимальную избыточность.

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

Объект I имеет секретный ключ i (i=KI) и сертифицированный открытый ключ qi mod N.

Подпись сертификата открытого ключа производится при по-мощи надежного алгоритма. Открытые ключи свободно распространяются ЦРК.

Для каждой пары объектов I, J вычисляется совместный секрет (длиной 1024 бита): qij mod N.

Каждый из объектов вычисляет общий ключ Кij (используемый как ключ шифрования ключей) из этого секрета путем уменьшения его до согласованной в рамках протокола длины 64...128 бит. Этот ключ размещается в защищенной памяти объекта.

Следует отметить, что если сеть содержит п узлов, то в каждом узле должно храниться (n-1) ключей, используемых ис-ключительно для организации связи с соответствующими узлами. Поэтому всего в сети с n узлами должно храниться 1/2n(n-1) различных ключей и они должны меняться время от времени (срок службы таких ключей составляет недели). Например, при n=10 число обменов ключей составляет 45; при n=1000 число обменов ключей составит 500000. Поэтому на практике существует ограничение на значение n.

Литература к главе 2

1. Доктрина информационной безопасности Российской Федерации. - М.: Совет безопасности РФ, 20с.

2. Сборник материалов международной конференции "Безопасность информации", 14-18 апреля 1997 г. - М.: СИП РИА, 1997 г. -393 с.

3. Дергачева информационного противоборства в современных условиях//Информатика и вычислительная техника, №1-2, 1996. - с.-9-12.

4. Корниенко информации социально-экономического мониторинга/В кн. "Научные основы регионального социально-экономического мониторинга"/Под ред. , –СПб.: ИСЭП, 1998. – с.209-274.

5. , , Курило и система защиты информации регионального уровня // Тез. докл. I Санкт-Петербургской международной конференции "Региональная информатика" РИ-92 - СПб,1992.- с.226-227.

6. . , Кристальный безопасность и средства массовой информации//Информатика и вычислительная техника. - №1-2, 1с.-29-30.

7. Батурин компьютерного права. - М.: Юридическая литература, - 19с.

8. Корниенко информации. Методологические аспекты/Уч. пособие - СПб.: ВИКА им. , 199с.

9. , , Платонов -технические аспекты обеспечения безопасности информации в ходе информатизации Санкт-Петербурга.//Информатика и вычислительная техника, N2-3,1994. - с.46-49.

10. Устинов информационной безопасности систем и сетей передачи данных /Уч. пособие. – М.: СИНТЕГ, 200с.

11. , Ивашко безопасности информационных систем. – М.: Горячая линия – Телеком, 2000. – 452 с.

12. . ГОСТ Р . Защита информации. Основные термины и определения.

13. , , Платонов через INTERNET/ Под ред. проф. - СПб.: Мир и семья - 95, 19с.

14. Мельников информации в компьютерных системах. - М.: Финансы и статистика; Электроинформ, 19с.

15. , Олифер сети. Принципы, технологии, протоколы. – СПб.: Питер, 20с.

16. , Олифер технологии и оборудование IP-сетей. – СПб.: BHV – Санкт-Петербург, 20с.

17. Протоколы информационно-вычислительных сетей: Справочник/ Под ред. , - М.: Радио и связь, 19с.

18. Секреты безопасности сетей. - Киев: Диалектика, 19с.

19. Государственная тайна в Российской Федерации. Учебно-методическое пособие / , , идр.; Под ред. . - 2-ое изд., перераб. и доп. - СПб.: Изд-во СПбГУ, 2000.

20. Принципы, задачи и этапы создания системы обеспечения информационной безопасности дорожного уровня /, , и др.; Сборник докладов пятой международной научно-практической конференции «Информационные технологии на железнодорожном транспорте», 4-7 октября 2000 г. - СПб.: ПГУПС, 2000. - С. 253-257.

21. Герасименко информации в АСОД / в двух частях. – М.: Энергоатомиздат, 19с.

22. Механизмы защиты в сетях ЭВМ. Перевод с англ. –М.: Мир, 1993, - 216 с.

23. Месси Дж. Л. Введение в современную криптологию // ТИИЭР, 1988, т.78, №5, с. 51-74.

24. Сборник руководящих документов по защите информации от несанкционированного доступа. Гостехкомиссия России. - М.; 1998. –119 с

25. ГОСТ . Система обработки информации. Защита криптографическая. Алгоритм криптографического преобразования.

26. Защищенность и имитостойкость. Введение в криптографию // ТИИЭР. –1979. – т. 67, № 3. –с. 71-109.

27. Криптография с открытым ключом. – М.: Мир, 1996. – 304 c.

28. , , Шаньгин информации в компьютерных системах и сетях / Под ред. . – М.: Радио и связь, 1999. – 328 с.

29. Первые десять лет криптографии с открытым ключом // ТИИЭР. –1988. –т. 76, №5, – с. 54-74.

30. , Еремеев быстрых криптографических процедур аутентификации объектов и абонентов систем передачи данных // Информационные технологии на железнодорожном транспорте: доклады 5-й Международной НПК ''Инфотранс-2000'', СПб, ПГУПС, 2000, – с. 258-267.

31. , , Максимов и помехоустойчивое кодирование информации на основе свойств эллиптических кривых // Компьютерные системы. Проблемы информационной безопасности, №1, 2000, с.46-51.

32. R. Rivest, M. Robshaw, R. Sidney, and Y. Yin. The RC6 TM Block Cipher. In First Advanced Encryption Standard (AES) Conference, (Ventura, CA), 1998. pp. 234-241.

33. J. Daemen and V. Rijmen. AES Proposal: Rijndael. In First Advanced Encryption Standard (AES) Conference, (Ventura, CA), 1998. pp. 253-267.

34. E. Biham, A Shamir. Differential Cryptoanalysis of the Full 16-round DES. Advanced in Cryptology – CRYPTO’92. LNCS, v. 740, Springer-Verlag, 1993, pp. 487-496.

35. J. Kelsey, B. Schneier, D. Wagner. Key-Schedule Cryptoanalysis of IDEA, G-DES, GOST, SAFER, and triple-DES. Advanced in Cryptology – CRYPTO’96. LNCS, v. 1109, Springer-Verlag, 1996, pp. 237-251.

36. Rivest R., Samir A., Adleman L. A method for obtaining and public key cryptosystems, Comm. Of ACM, 1978, v. 21, N 2, pp. 120-126.

37. Mc Elise R. A public-key cryptosystem based on algebraic coding theory. –DSN Progress Rep. 4244, JPZ, pp. 114-116.

38. Schneier B. Applied Cryptography. –John Wiley & Sonc, Inc., 1996. – 758 p.

39. Koblitz N. Elliptic Curve Cryptosystems // Mathematics of Computation, 1987, Vol. 48, N 177, p. 203-209.