Смекни!
smekni.com

Анализ криптостойкости методов защиты информации в операционных системах Microsoft Window 9x (стр. 1 из 6)

МИНИСТЕРСТВООБРАЗОВАНИЯРОССИЙСКОЙФЕДЕРАЦИИ

САМАРСКИЙГОСУДАРСТВЕННЫЙТЕХНИЧЕСКИЙУНИВЕРСИТЕТ


ИНЖЕНЕРНО-ЭКОНОМИЧЕСКИЙ

ФАКУЛЬТЕТ

КАФЕДРА “ВЫСШАЯ И

ПРИКЛАДНАЯМАТЕМАТИКА”

УТВЕРЖДАЮ

Заведующийкафедрой

“Высшаяи прикладная

математика”

«___»__________2001г.


ВЫПУСКНАЯКВАЛИФИКАЦИОННАЯРАБОТА

студента АЛЬПЕРТА ВЛАДИМИРАВЛАДИМИРОВИЧА

на тему: АНАЛИЗ КРИПТОСТОЙКОСТИМЕТОДОВ ЗАЩИТЫИНФОРМАЦИИВ ОПЕРАЦИОННЫХСИСТЕМАХ MICROSOFTWINDOW 9x


поспециальности01.02.00 “Прикладнаяматематика”

Научныйруководитель:к. т. н.

ПОНОМАРЕВВЛАДИМИР ПЕТРОВИЧ


«___»________2001г.__________________

Студент___________________ «___»________2001г.

Дипломнаяработа защищена «___»________2001г.

Оценка_______________________________________

ПредседательГЭК_____________________________


Самара

2001г.

СОДЕРЖАНИЕ

Стр.

ВВЕДЕНИЕ3

1.Теоретическиеосновы криптоанализа7

1.1 Методыкриптоанализа7

1.2 Потоковыешифры13

1.3 АлгоритмRC4 и его криптоанализ16

2. Защитаинформациив операционныхсистемах MicrosoftWindows 9x25

2.1 Аутентификация,безопасностьи доступ к ресурсамв операционныхсистемах семействаMicrosoft Windows 9x25

2.2 СтруктураPWL–файлов28

3. Программаанализа PWL-файлов32

3.1 Оценканадежностикриптоалгоритмовв зависимостиот длины ключа32

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

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

ЗАКЛЮЧЕНИЕ43

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

ПРИЛОЖЕНИЕ46


ВВЕДЕНИЕ

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

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

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

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

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

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

Рис.1. Почему криптосистемыненадежны.

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


1.Теоретическиеосновы криптоанализа

1.1 Методыкриптоанализа

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

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

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

Криптоалгоритмомбудем называтьсобственноалгоритм шифрования,имитозащиты,и других криптографическихфункций. Криптографическимпротоколомбудем называтьнабор правили процедур,определяющийиспользованиекриптоалгоритма.Криптосистемапредставляетсобой совокупностькриптосхемы,протоколови процедуруправленияключами, включаяизготовлениеи распространение.Так, хэш-функцияy = F(z, x) + x,где F - криптопреобразованиес известнымключом z, можетрассматриватьсяи как самостоятельныйкриптоалгоритм,и как протокол,использующийпреобразованиеF.

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

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

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

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

Криптографическиеалгоритмыобычно строятсяс использованиемпростых и быстровыполняемыхоператоровнесколькихтипов. Множествообратимыхоператоров,преобразующихтекст длинойn бит в текстдлиной n бит,являются элементамигруппы обратимыхоператоровпо умножению(подстановокn-разрядныхслов). Пусть f,g, h — обратимыеоператоры, тоесть существуютf -1, g-1 , h -1. Поэтому hgf -последовательноевыполнениеоператоровf, g, h - тоже обратимыйоператор (операторывыполняютсясправа налево)с обратнымоператоромк этому произведениюf -1, g-1 , h -1. Поэтому дешифраторвыполняет теже операции,что и шифратор,но в обратномпорядке, и каждыйоператор дешифрованияявляется обратнымк соответствующемуоператорушифрования.Некоторыеоператорыявляются взаимнообратными, тоесть выполнениеподряд два разанекоторойоперации надтекстом даетисходный текст.В терминахтеории группэто записываетсяуравнениемf 2 = e , гдеe - единичныйоператор. Такойоператор называетсяинволюцией.Можно сказать,что инволюцияпредставляетсобой кореньиз единицы.Примером инволюцииявляется сложениепо модулю дватекста с ключом.

