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

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

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

ІНЖЕНЕРНО-ЕКОНОМІЧНИЙ

ФАКУЛЬТЕТ

КАФЕДРА "ВИЩА І

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

ВИПУСКНА КВАЛІФІКАЦІЙНА РОБОТА

студента Альперт ВОЛОДИМИРА ВОЛОДИМИРОВИЧА

на тему: АНАЛІЗ криптостійкості МЕТОДІВ ЗАХИСТУ ІНФОРМАЦІЇ В ОПЕРАЦІЙНИХ СИСТЕМАХ 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 9x__________________ 24

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

2.2 Структура PWL-файлов____________________________________________________ 27

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

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

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

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

ЗАКЛЮЧЕНИЕ______________________________________________________________ 42

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

ПРИЛОЖЕНИЕ______________________________________________________________ 45

ВСТУП

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

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

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

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

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

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


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

Рис. 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

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Диплом
32.2кб. | скачати


Схожі роботи:
Аналіз криптостійкості методів захисту інформації в операційних системах Microsoft Window 9x
Розробка ефективних систем захисту інформації в автоматизованих системах
Аналіз принципів адміністрування операційних систем на прикладі Windows 2003
Windows Microsoft Word і Microsoft Excel
Аналіз системи безпеки Microsoft Windows 2000 Advanced Server і стратегій її використання
Збереження даних в операційних системах
Системне програмування в операційних системах
Склад операційних систем MS Windows
Переваги та недоліки операційних систем Windows
© Усі права захищені
написати до нас