- •Конспект лекцій
- •Безпека програм та даних
- •Лекція 1. Вступ. Категорії інформаційної безпеки. Захист програм.
- •Абстрактні моделі захисту інформації
- •Основні положення по розробці по
- •Помилки, що призводять до можливості атак на інформацію
- •Методи дублювання
- •Короткий огляд технології raid
- •Що таке raid?
- •Переваги і недоліки основних рівнів raid
- •Складені raid масиви
- •Основи криптографічного захисту інформації
- •1.1 Криптографія. Класифікація криптоалгоритмів
- •1.3 Симетричні криптоалгоритмы
- •1.3.1 Скремблери
- •1.3.2 Блокові шифри
- •Загальні відомості про блокові шифри
- •Мережа Фейштеля
- •Захист програм від злому
- •Інструментарій хакера
- •Основи побудови захисту - крок за кроком
- •VxDMon, відповідно, здійснює моніторинг викликів різних сервісів VxD, що в деяких випадках теж може виявитися корисним.
- •Крок 1. Відключення автоматичного запуску cd
- •Крок 2. Автоматичне оновлення системи
- •Крок 3. Відключення непотрібних сервісів
- •Крок 4. Установка фаервола
- •Крок 5. Паролі і усе про них
- •Крок 6. Теорія складання паролів
- •Крок 7. Акаунт "Адміністратор"
- •Крок 8. Небезпечна заставка
- •Крок 9. Реєстр, друг наш!
- •Крок 10. Провідник
Мережа Фейштеля
Мережа Фейштеля є подальшою модифікацією описаного вище методу змішування поточної частини шифрованого блоку з результатом деякої функції, вичисленої від іншої незалежної частини того ж блоку. Ця методика набула широкого поширення, оскільки забезпечує виконання вимоги про багатократне використання ключа і матеріалу початкового блоку інформації.
Класична мережа Фейштеля має наступну структуру:
Мал. 1.
Незалежні потоки інформації, породжені з початкового блоку, називаються гілками мережі. У класичній схемі їх дві. Величини Vi іменуються параметрами мережі, звичайно це функції від матеріалу ключа. Функція F називається твірною. Дія, що складається з одноразового обчислення функції, що утворює, і наступного накладення її результату на іншу гілку з обміном їх місцями, називається циклом або раундом (англ. round) мережі Фейштеля. Оптимальне число раундів K - від 8 до 32. Важливе те, що збільшення кількості раундів значно збільшує криптоскойстость будь-якого блокового шифру до криптоаналізу. Можливо, ця особливість і вплинула на таке активне поширення мережі Фейштеля - адже при виявленні, скажімо, якого-небудь слабкого місця в алгоритмі, майже завжди досить збільшити кількість раундів на 4-8, не переписуючи сам алгоритм. Часто кількість раундів не фіксується розробниками алгоритму, а лише вказуються розумні межі (обов'язково нижній, і не завжди - верхній) цього параметра.
Відразу ж виникає питання, - чи є ця схема оборотною ? Очевидно, так. Мережа Фейштеля має ту властивість, що навіть якщо як функція, що утворює, F буде використане безповоротне перетворення, то і в цьому випадку увесь ланцюжок буде відновлений. Це відбувається внаслідок того, що для зворотного перетворення мережі Фейштеля не треба обчислювати функцію F - 1.
Більше того, як неважко помітити, мережа Фейштеля симетрична. Використання операції XOR, оборотної своїм же повтором, і інверсія останнього обміну гілок роблять можливим раскодирование блоку тією ж мережею Фейштеля, але з інверсним порядком параметрів Vi. Помітимо, що для оборотності мережі Фейштеля не має значення чи являється число раундів парним або непарним числом. У більшості реалізацій схеми, в яких обидві вищеперелічені умови (операція XOR і знищення останнього обміну) збережено, пряме і зворотне перетворення виробляються однією і тією ж процедурою, якою як параметр передається вектор величин Vi або в початковому, або в інверсному порядку.
З незначними доопрацюваннями мережу Фейштеля можна зробити і абсолютно симетричною, тобто виконуючій функції шифрування і дешифрування одним і тим же набором операцій.
Захист програм від злому
Розглянемо деякі тонкощі організації захисту на досить популярному прикладі - припускаємо, що програма захищена деяким кодом (серійним номером, паролем), який повідомляється користувачеві після дотримання ним певних умов. До реєстрації в цій програмі заблокований ряд яких або корисних функцій, використовується докучлива реклама або обмежений рядків роботи. Після введення цього коду виробляється його перевірка і при позитивному результаті перевірки програма починає нормально працювати.