Существуетеще одно важноеприменениеодноключевойкриптографии.Это осуществлениевычислимогов одну сторонупреобразованияинформации.Такое преобразованиеназываетсяхэш-функцией.Особенностьэтого преобразованиязаключаетсяв том, что прямоепреобразованиеy=h(x) вычисляетсялегко, а обратноеx=h-1(y) - трудно.Вообще говоря,обратноепреобразованиене являетсяфункцией, поэтомуправильнееговорить онахожденииодного из прообразовдля данногозначения хэш-функции.В этом случаеключа, понимаемогокак некотораяконфиденциальнаяинформация,нет. Однакостойкие хэш-функции,для которыхпрообраз поданному значениюфункции тяжелонайти, реализуютсякриптографическимиметодами итребуют дляобоснованиястойкостипроведениякриптографическихисследований.Типичное применениехэш-функции- создание сжатогообраза дляисходноготекста такого,что найти другойтекст, обладающийтаким же образом,вычислительноневозможно.Задача созданиястойкой хэш-функциивозникает,например, прицифровой подписитекстов.

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

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

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

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

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

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

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

1.2Потоковые шифры

Рассматриваемыйнами криптоалгоритмRC4 относится кклассу потоковыхшифров, которыев последнеевремя сталипопулярнымиблагодарявысокой скоростиработы. Потоковыешифры преобразуютоткрытый текств шифротекстпо одному битуза операцию.Генераторпотока ключей(иногда называемыйгенераторомс бегущим ключом)выдает потокбитов: k1,k2, k3,..., ki. Этотпоток ключейи поток битовоткрытоготекста, p1,p2, p3,..., pi,подвергаютсяоперации “исключающееили", и в результатеполучаетсяпоток битовшифротекста.

ci=pi ^ ki

Придешифрированииоперация XORвыполняетсянад битамишифротекстаи тем же самымпотоком ключейдля восстановлениябитов открытоготекста.

pi= ci ^ ki

Б


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

Рис.2. Потоковыйшифр.

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

Г


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

Рис.3. Устройствогенераторапотока ключей.

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

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

Р


ис.4. Самосинхронизирующийсягенераторпотока ключей.

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

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


1.3Алгоритм RC4 иего криптоанализ

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

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

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

• адаптивностьюна процессорыразличных длинслова.

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

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

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

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

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

