Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Анализ криптостойкости методів захисту в операційні системи Microsoft Window 9x

РефератДопомога в написанніДізнатися вартістьмоєї роботи

У 1997 року опублікована велику роботу Йована Голича, присвячена криптоанализу узагальненої схеми комбинирующего вузла з довільним розміром пам’яті. Досліджені кореляційні властивості таких вузлів, обгрунтовані нові конструктивні критерії, які пред’являються схемами такого типу. Розроблено ефективний метод апроксимації лінійної послідовної схемою для побудови лінійних функцій від входу… Читати ще >

Анализ криптостойкости методів захисту в операційні системи Microsoft Window 9x (реферат, курсова, диплом, контрольна)

МІНІСТЕРСТВО ОСВІТИ РОСІЙСЬКОЇ ФЕДЕРАЦИИ.

САМАРСЬКИЙ ДЕРЖАВНИЙ ТЕХНІЧНИЙ УНИВЕРСИТЕТ ИНЖЕНЕРНО-ЭКОНОМИЧЕСКИЙ.

ФАКУЛЬТЕТ.

КАФЕДРА «ВИЩА И.

ПРИКЛАДНА МАТЕМАТИКА".

УТВЕРЖДАЮ.

Завідуючий кафедрой.

«Вища і прикладна математика».

«___"__________2001г.

ВИПУСКНА КВАЛІФІКАЦІЙНА РОБОТА студента АЛЬПЕРТА ВОЛОДИМИРА ВОЛОДИМИРОВИЧА на задану тему: АНАЛІЗ КРИПТОСТОЙКОСТИ МЕТОДІВ ЗАХИСТУ ІНФОРМАЦІЇ У ОПЕРАЦИОННЫХ.

СИСТЕМАХ MICROSOFT WINDOW 9x.

за фахом 01.02.00 «Прикладна математика».

Науковий керівник: до. т. н.

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

«___"________2001г.__________________.

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

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

Оценка_______________________________________.

Голова ГЭК_____________________________.

Самара.

2001 г.

Стор. ЗАПРОВАДЖЕННЯ 3 1. Теоретические основи криптоанализа 7 1.1 Методи криптоанализа 7 1.2 Потокові шифри 12 1.3 Алгоритм RC4 та її криптоанализ 15 2. Захист інформацією операційні системи Microsoft Windows 9×24 2.1 Аутентификация, безпека продукції та доступом до ресурсів в операційні системи сімейства Microsoft Windows 9×24 2.2 Структура PWL-файлов 27 3. Програма аналізу PWL-файлов 31 3.1 Оцінка надійності криптоалгоритмов залежно від довжини ключа 31 3.2 Розробка програми 36 3.3 Функції програми 40 ВИСНОВОК 42 БІБЛІОГРАФІЧНИЙ СПИСОК 43 ДОДАТОК 45.

Широке застосування комп’ютерних технологій та постійне зростання обсягу інформаційних потоків викликає постійне зростання інтересу до криптографії. Останнім часом збільшується роль програмних засобів захисту, просто модернізованих які потребують значних фінансових витрат у порівнянні з апаратними криптосистемами. Сучасні методи шифрування гарантують практично абсолютного захисту даних, але завжди залишається проблема надійності їх реализации.

Ще одна важлива проблемою застосування криптографії є суперечності між бажанням громадян захистити свою інформації і прагненням державних спецслужб матимуть можливість доступу до з деякою інформацією для припинення незаконної діяльності. Надзвичайно важко знайти незаперечно оптимальне розв’язання проблеми. Як оцінити співвідношення втрат законослухняних громадян і організації від використання їх інформації та збитків держави від неможливості отримання доступу до захищеної інформації окремих груп, приховували свою незаконну діяльність? Чи можна гарантовано недопущення незаконне використання криптоалгоритмов особами, що порушують та інших законів? З іншого боку, завжди існують способи прихованого збереження і передачі информации.

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

