- •Безпека даних
- •Вступ. Основні поняття безпеки. Конфіденційність, цілісність та доступність даних. Класифікація загроз. Сервіси та механізми захисту.
- •Основні поняття і визначення криптографічного захисту даних.
- •Порушення, механізми і служби захисту.
- •Традиційне шифрування. Модель традиційного шифрування. Криптографія і криптоаналіз. Класична техніка шифрування: підстановки і перестановки.
- •Потокові і блокові шифри. Дифузія і конфузія. Шифр Файстеля. Диференційний та лінійний крипто аналіз. Принципи побудови блокових шифрів
- •Стандарт шифрування даних (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. Одностороння аутентифікація
Одним з додатків, для яких популярність використання шифрування постійно зростає, є електронна пошта. Сама природа електронної пошти та її головна перевага полягає в тому, що для відправника і одержувача повідомлень зовсім не потрібно бути в мережі одночасно. Повідомлення електронної пошти направляється в електронну поштову скриньку адресата, де воно буде зберігатися до тих пір, поки у одержувача не з'явиться можливість прочитати його.
"Конверт", або заголовок повідомлення електронної пошти, повинен залишатися в незашифрованому вигляді, щоб повідомлення могло бути оброблено протоколом передачі з проміжним зберіганням електронної пошти, наприклад протоколом SMTP (Simple Mail Transfer Protocol - простий протокол передачі пошти) або Х.400. Однак у багатьох ситуаціях бажано, щоб протокол обробки пошти не вимагав доступу до повідомлення у вигляді відкритого тексту, оскільки при цьому необхідно забезпечити довіру до механізму обробки пошти. Відповідно, повідомлення електронної пошти повинні шифруватися так, щоб у системи обробки пошти не було необхідності мати ключ дешифрування.
Другою вимогою є вимога аутентифікації. Зазвичай одержувач прагне отримати деякі гарантії того, що повідомлення прийшло із зазначеного джерела.
5. Підхід на основі традиційного шифрування
При традиційному шифруванні сценарій децентралізованого розподілу ключів, показаний на рис. 5.11, виявляється непрактичним. Відповідна схема вимагає, щоб відправник вислав запит передбачуваному адресату, дочекався відповіді, яка включатиме сеансовий ключ, і тільки потім посилав повідомлення.
З деякими уточненнями стратегія використання ЦРК, показана на рис. 5.9 (див. главу 5), цілком може підійти як схеми шифрованого обміну електронною поштою. Зважаючи прагнення уникнути необхідності інтерактивного режиму для одержувача В в той час, коли відправник А посилає йому повідомлення, кроки 4 і 5 слід виключити. Для повідомлення М послідовність необхідних кроків буде мати наступний вигляд.
Цей підхід гарантує, що тільки передбачуваний одержувач повідомлення зможе прочитати його. Забезпечується також деяка ступінь гарантії, що відправником є А. Протокол не захищає від можливості відтворення повідомлень. Певною мірою захист від цього могла б бути забезпечена за допомогою включення в повідомлення мітки дати / часу. Однак через потенційно можливі затримки в процесі передачі електронної пошти користь від таких міток дати / часу виявляється досить умовною.
6. Підходи на основі шифрування з відкритим ключем
Ми вже представляли підходи на основі шифрування з відкритим ключем, які непогано зарекомендували себе стосовно до передачі електронної пошти, включаючи підхід, при якому передбачається безпосереднє шифрування всього повного повідомлення з метою забезпечення конфіденційності (див. рис. 11.1 (б) у главі 11), аутентифікації (див. рис. 11.1 (B)) або обох цих завдань (див. рис. 11.1 (г)). При такому підході потрібно або щоб відправник знав відкритий ключ одержувача (конфіденційність), або щоб одержувач знав відкритий ключ відправника (аутентифікація), або щоб було виконано і те, і інше (конфіденційність плюс аутентифікація). Крім того, необхідно одноразове або дворазове застосування алгоритму шифрування з відкритим ключем до повідомлення, яке може виявитися досить довгим.
Якщо головним завданням є конфіденційність, то найбільш ефективною може бути наступна процедура:
У цьому випадку повідомлення шифрується одноразовим секретним ключем. Сторона А також шифрує одноразовий ключ відкритим ключем сторони В. Тільки В зможе використовувати відповідний особистий ключ, щоб відновити значення одноразового ключа, а потім застосувати цей ключ для дешифрування повідомлення. Ця схема більш ефективна, ніж просте шифрування всього повідомлення відкритим ключем сторони В.
Якщо головним завданням є аутентифікація, то може виявитися цілком достатньо цифрового підпису, як це було показано на рис. 8.5 (B):
Описаний метод гарантує, що сторона А не зможе згодом відмовитися від факту відправки повідомлення. Однак цей метод не страхує від інших видів обману. Наприклад, Боб компонує повідомлення своєму босові Елісу, що містить ідею, яка дозволить заощадити гроші компанії. Він додає до повідомлення свій цифровий підпис і посилає це повідомлення по електронній пошті. В результаті повідомлення доставляється в поштову скриньку Еліса. Але припустимо, що про ідею Боба прочув Макс, який має доступ до черги поштових повідомлень, куди останні потрапляють перед доставкою. Макс знаходить повідомлення Боба, прибирає його підпис, ставить свій і знову поміщає повідомлення в чергу на доставку Елісу. Макс отримує винагороду за ідею Боба.
Щоб протидіяти такій схемі, як повідомлення, так і підпис до нього можна зашифрувати відкритим ключем адресата
Останні дві схеми вимагають, щоб відкритий ключ користувача А був відомий користувачеві В і щоб цей параметр не був простроченим. Ефективним способом забезпечення такої гарантії є цифрове посвідчення, описане в главі 6. Тепер ми маємо
На додаток до повідомлення сторона А посилає стороні В підпис, шифрований особистим ключем А, і сертифікат А, шифрований особистим ключем сервера аутентифікації. Отримувач повідомлення спочатку використовує сертифікат, щоб отримати відкритий ключ відправника і перевірити автентичність джерела, а потім - відкритий ключ, щоб перевірити саме повідомлення. Якщо потрібна конфіденційність, то все повідомлення можна зашифрувати за допомогою відкритого ключа сторони В. Іншим варіантом є шифрування всього повідомлення за допомогою одноразового секретного ключа. При цьому секретний ключ теж повинен пересилатися, але у вигляді, зашифрованому з використанням відкритого ключа В. Цей підхід досліджується в главі 12.
