Лекція 1. Базові криптографічні протоколи
Теорія криптографічних протоколів – порівняно молода наукова дисципліна. Її становлення відбувалось у 80-х рр. ХХ ст. Методологічною основою цієї галузі знань є відкриття у сфері асиметричної криптографії (У. Діффі, М. Хелман, 1976). Поява і розвиток асиметричної криптографії пов’язані з тими галузями людської діяльності, де може існувати недовіра між людьми, потенційна можливість взаємного обману. Це комерційні, юридичні, фінансові, нотаріальні стосунки тощо.
Закономірності організації складних криптосистем
У 1976 р. опублікована робота американських математиків Уїтфілда Діффі та Мпртіна Хеллмана «Нові напрями у криптографії». З неї почався розвиток асиметричних криптосистем (двохключових). Інша їх назва – криптосистеми з відкритим ключем. Теоретичною основою цього розділу криптографії стала математична теорія складності. Перші асиметричні криптосистеми на базі односпрямованої функції RSA з’явились у 1979 р. У 1984 р. Goldwasser та Micali сформулювали визначення, що подає теоретико-складнісний аналог цілковитої секретності. У 1989 р. Goldwasser, Micali та Rackoff узагальнили теоретико-складнісний підхід на криптографічні протоколи.
Згідно із сучасним визначенням, криптографія – наука про методи створення та аналізу алгоритмічного забезпечення інформаційних систем, стійких до навмисних (а, отже, і випадкових) спроб відхилення системи від належного функціонального призначення.
У сучасній криптографії є два напрями – класична і доказова (редукціоністська). Вони мають методологічно різні підходи до розв’язання залач.
У класичній криптографії задача розв’язується у такому порядку:
-
Формулюється криптографічна проблема (задача), яка потребує розв’язання;
-
Криптографи знаходять розв’язання;
-
Криптоаналітики шукають атаку на запропоноване рішення – піддають алгоритм криптоаналізу;
-
Коли атаку знаходять, якщо вона демонструє слабкість алгоримта, переходять до п.2;
-
Запропоноване рішення реалізується.
Доказова (редукціоністська) криптографія – популярний на сьогодні підхід до розв’язання задач у криптографічній науці, грунтується на тезі про існування обчислювально складних задач та односпрямованих функції. Порядок розв’язання задач у цій методології такий:
-
Формулюється криптографічна проблема (задача), яка потребує розв’язання; для складних задач може потребуватись побудова спеціальної математичної моделі, яка спростить перехід до наступного кроку;
-
Дається формальне, математичне визначення проблеми;
-
Конструюється алгоритм (протокол, схема тощо);
-
Приймається теоретико-складнісна теза про наявність певної обчислювально-нерозв’язної задачі;
-
Доводиться, що алгоритм (протокол, схема тощо) відповідає своєму визначенню;
-
Запропоноване рішення реалізується.
На відміну від класичного доказовий підхід дозволяє отримати формалізовані, а не емпіричні докази стійкості криптографічних конструкцій.
Центральний принцип будь-якої криптосистеми, незалежно від використаної методології її конструювання, - використання асиметрії. Асиметрія полягає у тому, що законний учасник криптосистеми має певну інформацію, яка дозволяє виконувати йому визначені дії; зловмисник цієї інформації не має, і таким чином для нього створюються обчислювальні перешкоди.
У криптографії відомі три принципово різні методи реалізації асиметрії:
-
Використання криптографічних ключів;
-
Канал, більш надійний для законного користувача, ніж для зловмисника (теоретико-інформаційні моделі);
-
Потужніші обчислювальні ресурси, ніж у зловмисника.
Другий випадок складно реалізувати, а третій малоймовірний, тому основним методом є використання криптографічних ключів.
Предмет вивчення криптографії можна подати у вигляді багаторівневої системи (рис. 1.1).
Криптографічні примітиви – це відображення нижнього рівня, вони мають корисні для криптографії властивості. Самі вони не становлять практичного інтересу та не дають жодних готових рішень задач. Типи криптографічних примітивів:
-
Перемішувальні чи інженерні (confusion/diffusion primrtives), наприклад петля Фейстеля, лінійний регістр зсуву із зворотним зв’язком, SP-мережі;
-
Алгебраїчні та комбінаторні примітиви, наприклад функція дискретного логарифма, функція RSA та ін.
Криптографічні функції («будівельні блоки» криптосистем) – це локальні алгоритми, які можуть давати результати, що становлять інтерес для криптографії. Вони вже становлять інтерес у доказовому підході; якщо функція вважається безпечною, наприклад RIJNDAEL, то будь-який спосіб шифрування з використанням RIJNDAEL також вважається безпечним (за умови коректної конструкції криптосистеми).
Всі криптографічні функції можна поділити на три класи:
-
Безключові: генератори випадкових послідовностей, безключові хеш-функції, псевдовипадкові перестановки;
-
Одноключові: блокові і потокові шифри, хеш-функції з ключем, псевдовипадкові послідовності;
-
Двоключові: алгоритми шифрування з відкритим ключем, алгоритми цифрового підпису.
Криптографічні протоколи – це розподілені алгоритми, які можуть вирішувати деякі корисні для практики задачі. Вони будуть детально розглянуті у наступній лекції.
«Будівельні блоки» криптографічних протоколів – це допоміжні конструкції, які обслуговують роботу протоколів.
Криптографічні схеми (механізми захисту) – це сукупність функціонально однорідних криптографічних алгоритмів і (або) протоколів, які мають спільні цілі захисту. Приклади криптографічних схем:
-
Схеми шифрування, які включають алгоритм зашифрування, алгоритм розшифрування, метод генерування ключів криптосистеми, протокол розподілу цих ключів:
-
Схеми розділення секрету, що включають протокол розділення секрету, протокол відновлення секрету, протокол розподілу ключів.
Криптографічні системи – конструкції ще вищого рівня, які надають готове рішення певної задачі захисту (готові послуги захисту). Наприклад, послуги можуть бути оформлені у вигляді підсистем, які викликаються прикладними програмами.
Залежно від умов, цілей створення інформаційної системи виокремлюють різні цілі захисту інформації: конфіденційність, цілісність даних, аутентифікація суб’єктів системи, авторизація, контроль доступу, прив’язка інформації до часі її створення, анонімність, неможливість відмови від фактів створення чи отримання документів. Серед усіх цілей є чотири, що становлять базис: конфіденційність, цілісність, аутентичність, неможливість відмови.