Криптогенераторфункционируетнезависимоот открытоготекста. Генераторимеет подстановочнуютаблицу (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 представляетсобой семействоалгоритмов,задаваемыхпараметромn, который являетсяположительнымцелым с рекомендованнымтипичным значениемn = 8.

ВнутреннеесостояниегенератораRC4 в момент времениt состоит изтаблицы St=(St(L))t=0n2-1, содержащей2n n-битныхслов и из двухn-битных слов-указателейit и jt.Таким образом,размер внутреннейпамяти составляетM = n2n + 2n бит.Пусть выходноеn-битное словогенераторав момент t обозначаетсякак Zt.

Пустьначальныезначения i0= j0 = 0. Тогдафункция следующегосостояния ифункция выходаRC4 для каждогоt ≥ 1 задаетсяследующимисоотношениями:

it= it-1 + 1

jt= jt-1 + St-1(it)

St(it)= St-1(jt)

St(jt)= St-1(it)

Zt= St(St(it)+ St(jt)),

гдевсе сложениявыполняютсяпо модулю 2n.Подразумевается,что все слова,кроме подвергаемыхперестановке,остаются темиже самыми. Выходнаяпоследовательностьn-битных словобозначаетсякак Zt=(Zt )t=1.Начальнаятаблица S0задается втерминах ключевойпоследовательности

K= (KL)t=02n-1

сиспользованиемтой же самойфункции следующегосостояния,начиная оттаблицы единичнойподстановки(L)2nL=02n-1. Болеестрого, пустьj0 = 0 и длякаждого 1 ≤ t ≤ 2nвычисляетсяjt = (jt- 1 + St-1(t-1) +Kt-1) mod 2 n, азатем переставляютсяместами St-1(t-1)и St-1(jt).

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

Допоследнеговремени в открытойлитературепрактическине было публикацийпо криптоанализуалгоритма RC4.Компания RSA DataSecurity объявила,что шифр обладаетиммунитетомк методам линейногои дифференциальногокриптоанализа,высоко не линеени не похоже,чтобы у негобыли короткиециклы. Обычноцитируетсязаключениезакрытой работыкриптографаRSA Labs Мэтта Робшоу:"Не имеетсяизвестныхслабых ключейи, хотя нетдоказательствадля нижнейграницы периодовпоследовательностейRC4, проведенныйтеоретическийанализ показывает,что период вподавляющембольшинствеслучаев превышает10100. Тщательныйи всеобъемлющийанализ стойкостиRC4 не выявил никакихоснованийподвергатьсомнению стойкость,обеспечиваемуюгенераторомRC4".

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

Главнаяцель работыГолича - с помощьюметода АЛПСвывести линейныемодели для RC4.Метод АЛПСзаключаетсяв нахождениии решениипоследовательнойлинейной схемы,которая аппроксимируетгенератор гаммыи приводит клинейным моделямс относительнобольшим корреляционнымкоэффициентомc, где вероятностьсоответствующеголинейногосоотношениямежду битамигаммы составляет(1+ c)/2. При анализеиспользоваласьтехника двоичныхпроизводных.Пусть Z = (Zt)t=1обозначаетпоследовательностьсамых младшихбит слов выходаRC4, и пусть Z/=(Z/t= Zt+ Zt+1)t=1и Z//=( Z//t= Zt+ Zt+2)t=1обозначаютее первую ивторую двоичныепроизводные,соответственно.Показано, чтоZ/ некоррелируетни с 1, ни с 0, ноZ// коррелируетс 1 с корреляционнымкоэффициентом,близким к 15*2-3nпри больших2n, где n – длинаключа. Посколькудлина выходнойпоследовательности,требуемая длявыявлениястатистическойслабости скорреляционнымкоэффициентомc, составляетO(c-2), тоэта длина равнапримерно 64n/225. Например, еслиn = 8, как рекомендуетсяв большинствеприложений,то требуемаядлина близкак 240.

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

В1997 году опубликованабольшая работаЙована Голича,посвященнаякриптоанализуобобщеннойсхемы комбинирующегоузла с произвольнымразмером памяти.Исследованыкорреляционныесвойства такихузлов, обоснованыновые конструктивныекритерии,предъявляемыек схемам подобноготипа. Разработанэффективныйметод аппроксимациилинейнойпоследовательнойсхемой дляпостроениялинейных функцийот входа и выходасо сравнительнобольшим коэффициентомвзаимной корреляции.Это практичнаяпроцедура,позволяющаяс высокойвероятностьюнаходить парывзаимно коррелированныхлинейных функций(от самое большееM + 1 последовательныхвыходных бити самое большееM + 1 последовательныхвекторов входа)со сравнительнобольшимикоэффициентамикорреляции.Метод АЛПСсостоит в заданиии решении линейнойпоследовательнойсхемы (ЛПС), котораяаппроксимируеткомбинирующийузел с памятью.Эта ЛПС имеетдобавочныенесбалансированныевходы и основанана линейныхаппроксимацияхфункции выходаи всех компонентфункции следующегосостояния.Линейнаяаппроксимациябулевой функции- это любая линейнаяфункция, с которойзаданная булевафункция скоррелирована.Описанный методприменим кпроизвольнымкомбинирующимузлам с памятьюбез ограниченийна функциивыхода и следующегосостояния.

Сначалаотыскиваютсялинейныеаппроксимациифункции выходаf и каждой изфункций-компонентфункции следующегосостояния F.Это эквивалентновыражениюкаждой из этихM+1 функций в видесуммы линейнойфункции инесбалансированнойфункции. Еслиподлежащаядекомпозициифункция уженесбалансированна,то можно выбратьконстантно-нулевуюлинейную функцию.Если подлежащаядекомпозициифункция статистическинезависимаот некоторогоподмножествапеременных,то каждая линейнаяаппроксимацияс необходимостьюдолжна задействоватьпо крайней мереодну из переменныхэтого подмножества.Основное требование– чтобы соответствующиекорреляционныекоэффициентыотличалисьот нуля. Такжежелательно,чтобы выбиралисьлинейныеаппроксимациис корреляционнымикоэффициентами,абсолютныезначения которыхблизки к максимальным.Корреляционныекоэффициентыможно определятьс помощью техникипреобразованияУолша.

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

St+1= ASt+ BXt+ (Xt,St), t≥0,

yt= CSt+ DXt+ (Xt,St), t ≥0,

гдевекторы рассматриваютсякак матрицы-столбцы;A, B,C, D- двоичныематрицы; а и каждыйкомпонент вD = (d1,. . . , dM)– несбалансированныебулевы функции,именуемыефункциями шума.Основнаяидея состоитв том, чтобырассматривать{(Xt,St)}t=0и {(Xt,St)}t=0, 1≤i≤M, в качествевходныхпоследовательностей,так что последниеуравненияоказываютсязадающиминеавтономнуюлинейную машинус конечнымчислом состоянийили ЛПС, именуемуюАЛПС комбинирующегоузла с памятью.Тогда можнорешать эту ЛПСс использованиемтехники производящихфункций (D-преобразований).В частности,пусть S,X, ,,y обозначаютпроизводящиефункции отпеременнойz для последовательностей{St}, {Xt},(Xt,St)}, (Xt, St)},yt},соответств


