1. использования достижений научно-технического прогресса и применения технологических новинок для увеличения производительности отдельного устройства;

2. увеличения количества процессоров в системе.

С физической точки зрения транзистор, который является основой современной интегральной схемы, может быть уменьшен еще примерно в 10 раз, до размера 0,03 микрон. За этой гранью процесс включения/выключения микроскопических переключателей станет практически невозможным. Таким образом максимальное быстродействие составит - 1016 операций/секунду, а предел роста наступит приблизительно в 2030 г.

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

Предположим, что размер процессора равен размеру атома. Тогда в наших обозначениях быстродействие гипотетического процессора выразится формулой F = Vc/Ra = 3 * 1018 операций в секунду, где Vc = 3 * 10 8 м/с скорость света в вакууме, а Ra = 10-10 м - размеры атомов. Столько раз за 1 секунду свет пройдет размеры атома. Поскольку период обращения Земли вокруг Солнца составляет 365,2564 суток или 31 558 153 секунд, то за один год такой процессор выполнит 94 674 459 * 1018  1026 операций. Более быстрый процессор в нашей вселенной невозможен в принципе.

Один такой процессор по быстродействию превосходит более двух миллионов самых современных суперкомпьютеров Intel ASCI Red стоимостью 55млн долл., работающих одновременно, и состоящих из 9152 процессоров Pentium каждый, точное значение - 2 242 152,466. Производительность одного процессора в системе Intel ASCI Red - 1,456 * 108 операций в секунду.

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

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

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

Таблица 2.1

Десять самых мощных суперкомпьютеров в мире.



Наименование машины

Страна-обладатель

Фирма-производитель

Процессоры

Мощность (GFLOPS)

1

Intel ASCI Red

США

Intel

9125

1333

2

Hitachi/Tsukuba

CP-PACS

Япония

Hitachi/Tsukuba

2048

368

3

SGI/Cray T3E

Великобритания

Cray

696

265

4

Fujitsu Numerical Wind Tunnel

Япония

Fujitsu

167

230

5

Hitachi SR2201

Япония

Hitachi

1024

220

6

SGI/Cray T3E

Германия

Cray

512

176

7

SGI/Cray T3E

США

Cray

512

176

8

SGI/Cray T3E

Германия

Cray

512

176

9

SGI/Cray T3E

США

Cray (США)

512

176

10

SGI/Cray T3E

США

Cray (США)

512

176

Количество установок суперкомпьютеров возрастает год от года в геометрической прогрессии, причем основной объем опять же приходится на США.

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

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


Таблица 2.2 Время, необходимое для полного перебора ключей

Наименование

машины

Мощность (FLOPS)

56 бит

7.2*Е16

64 бита

1.8*E19

80 бит

1.2*Е24

100 бит

1.26*Е30

128 бит

3.4*E38

Intel ASCI Red

1.333*Е12

14 часов

5 мес.

28460 лет

3.01*Е10

8.09*Е18

Hitachi/Tsukuba CP-PACS

3.68*Е11

52 часа

18 мес.

102676 года

1.09*Е11

2.93*Е19

SGI/Cray T3E

2.65*Е11

69 часов

51 мес.

143256 года

1.51*Е11

4.07*Е19

Fujitsu Numerical Wind Tunnel

2.3*Е11

171 час

60 мес.

164592 года

1.74*Е11

4.69*Е19

Hitachi SR2201

2.2*Е11

178 часов

61 мес.

172720 лет

1.82*Е11

4.9*Е19

