logo
ISTE

5.1.4. Принципи криптографічного захисту інформації

Криптографія представляє собою сукупність методів перетворення даних, направлених на те, щоб зробити ці дані незрозумілими для усіх крім респондента, якому адресуються дані.

Такі перетворення дозволяють розв’язати дві головні проблеми захисту даних [135]: проблему конфіденційності (шляхом усунення можливості отримання корисної інформації з каналу зв’язку) та проблему цілісності (шляхом усунення можливості змінювати повідомлення противником). Проблеми конфіденційності та цілісності інформації тісно зв’язані між собою, у зв’язку з чим методи розв’язання однієї з них часто можна застосовувати для розв’язання іншої.

Узагальнена схема криптографічної системи, що забезпечує шифрування інформації при її передачі по каналах зв’язку, наведена на рис. 5.1.

Рис. 5.1. Узагальнена схема криптосистеми

Відправник генерує відкритий текст вихідного повідомлення М, яке повинно бути передане законному отримувачу по незахищеному каналу. За каналом слідкує перехоплювач з метою перехопити та розкрити повідомлення. Для того, щоб перехоплювач не зміг розкрити зміст повідомлення М, відправник його шифрує за допомогою оборотного перетворення EК та отримує шифротекст (чи криптограму) C=EК(M), який відправляє отримувачу.

Законний отримувач, прийнявши шифротекст С, розшифровує його за допомогою оберненого перетворення D=EК-1 та отримує вихідне повідомлення у вигляді відкритого тексту М:

DК(C)=EК-1(EК(M))=M.

Перетворення EК вибирається із сімейства криптографічних перетворень, які називаються криптоалгоритмами. Параметр, за допомогою якого вибирається окреме використовуване перетворення, називається криптографічним ключем K. Краптосистеми мають різні варіанти реалізації: набір інструкцій, апаратні засоби, комплекс комп’ютерних програм, які дозволяють зашифрувати відкритий текст та розшифрувати шифротекст різними способами, один з яких вибирається за допомогою конкретного ключа К. Висловлюючись більш формально, криптографічна система – це одно параметричне сімейство оборотних перетворень

з простору повідомлень відкритого тексту в простіршифрованих текстів[Error: Reference source not found]. Параметр К (ключ) вибирається з кінцевої множини , яка називаєтьсяпростором ключів.

Взагалі кажучи, перетворення шифрування може бути симетричним чи асиметричним по відношенню до перетворення розшифровування. Ця важлива властивість функції перетворення визначає два класи криптосистем [136]:

Схема симетричної криптосистеми з одним секретним ключем була представлена на рис. 5.1. В ній використовуються однакові секретні ключі в блоках шифрування та розшифровування. Узагальнена схема асиметричної криптосистеми з двома різними ключами К1 та К2 представлена на рис. 5.2. В цій криптосистемі один із ключів є відкритим, а другий – секретним.

Рис. 5.2. Узагальнена схема асиметричної криптографії з відкритим ключем

У симетричній криптосистемі секретний ключ потрібно передавати відправнику та отримувачу по захищеному каналу розповсюдження ключів, наприклад такому, як кур’єрська служба. На рис. 5.1 цей канал показано „екранованою“ лінією. В асиметричній криптосистемі передають по незахищеному каналу тільки відкритий ключ, а секретний ключ зберігають на місці його генерації.

На рис. 5.3 показано потік інформації у криптосистемі у випадку активних дій перехоплювача. Активний перехоплювач не тільки зчитує усі шифротексти, що передаються по каналу, а також може спробувати змінити їх на свій розсуд.

Будь-яка спроба зі сторони перехоплювача розшифрувати шифротекст С для отримання відкритого тексту М чи зашифрувати свій власний текст М' для отримання правдоподібного шифротексту С', не маючи справжнього ключа, називається криптоаналітичною атакою. Якщо спроби криптоаналітичних атак не досягають поставленої мети і криптоаналітик не може, не маючи справжнього ключа, вивести М із С чи С' із М', то вважають, що така криптосистема є крипостійкою.

Рис. 5.3. Потік інформації в криптосистемі при активному перехопленні повідомлень

Криптоаналіз – це наука про розкриття вихідного тексту зашифрованого повідомлення без доступу до ключа.

Успішний аналіз може розкрити вихідний текст чи ключ. Він дозволяє також виявляти слабкі місця в криптосистемі, що, в підсумку, приводить до тих же результатів.