Нині особливо актуальною стала оцінка вже використовуваних криптоалгоритмов. Завдання визначення ефективності засобів захисту найчастіше більш трудомістка, ніж їх розробка, вимагає наявності спеціальних знань і, зазвичай, вищої кваліфікації, ніж завдання розробки. Це обставини призводять до того, що у ринку з’являється безліч коштів криптографічного захисту, про що ніхто може сказати нічого певного. У цьому розробники тримають криптоалгоритм (як показує практика, часто нестійкий) у секреті. Проте завдання точного визначення даного криптоалгоритма може бути гарантовано складної хоча б оскільки він відомий розробникам. З іншого боку, якщо порушник знайшов спосіб подолання захисту, то ми не у його інтересах звідси заявляти. Тому суспільству має бути вигідно відкрите обговорення безпеки систем захисту масового застосування, а приховування розробниками криптоалгоритма має бути недопустимым.

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

З іншого боку, в комп’ютерному й у світі постійно з’являється інформація помилки чи «дірах «у тому чи іншого програмі (зокрема. яка застосовує криптоалгоритмы), чи те, що у неї зламана. Це створює недовіру, як до програм, і до можливості взагалі захистити щось криптографічними методами тільки від спецслужб, а й від простих хакерів. Тому знання атак і дір у криптосистемах, і навіть розуміння причин, за якими мали місце, одна із необхідних умов розробки захищених систем та його использования.

[pic].

Рис. 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 Data Security. Вона має такими свойствами:

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

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

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

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

• низьким вимогою до пам’яті, що дозволяє реалізовувати алгоритм на пристроях з обмеженою памятью;

• використанням циклічних зрушень, які залежать від даних, с.

" змінним «числом.

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

Протягом семирічного віку цей алгоритм був фірмовим секретом і деталі про його конструкції надавалися тільки після підписання договору нерозголошення, але у вересні 1994 року хтось анонімно поширив вихідний код алгоритму через Internet. Користувачі Мережі, мають легальні криптосредства фірми RSA, реалізують RC4, підтвердили сумісність коду з криптопрограммой. Нині алгоритм RC4 реалізований у десятках комерційних криптографічних продуктів, включаючи Lotus Notes, Apple Computer «p.s AOCE, Oracle Secure SQL, і навіть є частиною специфікації стандарту стільникового зв’язку CDPD.

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

Для генерації випадкового байта гами виконуються такі операції: і = (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 може приймати приблизно 21 700 (256! * 2562) можливих станів. S-бох повільно змінюється своєю практикою: параметр і забезпечує зміна кожного елемента, а 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)2n L=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 Data Security оголосила, що шифр має імунітет до методів лінійного і диференціального криптоанализа, високо не линеен і схоже, аби в неї були короткі цикли. Зазвичай цитується висновок закритою роботи криптографа RSA Labs Мэтта Робшоу: «Немає відомих слабких ключів і, хоча ні докази для нижньої межі періодів послідовностей RC4, проведений теоретичний аналіз показує, що період гнітючому вона найчастіше перевищує 10 100. Ретельний і всеосяжний аналіз стійкості RC4 не виявив жодних підстав брати під сумнів стійкість, забезпечуваний генератором RC4 » .

Першої відкритої публікацією вважатимуться роботу Йована Голича, подану на конференції Eurocrypt «96. У ньому відзначається, що з послідовностей, генерируемых RC4, безсилі методи статистичного аналізу. Але, з іншого боку, як показано на роботах, для блоків, розмір яких перевищує M (розмір внутрішньої пам’яті генератора), завжди існує лінійна статистична слабкість чи пізно це звана «лінійна модель ». Таку модель можна ефективно визначати з допомогою методу апроксимації лінійної послідовної схемою. Лінійна статистична слабкість — це лінійне співвідношення між бітами гами, яке виконується з імовірністю, відрізнялася від ½.