Таким образом с помощью указанной рабочей модели можно оценивать надежность проектируемых и эксплуатируемых систем шифрования. Алгоритм ГОСТ 28147-89 использует таблицу подстановок размером 512 бит. Общее число возможных таблиц составляет 1.33*Е36 и полное время перебора составляет 3.162*Е16 лет. Для алгоритма IDEA длина ключа составляет 128 бит и полное время перебора составляет 8.09*Е18 лет. Даже если будет использован суперкомпьютер состоящий из ста тысяч процессоров с максимально возможной скоростью в 1016 операций/секунду для расшифровывания ГОСТа понадобится 4.21*Е7 лет, а для IDEA - 1.08*Е10 лет. Очевидно, что даже применение нескольких сотен суперкомпьютеров Intel ASCI Red, стоимостью по 55 миллионов долларов каждый, не в стоянии кардинально улучшить ситуацию.

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

Для нашей планеты естественным пределом является площадь земной поверхности. Если выразить поверхность земного шара (считая океаны, пустыни, Арктику с Антарктикой) в квадратных миллиметрах, и на каждый миллиметр поместить по миллиону таких процессоров, то в год мощность такого вычислительного устройства составит 5.1 * 1052 операций, что эквивалентно длине в 175-176 бит. Если исходить из предположения, что стойкость шифра должна составлять 100 лет, то за указанный период такая система сможет перебрать 5 *1054 ключей, что составит 181-182 бита. И это притом, что никакие вычислительные ресурсы процессоров не тратятся на согласование их взаимной работы в системе, на решение задачи дешифрования и т.д.

Таблица 2.3

Варианты перебора ключа раскладок клавиатуры

Раскладка

Символы

Варианты

Минимальная длина пароля

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

68

2.11*Е18

10

ABCDEFGHIJKLMNOPQRSTUVWXYZ АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

58

2.49*Е19

11

0123456789АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

42

3.01*Е19

12

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ

36

4.74*Е18

12

АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

32

3.67*Е19

13

ABCDEFGHIJKLMNOPQRSTUVWXYZ

26

6.45*Е19

14

0123456789

10

1*Е19

19

Из проведенного нами исследования можно сделать вывод, что для обеспечения надежности достаточно использовать алгоритмы с длиной ключа не менее 64 битов, а применять и разрабатывать алгоритмы с длиной ключа более 128 бит экономически не выгодно. Однако, как правило, для генерации ключа используется пароль, который в свою очередь часто содержит лишь символы латинского алфавита. В таком случае для обеспечения необходимой защиты требуется использовать пароль не короче 12 символов, что соответствует 56-битному ключу. 16-символьный гарант пароль соответствует 75-битному ключу и гарантирует достаточную защиту от прямой атаки.


3.2 Разработка программы

На текущий момент имеется несколько языков программирования высокого уровня, позволяющих создавать полноценные программы, предназначенные для работы в среде Microsoft Windows 9x. Мы выбрали хорошо известный язык C++, который обладает следующими достоинствами: во-первых, C++ обладает универсальностью и может быть использован для создания программ любого уровня сложности, а во-вторых, эффективный машинный код обеспечивает высокую скорость работы программы, что особенно немаловажно. Применяемые библиотеки и разработанные программные функции описаны ниже:

Таблица 3.1

Использованные библиотеки

Stdio.h

Работа с файлами

String.h

Работа со строками

Stdlib.h

Вспомогательные процедуры

Time.h

Время

Dos.h

Прерывания

Таблица 3.2

Программные процедуры

Init_xor_table

Инициализация S-бокса

Use_xor_table

Гаммирование данных через S-бокс

SwaBits

Перестановка

Init_hash

Инициализация хэширования

Calc_hash

Хэширование

Add_hash

Сложение данных в хэше

Flush_hash

Очистка буффера хэша

Make_cryption_table

Работа S-бокса

Error

Декларация об ошибке

LookUp

Возврат номера символа в строке

UpStr

Перекодировка пароля

LnTrim

Обрезка строки после

Read_pwl_file

Чтение PWL-файла

Dump_pwl_file

Просмотр ресурсов PWL-файла

Enum_hdl

Прерывание программы

Voc_pwl_file

Работа со словарем

Try_pwl_file

Подбор пароля

Main

Главная процедура


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

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

Алгоритм генерации ключа по паролю в Microsoft Windows 95