енно.Тогда уравнениясводятся к виду

Р


ешениеимеет вид

гдеI - единичнаяматрица, det(zA - I)= (z), (0)= 1, - многочлен,обратный кхарактеристическомумногочленуматрицы переходовA степени, непревышающейранг A (M); аэлементы(присоединенной)матрицы adj(zA - I)- это полиномыот z степени неболее M-1. Вычислительнаясложность дляотысканиятакого решениясоставляетO(M3(N+1)). В другомвиде решениеможно переписатькак

г



деxiи jобозначаютпроизводящиефункции для{xit} и{j(Xt,St)}, астепени полиномовgi(z) иhj(z) самоебольшее равныM и M-1, 1≤i≤N, 1≤j≤M, соответственно.Полагая

решениеможно преобразоватьк виду:

г


деподразумевается,что векторсостояния St-k- это функцияот (Xt-k-1M-k,S t-M) длякаждого 0≤k≤M-1.Линейные функциивхода и выходав (2) скоррелированытогда и толькотогда, когдафункция шумаe несбалансирована.Коэффициенткорреляциине зависит отвремени, еслифункция следующегосостояниясбалансирована.Если это условиене удовлетворяется,то корреляционныйкоэффициентможет зависетьот времени,поскольку отSt болеене требуетсясбалансированностьдля каждогоt≥0. Функция шумаe в (3) определенакак суммаиндивидуальныхшумовых функций,которые несбалансированыпри условии,что сбалансированафункция следующегосостояния.Поскольку отиндивидуальныхшумовых функцийне требуетсябыть независимыми,в принципенельзя исключатьвозможность,что коэффициенткорреляцииe с константнойнулевой функциейравен нулю илиочень близокк этому значению.

Врассматриваемомслучае индивидуальныешумовые функцииможно трактоватькак булевыфункции от n =MN + N + M переменныхв (XM+1t, St -M).Следовательно,за исключениемнекоторыхособых случаев,в общем случаеможно с высокойвероятностьюожидать, чтообщий корреляционныйкоэффициенточень близокк произведениюиндивидуальныхи, таким образом,отличаетсяот нуля. Соответственно,метод АПЛС нетолько с высокойвероятностьюдает взаимнокоррелированныелинейные функцииот входа и выхода,но также позволяетоценить значениесоответствующегокорреляционногокоэффициента,используянезависимостьили другиевероятностныепредположения.Поскольку видеальномслучае хотелосьбы получитьтакие АЛПС, вкоторых корреляционныекоэффициентыпо абсолютномузначению близкик максимуму,то индивидуальныекорреляционныекоэффициентыдолжны бытькрупными повеличине, аколичествошумовых членовв (3) должно бытьмаленьким.Конечно, этитребованиямогут противоречитьдруг другу.Поэтому хорошимподходом будетповторениепроцедуры АЛПСнесколько раз,начиная с наилучшихлинейныхаппроксимацийдля функциивыхода и компонентфункции следующегосостояния. Этапроцедура можеттакже выполнятьсядля всех возможныхлинейныхаппроксимаций,что представляетсяединственнымсистематическимспособом проверитьвсе корреляции,выявленныев процессепримененияметода АЛПС.В общем случаеимеется самоебольшее (M+1)2M+Nтакихлинейныхаппроксимаций.Однако, в принципевсегда можнопроверить всевозможныелинейныеаппроксимациидаже при большомM, поскольку впрактическихреализацияхфункции выходаи следующегосостояниязависят отсравнительнонебольшогоколичествапеременныхили же составленыиз таких булевыхфункций.