Фундаментальне правило криптоаналізу, вперше сформульоване голландцем А. Керкхоффом ще в XIX столітті, полягає в тому, що стійкість шифру (криптосистеми) повинна визначатися тільки секретністю ключа [Error: Reference source not found]. Іншими словами, правило Керкхоффа полягає в тому, що весь алгоритм шифрування, крім знання секретного ключа, відомий криптоаналітику противника. Останнє зумовлене тим, що криптосистема, яка реалізує сімейство криптографічних перетворень, зазвичай розглядається як відкрита система. Такий важливий принцип відображає надзвичайно важливий принцип технології захисту інформації: захищеність системи не повинна залежати від секретності чогось такого, що неможливо швидко змінити у випадку витоку секретної інформації. Зазвичай криптосистема являє собою сукупність апаратних та програмних засобів, які можна змінити тільки при значних затратах часу та коштів, тоді як ключ є об’єктом, який легко змінити. Саме тому стійкість криптосистеми визначаєься тільки секретністю ключа. Друге, майже загальноприйняте припущення в криптоаналізі полягає в тому, що криптоаналітик має в своєму розпорядженні шифротексти повідомлень.

Розрізняють шість основних типів криптоаналітичних атак [Error: Reference source not found]. Усі вони формулюються вважаючи, шо криптоаналітику відомий алгоритм шифрування та шифротексти повідомлень.

Криптоаналітична атака за наявності тільки відомого шифротексту. Криптоаналітик має тільки шифротексти С1, С2, … Сі кількох повідомлень, причому усі вони зашифровані з використанням одного і того ж алгоритму шифрування ЕК. Робота криптоаналітика полягає у тому, щоб розкрити вихідні тексти М1, М2, … Мі якомога більшої кількості повідомлень чи, ще краще, вирахувати ключ К, використаний для шифрування цих повідомлень з тим, щоб розшифрувати й інші повідомлення, зашифровані цим ключем.

Криптоаналітична атака при наявності відомого відкритого тексту. Криптоаналітик має доступ не тільки до шифротекстів С1, С2, … Сі кількох повідомлень, а й до відкритих текстів М1, М2, … Мі цих повідомлень. Його робота полягає у знаходженні ключа К, що використовується при шифруванні цих повідомлень, чи алгоритму розшифровування DK будь-яких нових повідомлень, зашифрованих тим же самим ключем.

Криптоаналітична атака при можливості вибору відкритого тексту. Криптоаналітик не тільки має доступ до шифротекстів С1, С2, … Сі та зв’язаних з ними відкритих текстів М1, М2, … Мі кількох повідомлень, а й може за бажанням вибрати відкриті тексти, які потім отримує у зашифрованому вигляді. Такий криптоаналіз є ефективнішим, порівняно з відомим відкритим текстом, тому, що криптоаналітик може вибрати для шифрування такі блоки відкритого тексту, які дадуть більше інформації про ключ. Робота криптоаналітика полягає у пошуку ключа К, використаного для шифрування повідомлень, чи алгоритму розшифровування DK нових повідомлень, зашифрованих тим же ключем.

Криптоаналітична атака з адаптивним вибором відкритого тексту. Це особливий варіант атаки з вибором відкритого тексту. Криптоаналітик може не тільки вибирати відкритий текст, який потім зашифровується, а й змінювати свій вибір залежно від результатів попереднього шифрування. При криптоаналізі з простим вибором відкритого тексту криптоаналітик зазвичай може вибрати кілька крупних блоків відкритого тексту для їх шифрування, тоді як при криптоаналізі з адаптивним вибором відкритого тексту він має можливість спочатку вибрати менший пробний блок відкритого тексту, потім вибрати наступний блок на основі першого вибору і т.д. Така атака надає криптоаналітику ще більше можливостей, порівняно з першими трьома типами.

Криптоаналітична атака з використанням вибраного шифротексту. Криптоаналітик може вибрати для розшифровування різні шифротексти С1, С2, … Сі та має доступ до розшифрованих відкритих текстів М1, М2, … Мі. Наприклад, криптоаналітик отримав доступ до захищеного від несанкціонованого доступу блоку, який виконує автоматичне розшифровування. Завдання криптоаналітика полягає в знаходженні ключа. Цей тип криптоаналізу представляє особливий інтерес для розкриття алгоритмів з відкритим ключем.

Криптоаналітична атака методом повного перебору усіх можливих ключів. Ця атака передбачає використання криптоаналітиком відомого шифротексту та здійснюється шляхом повного перебору усіх можливих ключів з перевіркою, чи є осмисленим відкритий текст. Такий підхід вимагає залучення надзвичайно потужних обчислювальних ресурсів і іноді називається силовою атакою.

Існують і інші, менш розповсюджені криптоаналітичні атаки.