- •Безпека даних
- •Вступ. Основні поняття безпеки. Конфіденційність, цілісність та доступність даних. Класифікація загроз. Сервіси та механізми захисту.
- •Основні поняття і визначення криптографічного захисту даних.
- •Порушення, механізми і служби захисту.
- •Традиційне шифрування. Модель традиційного шифрування. Криптографія і криптоаналіз. Класична техніка шифрування: підстановки і перестановки.
- •Потокові і блокові шифри. Дифузія і конфузія. Шифр Файстеля. Диференційний та лінійний крипто аналіз. Принципи побудови блокових шифрів
- •Стандарт шифрування даних (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. Огляд існуючих аналізаторів
- •Відношення Історія експонатів
- •Список літератури
4. Сертифікати відкритих ключів
Сценарій, показаний на рис. 10.3, привабливий, але і він має деякі недоліки. Авторитетне джерело відкритих ключів є вузьким місцем системи, оскільки користувач повинен апелювати до авторитетного джерела при необхідності отримати відкритий ключ для кожного нового адресата, з яким цей користувач має намір вести листування. Крім того, як і в попередньому випадку, каталог імен та відкритих ключів, підтримуваний авторитетним джерелом, залишається вразливим щодо втручання з непорядними намірами.
Альтернативний підхід, який запропонував Конфельдер (Kohnfelder) [KOHN78], заснований на сертифікатах, які можуть використовуватися учасниками для обміну ключами без контакту з авторитетним джерелом відкритих ключів і повинні забезпечувати спосіб обміну, такий же надійний, як спосіб отримання ключів безпосередньо від авторитетного джерела відкритих ключів. Кожен сертифікат містить відкритий ключ та іншу інформацію, створюється авторитетним джерелом сертифікатів і видається учаснику разом з відповідним особистим ключем. Один учасник передає інформацію про своєму ключі іншого за допомогою передачі свого сертифіката. Інші учасники можуть перевірити, що сертифікат був створений авторитетним джерелом. Можна сформулювати такі вимоги до цієї схеми.
Будь-який учасник повинен мати можливість прочитати сертифікат, щоб визначити ім'я і відкритий ключ власника сертифіката.
Будь-який учасник повинен мати можливість перевірити, що сертифікат виходить з авторитетного джерела сертифікатів і не є підробкою.
Тільки авторитетне джерело сертифікатів повинен мати можливість створювати і змінювати сертифікати.
Всі ці вимоги задовольнялися первісною схемою з [KOHN78]. Деннінг (Denning) додав до них наступне додаткова вимога [DENN83].
Будь-який учасник повинен мати можливість перевірити термін дії сертифіката.
Схема використання сертифікатів показана на рис. 10.4. Кожен учасник звертається до авторитетного джерела сертифікатів, надаючи відкритий ключ і запитуючи для нього сертифікат. Запит повинен припускати або особисте звернення, або деяку захищену форму зв'язку. Для учасника А авторитетне джерело забезпечує сертифікат виду
де KRauth позначає особистий ключ, використовуваний авторитетним джерелом. Тепер учасник А може переслати цей сертифікат якого іншого учасника, який прочитує і перевіряє сертифікат:
Рис.
10.4. Обмін сертифікатами відкритих ключів
Одержувач використовує відкритий ключ авторитетного джерела сертифікатів KUauth, щоб дешифрувати сертифікат. Зважаючи на те що сертифікат можна прочитати тільки за допомогою відкритого ключа авторитетного джерела сертифікатів, це дає гарантію того, що сертифікат прийшов саме від авторитетного джерела сертифікатів. Елементи IDA і KUa повідомляють одержувачу ім'я і відкритий ключ власника сертифіката. Нарешті, мітка дати / часу Т визначає термін дії сертифікату. Мітка дати / часу повинна бути захищена від наступної послідовності дій. Противник дізнається особистий ключ А. З цієї причини А генерує нову пару ключів (особистий і відкритий) і звертається до авторитетного джерела сертифікатів за новим сертифікатом. Тим часом противник відтворює повідомлення зі старим сертифікатом і відсилає його В. Якщо В буде шифрувати повідомлення, використовуючи старий скомпрометований відкритий ключ, супротивник зможе прочитати ці повідомлення.
У цьому сенсі компрометація особистого ключа порівнянна з втратою кредитної картки. Власник оголошує номер кредитної картки недійсним, але ситуація залишається потенційно ризикованою до тих пір, поки всі можливі системи не будуть поінформовані про те, що стара кредитна картка вже недійсна. Таким чином, мітка дати / часу є чимось на зразок дати закінчення терміну дії. Якщо сертифікат виявляється виданими досить давно, передбачається, що термін його дії закінчився.
Розподіл секретних ключів за допомогою системи з відкритим ключем
Після того як відкриті ключі були розподілені і стали доступними, стає реальною організація захищеного зв'язку, що не допускає можливості перехоплення (рис. 7.2) або спотворення повідомлень (рис. 7.3) або того й іншого разом (рис. 7.4). Однак деякі користувачі віддадуть перевагу використовувати шифрування з відкритим ключем тільки у виняткових випадках через те, що в умовах застосування шифрування швидкість передачі даних виявляється відносно повільної. Тому шифрування з відкритим ключем доводиться розглядати, скоріше, як засіб розподілу секретних ключів, використовуваних для традиційного шифрування.
