- •Загальні вказівки до виконання лабораторних робіт
- •Лабораторна робота №1 основні методи захисту інформації
- •1 Основні теоретичні відомості
- •1.1 Симетричніі криптосистеми
- •1.1.1 Шифри перестановки
- •1.1.2 Шифри простої заміни
- •1.1.3 Шифри складної заміни
- •1.1.4 Шифр багатоалфавітної заміни
- •1.1.5 Гамірування
- •1.2 Асиметричні криптосистеми. Схема шифрування Ель Гамаля
- •1.1 Принципи аутентифікації
- •1.2 Виконання аутентифікації користувачів засобами керування сеансом у рнр
- •1.2.1 Запуск сеансу
- •1.2.2 Реєстрація змінних сеансу
- •1.2.3 Використання змінних сеансу
- •1.2.4 Скасування реєстрації змінних і завершення сеансу
- •1.1 Атаки на пароль
- •1.2 Проблема вибору пароля
- •1.3 Порядок роботи із програмами розкриття паролів.
- •1.4 Робота із програмами злому на прикладі azpr
- •2 Порядок виконання роботи
- •2.1 Проведення атаки перебором (bruteforce attack)
- •2.2 Проведення атаки за словником (dictionary attack)
- •2 Порядок виконання роботи
- •3 Контрольні питання
- •Лабораторна робота № 5 шифр віженера
- •1 Основні теоретичні відомості
- •1.1 Шифр Віженера і його варіанти
- •«Йфрдряйгєня ігсорф».
- •1.2 Криптоаналіз
- •2 Порядок виконання роботи
- •Контрольні запитання
- •Лабораторна робота № 6 блочний шифр tea
- •1 Основні теоретичні відомості
- •1.1 Мережа Фейштеля
- •1.2 Основи алгоритму
- •1.3 Опис схеми алгоритму
- •2 Порядок виконання роботи
- •3 Контрольні питання
- •Лабораторна робота № 7 дослідження криптоалгоритму шифрування rsa
- •1 Основні теоретичні відомості
- •1.1 Алгоритм rsa
- •2 Порядок виконання роботи
- •3 Контрольні питання
- •Лабораторна робота № 8 дослідження електронного цифрового підпису (ецп) rsa
- •1 Основні теоретичні відомості
- •2 Порядок виконання роботи
- •2.1 Визначення відкритого «e» і секретного «d» ключів (Дії відправника)
- •2.2 Формування ецп
- •2.3 Аутентифікація повідомлення - перевірка автентичності підпису
- •3 Контрольні запитання
- •Лабораторна робота № 9 вивчення криптоалгоритму шифрування ель гамаля
- •1 Основні теоретичні відомості
- •2 Порядок виконання роботи
- •Визначення відкритого “y” і секретного “X” ключів
- •Контрольні запитання
- •Лабораторна робота № 10 вивчення електронного цифрового підпису (ецп) ель гамаля
- •1 Основні теоретичні відомості
- •2 Порядок виконання роботи
- •3 Контрольні запитання
- •Перелік рекомендованих джерел
1.1 Атаки на пароль
На сьогоднішній день пароль є найбільш прийнятним і тому найбільше часто використовуваним засобом встановлення автентичності, що ґрунтується на знаннях суб'єктів доступу.
У будь-якій критичній системі помилки людини-оператора є чи не самими вартісними й поширеними. У випадку криптосистем, непрофесійні дії користувача зводять нанівець самий стійкий криптоалгоритм і саму коректну його реалізацію й застосування.
У першу чергу це пов'язане з вибором паролів. Очевидно, що короткі або осмислені паролі легко запам'ятовуються людиною, але вони набагато простіші для розкриття. Використання довгих і беззмістовних паролів безумовно краще з погляду криптостійкості, але людина звичайно не може їх запам'ятати й записує на папірці, що потім або губиться, або попадає в руки зловмиснику. Саме з того, що недосвідчені користувачі як правило вибирають або короткі, або осмислені паролі, існують два методи їхнього розкриття: атака повним перебором і атака за словником.
Захищеність пароля при його підборі залежить, у загальному випадку, від швидкості перевірки паролів і від розміру повної множини можливих паролів, що, у свою чергу, залежить від довжини пароля й розміру застосовуваного алфавіту символів. Крім того, на захищеність сильно впливає реалізація парольного захисту.
У зв'язку з різким ростом обчислювальних потужностей атаки повним перебором мають набагато більше шансів на успіх, ніж раніше. Крім того, активно використовуються розподілені обчислення, тобто рівномірний розподіл задачі на велику кількість машин, що працюють паралельно. Це дозволяє багаторазово скоротити час злому.
Кілька років назад, коли обчислювальної потужності для повного перебору всіх паролів не вистачало, хакерами був придуманий метод, заснований на тому, що в якості паролю людиною вибирається існуюче слово або деяка інформація про себе або своїх знайомих (ім'я, дата народження й т.ін.). А оскільки в будь-якій мові не більше 100000 слів, то їхній перебір займе досить невеликий час, і від 40 до 80 % існуючих паролів можуть бути вгадані за допомогою простої схеми, названою “атакою по словнику”. До речі, до 80 % цих паролів може бути вгадане з використанням словника розміром усього 1000 слів.
Сьогодні користувачі вже розуміють, що вибирати такі паролі не можна, але, видимо, ніколи експерти по комп'ютерній безпеці не дочекаються використання таких простих і що радують душу паролів, як 34jхs5U@bта!6;). Тому навіть досвідчений користувач хитрить і вибирає такі паролі, як hоре1, user1997, раsSwOr, toor, roottoor, раго1, gfhjkm, asхz. Видно, що всі вони, як правило, базуються на осмисленому слові й деякому простому правилі його перетворення: додати цифру, додати рік, перевести через букву в інший регістр, записати слово навпаки, додати записане навпаки слово, записати російське слово латинськими буквами, набрати російське слово на клавіатурі з латинською розкладкою, скласти пароль із поруч розташованих на клавіатурі клавіш.
Тому не треба дивуватися, якщо такий “хитрий” пароль буде розкритий хакерами, які вже вставили у свої програми ті правила, за якими може йти перетворення слів. У самих "просунутих" програмах (John The Ripper, Password Cracking library) ці правила можуть бути програмувальними й задаватися за допомогою спеціальної мови самим хакером.
Приведемо приклад ефективності такої стратегії перебору. У багатьох книгах по безпеці пропонується вибирати за надійний пароль два осмислених слова, розділених деяким знаком (наприклад, good!password). Підрахуємо, за скільки часів у середньому будуть зламані такі паролі, якщо таке правило включене в набір програми-зломщика (нехай словник 10000 слів, розділовими знаками можуть бути 10 цифр і 32 розділові знаки й спеціальні символи. Машина класу Pentium зі швидкістю 15000 паролів/сек): 10000*(32+10)*10000/15000*2=140000 секунд або менш 1,5 дня.
Чим більша довжина пароля, тим більшу безпеку буде забезпечувати система, тому що будуть потрібні більші зусилля для його відгадування. Це обставина можна представити в термінах очікуваного часу розкриття пароля або очікуваного безпечного часу. Очікуваний безпечний час (Тб) – половина добутку числа можливих паролів і часу, необхідного для того, щоб спробувати кожний пароль із послідовності запитів. Представимо це у вигляді формули:
(3.1)
де t- час, необхідний на спробу введення пароля, рівний E/R; E - число символів у переданому повідомленні при спробі одержати доступ (включаючи пароль і службові символи); R - швидкість передачі (символи/хв) у лінії зв'язку; S - довжина пароля; А - число символів в алфавіті, з яких складається пароль. Якщо після кожної невдалої спроби підбора автоматично передбачається десятисекундна затримка, то безпечний час різко збільшується.
Тому при використанні аутентифікації на основі паролів захищеною системою повинні дотримуватися наступні правила:
а) не дозволяються паролі менше 6-8 символів;
б) паролі повинні перевірятися відповідними контролерами;
в) символи пароля при їхньому введенні не повинні з'являтися в явному вигляді;
г) після введення правильного пароля видається інформація про останній вхід у систему;
д) обмежується кількість спроб введення пароля;
е) уводиться затримка часу при неправильному паролі;
ж) при передачі по каналах зв'язку паролі повинні шифруватися;
з) паролі повинні зберігатися в пам'яті тільки в зашифрованому вигляді у файлах, недоступних користувачам;
і) користувач повинен мати можливість самому змінювати пароль;
к) адміністратор не повинен знати паролі користувачів, хоча може їх змінювати;
л) паролі повинні періодично змінюватися;
м) встановлюються терміни дії паролів, після закінчення яких треба зв'язатися з адміністратором.