Спрактическойточки зренияданная линейнаямодель можетбыть использованадля выделенияпо шифротекстугенератораRC4 среди другихкриптосистем,а также длявосстановленияпараметра n. В2000 году былаопубликованастатья СкоттаФлюера и ДэвидаМак-Гри посвященнаястатистистическомуанализу потоковогогенератораRC4, в которой былииспользованырезультатыработы Голичадля нахождениязначения компонентS-бокса. Приблизительноевремя работыэтого методасоставляет26n, гдеn – порция битовв выходномпотоке, длинавыходнойпоследовательности,требуемая длявыявлениястатистическойслабости, близкак 230.Полученныйрезультатуказывает насущественнуюслабость генератораи возможностьвосстановитьпараметры i иn. S-бокс можетпринимать 2nk,где nk– число битовключа.

2.Защита информациив операционныхсистемах MicrosoftWindows 9x

2.1 Аутентификация,безопасностьи доступ к ресурсамв операционныхсистемах семействаMicrosoft Windows 9x

Воперационныхсистемах MicrosoftWindows 9x для аутентификациипользователяиспользуетсяимя пользователя,а для подтверждениявведенногоимени – процедурааутентификации,использующаясимвольныйпароль пользователя.Алгоритм этойпроцедуры,которая вызываетсяиз библиотекиMSPWL32.DLL, состоит изследующихшагов:

Шаг1. Пользовательвводит своеимя и парольв формате Unicode.

Шаг2. Имя и парольпреобразуетсяв формат ASCII, причемстрочные буквыпреобразуютсяв прописные.

Шаг3. Осуществляетсяпреобразованиепароля с помощьюс алгоритмахэшированияRC4.

Шаг4. Результатсравниваетсяс данными, которыевычисляютсяпутем дешифрованияданных, хранящихсяв PWL-файле, в началезагрузки операционнойсистемы.

Шаг5. В случае успешнойпроверки нашаге 4 пользовательполучает доступк системнымресурсам.

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

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

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

Концепциябезопасностив Windows 9x весьмапримитивна.В этой системеадминистратор,не можете создатьгруппу пользователей,завести учетнуюзапись пользователя,изменить правапользователя.Вместо продвинутого“Диспетчерапользователей”эта системапредлагаетдовольно простенькоедиалоговоеокно свойств“Пароли”. Windows 9xне обеспечиваетдостаточногоуровня безопасности.

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

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

Задатьновый парольможно черезвкладку “Настройкапользователя“.Для установкизащиты на конкретныйресурс компьютеранеобходимосделать егоразделяемым.Windows 9x позволяетуправлятьресурсамикомпьютерапользователям,имеющим удаленныйдоступ к системе.Для чего требуетсядобавитьсоответствующуюслужбу с помощьювкладки “Сеть”и после этогов диалоговомокне свойств“Пароли” появитсяновая вкладка“Удаленноеуправление”.Таким образомпроведя оценкусистемы безопасностиWindows 9x, мы сделаливывод о еенедостаточнойнадежности.Стандартныйнабор офисногопрограммногообеспеченияMicrosoft Office также недостаточнонадежен, нопосколькуэффективныесредства егокриптоанализауже разработаны,то в даннойработе эта темане рассматривается.


2.2СтруктураPWL–файлов

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

Таблица1.1
СтруктураPWL-файла.

Смещение

Windows3.11, Windows 95 без Service Pack

Windows95 с Service Pack, Windows OSR2 и Windows 98

0000:0003

Сигнатура- B0 6 4D 4E ("MFN")

Сигнатура– E3 82 85 96 ("yВЕЦ")

0004:0007

