- •Безпека даних
- •Вступ. Основні поняття безпеки. Конфіденційність, цілісність та доступність даних. Класифікація загроз. Сервіси та механізми захисту.
- •Основні поняття і визначення криптографічного захисту даних.
- •Порушення, механізми і служби захисту.
- •Традиційне шифрування. Модель традиційного шифрування. Криптографія і криптоаналіз. Класична техніка шифрування: підстановки і перестановки.
- •Потокові і блокові шифри. Дифузія і конфузія. Шифр Файстеля. Диференційний та лінійний крипто аналіз. Принципи побудови блокових шифрів
- •Стандарт шифрування даних (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.3. Захищеність нмас
Захищеність будь-якого алгоритму обчислення MAC, заснованого на використанні функцій хешування, багато в чому залежить від криптографічної захищеності вбудованої функції хешування. Привабливість НМАС полягає в тому, що розробники змогли явно вказати характер залежності стійкості НМАС від захищеності вбудовуваної функції хешування.
Захищеність функції обчислення MAC загалом виражається в термінах ймовірності успіху фальсифікації повідомлення в рамках заданого часу, витраченого противником, і заданого набору пар "повідомлення-МАС", створюваних з одним і тим же ключем. В [BELL96a], по суті, доведено, що для заданого рівня зусиль (часу, пари "повідомлення-МАС") ймовірність успішного завершення атаки на НМАС відповідає ймовірності успіху одної з наступних атак на вбудовану функцію хешування.
1. Обчислення виходу функції стиснення при випадковому, секретному і невідомому противнику значенні IV.
2. Виявлення колізій функції хешування при випадковому і секретному значенні IV.
Для атаки першого типу функцію стиснення можна розглядати як еквівалент функції хешування, застосовуваної до повідомлення, що складається з одного b-бітового блоку. У даному випадку значення IV у функції хешування замінюється секретним випадковим n-бітовим значенням. Для атаки на таку функцію хешування потрібно або перебір всіх ключів, рівень зусиль для якого має порядок 2n, або підхід, в основі якого лежить парадокс завдання про дні народження, що є окремим випадком атаки другого типу, описаної нижче.
При атаці другого типу противник шукає два повідомлення М і М', що породжують однакові хеш-коди: Н (М) = Н (М'). Це атака, організована на основі парадоксу завдання про дні народження, мова про яку йшла в розділі 8. Як було показано, для неї потрібні зусилля порядку 2n/2 при n-бітової довжині хеш-коду. На основі цієї оцінки захищеність MD5 викликає побоювання, оскільки зусилля порядку 264 виглядають цілком реальними з точки зору сучасних технологій. Чи означає це, що 128-бітова функція хешування типу MD5 буде невідповідною для використання в НМАС? Відповідь на це питання буде негативним з наступної причини. Щоб атакувати MD5, противник може вибрати будь-який набір повідомлень і працювати з ними в автономному режимі з будь-якими наявними в його розпорядженні обчислювальними засобами, щоб виявити колізію. Противник знає алгоритм хешування і значення IV за замовчуванням, тому має можливість обчислити хеш-коди для будь-якого згенерованого їм повідомлення.Але при атаці на НМАС противник не має можливість генерувати пари повідомлення-код в автономному режимі, оскільки йому невідомо значення К. Таким чином, противнику доведеться Спостерігати послідовність повідомлень, що генеруються алгоритмом НМАС з одним ключем, і працювати тільки з цими відомими йому повідомленнями. При довжині хеш-коду в 128 бітів буде потрібно 264 блоків повідомлень (27З бітів), згенерованих з одним і тим же ключем. При швидкості зв'язку в 1 Гбайт / с для успішного завершення такої атаки доведеться спостерігати безперервний потік повідомлень з незмінним ключем на протязі близько 250000 років. Таким чином, якщо враховувати час, у ролі вбудованої функції хешування для НМАС навіть краще використовувати MD5, а не SHA-1 або RIPEMD-160.