Имеем ключ (двойное слово) и пароль до 20-и символов.

1) Обнулить ключ.

2) Привести пароль к верхнему регистру.

3) Для каждого символа пароля, начиная с первого:

а) прибавить код символа к ключу

б) повернуть ключ влево 7 раз.

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

Для PWL-файлов, создаваемых новыми версиями в операционных системах Microsoft Windows OSR2 и 98, программа осуществляет перебор ключей.

Алгоритм генерации ключа по паролю в Microsoft Windows OSR2 и 98

Имеем ключ (двойное слово) и пароль до 128-и символов.

1) Обнулить ключ.

2) Привести пароль к верхнему регистру.

3) Для каждого символа пароля, начиная с первого:

а) прибавить код символа к ключу

б) повернуть ключ влево 16 раз.

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

Таблица 3.3

Скорость работы программы

Используемая машина

Скорость работы в секунду для Windows 3.11 и Windows 95 без Service Pack

Скорость работы в секунду для Windows 95 с Service Pack, OSR2 и 98

AMD K5 - 100

53000

29000

Intel Pentium - 120

61000

31000

Intel Pentium - 166

76000

39000

Pentium II -166

87000

45000

Intel Celeron – 400

153000

101000

Intel Celeron - 700

304000

192000




Продолжение сессии

Просмотр файла





Взлом файла по ключу




















Рис. 6. Блок-схема основной программы.


3.3 Функции программы

Разработанная программа запускается из командной строки с ниже перечисленными ключами:

/BF[:S] [ИмяPwlФайла] [ИмяПользователя]

- для выполнения взлома PWL-файла перебором. Пароли последовательно будут изменяться и проверяться на корректность совпадения.

/EN: [ИмяСекцииПеребора]

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

/F: [СтартоваяДлина]

- добавьте это к ключу /BRUTEFORCE для определения желаемой длины начального пароля с которого начнется процесс перебора. По умолчанию длинна равна нулю.

/IN: [НачальныйПароль]

- добавьте это к ключу /BRUTEFORCE для выбора начального пароля. Перебор начнется с значения представленного данным ключем. Этот ключ несовместим с ключем /FROM.

/D: [ПарольОстановки]

- добавьте это к ключу /BRUTEFORCE для выбора пароля остановки. Перебор завершится при достижении данного пароля. Этот ключ несовместим с ключем /NUMBER.

/NUM: [КоличествоИтераций]

- добавьте это к ключу /BRUTEFORCE для выбора количества попыток перебора. Программа будет остановлена после совершения данного количества переборов паролей. Этот ключ несовместим с ключем /DONE.

/VOC [:S] [ИмяPwlФайла] [ИмяПользователя] [МаскаСловарей]

- для обнаружения пароля PWL-файла с помощью словаря.

/CON [:S] [ИмяФайлаСессии]

- для возобновления прерванной сессии.

/PROT [:ИмяФайлаПротокола]

- добавление этого ключа к некоторым ключам позволит сохранять результаты работы в файле Протокола. /ABOUT /HELP, /?, /LIST и /SPY, /GRAB не допускают применение данного ключа.

/L [:E] [ИмяPwlфайла] [ИмяПользователя] [ПарольПользователя]

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

/GR [ИмяПротоколаБазы]

- для просмотра секции [Password Lists] файла SYSTEM.ini. Эта секция описывает зарегистрированные PWL-файлы на данной машине.

/TM [ОценочнаяСкорость]

- для оценки времени работы сплошного перебора. Можно использовать ключ /ENUM для выбора секции символов перебора. Скорость указывается в pps (что обозначает паролей в секунду).

/H [ИмяФайлаСправки]

- для сохранения справки в текстовом файле.

/?

- для отображения этой краткой справки на терминале.