Счетчикпользователя

Счетчикпользователя

0008:107

ResourceLink Index

ResourceLink Index

0108

Нулевойбайт

Нулевойбайт

0109:0207

ResourceKey Entry

ResourceKey Entry

0208:021B

Имяпользователя


0208:0250


Таблицауказателейна начала ресурсов

021C:023D

Таблицауказателейна начала ресурсов


023E:025E

Ресурс0 … ресурс F


0251


Нулевойбайт

052:02AF


Ресурс0 … ресурс F

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

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


мяпользователяи таблица указателейна начала ресурсов.
Рис.5. СтруктураPWL-файла

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

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

Припоследующихрегистрацияхданным пользователемзапрашиваетсяпароль. Он приводитсяк верхнемурегистру, опятьсворачиваетсяв ключ из которогоопять порождаетсягамма. Еслипорождаемоеэтой гаммойимя пользователядешифровываетсяправильно, топароль считаетсявведеннымправильно.После этогодешифровываютсятаблица указателейна начала ресурсови сами ресурсы.Дешифровкапроизводитсявторичнымналожениемгаммы сложениемпо модулю два.Если имя пользователяне дешифровываетсяправильно, топароль считаетсянеправильным.Таким образомпроверка правильностивведенногопароля производитсяпо совпадениюпервых 20-и байтпорожденнойиз него гаммыс первыми 20-юбайтами гаммыот правильногопароля. Этоталгоритм определенияподлинностипароля являетсявесьма оригинальным,т.к. нигде несохраняетсяни зашифрованныйпароль, нихеш-функция(необратимоепреобразование)пароля, но, вто же времянелепо реализованным.Ведь посколькуимя пользователяизвестно заранее,то первые 20 байтгаммы тривиальновычисляются.Но, т.к. эта жегамма накладываетсяна каждый ресурс(отсутствиесмены гаммыпри шифрованииразных полей- это основнаяошибка примененияалгоритма RC4 вданном случае),то можно дешифроватьи первые 20 байткаждого ресурса!PWL-файл имеетизбыточнуюинформацию- есть указателина начала ресурсов,но есть и длинызаписей в ресурсахи из одногоможно вычислятьдругое. Еслив ресурсах неболее однойзаписи, то длинаресурса естьпервое словоресурса плюсдва (длина первойзаписи ресурсаплюс длинанулевого слова).Определяя поначалу и длинеданного ресурсаначало следующего,рассчитываетсявся таблицауказателейна начала ресурсов.Если в ресурсахболее однойзаписи, то началоследующегоресурса всеравно можнонайти. Это сводитпрочностьсистемы шифрованияк нулю (подпрочностьюсистемы шифрованияпонимаетсяколичествовариантов,которые необходимоперебрать дляее гарантированноговскрытия).

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

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

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

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

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

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

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

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

Междутем, достаточнобыло накладыватьгамму на ресурсы,не используяпервых засвеченныхее байт, что ибыло реализованов следующихверсиях. Такимобразом, в механизмебезопасностиоперационнойсистемы Microsoft Windows95 обнаруженасущественнаяошибка. Для ееисправлениянеобходимомодернизацияоперационнойсистемы. Крометого, в новыхверсиях длинапароля ограниченане 32 байтами,а 128.

3.Программаанализа PWL-файлов

3.1 Оценканадежностикриптоалгоритмовв зависимостиот длины ключа

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

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

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

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

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

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

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

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

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

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

Таблица2.1

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



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

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

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

Процессоры

Мощность(GFLOPS)

1

IntelASCI Red

США

Intel

9125

1333

2

Hitachi/Tsukuba

CP-PACS

Япония

Hitachi/Tsukuba

2048

368

3

SGI/CrayT3E

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

Cray

696

265

4

FujitsuNumerical Wind Tunnel

Япония

Fujitsu

167

230

5

HitachiSR2201

Япония

Hitachi

1024

220

6

SGI/CrayT3E

Германия

Cray

512

176

7

SGI/CrayT3E

США

Cray

512

176

8

SGI/CrayT3E

Германия

Cray

512

176

9

SGI/CrayT3E

США

Cray(США)

512

176

10

SGI/CrayT3E

США

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

IntelASCI Red

1.333*Е12

14часов

5мес.

28460лет

