Автор работы: Пользователь скрыл имя, 06 Июня 2013 в 23:25, дипломная работа
ПОСТАНОВКА ЗАДАЧІ ТА ОГЛЯД ІСНУЮЧИХ МЕТОДІВ РОЗВ’ЯЗКУ ЦІЄЇ ЗАДАЧІ
1.Виконати аналіз протоколу Kerberos.
2.Зробити огляд існуючих алгоритмів криптографічних систем.
3.Розробити програмний продукт на базі протоколу Kerberos.
ПЕРЕЛІК ПРИЙНЯТИХ СКОРОЧЕНЬ 8
ВСТУП 9
ПОСТАНОВКА ЗАДАЧІ ТА ОГЛЯД ІСНУЮЧИХ МЕТОДІВ РОЗВ’ЯЗКУ ЦІЄЇ ЗАДАЧІ 10
РОЗДІЛ 1. КРИПТОГРАФІЯ 11
1.1Криптографічні системи 11
1.2Симетричні криптографічні системи 13
1.2.1Алгоитм AES 15
1.2.2Алгоритм ГОСТ 28147-89 16
1.2.3Алгоритм 3DES 17
1.2.4Алгоритм RC6 17
1.2.5Алгоритм IDEA 18
1.2.6Алгоритм SEED 20
1.2.7Алгоритм Camellia 21
1.2.8Алгоритм XTEA 22
1.3Асимеричні криптографічні системи 23
1.3.1Алгоритм RSA 25
1.3.2Алгоритм DSA 25
1.3.3Алгоритм Elgamal 26
1.3.4Алгоритм Rabin 27
1.3.5Алгоритм McEliece 27
1.4Висновок до розділу 1 27
РОЗДІЛ 2. АВТЕНТИФІКАЦІЯ ПО ПРОТОКОЛУ KERBEROS 29
2.1Стандарти автентифікації по протоколу Kerberos 29
2.2Основна концепція 30
2.3Переваги автентифікації по протоколу Kerberos 31
2.4Робота протоколу 32
2.4.1Автентифікатори 32
2.4.2Управління ключами 35
2.4.3Сеансові білети 38
2.4.4Білети на видачу білетів 40
2.4.5Автентифікація за межами домену 42
2.5Підпротоколи 44
2.5.1Підпротокол AS Exchange 45
2.5.2Підпротокол TGS Exchange 46
2.5.3Підпротокол CS Exchange 47
2.6Білети 49
2.6.1Дані з білета відомі клієнту 51
2.6.2Що відбувається після закінчення терміну дії білета 52
2.6.3Оновлюванні білети TGT 52
2.6.4Делегування автентифікації 54
2.6.5Представницькі білети 54
2.6.6Передані білети 55
2.6.7Центр розподілу ключів KDC 55
2.6.8База даних облікових записів 57
2.7Політика Kerberos 59
2.8Процес реєстрації 70
2.8.1Вхід в систему за паролем 71
2.8.2Вхід в систему за допомогою смарт-карти 75
2.8.3Віддалена реєстрація 77
2.9Безпека 77
2.10Атаки на протоколи автентифікації 83
2.10Висновок до розділу 2 84
РОЗДІЛ 3 РЕАЛІЗАЦІЯ ПРОГРАМНОГО ПРОДУКТУ 85
3.1Алгоритм DES і його модифікації 85
3.2Програмний продукт 92
3.3Висновок до розділу 3 97
ВИСНОВОК 97
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 98
ДОДАТОК А. ІЛЮСТРАТИВНІ МАТЕРІАЛИ ДЛЯ ДОПОВІДІ 100
ДОДАТОК Б. КОД ПРОГРАМИ 107
Рисунок 1.1 - Схема симетричної криптосистеми шифрування
Дані криптосистеми характеризуються найбільш високою швидкістю шифрування, і з їх допомогою забезпечуються як конфіденційність і достовірність, так і цілісність переданої інформації. Конфіденційність передачі інформації за допомогою симетричної криптосистеми залежить від надійності шифру і забезпечення конфіденційності ключа шифрування.
Зазвичай ключ шифрування представляє собою файл або масив даних і зберігається на персональному ключовому носії, наприклад дискеті або смарт-карті; обов'язкове вживання заходів, що забезпечують недоступність персонального ключового носія кому-небудь, окрім його власника.
Справжність забезпечується за рахунок того, що без попереднього розшифрування практично неможливо здійснити значеннєву модифікацію і підробку криптографічно закритого повідомлення. Фальшиве повідомлення не може бути правильно зашифроване без знання секретного ключа.
Цілісність даних
Симетричне шифрування ідеально підходить для шифрування інформації «для себе», наприклад, з метою запобігання НСД до неї за відсутності власника. Це може бути як архівне шифрування вибраних файлів, так і прозоре (автоматичне) шифрування цілих логічних або фізичних дисків.
Володіючи високою швидкістю шифрування, одноключевой криптосистеми дозволяють вирішувати багато важливих завдань захисту інформації. Однак автономне використання симетричних криптосистем у комп'ютерних мережах породжує проблему розподілу ключів шифрування між користувачами.
Перед початком обміну зашифрованими
даними необхідно обмінятися секретними
ключами з усіма адресатами. Передача
таємного ключа симетричної
Стандарт AES (Advanced Encryption Standard) є стандартом шифрування США, прийнятим у 2000-му році. Він специфікує алгоритм Rijndael. Цей алгоритм є симетричний блоковий шифр, який працює з блоками даних довжиною 128 біт і використовує ключі довжиною 128, 192 і 256 біт (версії AES-28; AES-192 і AES-256). Сам алгоритм може працювати і з іншими довжинами блоків даних і ключів, але ця можливість в стандарт не увійшла. При використанні 128-бітного ключа для злому шифрування за заявою уряду США буде потрібно 149 трильйонів років.
Біти даних нумеруються з нуля, починаючи зі старших. У AES основним є поліноміальне подання кодів. Так байт слід представляти як: .
Алгоритм AES здійснює операції над двовимірними масивами байт, званими структурами (state). Структура складається з 4 рядів по байт. дорівнює довжині блоку, поділеній на 32 (у даному стандарті ). Це дозволяє позначати структуру як , або , де і .
Вхідний код (in), який є послідовністю 16 байт можна представити як:
При реалізації алгоритму AES використовуються операції додавання байт (за модулем ) і множення. В алгоритмі AES при множенні байтів використовується непроводимий многочлен:
Обчислення виразу М. байтів на виконується згідно з наступним алгоритмом:
У цьому випадку зворотна величина байта дорівнює:
для множення полу байта (коди довжиною 4 біта) використовується непріводімий поліном:
Обчислення виразу М. полу байта на виконується таким чином:
являє собою полу байта . Операцію множення полу байта на можна записати в матричному вигляді:
Довжини ключів (довжина, виміряна в 32 бітових словах) можуть приймати значення 4, 6 або 8 (для AES-128, -192 і -256, відповідно). Число ітерацій (round), що реалізуються в алгоритмі AES, складає відповідно 10, 12 і 14.
ГОСТ 28147-89 - радянський і російський стандарт симетричного шифрування, введений в 1990 році, також є стандартом СНД. Повна назва - «ГОСТ 28147-89 Системи обробки інформації. Захист криптографічний. Алгоритм криптографічного перетворення ». Блоковий шифроалгоритм. При використанні методу шифрування з гаммированием, може виконувати функції потокового шифроалгоритму.
3DES (Triple DES, TDES) - потрійний
DES. Вдосконалений блочний алгоритм
DES. Симетричний блоковий
Алгоритм RC6 був розроблений в 1998 р. поруч фахівців наукового підрозділу відомої фірми RSA Data Security - RSA Laboratories: Рональдом Рівестом (Ronald Rivest, засновник RSA Data Security), Меттом Робшоу , Реєм Сідні і Іква Лайзою Ін спеціально для участі в конкурсі AES. Алгоритм багато в чому успадкував риси попереднього алгоритму Рональда Ривеста - 64-бітного блокового шифру RC5, розробленого в 1997 р. Фактично, алгоритм зазнав дві принципові зміни:
Структура алгоритму.
Як і алгоритм RC5, RC6 має гнучку структуру: крім секретного ключа, параметрами алгоритму є наступне:
Аналогічно RC5, для уточнення параметрів алгоритму, що використовуються в його конкретної реалізації, застосовується позначення . Оскільки в конкурсі AES 128-бітний блок є обов'язковим, значення w фіксоване і дорівнює 32. У специфікації алгоритму фіксується також кількість раундів: R = 20.
IDEA є блоковим алгоритмом
шифрування даних,
Нехай чотири чверті вихідного тексту мають імена A, B, C і D, а 52 суб ключа - . Перед реалізацією алгоритму виконуються операція:
; ; ; .
Перший цикл обчислень:
Міняємо місцями В і С.
Повторюємо це все 8 разів, використовуючи - для другого разу і, відповідно, - - для восьмого. Після восьмого разу В і С місцями не змінюються. Після цього виконуються операції:
У результаті закодований текст має ту ж довжину, що й вихідний. За своїм характером алгоритм нагадує процедури обчислення хеш - функції.
Схема реалізації алгоритму шифрування IDEA показано на рисунку 1.2
Рисунок 1.2 - Схема реалізації алгоритму шифрування IDEA
SEED - в криптографії
симетричний блоковий
SEED являє собою Мережа
Фейстеля з 16 раундами, 128-бітовими
блоками і 128-бітовим ключем. Алгоритм
використовує два 8 × 8 таблиці
підстановки, які, як такі з
Safer, виведені з дискретного
SEED має складну ключове
розклад, генеруючи тридцять
Camellia - алгоритм симетричного
блокового шифрування (розмір блока
128 біт, ключ 128, 192, 256 біт), один з
фіналістів європейського
Camellia є подальшим розвитком алгоритму шифрування E2, одного з алгоритмів, представлених на конкурсі AES і з використанням елементів алгоритму MISTY1.
Структура алгоритму заснована на класичній ланцюга Фейстеля з попереднім і фінальним забеліваніем. Циклова функція використовує нелінійне перетворення (S-блоки), блок лінійного розсіювання кожні 16 циклів (побайтова операція XOR) і байтове перестановку.
У залежності від довжини ключа має 18 циклів (128 розрядний ключ), або 24 циклу (192 і 256 розрядний ключ).
Підтримка алгоритму Camellia введена в 2008 році в браузері Mozilla Firefox 3. Алгоритм патентований, проте поширюється під вільними ліцензіями, зокрема, є частиною проекту OpenSSL.
У криптографії, XTEA (eXtended TEA) - блочний шіфроалгоритм, покликаний усунути критичні помилки алгоритму TEA. Розробниками шифру є Девід Уілер і Роджер Нідхем (факультет комп'ютерних наук Кембриджського університету). Алгоритм був представлений в невиданому технічному звіті в 1997 році. Шифр не патентований, широко використовується в ряді криптографічних додатків і широкому спектрі апаратного забезпечення завдяки вкрай низьким вимогам до пам'яті і простоті реалізації.
Як і TEA, шифр заснований на операціях з 64-бітним блоком, має 32 повних цикли, в кожному повному циклі за два раунди Мережі Фейстеля, що означає 64 раунди мережі Фейстеля. Проте, число раундів для досягнення кращої дифузії може бути збільшено на шкоду продуктивності. Крім того в XTEA, як і в TEA, використовується 128-бітний ключ, що складається з чотирьох 32-бітових слів , , , . У XTEA немає алгоритму планування ключів у звичному розумінні. Для того, щоб визначити який з чотирьох слів ключа використовувати в кожному раунді, в алгоритмі використовується константа . У TEA ж такого розподілу немає. Ще однією відмінністю від TEA є перестановка бітових операцій, що використовуються в шифрі. Завдяки цим поліпшень XTEA не зазнав сильних ускладнень в порівнянні з TEA, але в той же час ліквідував два основних недоліки алгоритму TEA:
Информация о работе Система автентифікації в інформаційній системі на базі протоколу Kerberos