Используйте атрибут 'S' с вышеперечисленными ключами для защиты данных от нестабильности электропитания. Применение атрибута вызовет периодическое сохранение результатов работы текущей сессии. Нажатие Ctrl+Break приводит к остановке процесса перебора и записи текущей сессии в соответствующем .BRK файле.

ЗАКЛЮЧЕНИЕ

Проанализировав сегодняшнюю ситуацию с реальными криптографическими продуктами, мы пришли к выводу, что криптография, представленная на коммерческом рынке, не предоставляет достаточного уровня безопасности. Сегодня в компьютерную безопасность вкладываются миллиарды долларов, и большинство денег тратится на нестойкие продукты. В настоящей работе было проведено исследование криптографических методов защиты информации, применяемых популярных операционных системах семейства Microsoft Windows 9x, и была написана программа общим объемом около тысячи строк программного кода для анализа си. Рассматриваемый алгоритм RC4 используется в более чем двадцати программных продуктах и результаты данной работы относятся к большому числу программных продуктов, используемых в различных областях.

В ходе работы был сделаны следующие выводы:

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

На компьютерах с операционной системой Microsoft Windows 95 необходимо модернизировать операционную систему. Поскольку переход на программное обеспечение других фирм вызовет значительные сложности, то достаточно ограничиться новыми версиями OSR2 и Windows 98.

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

Андреев Н.Н. О некоторых направлениях исследований в области защиты информации.// Международная конференция “Безопасность информации”. Сборник материалов, М., 1997, c. 94-97

Баpичев С.С., Гончаров В.В., Серов Р.Е. Основы современной кpиптогpафии. М.: Мир, 1997. 176 с.

Болски М.И. Язык программирования Си. М.: Радио и связь, 1988. 96 с.

Буза М.К. Операционная среда Windows 95 и ее приложения. М.: ДиаСофт, 1996. 266 с.

Елманова Н.З., Кошель С.П. “Введение в Borland C++ Builder”. М.: Диалог-МИФИ, 1998. 675 с.

Грушо А.А. Тимонина Е.Е. Теоретические основы защиты информации М.: Яхтсмен, 1996. 31 с.

Домашев А. В., Попов В.О., Правиков Д.И., Прокофьев И.В., Щербаков А.Ю. Программирование алгоритмов защиты информации. М.: Нолидж, 2000. 288 с.

Варфоломеев А.А., Жуков А.Е., Мельников А.Б., Устюжанин Д.Д. Блочные криптосистемы. Основные свойства и методы анализа стойкости. М.: МИФИ, 1998. 200с.

Леонтьев Б. Операционная система Microsoft Windows 9x для начинающих и не только. М.: Нолидж, 1998. 496 с.

Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография. СПб.: Лань, 2000. 224 с.

Семьянов П.В. Почему криптосистемы ненадежны? Тезисы доклада на конф. “Методы и технические средства обеспечения безопасности информации”, . СПб.: ГТУ, 1996. 18 с.

Спесивцев А. В. Защита информации в персональных ЭВМ. М.: Мир, 1992. 278 с.

Ростовцев А.Г., Матвеев В.А. Защита информации в компьютерных системах. Элементы криптологии. Под редакцией П.Д. Зегжды. СПб.: ГТУ, 1993. 365 с.

Fluhrer S.R., McGrew D.A. Statistical analysis of the alleged RC4 keystream generator. Fast Software Encryption, Cambridge Security Workshop Proceedings, 2000. p. 127-139.

Golic J.Dj. Linear models for keystream generators. IEEE Transactions on Computers, Vol. 45. January 1996. p. 41-49.

Menezes A.J., Oorschot P.C., Vanstone S.A. Handbook of Applied Cryptography. N.Y.: CRC-Press, 1996. 780 p.

Rivest R. L. The RC4 Encryption Algorithm. Dr. Dobb’s Journal. January 1995. p. 146 – 148.

Schneier B. Applied Cryptography. N. Y.: John Wiley & Sons Inc., 1996. 757 p.

ПРИЛОЖЕНИЕ