Головна мета роботи Голича — з допомогою методу АЛПС вивести лінійні моделі для RC4. Метод АЛПС залежить від перебування й розв’язанні послідовної лінійної схеми, яка аппроксимирует генератор гами і призводить до лінійним моделям з відносно великим корреляционным коефіцієнтом з, де ймовірність відповідного лінійного співвідношення між бітами гами становить (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/ не корелює ні із першого, ні з 0, але Z// корелює із першого з корреляционным коефіцієнтом, близькими до 15*2−3n на великих 2N, де n — довжина ключа. Оскільки довжина вихідний послідовності, необхідна виявлення статистичної слабкості з корреляционным коефіцієнтом з, становить 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, З, D — двоичные матриці; а (й у компонент в D = (d1,. .. , dM) — незбалансовані булевы функції, іменовані функціями шуму. Основна ідея у тому, щоб розглядати {((Xt, St)}t=0(і {((Xt, St)}t=0(, 1? i?M, як вхідних послідовностей, отже останні рівняння виявляються які задають неавтономную лінійну машину з кінцевим числом станів чи ЛПР, іменовану АЛПС комбинирующего вузла з пам’яттю. Тоді можна вирішити цю ЛПР з використанням техніки які виробляють функцій (D-преобразований). У частковості, нехай P. 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, P. S t-M) кожному за 0? k?M-1. Лінійні функції входу й аж виходу в (2) скоррелированы тоді й тільки тоді, коли функція шуму e несбалансирована. Коефіцієнт кореляції залежить від часу, якщо функція наступного стану збалансована. Якщо це основна умова не задовольняється, то кореляційний коефіцієнт може залежати від часу, бо від St більш непотрібен збалансованість кожному за t?0. Функція шуму e в (3) визначено як сума індивідуальних шумових функцій, які несбалансированы за умови, що збалансована функція наступного стану. Оскільки від індивідуальних шумових функцій непотрібен бути незалежними, у принципі не можна того можливість, що коефіцієнт кореляції e з константній нульової функцією нульовий або дуже близький до цьому значению.

У означеному разі індивідуальні шумові функції можна трактувати як булевы функції від n = MN + N + M змінних в (XM+1t, StM). Отже, крім деяких особливих випадків, у випадку з високою ймовірністю очікувати, що спільна кореляційний коефіцієнт дуже близький до твору індивідуальних отже, відрізняється від нуля. Відповідно, метод АПЛС лише з високою ймовірністю дає взаємно коррелированные лінійні функції від входу й аж виходу, але й дозволяє оцінити значення відповідного кореляційного коефіцієнта, використовуючи незалежність, чи інші імовірнісні припущення. Бо у ідеальному разі хотілося б мати такі АЛПС, у яких кореляційні коефіцієнти з абсолютного значенням близькі до максимуму, то індивідуальні кореляційні коефіцієнти би мало бути великими за величиною, а кількість шумових членів в (3) має бути маленьким. Звісно, ці вимоги можуть суперечити одна одній. Тому хорошим підходом буде повторення процедури АЛПС кілька разів, починаючи з найкращих лінійних аппроксимаций для функції виходу і компонент функції наступного стану. Цю процедуру може також виконуватися всім можливих лінійних аппроксимаций, що представляється єдиним систематичним способом перевірити все кореляції, виявлені застосування методу АЛПС. У випадку є найбільше (M+1)2M+N таких лінійних аппроксимаций. Проте, в принципі можна перевірити всіх можливих лінійні апроксимації навіть при великому M, що у практичних реалізаціях функції виходу і наступного стану залежить від порівняно невеликої кількості змінних або ж складено з цих булевых функций.

З практичного погляду дана лінійна модель то, можливо використана виділення по шифротексту генератора RC4 серед інших криптосистем, і навіть на відновлення параметра n. 2000 року була опубліковано докладну статтю Скотта Флюера і Девіда Мак-Гри присвячена статистистическому аналізу потокового генератора RC4, де було використані результати своєї роботи Голича перебування значення компонент P.Sбоксу. Приблизний час цього становить 26n, де n — порція бітов в вихідному потоці, довжина вихідний послідовності, необхідна виявлення статистичної слабкості, близька до 230. Отриманий результат свідчить про істотну слабкість генератора і можливість відновити параметри і і n. S-бокс може приймати 2nk, де nk — число бітов ключа.

2. Захист інформацією операційні системи Microsoft Windows 9x.

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

У операційні системи Microsoft Windows 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-файлов.

Для аутентифікації в операційні системи Microsoft Windows 9x використовуються, які у директорії ОС, файли *.PWL, які містять кэшированную парольну інформацію. Хоч би яка не пішли документація з їхньої структурі відсутня, тому нами провели дослідження цих файлів і це з’ясований їх формат.

Таблиця 1.1.

Структура PWL-файла.

|Смещение |Windows 3.11, Windows 95 без|Windows 95 з Service Pack, | | |Service Pack |Windows OSR2 і Windows 98 | |0000:0003 |Сигнатура — B0 6 4D 4E |Сигнатура — E3 82 85 96 | | |(«MFN ») |(«yВЕЦ ») | |0004:0007 |Лічильник користувача |Лічильник користувача | |0008:107 |Resource Link Index |Resource Link Index | |0108 |Нульовий байт |Нульовий байт | |0109:0207 |Resource Key Entry |Resource Key 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 Windows 95 виявлено істотна помилка. Для її виправлення необхідно модернізація ОС. З іншого боку, у нових версіях довжина пароля обмежена не 32 байтами, а 128.

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

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

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

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

2. збільшення кількості процесорів в системе.

З фізичної погляду транзистор, що є сучасної інтегральної схеми, то, можливо зменшений приблизно удесятеро, до розміру 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 |Японія |Hitachi/Tsuku|2048 |368 | | |CP-PACS | |ba | | | |3 |SGI/Cray T3E |Великобританія |Cray |696 |265 | |4 |Fujitsu |Японія |Fujitsu |167 |230 | | |Numerical Wind | | | | | | |Tunnel | | | | | |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.

Час, необхідне повного перебору ключей.

|Наименование |Мощность|56 біт |64 |80 біт |100 бит|128 біт| |машини |(FLOPS) |7.2*Е16 |біта |1.2*Е24 | | | | | | |1.8*E1| |1.26*Е3|3.4*E38| | | | |9 | |0 | | |Intel ASCI Red|1.333*Е1|14 часов|5 мес.|28 460 років |3.01*Е1|8.09*Е1| | |2 | | | |0 |8 | |Hitachi/Tsukub|3.68*Е11|52 години |18 |102 676 года|1.09*Е1|2.93*Е1| |a CP-PACS | | |міс. | |1 |9 | |SGI/Cray T3E |2.65*Е11|69 часов|51 |143 256 года|1.51*Е1|4.07*Е1| | | | |міс. | |1 |9 | |Fujitsu |2.3*Е11 |171 годину |60 |164 592 года|1.74*Е1|4.69*Е1| |Numerical Wind| | |міс. | |1 |9 | |Tunnel | | | | | | | |Hitachi SR2201|2.2*Е11 |178 |61 |172 720 років |1.82*Е1|4.9*Е19| | | |годин |міс. | |1 | |.

Отже з допомогою зазначеної робочої моделі можна розцінювати надійність проектованих і експлуатованих систем шифрування. Алгоритм ГОСТ 28 147–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.

Варіанти перебору ключа розкладок клавіатури |Розкладка |Символи |Варіанти |Мінімальна | | | | |довжина пароля | |12 345 6789ABCDEFGHIJKLMNOPQRSTU|68 |2.11*Е18 |10 | |VWXYZАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩ| | | | |ЪЫЬЭЮЯ | | | | |ABCDEFGHIJKLMNOPQRSTUVWXYZ |58 |2.49*Е19 |11 | |АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮ| | | | |Я | | | | |123 456 789АБВГДЕЖЗИЙКЛМНОПРСТУФ|42 |3.01*Е19 |12 | |ХЦЧШЩЪЫЬЭЮЯ | | | | |12 345 6789ABCDEFGHIJKLMNOPQRSTU|36 |4.74*Е18 |12 | |VWXYZ | | | | |АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮ|32 |3.67*Е19 |13 | |Я | | | | |ABCDEFGHIJKLMNOPQRSTUVWXYZ |26 |6.45*Е19 |14 | |123 456 789 |10 |1*Е19 |19 |.

З нами дослідження можна дійти невтішного висновку, що з забезпечення надійності досить використовувати алгоритми із довжиною ключа не менш 64 бітов, а застосувати і розробляти алгоритми із довжиною ключа більш 128 біт економічно невигідно. Проте, зазвичай, для генерації ключа використовується пароль, який у часи чергу часто утримує лише символи латинського алфавіту. У разі задля забезпечення необхідний захист потрібно використовувати пароль не коротше 12 символів, що він відповідає 56- битному ключу. 16-символьный гарант пароль відповідає 75-битному ключу і гарантує достатню захисту від прямий атаки.

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

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

Таблиця 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|секунду для Windows 95| | |95 без Service Pack |з Service Pack, OSR2 і| | | |98 | |AMD K5 — 100 |53 000 |29 000 | |Intel Pentium — 120 |61 000 |31 000 | |Intel Pentium — 166 |76 000 |39 000 | |Pentium II -166 |87 000 |45 000 | |Intel Celeron — 400 |153 000 |101 000 | |Intel Celeron — 700 |304 000 |192 000 |.

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

3.3 Функції программы.

Розроблена програма запускається з командної рядки з нижче переліченими ключами:

/BF[:S] [ИмяPwlФайла] [ИмяПользователя] - до виконання зламування PWL-файла перебором. Паролі послідовно будуть змінюватися і перевірятися на коректність совпадения.

/EN: [ИмяСекцииПеребора] - додайте це спричинило ключу /BRUTEFORCE у тому, аби вибрати бажану секцію перебору з .CFG файла. Секція перебору за умовчанням описано на конфигурационном файле.

/F: [СтартоваяДлина] - додайте це спричинило ключу /BRUTEFORCE визначення бажаної довжини початкового пароля з якого розпочнеться процес перебору. За умовчанням довга дорівнює нулю.

/IN: [НачальныйПароль] - додайте це питання до ключу /BRUTEFORCE для вибору початкового пароля. Перебір розпочнеться з значення що був даним ключем. Цей ключ несумісний із ключем /FROM.

/D: [ПарольОстановки] - додайте це спричинило ключу /BRUTEFORCE для вибору пароля зупинки. Перебір завершиться під час досягнення даного пароля. Цей ключ несумісний із ключем /NUMBER.

/NUM: [КоличествоИтераций] - додайте це спричинило ключу /BRUTEFORCE для вибору кількості спроб перебору. Програма буде зупинене після виконання даного кількості переборів паролів. Цей ключ несумісний із ключем /DONE.

/VOC [:P.S] [ИмяPwlФайла] [ИмяПользователя] [МаскаСловарей] - щоб виявити пароля PWL-файла з допомогою словаря.

/CON [:P.S] [ИмяФайлаСессии] - поновлення перерваної сессии.

/PROT [:ИмяФайлаПротокола] - додавання цього ключа до деяких ключам дозволить зберігати результати своєї роботи в файлі Протоколу. /ABOUT /HELP, /?, /LIST і /SPY, /GRAB не допускають застосування цього ключа.

/L [:E] [ИмяPwlфайла] [ИмяПользователя] [ПарольПользователя] - для перегляду зазначеного PWL-файла з відповідними параметрами, використовуйте атрибут «E «для відображення технічної информации.

/GR [ИмяПротоколаБазы] - для перегляду секції [Password Lists] файла SYSTEM.ini. Ця секція описує зареєстровані PWL-файлы на даної машине.

/TM [ОценочнаяСкорость] - з метою оцінки часу роботи суцільного перебору. Можна також використовувати ключ /ENUM для вибору секції символів перебору. Швидкість вказується в pps (що позначає паролів в секунду).

/H [ИмяФайлаСправки] - задля збереження довідки в текстовому файле.

/? — для відображення цієї короткої довідки на терминале.

Використовуйте атрибут «P.S «з названими вище ключами за захистом даних від нестабільності електроживлення. Застосування атрибута викликає періодичне збереження результатів роботи поточної сесії. Натискання Ctrl+Break призводить до зупинці процесу перебору і запис поточної сесії у відповідній .BRK файле.

ЗАКЛЮЧЕНИЕ

.

Проаналізувавши нинішню ситуацію з реальними криптографічними продуктами, домовилися висновку, що криптографія, представлена на комерційному ринку, не надає достатнього рівня безпеки. Сьогодні у комп’ютерну безпеку вкладаються мільярди доларів, і більшість грошей витрачається на нестійкі продукти. У даний роботі було здійснив дослідження криптографічних методів захисту, застосовуваних популярних операційні системи сімейства Microsoft Windows 9x, і було написана програма загальним обсягом близько тисячі рядків програмного коду для аналізу сі. Аналізований алгоритм RC4 використовують у більш як двадцяти програмних продуктах і вивести результати даної роботи ставляться до великому числу програмних продуктів, які у різних областях.

Працюючи був зроблено такі выводы:

— Необхідна обов’язкова оцінка загроз безпеці для всієї наявну інформацію і застосовуваних криптографічних методов.

— На комп’ютерах з операційній системою Microsoft Windows 95 необхідно модернізувати операційну систему. Оскільки перехід на програмне забезпечення інших фірм викликає чималі складнощі, досить обмежитися новими версіями OSR2 и.

Windows 98.

— Використання парольної захисту комп’ютерів має стати нормою, незалежно від цього чи мають доступу до комп’ютера сторонні особи чи ні, оскільки повністю обмежити доступу до комп’ютера невозможно.

— Продукти, використовують криптоалгоритм RC4, потенційно піддаються злому і застосовувати їх задля захисту на тривалі терміни нецелесообразно.

БІБЛІОГРАФІЧНИЙ СПИСОК.

1. Андрєєв М. М. Про патентування деяких напрямах досліджень у сфері захисту.// Міжнародна конференція «Безпека информации».

Збірник матеріалів, М., 1997, з. 94−97.

2. Баpичев С.С., Гончаров В. В., Сєров Р. Е. Основи сучасної кpиптогpафии.

М.: Світ, 1997. 176 с.

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

4. Буза М. К. Операційна середовище Windows 95 і його докладання. М.: ДиаСофт,.

1996. 266 с.

5. Елманова Н. З., Кошель С. П. «Введення ЄІАС у Borland З++ Builder». М.: Диалог;

МІФІ, 1998. 675 з. 6. Грушо А. А. Тимонина Е.Е. Теоретичні основи захисту М.:

Яхтсмен, 1996. 31 з. 7. Домашев А. У., Попов В. О., Правиков Д.І., Прокоф'єв І.В., Щербаков А.Ю.

Програмування алгоритмів захисту. М.: Нолидж, 2000. 288 з. 8. Варфоломеев А. А., Жуков А.Є., Мельников Г. Б., Устюжанин Д. Д. Блочні криптосистемы. Основні властивості та художні засоби аналізу стійкості. М.: МИФИ,.

1998. 200с. 9. Леонтьєв Б. Операційна система Microsoft Windows 9x для початківців але тільки. М.: Нолидж, 1998. 496 з. 10. Молдовян А. А., Молдовян Н. А., Рад Б. Я. Криптографія. СПб.: Лань,.

2000. 224 з. 11. Семьянов П. В. Чому криптосистемы ненадійні? Тези доповіді на конф.

«Методи і технічні засоби забезпечення безпеки інформації», .

СПб.: ГТУ, 1996. 18 з. 12. Спесивцев А. У. Захист інформацією персональних ЕОМ. М.: Світ, 1992.

278 з. 13. Ростовцев О. Г., Матвєєв В. А. Захист інформацією комп’ютерних системах.

Елементи криптологии. Під редакцією П. Д. Зегжды. СПб.: ГТУ, 1993. 365 з. 14. 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. 15. Golic J.Dj. Linear models 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. Rivest R. L. The RC4 Encryption Algorithm. Dr. Dobb’s Journal. January.

1995. p. 146 — 148. 18. Schneier B. Applied Cryptography. N. Y.: John Wiley & Sons Inc., 1996.

757 p.

ПРИЛОЖЕНИЕ.

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

———————————- Введення ключей.

Читання ключа.

Продовження сессии.

Зламування файла по ключу.

Завантаження параметрів сессии.

Параметри взлома.

Підстановка по словарю.

Перебір по алфавиту.

Кінець программы.

Перегляд ресурсов Ввод пароля.

Перегляд файла.

Початок программы.

[pic].

Показати весь текст
Заповнити форму поточною роботою