- •Безпека даних
- •Вступ. Основні поняття безпеки. Конфіденційність, цілісність та доступність даних. Класифікація загроз. Сервіси та механізми захисту.
- •Основні поняття і визначення криптографічного захисту даних.
- •Порушення, механізми і служби захисту.
- •Традиційне шифрування. Модель традиційного шифрування. Криптографія і криптоаналіз. Класична техніка шифрування: підстановки і перестановки.
- •Потокові і блокові шифри. Дифузія і конфузія. Шифр Файстеля. Диференційний та лінійний крипто аналіз. Принципи побудови блокових шифрів
- •Стандарт шифрування даних (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 . У переважній більшості випадків оригінальний документ можна відрізнити від його копії . Але електронний документ - це просто послідовність бітів, тому між "оригіналом" і будь-якою з його копій немає ніякої відмінності взагалі.
2 . Зміна паперового документа залишає сліди фізичного впливу на цей документ. Наприклад, використання гумки робить папір в місці тертя більш тонким або менш гладким в порівнянні з іншими частинами листа. Зміна бітів в пам'яті комп'ютера або в потоці переданих даних не залишає ніяких фізичних слідів.
3 . Процес завірення фізичного документа виражається у фізичних характеристиках цього документа (наприклад, в індивідуальності почерку особи, яка підписала документ або в особливостях відбитка печатки нотаріуса ) . А будь-яке підтвердження автентичності електронного документа повинно базуватися на деякому внутрішньому доказі, вкладеному в саму одержувану інформацію.
У табл. 1.1 наведено список деяких традиційно виконуваних з паперовими документами операцій. Аналогічні дії потрібні і при роботі з електронними документами і повідомленнями. Цей список можна розглядати як список функцій, які бажано мати в будь-якій системі, яка забезпечує захист даних.
Таблиця 1.1 Деякі з функцій, що забезпечують загальну цілісність інформації
Ідентифікація |
Індосамент (підтвердження ) |
Авторизація |
Обмеження доступу |
Ліцензування та / або сертифікація |
Ратифікація |
Підпис |
Вказання часу появи |
Засвідчення (нотаріальне завірення ) |
Аутентифікація |
Узгодження |
Затвердження |
Відповідальність |
Зазначення авторства |
Підтвердження отримання |
Реєстрація |
Сертифікація походження та / або отримання |
Схвалення / несхвалення |
|
Конфіденційність ( таємність ) |
Перелік функцій, наведений у табл. 1.1, занадто довгий і навряд чи може служити основою для створення будь-якої реальної системи безпечності . Насправді дослідні та проектні роботи в області захисту комп'ютерних систем і мереж зазвичай обмежуються розробкою невеликого числа основних засобів захисту, що забезпечують різні функції, необхідні для створення досить надійної системи, а саме:
Конфіденційність – Гарантія доступу до інформації, яка зберігається в системі або пересилається по каналах зв’язку тільки тим суб’єктам, які мають на це право.
Аутентифікація – гарантія надійної ідентифікації джерела повідомлення/документу.
Цілісність – гарантія можливості модифікації інформації, яка зберігається в системі або пересилається по каналах зв’язку тільки тим суб’єктам, які мають на це право.
Неможливість відмови – Забезпечення неможливості відмови від факту передачі, як для адресата, так і для відправника.
Управління доступом – Забезпечення можливості обмежити і контролювати доступ до систем і прикладних програм по комунікаційним лініям.
Доступність – Забезпечення можливості авторизованим суб’єктам можливості доступу до інформації, яка зберігається в системі.
Механізми захисту
Не існує єдиного механізму, який міг би надати в наше розпорядження всі можливі засоби або виконувати всі функції, наведені в табл. 1.1 . На практиці використовується безліч механізмів захисту. Зараз необхідно лише підкреслити, що в основі більшості таких механізмів лежать методи криптографії. Шифрування або близьке до шифрування перетворення інформації є найбільш поширеними методами захисту даних.
Спроби порушення захисту комп'ютерної системи або мережі можна класифікувати, розглянувши функції комп'ютерної системи як об'єкта, який надає інформацію. У загальному випадку ми маємо справу з потоком інформації від деякого джерела (наприклад, з файлу або області пам'яті) в напрямку адресата інформації (наприклад, в інший файл або безпосередньо користувачеві) . Нормальний потік інформації схематично зображено на рис. 1.1, а . Інші частини рис. 1.1 ілюструють такі чотири типи атак ( порушень нормального потоку інформації).
Роз'єднання. Ресурс системи знищується, стає недоступним або непридатним до використання. При цьому порушується доступність інформації . Прикладами такого типу порушень можуть служити виведення з ладу обладнання (наприклад, жорсткого диска), обрив лінії зв'язку або руйнування системи управління файлами.
Перехоплення . До ресурсу відкривається несанкціонований доступ. При цьому порушується конфіденційність інформації. Отримавшим несанкціонований доступ порушником може бути фізична особа, програма або комп'ютер. Прикладами такого типу порушень є підключення до кабелю зв'язку з метою перехоплення даних і незаконне копіювання файлів або програм.
Рис . 1.1 . загрози безпеки
Модифікація. До ресурсу не тільки відкривається несанкціонований доступ, а й сам ресурс змінюється порушником. При цьому порушується цілісність інформації. Прикладами такого типу порушень є зміна значень у файлі даних, модифікація програми з метою зміни її функцій і характеристик, зміна вмісту переданого по мережі повідомлення та ін..
Фальсифікація . У систему вноситься підроблений об'єкт . При цьому порушується автентичність інформації. Прикладами такого типу порушень можуть служити відправка підроблених повідомлень по мережі або додавання записів у файл.
Крім того, заслуговує на увагу класифікація порушень у термінах пасивних і активних атак ( рис. 1.2) .
Рис . 1.2 . Активні і пасивні загрози безпеки мережі
Пасивні порушення захисту (пасивні атаки) носять характер перехоплення, або моніторингу переданих даних. Метою порушника в цьому випадку є отримання переданої інформації. Пасивні порушення можна умовно розділити на дві групи : розкриття вмісту повідомлень і аналіз потоку даних. Що таке розкриття вмісту повідомлень, пояснювати не потрібно . Телефонна розмова, повідомлення електронної пошти або пересланий файл можуть містити важливу або конфіденційну інформацію. Було б бажано, щоб з переданою інформацією не могли ознайомитися ті, кому ця інформація не призначена.
Другий тип пасивних порушень - аналіз потоку даних - більш витончений . Припустимо, що ми використовуємо такий спосіб маскування вмісту повідомлень або інших переданих даних, при якому порушник, навіть отримавши повідомлення в своє розпорядження, не має можливості витягти вміщену в повідомленні інформацію. Найчастіше для маскування вмісту застосовується шифрування . Але навіть якщо вміст цілком надійно приховано шифруванням, у порушника залишається можливість спостерігати характерні ознаки переданих повідомлень. Наприклад, можна виявити і ідентифікувати відправника і використовувані для відправки повідомлень вузли, з'ясувати частоту обміну повідомленнями та їх довжину. Така інформація може виявитися досить корисною при спробах визначити причини і суть спостережуваного обміну даними.
Пасивні порушення захисту виявити дуже важко, оскільки вони не припускають будь-яких змін даних. Але порушенням такого типу цілком реально запобігти. Тому в разі пасивних порушень захисту необхідно зосередитися на їх попередженні, а не виявленні .
Активні порушення
Другим типом порушень захисту є активні порушення ( активні атаки) . Ці порушення пов'язані або зі зміною потоку даних, або зі створенням фальшивих потоків і можуть бути розділені на чотири групи: імітація, відтворення, модифікація повідомлень і перешкоди в обслуговуванні.
Імітація означає спробу одного об'єкта видати себе за інший. Зазвичай імітація виконується разом зі спробою активного порушення якого-небудь іншого типу. Наприклад, перехопивши потік даних аутентифікації, якими обмінюються системи, порушник може потім відтворити реальну послідовність повідомлень аутентифікації, що дозволяє об'єкту з обмеженими повноваженнями розширити свої повноваження, імітувавши об'єкт з більш широкими повноваженнями.
Відтворення являє собою пасивне перехоплення блоку даних і подальшу ретрансляцію перехоплених даних з метою отримання несанкціонованого ефекту .
Модифікація повідомлень означає або зміну частини легітимного повідомлення, або його затримку, або зміну порядку надходження повідомлень з метою отримання несанкціонованого ефекту . Наприклад, повідомлення " Дозволити доступ до секретного файлу Бюджет Івану Іванову " можна перетворити до виду " Дозволити доступ до секретного файлу Бюджет Петру Петрову " .
Перешкоди в обслуговуванні (блокування сервісу) створюють перешкоди в нормальному функціонуванні засобів зв'язку або управлінні ними . Такі порушення можуть мати цілком конкретну мету : наприклад, об'єкт може затримувати всі повідомлення, спрямовані до певного адресата. Іншим прикладом є блокування роботи всієї мережі шляхом або виведення мережі з ладу, або навмисного її перевантаження інтенсивним потоком повідомлень, помітно знижує продуктивність.
Активні порушення захисту мають характеристики, протилежні характеристикам пасивних порушень. Якщо пасивні порушення важко виявити, але існують методи, що дозволяють їм запобігти, то активним порушенням повністю запобігти дуже складно, оскільки це можна здійснити тільки безперервним фізичним захистом всіх засобів зв'язку. Тому в разі активних порушень захисту основною метою має бути оперативне їх виявлення і швидке відновлення нормальної працездатності системи, яка після таких порушень може працювати повільніше чи не працювати взагалі . У той же час, оскільки своєчасне виявлення порушень, як правило, грає для порушника роль стримуючого фактора, воно теж може розглядатися як частина системи попередження порушень.
Сервіси безпеки
Основними сервісами безпеки є наступні:
Конфіденційність – запобігання пасивним атакам стосовно даних, що передаються чи зберігаються.
Аутентифікація – підтвердження того, що інформація отримана із законного джерела, і одержувач дійсно є тим, за кого себе видає. У разі передачі єдиного повідомлення аутентифікація повинна гарантувати, що одержувачем повідомлення є саме той, хто треба, і повідомлення отримано із заявленого джерела. У разі встановлення з'єднання мають місце два аспекти. По-перше, при ініціалізації з'єднання сервіс повинен гарантувати, що обидва учасники є тими що необхідно. По-друге, сервіс повинен гарантувати, що на з'єднання не впливають таким чином, що третя сторона зможе маскуватися під одну з легальних сторін вже після встановлення з'єднання.
Цілісність – сервіс, що гарантує те, що інформація при зберіганні або передачі не змінилася. Може застосовуватися до потоку повідомлень, єдиного повідомлення або окремих полів в повідомленні, а також до файлів, що зберігаються, і окремих записів файлів.
Неможливість відмови – неможливість, як для адресата, так і для відправника, відмовитися від факту передачі. Таким чином, коли повідомлення відправлене, одержувач може переконатися, що це зробив легальний відправник. Аналогічно, коли повідомлення прийшло, відправник може переконатися, що воно отримане легальним адресатом.
Контроль доступу – можливість обмежити і контролювати доступ до систем і прикладних програм по комунікаційним лініям.
Доступність – результатом атак може бути втрата або зниження доступності тієї або іншої служби. Даний сервіс призначений для того, щоб мінімізувати можливість здійснення DDoS-атак.