ТЕКСТ ПРОГРАММЫ ДЛЯ АНАЛИЗА PWL-ФАЙЛОВ



ВСТУПЛЕНИЕ

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

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

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

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


АЛГОРИТМ RC4

В настоящей работе проведен анализ криптостойкости методов защиты информации, применяемых в операционных системах семейства Microsoft Windows 95, 98. Кроме того, нами было проведено исследование по поиску необходимой длины ключа и пароля, а также были рассмотрены проблемы криптоанализа потокового шифра на примере популярного алгоритма RC4.

Существенное повышение производительности микропроцессоров вызвало усиление интереса к программным методам реализации криптоалгоритмов. Одним из самых первых подобных криптоалгоритмов, получившим широкое распространение, стал RC4. Алгоритм RC4 - это потоковый шифр с переменной длиной ключа, разработанный компанией RSA Data Security. Он обладает следующими свойствами:

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

• высокой скоростью.

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

• низким требованием к памяти, что позволяет реализовывать алгоритм на устройствах с ограниченной памятью;

• простотой и легкостью выполнения.

В течение семи лет этот алгоритм был фирменным секретом и детали о его конструкции предоставлялись только после подписания договора о неразглашении, но кто-то анонимно распространил исходный код алгоритма через Internet. В настоящее время алгоритм RC4 реализован в более чем двух десятках коммерческих криптографических продуктов, включая Microsoft Windows, Lotus Notes и Oracle Secure SQL, а также является частью спецификации стандарта сотовой связи CDPD.

Как и все потоковые алгоритмы, RC4 генерирует гамму, которая используется для шифрования. Криптогенератор имеет подстановочную таблицу (S-бокс 8 х 8): S0, S1, . . ., S255. Входами генератора являются числа от 0 до 255. Подстановка является функцией от ключа изменяемой длины. Генератор имеет два счетчика i и j, инициализируемых нулевым значением.

Для генерации случайного байта гаммы выполняются следующие операции:

i = (i+1) mod 256

j = (j+Si) mod 256

swap (Si, Sj)

t = (Si+Sj) mod 256

K = St

Байт K складывается операцией XOR с открытым текстом для выработки шифротекста, либо с шифротекстом для получения байта открытого текста. Шифрование происходит весьма быстро - примерно в 10 раз быстрее DES-алгоритма. Инициализация S-бокса столь же проста. На первом шаге он заполняется линейно:

S0 = 0, S1 = 1, . . ., S255 = 255.

Затем еще один 256-байтный массив полностью заполняется ключом, для чего ключ повторяется соответствующее число раз в зависимости от длины: K0, K1, . . ., K255. Индекс j обнуляется. Затем:

for i=0 to 255

j = (j+Si+Ki) mod 256

swap (Si , Sj)

Схема показывает, что RC4 может принимать примерно 21700 (256! * 2562) возможных состояний. S-бох медленно изменяется в процессе работы: параметр i обеспечивает изменение каждого элемента, а j отвечает за то, чтобы эти элементы изменялись случайным образом.

До последнего времени в открытой литературе практически не было публикаций по криптоанализу алгоритма RC4. Компания RSA Data Security объявила, что шифр обладает иммунитетом к методам линейного и дифференциального криптоанализа, высоко не линеен и не похоже, чтобы у него были короткие циклы.

Первой открытой публикацией по теме RC4 можно считать работу Йована Голича, представленную на конференции Eurocrypt '97. В ней отмечается, что для последовательностей, генерируемых RC4, не подходят методы статистического анализа. Но для блоков, размер которых превышает размер внутренней памяти генератора, всегда существует линейная статистическая слабость. Линейная статистическая слабость - это линейное соотношение между битами гаммы, которое выполняется с вероятностью, отличающейся от 1/2.

Длина выходной последовательности, требуемая для выявления статистической слабости с корреляционным коэффициентом c, составляет O(c-2), то требуемая длина близка к 240. С практической точки зрения данная линейная модель может быть использована для выделения по шифротексту генератора RC4 среди других криптосистем, а также для восстановления параметра n.