3.01*Е10

8.09*Е18

Hitachi/TsukubaCP-PACS

3.68*Е11

52часа

18мес.

102676года

1.09*Е11

2.93*Е19

SGI/CrayT3E

2.65*Е11

69часов

51мес.

143256года

1.51*Е11

4.07*Е19

FujitsuNumerical Wind Tunnel

2.3*Е11

171час

60мес.

164592года

1.74*Е11

4.69*Е19

HitachiSR2201

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-файлов, создаваемыхоперационнойсистемой MicrosoftWindows 95, программапозволяетопределитьнестойкиепароли, генерируемыепо ниже описанномуалгоритму.

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

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

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

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

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

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

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

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

ДляPWL-файлов, создаваемыхновыми версиямив операционныхсистемах MicrosoftWindows 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

AMDK5 - 100

53000

29000

IntelPentium - 120

61000

31000

IntelPentium - 166

76000

39000

PentiumII -166

87000

45000

IntelCeleron – 400

153000

101000

IntelCeleron - 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используетсяв более чемдвадцати программныхпродуктах ирезультатыданной работыотносятся кбольшому числупрограммныхпродуктов,используемыхв различныхобластях.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  14. FluhrerS.R., McGrew D.A. Statistical analysisof the alleged RC4 keystream generator. FastSoftware Encryption, Cambridge Security Workshop Proceedings, 2000.p. 127-139.

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

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

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

  18. SchneierB. Applied Cryptography. N. Y.: John Wiley & Sons Inc.,1996. 757 p.

ПРИЛОЖЕНИЕ

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



ВСТУПЛЕНИЕ

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

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

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

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


АЛГОРИТМRC4

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

Существенноеповышениепроизводительностимикропроцессороввызвало усилениеинтереса кпрограммнымметодам реализациикриптоалгоритмов.Одним из самыхпервых подобныхкриптоалгоритмов,получившимширокое распространение,стал RC4. АлгоритмRC4 - это потоковыйшифр с переменнойдлиной ключа,разработанныйкомпанией RSAData 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 DataSecurity объявила,что шифр обладаетиммунитетомк методам линейногои дифференциальногокриптоанализа,высоко не линеени не похоже,чтобы у негобыли короткиециклы.

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

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

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

WINDOWS95, 98


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

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

Дляаутентификациив операционныхсистемах MicrosoftWindows 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 бит.

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

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

1.увеличенияпроизводительностиотдельногопроцессора.

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

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

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

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

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

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

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

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


Программаанализа PWL-файлов

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

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

ВыводыPWL-файлов

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

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

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

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

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

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


Отзыв

на выпускнуюквалификационнуюработу «Анализкриптостойкостиметодов защитыинформациив операционныхсистемах MSWindows 9x» студентаспециальности010200 «Прикладнаяматематикаи информатика»8 группы Vкурса дневногоотделенияинженерно-экономическогофакультетаСамГТУ АльпертаВладимираВладимировича


Данная выпускнаяквалификационнаяработа посвященаактуальнойтеме – криптоанализуи оценке криптостойкостиметодов защитыинформации.

В процессевыполненияработы студентАльперт В.В.изучил современныеметоды криптоанализадля потоковыхшифров, в частности,для алгоритмаRC4, применяемогов операционныхсистемахMicrosoft Windows9x. На основепроведенногоанализа быларазработанапрограмма наязыке С++ дляоценки зависимостикриптостойкостиметодов защитыинформацииот длины ключа.В результатепроведенныхисследовательскихрасчетов установлено,что предлагаемыефирмой методызащиты информациив операционнойсистеме Windows95 не обладаютрекламируемойкриптостойкостью.Этот факт подтвержденизменениямиметодов защитыв операционнойсистеме MSWindows 98. Объемпроведенноготеоретическогоанализа и высокойкачестворазработаннойпрограммысвидетельствуюто достаточнойглубине знанийи отличныхнавыках программированияу студентаАльперт В.В.

В целом, даннаявыпускнаяработа удовлетворяеттребованиям,предъявляемымквалификационнымработам поспециальности«Прикладнаяматематикаи информатика»и заслуживаетотличной оценки.


Научныйруководитель

Доцент, кандидаттехническихнаукВ.П. Пономарев


Внутреннеесостояние