- •Безпека даних
- •Вступ. Основні поняття безпеки. Конфіденційність, цілісність та доступність даних. Класифікація загроз. Сервіси та механізми захисту.
- •Основні поняття і визначення криптографічного захисту даних.
- •Порушення, механізми і служби захисту.
- •Традиційне шифрування. Модель традиційного шифрування. Криптографія і криптоаналіз. Класична техніка шифрування: підстановки і перестановки.
- •Потокові і блокові шифри. Дифузія і конфузія. Шифр Файстеля. Диференційний та лінійний крипто аналіз. Принципи побудови блокових шифрів
- •Стандарт шифрування даних (des). Критерії, що лежать в основі конструкції des. Алгоритми "Подвійний" та "Потрійний" des.
- •Режими роботи блочних шифрів. Проблема та схеми розподілу ключів симетричного шифрування.
- •1. Режим електронної шифрувальної книги
- •2. Режим зчеплення шифрованих блоків
- •3. Режим шифрованого зворотного зв'язку
- •Генерування випадкових чисел. Використання та джерела випадкових чисел. Генератори псевдовипадкових чисел.
- •Криптографія з відкритим ключем. Принципи побудови криптосистем з відкритим ключем.
- •Алгоритм rsa
- •Порівняння основних характеристик симетричних та асиметричних алгориммів
- •Управління ключами і схема Діффі–Хеллмана.
- •1. Публічне оголошення
- •2. Публічно доступний каталог
- •3. Авторитетне джерело відкритих ключів
- •4. Сертифікати відкритих ключів
- •1. Простий розподіл секретних ключів
- •2. Розподіл секретних ключів із забезпеченням конфіденційності і аутентифікації
- •3. Гібридна схема
- •Аутентифікація повідомлень і функції хешування. Вимоги та функції аутентифікації.
- •1.1. Шифрування повідомлення
- •1.1.1. Традиційне шифрування
- •Коди автентичності повідомлень та функції хешування.
- •1. Коди автентичності повідомлень
- •1.1. Необхідні властивості кодів автентичності повідомлень
- •1.2. Коди автентичності повідомлень на основі des
- •2. Функції хешування
- •2.1. Вимоги, що пред'являються до функції хешування
- •2.2. Прості функції хешування
- •2.3. Атаки, в основі яких лежить парадокс задачі про дні народження
- •3. Захист функцій хешування і кодів автентичності повідомлень
- •3.1. Атаки з перебором всіх варіантів
- •3.2. Функції хешування
- •Алгоритми хешування. Алгоритм hmac.
- •1.1. Цілі розробки нмас
- •1.2. Алгоритм нмас
- •1.3. Захищеність нмас
- •Цифрові підписи та протоколи аутентифікації. Вимоги до цифрового підпису. Стандарт цифрового підпису dss.
- •1. Цифрові підписи
- •1.1. Вимоги
- •1.2. Безпосередній цифровий підпис
- •1.3. Арбітражний цифровий підпис
- •Протоколи аутентифікації. Взаємна та одностороння аутентифікація. (прочитати уважно номери малюнків і т.Д.)
- •2. Підходи на основі традиційного шифрування
- •3. Підходи на основі шифрування з відкритим ключем
- •4. Одностороння аутентифікація
- •5. Підхід на основі традиційного шифрування
- •6. Підходи на основі шифрування з відкритим ключем
- •Програмна реалізація криптографічних алгоритмів. Використання криптографічних функцій Microsoft CryptoApi в прикладному пз. Поняття про безпечний цикл розробки пз (sdl).
- •1. Будова і можливості Crypto api
- •2. Криптопровайдери
- •3. Контейнери ключів
- •4. Алгоритми
- •5. Сертифікати
- •6. Базові функції
- •6.1. Шифрування
- •6.2. Експорт сесійних ключів
- •6.3. Імпорт сесійних ключів
- •6.4. Розшифрування
- •6.5. Хешування
- •6.6. Цифровий підпис
- •6.7. Перевірка цифрового підпису
- •Методи і засоби створення захищеного програмного забезпечення.
- •3. Класифікація вразливостей захисту
- •4. Огляд існуючих аналізаторів
- •Відношення Історія експонатів
- •Список літератури
Управління ключами і схема Діффі–Хеллмана.
Управління ключами
Вище ми розглянули проблему розподілу секретних ключів. Однією з головних сфер застосування схеми шифрування з відкритим ключем є вирішення проблеми розподілу ключів. Є дві абсолютно різні галузі використання шифрування з відкритим ключем в цій сфері:
розподіл відкритих ключів;
використання шифрування з відкритим ключем для розподілу секретних ключів.
Ми розглянемо кожну з цих областей використання даної схеми шифрування по порядку.
Розподіл відкритих ключів
Для розподілу відкритих ключів було запропоновано декілька заходів-фактично їх можна згрупувати в такі загальні класи:
публічне оголошення;
доступний каталог;
авторитетне джерело відкритих ключів;
сертифікати відкритих ключів.
1. Публічне оголошення
Однією з основних складових шифрування з відкритим ключем є те, що відкритий ключ є загальнодоступним. Таким чином, при наявності широко використовуваного алгоритму (наприклад, RSA) будь-яка бере участь в обміні даними сторона може надати свій відкритий ключ будь іншій стороні або передати ключ за коштами комунікацій для всіх взагалі (рис. 10.1). Наприклад, через зростаючу популярність PGP, в якій використовується RSA, багато користувачів PGP прийняли практику приєднання своїх відкритих ключів до повідомлень, які вони посилають у відкриті форуми, наприклад у групи новин USENET з списки розсилки Internet.
Цей підхід зручний, але він має одне слабке місце: таке публічне оголошення може написати хто завгодно. Це означає, що хтось може представитися користувачем А і послати відкритий ключ іншому користувачеві мережі або запропонувати такий відкритий ключ для загального користування. Поки користувач А відкриє підробку та попередить інших користувачів, фальсифікатор міг прочитати всі шифровані повідомлення, що прийшли за цей час для А, і зможе використовувати фальсифіковані ключі для аутентифікації (див. рис. 7.3).
Рис. 10.1. Неконтрольований розподіл відкритих ключів
2. Публічно доступний каталог
Більш високий ступінь захисту можна забезпечити за допомогою створення та обслуговування деякого публічно доступного динамічного каталогу відкритих ключів. За супроводження і розповсюдження публічного каталогу повинен відповідати певний надійний центр або надійна організація (див. рис. 10.2). Така схема повинна включати наступні елементи.
Уповноважений об'єкт підтримує каталог із записами виду {ім'я, відкритий ключ} для кожного з учасників.
Кожен учасник реєструє свій відкритий ключ за допомогою об'єкту, уповноваженого вести каталог. Така реєстрація повинна відбуватися або при особистій явці учасника, або за якимось чином захищених каналах комунікації.
Будь-який учасник може замінити існуючий ключ новим у будь-який момент або через те, що відкритий ключ вже був використаний для пересилання досить великого обсягу даних, або через те, що відповідний особистий ключ був якимось чином скомпрометований.
Періодично об'єкт, уповноважений вести каталог, публікує весь каталог або оновлення до нього. Наприклад, може публікуватися друкована версія каталогу зразок телефонної книги або друкуватися поновлення в загальнодоступній популярній газеті.
Учасники можуть також мати доступ до каталогу в його електронній версії. Для цього обов'язково потрібне канал зв'язку між учасниками обміну даними і об'єктом, уповноваженою вести каталог, який передбачає використання засобів аутентифікації.
Ця схема, очевидно, більш захищена, ніж індивідуальні публічні оголошення, але і вона вразлива. Якщо противнику вдасться отримати або обчислити особистий ключ об'єкта, уповноваженого вести каталог, супротивник зможе авторитетно видавати фальсифіковані відкриті ключі і, отже, виступати від імені будь-якого з учасників обміну даними і читати повідомлення, призначені будь-якому учаснику. Того ж результату противник може досягти за допомогою зміни записів, що зберігаються в каталозі.
Рис. 10.2. Публікація відкритих ключів