В 2000 году была опубликована статья Скотта Флюера и Дэвида Мак-Гри посвященная статистистическому анализу потокового генератора RC4. Полученные в ней результаты сократили длину выходной последовательности, необходимой для выявления статистической слабости, до 230. Полученный результат указывает на существенную слабость генератора.

WINDOWS 95, 98

В операционных системах Microsoft Windows 95, 98 для аутентификации пользователя используется имя пользователя, а для подтверждения введенного имени – процедура аутентификации, использующая символьный пароль пользователя.

Управление доступом к ресурсам в операционных системах Windows 95, 98 осуществляется с помощью механизма профилей. Для этого создаются профили пользователей. Профиль пользователя в хранится в файле user.dat, который содержит учетную запись пользователя. Все профили системы содержатся в этом файле.

Для аутентификации в операционных системах Microsoft Windows 95, 98 используются, хранящиеся в директории операционной системы, файлы *.PWL, которые содержат хешированную парольную информацию. Документация по их структуре отсутствует, поэтому нами было проведено исследование этих файлов и было выяснен их формат.

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

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

Но при реализации этого алгоритма в Microsoft Windows 95 была допущена следующая ошибка: поскольку имя пользователя известно заранее, то первые 20 байт гаммы тривиально вычисляются. Но, т.к. эта же гамма накладывается на каждый ресурс, то можно дешифровать и первые 20 байт каждого ресурса! Отсутствие смены гаммы при шифровании разных полей - это основная ошибка применения алгоритма RC4 в данном случае. Между тем, достаточно было накладывать гамму на ресурсы, не используя первых засвеченных ее байт, что и было реализовано в Microsoft Windows 98 обнаружена существенная ошибка.

Другая ошибка заключается в том, что алгоритм сопоставления ключа паролю слаб тем, что при выбранной длине ключа, множество различных ключей 232 оказывается неизмеримо меньше множества различных паролей. Это означает, что существуют пароли, которые Windows 95 не отличает друг от друга. Это делает совершенно бессмысленными допускаемые в Windows 95 длинные пароли и эффективная длина пароля соответствует только пяти символам! Правда, это не означает, что для каждого пароля найдется эквивалент из пяти символов, т.к. множество паролей отображается на множество ключей неравномерно. В Microsoft Windows 98 эта ошибка была также исправлена и теперь длина ключа составляет не 32, а 128 бит.

Зависимость криптостойкости от ключа

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


Информация о работе «Анализ криптостойкости методов защиты информации в операционных системах Microsoft Window 9x»
Раздел: Информатика, программирование
Количество знаков с пробелами: 79621
Количество таблиц: 7
Количество изображений: 11

Похожие работы

Скачать
77430
4
0

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

Скачать
39707
0
1

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

Скачать
121293
1
58

... , ключи длиной 40 бит при определенных условиях не выдерживают атак с применением "грубой" силы.   2.6 Повышение стойкости шифрования по протоколу MPPE Шифрование информации создает еще один уровень защиты виртуальных частных сетей, созданных на базе протокола PPTP, который необходим на случай перехвата пакетов ВЧС. Правда, такая возможность носит скорее теоретический характер и весьма ...

Скачать
284992
7
0

... 6.0. – Microsoft Press, 1998. – 260 c. ISBN 1-57231-961-5 ТУЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ На правах рукописи Карпов Андрей Николаевич ЗАЩИТА ИНФОРМАЦИИ В СИСТЕМАХ ДИСТАНЦИОННОГО ОБУЧЕНИЯ С МОНОПОЛЬНЫМ ДОСТУПОМ Направление 553000 - Системный анализ и управление Программная подготовка 553005 – Системный анализ данных и моделей принятия решений АВТОРЕФЕРАТ диссертации на соискание степени ...

0 комментариев


Наверх