Автор работы: Пользователь скрыл имя, 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
Асиметричні криптографічні системи були розроблені в 1970-х рр.. Принципова відмінність асиметричної криптосистеми від криптосистеми симетричного шифрування полягає в тому, що для шифрування інформації та її подальшого розшифрування використовуються різні ключі:
відкритий ключ використовується для шифрування інформації, обчислюється з секретного ключа ;
секретний ключ використовується для розшифрування інформації, зашифрованою за допомогою парного йому відкритого ключа .
Ці ключі розрізняються таким чином, що за допомогою обчислень не можна вивести секретний ключ з відкритого ключа . Тому відкритий ключ може вільно передаватися по каналах зв'язку.
Асиметричні системи називають також двох ключові криптографічні системи, або криптосистемами з відкритим ключем.
Узагальнена схема асиметричної криптосистеми шифрування з відкритим ключем показана на рисунку 1.3
Рисунок 1.3 - Схема асиметричної криптосистеми шифрування з відкритим ключем
Для криптографічного закриття і подальшого розшифрування переданої інформації використовуються відкритий і секретний ключі одержувача У повідомленні.
В якості ключа зашифровування повинен
використовуватися відкритий
Секретний і відкритий ключі генеруються попарно. Секретний ключ повинен залишатися у його власника і бути надійно захищений від НСД (аналогічно ключу шифрування в симетричних алгоритмах). Копія відкритого ключа повинна знаходитися у кожного абонента криптографічного мережі, з яким обмінюється інформацією власник секретного ключа.
Процес передачі зашифрованої інформації в асиметричній криптосистемі здійснюється наступним чином.
Підготовчий етап:
В даний час найбільш
розвиненим методом криптографічного
захисту інформації з відомим
ключем є RSA, названий так по початковими
літерами прізвищ її винахідників (Rivest,
Shamir і Adleman) і представляє собою криптосист
Крипостійкість алгоритму RSA ґрунтується на припущенні, що винятково важко визначити секретний ключ за відомим, оскільки для цього необхідно вирішити завдання про існування дільників цілого числа. Дане завдання є - повною і, як наслідок цього факту, не допускає в даний час ефективного (поліноміального) рішення. Більше того, саме питання існування ефективних алгоритмів рішення - повних задач є до теперішнього часу відкритим. У зв'язку з цим для чисел, що складаються з 200 цифр, традиційні методи вимагають виконання величезного числа операцій (близько 1023 ). Час виконання найкращих з відомих алгоритмів розкладання при на сьогоднішній день виходить за межі сучасних технологічних можливостей.
Існує варіант криптосистеми RSA, в якій замість функції Ейлера використовується функція Кармайкла , де - найменше ціле , таке що для будь-якого цілого , взаємно простого з , виконується . Якщо вибирається так, як описано вище, то .
DSA (Digital Signature Algorithm) - алгоритм
з використанням відкритого
Алгоритм був запропонований Національним інститутом стандартів і технологій (США) у серпні 1991 і є запатентованим US Patent 5231668, але НІСТ зробив цей патент доступним для використання без ліцензійних відрахувань. Алгоритм разом з криптографічного хеш-функцією SHA-1 є частиною DSS (Digital Signature Standard), вперше опублікованого в 1994р. Пізніше були опубліковані 2 оновлені версії стандарту: FIPS 186-2 (27 січня 2000 року) і FIPS 186-3 (червень 2009).
Для підписування повідомлень необхідна пара ключів - відкритий і закритий. При цьому закритий ключ має бути відомий тільки тому, хто підписує повідомлення, а відкритий - будь-якому охочому перевірити достовірність повідомлення. Також загальнодоступними є параметри самого алгоритму. Для забезпечення такого доступу достатньо авторитетна організація (або кілька організацій) підтримує базу відповідності між реальними реквізитами автора (це може бути як приватна особа, так і організація) і відкритими ключами, а також всіма необхідними параметрами схеми цифрового підпису (використовувана хеш-функція). Ця організація також видає цифрові сертифікати.
Схема Ель-Гамаля (Elgamal) -
криптосистема з відкритим
Схема була запропонована
Тахер Ель-Гамалем в 1984 році. Ель-Гамаль
удосконалив систему Діффі-
Шифр система Ель-Гамаля є фактично одним із способів вироблення відкритих ключів Діффі - Хеллмана. Шифрування за схемою Ель-Гамаля не слід плутати з алгоритмом цифрового підпису за схемою Ель-Гамаля.
Криптосистема Rabin - криптографічний алгоритм з відкритим ключем. Її безпеку, як і у RSA, пов'язана з труднощами розкладання на множники.
Безпека схеми Rabin спирається на складність пошуку квадратних коренів по модулю складеного числа.
Головною незручністю практичного застосування криптосистеми Rabin є те, що при розшифровці тексту виходить чотири різних повідомлення. І потрібно застосувати додаткові зусилля для знаходження істинного вихідного тексту.
Як будь-яка асиметрична криптосистема, система Rabin використовує і відкритий і закритий ключі.
McEliece - криптосистема з відкритими ключами на основі теорії алгебраїчного кодування, розроблена в 1978 році Робертом Мак-Елісом. Цей алгоритм використовує існування певного класу виправляють помилки кодів, які називаються кодами Гоппе (Goppa). Він пропонував створити код Гоппе і замаскувати його як звичайний лінійний код.
В даному розділі було розглянуто види криптографічних систем. На даний момент існує багато алгоритмів як симетричної так і асиметричної криптографії. З цього розділу видно що криптологія є дуже актуальною темою і широко використовується в різних сферах діяльності.
РОЗДІЛ 2. АВТЕНТИФІКАЦІЯ ПО ПРОТОКОЛУ KERBEROS
Протокол Kerberos був створений в Массачусетському технологічному інституті в рамках проекту Athena. Однак загальнодоступним цей протокол став лише після появи версії 4. Після того, як фахівці галузі вивчили новий протокол, його автори розробили і запропонували користувачам чергову версію - Kerberos 5, яка і була прийнята в якості стандарту IETF.
Протокол автентифікації Kerberos пропонує механізм взаємної ідентифікації клієнту та сервера (або двох серверів) перед встановлення зв’язку між ними.
Kerberos представляє собою
набір методів ідентифікації
і перевірки істинності
Протокол призначений для автентифікації суб'єкта об'єктом (і навпаки), наприклад сервера клієнтом, у разі коли середовище передачі даних відкрита, а об'єкт спочатку нічого не знає про суб'єкта і не має з ним спільної таємниці, але обидва (і суб'єкт, і об'єкт) попередньо ідентифіковані третьою стороною - довіреною сервером і мають з ним спільні секрети (ніколи не передаються по мережі). Вимога наявності такого секрету і визначає схему захисту протоколу - симетричними криптографічними алгоритмами (DES). Відповідно до прийнятої термінології суб'єкт і об'єкт називаються принципалами (англ. principals), а довірений сервер називають центром розподілу ключів - ЦРК (англ. Key Distribution Center - KDС).
Протокол Kerberos активно використовує технології автентифікації, що спираються на «секрети для двох». Основна концепція досить проста: якщо є секрет, відомий тільки двом, будь-який з його зберігачів може легко пересвідчитися, що має справу саме зі своїм напарником. Для цього йому достатньо будь-яким способом перевірити, чи знає співрозмовник їх загальний секрет.
Розглянемо це на простому прикладі. Припустимо, Олена часто посилає повідомлення Сергію, який використовує цю інформацію тільки тоді, коли повністю впевнений, що вона надійшла саме від Олени. Щоб ніхто інший не зміг підробити листи, вони домовилися про пароль, який пообіцяли нікому більше не говорити. Якщо з повідомлення можна буде зробити висновок, що відправник знає цей пароль, Сергій може точно сказати: воно прийшло від Олени.
Тепер Сергію і Олені залишається тільки вирішити, яким чином показати своє знання пароля. Можна, скажімо, просто включити його в текст повідомлення, наприклад, після підпису: «Olena, Our $ ecret». Це було б дуже просто, зручно і надійно, якщо б Олена і Сергій були впевнені, що ніхто інший не читає їх повідомлень. Однак пошта передається по мережі, де працюють і інші користувачі, а серед них є Керол, яка дуже любить підключати до мережі свій аналізатор пакетів в надії вивідати чиї не будь секрети. І стає абсолютно ясно, що Олена не може просто назвати пароль в тексті листа. Щоб секрет залишався секретом, про нього не можна говорити відкрито, потрібно знайти спосіб тільки дати знати співрозмовнику, що він тобі відомий.
У протоколі Kerberos ця проблема вирішується засобами криптографії з секретним ключем. Замість того щоб повідомляти один одному пароль, учасники сеансу обмінюються криптографічним ключем, знання якої підтверджує особистість співрозмовника. Один з учасників використовує такий ключ для шифрування блоку інформації, а інший для його розшифрування.
Протокол Kerberos вигідно відрізняється від NTLM більшою гнучкістю та ефективністю використання. Забезпечує він і підвищений рівень безпеки. Ряд переваг, які дає перехід на Kerberos, наводиться нижче.
Информация о работе Система автентифікації в інформаційній системі на базі протоколу Kerberos