Міністерство освіти України Тернопільська академія народного господарства Національна Академія Наук України Інститут кібернетики імені В.М.Глушкова
В.К.Задірака О.С.Олексюк М.О.Недашковський
МЕТОДИ ЗАХИСТУ БАНКІВСЬКОЇ ІНФОРМАЦІЇ
Навчальний посібник
Рекомендовано Міністерством освіти України
Київ -"Вища школа"
1999УДК 621.391.7 : 336.71 (075.8) ББК 65.050.9(2) я73 3-15
Рецензенти:
Корнійчук М. Т., д-р техн. наук, голов. наук. співроб. Київського міжнародного університету цивільної авіації;
Хлобистов В. В., д-р фіз.-мат. наук, голов. наук. співроб. ф-ту кібернетики Київського національного університету ім. Тараса Шевченка
Редакція літератури з історії, права, економіки Редактор В.В.Півень
Методи захисту банківської інформації: Навчальний посібник / В.К.Задірака, О.С. Олексюк, М.О.Недашковський. - К.: Вища шк., 1999, - 261 с.
ISBN 5-11-004777-4
Викладено методи сучасної криптографії та застосування їх до проектування безпечних електронних банківських систем. Висвітлено найактуальніші сучасні проблеми: методи симетричної та асиметричної криптографії, криптографічні протоколи, методи цифрового підпису, методологія захисту автоматизованих систем обробки інформації, електронні платежі, програмні та апаратні засоби для автоматизації банківських систем, методи захисту комерційної таємниці.
Для студентів та спеціалістів у галузі безпеки інформації, автоматизації банківських операцій, адміністраторів безпеки обчислювальних систем, а також студентів економічних спеціальностей, які вивчають дисципліни: "Основи захисту інформації", "Захист інформації в комп'ютерних системах та мережах", "Інформаційна безпека бізнесу", "Захист інтелектуальної власності" тощо.
ББК 65.050.9(2) я73
Усі права захищені. Жодна з частин цієї книги не може бути репродукована в будь-якій формі або із зміною суті без письмового дозволу авторів.
ISBN 5-11-004777-4 © В.К.Задірака, О.С.Олексюк,
М.О.Недашковський, 1999ЗМІСТ
СПИСОК СКОРОЧЕНЬ 6
ВІД АВТОРІВ 7
ПЕРЕДМОВА 11
РОЗДІЛ 1. ЕЛЕМЕНТИ КРИПТОЛОГІЇ 15
ШИФРИ З ТАЄМНИМИ КЛЮЧАМИ 15
Теоретична і практична стійкість 17
Цілковита секретність 17
Достовірність і обман 18
Розсіювання і перемішування 20
Стандарт шифрування даних (DES) 21
ШИФРИ З ВІДКРИТИМИ КЛЮЧАМИ 22
Одностороння функція 22
Відкрите розповсюдження ключів 23
Криптосистеми RSA та Ель-Гамаля 26
Порівняльний аналіз криптосистем 34
КРИПТОГРАФІЧНІ ПРОТОКОЛИ 37
Що таке протокол? 37
Протокол розповсюдження ключів 37
Триетапний протокол Шаміра 39
ДОПОВНЕННЯ 41
Встановлення справжності 41
Ідентифікація і встановлення справжності 41
Паролі 42
Модифікація схеми простих паролів 43
Метод "запит-відповідь" 45
Встановлення користувачем справжності системи 45
Головні застережні заходи при роботі з паролями 46
Процедура встановлення справжності 47
Встановлення повноважень 47
Матриця встановлення повноважень 48
Рівні повноважень 49
Перетворення секретної інформації. Традиційні методи 49
Прямі підстановки 49
Багатоалфавітні підстановки 49
Монофонічні шифри 50
Частотний аналіз 50
Складені перетворення 51
1.4.4. Перетворення секретної інформації. Програмне забезпечення, орієнтоване на ЕОМ 51
Генератори псевдовипадкових чисел 52
Вибір породжуючого числа 53
Максимізація довжини послідовності ключа 54
Методи автентифікації інформації 54
Практика автентифікації 58
Електронний цифровий підпис (ЕЦП) 61
Високошвидкісна арифметика для багатослівних чисел 79
Методи багаторівневої криптографії 80
Основи комп'ютерної стеганографії 86
РОЗДІЛ 2. БЕЗПЕКА ЕЛЕКТРОННИХ БАНКІВСЬКИХ
СИСТЕМ 94
2.1. МЕТОДОЛОГІЯ ЗАХИСТУ АВТОМАТИЗОВАНИХ СИСТЕМ
ОБРОБКИ ІНФОРМАЦІЇ (АСОІ) 98
Безпека АСОІ. Основні уявлення 98
Два підходи до забезпечення безпеки АСОІ 100
Етапи побудови системи захисту АСОІ 101
Загроза безпеці АСОІ 103
2.1.2.1. Класифікація загроз безпеці АСОІ 1042.1.2.2. Характеристика найпоширеніших загроз безпеці АСОІ. Несанкціонований доступ (НСД) 107
Аналіз ризику і складання планів 114
Основні етапи аналізу ризику 115
Складання плану захисту 119
План забезпечення неперервної роботи і відновлення функціонування АСОІ 121
Політика безпеки. Моделі і механізми реалізації політики
безпеки 123
Політика безпеки. Моделі політики безпеки 123
Достовірна обчислювальна база (ДОБ) 125
Механізми захисту 126
Принципи реалізації політики безпеки 129
Оцінка безпеки систем 131
Основні критерії оцінки безпеки систем 131
Стандарти в галузі криптографічного захисту інформації 134
Управління захистом АСОІ 136
Безпека комп'ютерних мереж 138
Особливості захисту інформації в мережах
ЕОМ 138
Методи і механізми захисту мереж 140
Особливості захисту різних класів мереж 142
ЕЛЕКТРОННІ ПЛАТЕЖІ: ОРГАНІЗАЦІЯ І ЗАХИСТ 142
Вплив інформаційних технологій на розвиток банківської
індустрії 142
Автоматизація банківських операцій і їхній захист 145
Загрози безпеці автоматизованих банківських систем 146
Особливості захисту інформації в електронних банківських системах (ЕБС) 147
Зовнішній ресурс 150
Електронні платежі 150
Обмін електронними даними (ОЕД) і електронні платежі 150
Загальні проблеми безпеки ОЕД 153
Захист міжбанківських платежів 156
Персональні платежі та їхній захист 156
Персональні платежі: форми організації 157
Персональний ідентифікатор (PIN) 158
Огляд технологій електронних карток 159
Автоматичні касові апарати (AKA) 163
Особливості розрахунку в точці продажу 166
Електронні чеки 169
ПРОГРАМНІ ТА АПАРАТНІ ЗАСОБИ ДЛЯ АВТОМАТИЗАЦІЇ БАНКІВСЬКИХ СИСТЕМ 171
БЕЗПЕКА БАНКІВСЬКИХ ТЕХНОЛОГІЙ (ДОСВІД УКРАЇНИ)...173
Захист інформації в електронних системах 173
Захист інформації в системах "клієнт-банк" 177
РОЗДІЛ 3. КОМЕРЦІЙНА ТАЄМНИЦЯ ТА ЇЇ ЗАХИСТ 186
КОМЕРЦІЙНА ТАЄМНИЦЯ 186
ЗАБЕЗПЕЧЕННЯ ЗАХИСТУ КОМЕРЦІЙНОЇ ТАЄМНИЦІ 202
ЗАХИСТ ВІД ТЕХНІЧНИХ ЗАСОБІВ НЕСАНКЦІОНОВАНОГО ДОСТУПУ ДО
ІНФОРМАЦІЇ 225
ДОДАТКИ ДО 3-ГО РОЗДІЛУ 239
КОРОТКИЙ СЛОВНИК ТЕРМІНІВ БЕЗПЕКИ ІНФОРМАЦІЇ 257
СПИСОК ЛІТЕРАТУРИ
ОСНОВНИЙ 257
ДОДАТКОВИЙ 259СПИСОК СКОРОЧЕНЬ
АКА - автоматичний касовий апарат АСОД - автоматизована система обробки даних
АСОІ - автоматизована система обробки інформації
АНБ - Агентство національної безпеки
АР - аналіз ризику
АРМ - автоматизоване робоче місце
Атаки:
"В" - "вірус"
"ЖП" - "жадібні програми"
"ЗП" - "загарбники паролів"
"ЗС" - "збирання сміття"
"Л" - "люк"
"М" - "маскарад"
НСД - несанкціонований доступ
"ПК" - "приховані канали"
"С" - "салямі"
"ТК" - "троянський кінь"
"Ч" - "черв'як"
"ШП" - "шкідливі програми"
АТС - автоматизована електронна станція
ВПБ - виборча політика безпеки
ВУД - виборче управління доступом
ГК - головний ключ
ГПВЧ - генератор псевдовипадкових чисел
ГР - гарячий резерв
ДК - дебітова картка
ДОБ - достовірча обчислювальна база
ЕБС - електронна банківська система
ЕОМ - електронна обчислювальна машина
ЕП - електронні платежі
ЕПД - електронні платіжні документи
ЗАЗ - засекречена апаратура зв' язку
ЗМІ - засоби масової інформації
ІК - інтелектуальна картка
КК - кредитна картка
КАП - код автентифікації повідомлень
КЦ - контроль цілісності КД - контроль
доступу
ЛОМ - локальна обчислювальна мережа
МД - матриця доступу
НВІС - надвелика інтегральна схема
НБУ - національний банк України
ОЕД - обмін електронними документами
"ОК" - "Оранжева книга"
ОС - операційна система
ПБ - політика безпеки
ПВЧ - псевдовипадкові числа
ПЕОМ - персональна електронно-
обчислювальна машина
ППБ - повноважна політика безпеки
ТЗППІ - технічні засоби переробки та
передачі інформації
ЦРК - центр розповсюдження ключів
ЯБ - ядро безпеки
Capstone - підсистема SCIPJACK
Clipper - підсистема SKIPJACK
DES - Data Encryption Algorythm -
криптосистема з секретним ключем
DSA - Digital Signature Algorythm -
алгоритм цифрового підпису
MAA - Message Autentification Algorythm -
стандарт для захисту цілісності даних
MAC - Message Autentification Code - код
перевірки достовірності даних
MASTER CARD - кредитна картка
PC - персональний комп'ютер
PIN - персональний ідентифікаційний номер
POS - розрахунок в точці продажу
RSA - (Rivest, Shamir, Adleman)-
криптосистема з відкритими ключами
SKIPJACK - криптосистема з секретним
ключем
SWIFT - (The Society for Worldwide interbank Financial Telecomunication) - система електронних платежів VISA - кредитна карткаВІД АВТОРІВ
Ялтинська конференція. Рузвельт написав записку і передав її Черчілю. Черчіль прочитав і спалив. Потім написав у відповідь записку Рузвельту. Той прочитав, розірвав її на дрібні клаптики і викинув у корзинку.
Сталін дав вказівку з 'ясувати, що було в записках. Кращі дешифрувальщики бились кілька місяців, відновлюючи їх за попелом та уривками речень. Нарешті текст записки Черчіля було відновлено повністю: "Не хвилюйтесь. Старий яструб не випаде з гнізда." Проте розшифрувати цю фразу так і не вдалось. Сталіну не давали спокою ці слова до кінця війни. Пізніше він розповів про них Хрущову. Через кілька років Хрущов поїхав до Великої Британії, зустрівся з Черчілем, запитав про записки, якими вони з Рузвельтом обмінялися під час Ялтинської конференції.
Ми довго бились над нею і не змогли її розшифрувати. Може, ви розкриєте зміст цієї фрази? Справа
давня.
У мене тоді розстібнулись гудзики на штанях. Пан Рузвельт попередив мене, а я його заспокоїв.
(Фольклор)
До 70-х років ХХ ст. суспільство мало розумілося в криптографії. Була відома лише класична (симетрична) криптографія. Кількість робіт з цієї тематики була досить скромною. Більшості людей було відомо, що військові та розвідувальні організації користуються для зв'язку спеціальними кодами або кодуючою апаратурою, але лише деякі мали поняття про криптографію.
У другій половині 70-х років ситуація різко змінилась. По-перше, з розвитком мереж зв'язку і широким використанням ЕОМ необхідність у криптографічному захисті даних стали усвідомлювати все ширші прошарки суспільства. По-друге, винахід американців У. Діффі і
М. Е. Хеллмана - криптографії з відкритим ключем - створив сприятливий грунт для задоволення комерційних потреб у секретності, усунувши такий суттєвий недолік класичної криптографії, як складність розповсюдження ключів.
Водночас зріс інтерес до математичних аспектів криптографії. Криптографічні алгоритми нерідко грунтувалися на математичних методах і тому були цікавими для математиків. Створення і відгадування криптографічних алгоритмів вважалось випробуванням інтелектуальних здібностей. Однак попит на спеціальні знання в галузі криптографії був обмеженим.
В Україні попит на методи і засоби захисту інформації почав виявлятись у другій половині 80-х років.
Кілька років тому виникла нагальна потреба використання криптографічних методів у приватному секторі. Сьогодні велика кількість конфіденційної інформації передається між ЕОМ звичайними лініями зв'язку. Тому потрібні спеціалісти, які володіють криптологічними методами, знають відповідні стандарти, здатні використовувати (або розробляти) програмне й апаратне забезпечення для гарантування таємності та цілісності закритої інформації.
Питання підготовки відповідних спеціалістів в Україні стоїть на сьогодні досить гостро. Навчальної літератури з цієї проблематики немає. Водночас до навчальних планів вищих закладів освіти широко вводяться відповідні курси.
Маємо надію, що посібник приверне увагу студентів і спеціалістів до нової дисципліни, яка за рубежем бурхливо розвивається і повинна стати доступною для вітчизняних спеціалістів з математичних методів підтримки безпеки та конфіденційності комп'ютерного спілкування і комунікацій у комп'ютерних мережах (зокрема захист інформаційних потоків у банківських системах).
Комп' ютерні системи - один з найвразливіших компонентів сучасних банків та фінансових організацій, які приваблюють зловмисників і тому потребують захисту.
Як захищати свої системи? Від кого? Скільки це коштуватиме? До яких заходів треба вдатися в критичних ситуаціях? На ці та багато інших запитань дає відповідь даний навчальний посібник. У ньому також висвітлюються елементи сучасної криптології та проблеми автоматизації банківських розрахунків.Посібник підготовлено на основі курсу лекцій, прочитаних в Інституті банківського бізнесу Тернопільської академії народного господарства впродовж 1996-1998 р. З 1998 р. відповідний курс читають у Київському національному університеті імені Тараса Шевченка. Слід зазначити, що в Україні в цьому напрямі робляться лише перші кроки, в той час, як в розвинених країнах курс з основ захисту інформації вже давно викладають і він посів своє місце у прикладній математичній освіті.
Автори прагнули зробити посібник доступним для якомога ширшого читацького кола. З цією метою матеріал подано в оглядовому вигляді. Сподіваємося, що кожен лектор отримає достатньо матеріалу для компонування власного курсу лекцій.
Матеріал, викладений в посібнику, грунтується на роботах з основного та додаткового списку літератури.
Посібник підготував авторський колектив Інституту кібернетики ім. В. М. Глушкова НАН України та Тернопільської академії народного господарства Міноствіти України. Окремі розділи та параграфи написали:
Задірака В.К. - від авторів; передмова; список скорочень; розділ 1; розділ 2, §2.1.; короткий словник
термінів безпеки інформації; список літератури;
Олексюк О.С. - розділ 2, §2.2, §2.3, §2.4; розділ 3, §3.2, §3.3; додатки до 3-го розділу;
Недашковський М.О. - розділ 3, §3.1.
Автори висловлюють щиру подяку В.Л.Задіраці і Н.С.Добровольській за технічну допомогу в оформленні рукопису.
Відгуки та пропозиції щодо навчального посібника надсилайте за адресою: 252680, Київ-187, ГСП, Проспект Глушкова 40, Інститут кібернетики ім.В.М.Глушкова НАНУ.
Київ - Тернопіль 1999 р.
АвториПЕРЕДМОВА
Невіглас зневажає науку, неосвічені люди захоплюються нею, тоді коли мудреці користуються нею.
(Френсіс Бекон)
Термін "криптологія" походить від грецьких коренів, що означають "таємний" і "слово", і використовується для означення всієї області таємного зв'язку.
Криптологія поділяється на дві частини: криптографію (шифрування) та криптоаналіз. Криптографи прагнуть знайти методи забезпечення таємності та (чи) автентичності (істинності) повідомлень, а криптоаналітики - виконати обернену задачу, розкриваючи шифр або підроблюючи кодовані сигнали так, щоб вони були прийняті як справжні.
Початкове повідомлення, до якого криптограф застосовує своє мистецтво, зветься відкритим текстом, а результат його роботи - шифрованим текстом, або криптограмою. Для управління процесом шифрування криптограф завжди використовує таємний ключ. Часто (але не завжди) він передає його яким-небудь надійним способом (наприклад, у дипломаті, прикріпленому наручниками до руки кур'єра) людині (або машині), якій він пізніше має надіслати криптограму, виготовлену за допомогою цього ключа.
Майже загальноприйняте припущення у криптографії полягає в тому, що криптоаналітики зловмисника мають повний текст криптограми. Крім того, криптограф майже завжди користується правилом: стійкість шифру цілком залежить від таємності ключа. Інакше кажучи, весь механізм шифрування, крім значення таємного ключа, відомий криптоаналітику зловмисника. Якщо криптограф виходить лише з цих двох припущень, він розробляє систему, стійку при аналізі на основі лише шифрованого тексту. Якщо до того ж криптограф припускає, що криптоаналітики зловмисника можуть дістати (тим чи іншим шляхом) кілька уривків відкритого тексту і відповідних йому шифрованих текстів, виготовлених за допомогою таємного ключа, то розробляється система, стійка при аналізі на основі відкритого тексту.
Упродовж тисячоліть криптографія використовувалася для захисту військового та дипломатичного зв'язку. Однак з початком інформаційної епохи виникла нагальна потреба використання її в приватному секторі. Сьогодні багато конфіденційної інформації (історії хвороб, юридичні документи, дані фінансових договорів) передається між ЕОМ звичайними лініями зв'язку. Проблемами забезпечення таємності та достовірності такої інформації займаються висококваліфіковані фахівці.
Навіть у приватному секторі криптоаналіз може відігравати значну роль. "Дружній криптоаналітик" може знайти непередбачені вразливі місця шифрів, що дає можливість виправити їх або відмовитись від їх використання. Яскравий приклад - розкриття американцем А.Шаміром криптосистеми Р.Меркля-М.Е.Хеллмена з відкритими ключами, що засновувалась на задачі про укладку ранця. Тим самим Шамір попередив вірогідне практичне застосування цього зручного шифру, а водночас і можливий успіх криптоаналітиків.
Період до 1949 р. можна по праву назвати ерою донаукової криптології. Криптологію тих часів слід розглядати швидше як мистецтво, а не як науку. Більш як 2000 років тому Юлій Цезар писав Цицерону та іншим друзям до Риму, використовуючи шифр, у якому кожна буква відкритого тексту замінювалась третьою за ліком (циклічно) буквою латинського алфавіту. Сьогодні ми б описали шифр Цезаря рівнянням
у = х © г , (1)
де У - буква шифртексту; X - буква відкритого тексту; 2 - таємний ключ (обраний Цезарем ключ дорівнював числу 3); © означає додавання за модулем 26 (23 © 3=0, 23 © 4=1 тощо).Сьогодні будь-який школяр, який хоч трохи знайомий з латиною та має уявлення про прийоми криптоаналізу, розгадає цей шифр, маючи лише кілька речень шифрованого тексту. Дійсно, лише впродовж двох тисячоліть після Цезаря криптоаналітики мали явну перевагу над криптографами. Нарешті 1926 р. Г.Вернам, інженер Американської телефонної та телеграфної компанії надрукував шифр, призначений для використання з двійковим кодом Бодо. Шифр Вернама подібний до шифру Цезаря: він описується рівнянням (1), а © означає додавання за модулем 2 (0 © 0=0, 0 © 1=1, 1 © 1=0). Нова ідея, висунута Вернамом, полягала в тому, щоб використовувати ключ лише один раз. При цьому кожен біт шифрується з використанням нового випадкового біта ключа. Це потребує передачі таємним каналом ключа, об'єм якого дорівнює об'єму тексту, що шифрується. Однак це дає можливість, як ми побачимо далі, створювати дійсно стійкий шифр. Вернам і насправді вважав свій шифр стійким і знав, що ця властивість губиться при повторному використанні бітів ключа, але він це не довів. Ми називаємо період до 1949 р. ерою донаукової криптології ще й тому, що досягнення тих часів засновані на інтуїції та "вірі", які не підкріплені доказами. Наприклад, у криптологічних службах Великої Британії лише з початком другої світової війни зрозуміли, що математики можуть зробити внесок у розвиток криптології.
Публікація 1949 р. статті Н.Е.Шеннона "Теорія зв'язку в таємних системах" розпочала нову еру наукової криптології з таємними ключами. Шеннон розробив теорію систем таємного зв'язку. Він не тільки довів неможливість розкриття таємного ключа Вернама, а й розробив чіткі межі об' єму таємного ключа, який передається захищеним каналом уявному одержувачеві.
Справжнім вибухом стала поява 1976 р. статті американців У.Діффі і М.Е.Хеллмана "Нові напрями в криптографії". Автори вперше показали, що таємний зв'язок можливий без будь-якої передачі таємного ключа між відправником та одержувачем. Це був початок нової епохи з відкритими ключами, що триває і сьогодні.
РОЗДІЛ 1
ЕЛЕМЕНТИ КРИПТОЛОГІЇ
Помилятися людині властиво, але цілковито все заплутати може тільки комп 'ютер.
(5-й закон ненадійності)
1.1. Шифри з таємними ключами Криптосистемою з таємними ключами називають систему, що відповідає схемі, наведеній на рис.1:
Рис.1. Схема криптосистеми з таємними ключами
Важлива складова таких систем - "захищений канал", яким таємний ключ Z =[Z1,Z2,..., Zn], створений у джерелі ключа і захищений від "допитливих очей" криптоаналітика, передається уявному одержувачу. Для того щоб підкреслити факт використання одного і того ж ключа в шифраторі та дешифраторі одержувача повідомлень, криптосистеми з таємними ключами називають одноключовими або симетричними системами. Знаки ключа - це символи деякого кінцевого алфавіту, в ролі якого ми будемо часто використовувати алфавіт {0,1}. Джерело повідомлень створює відкритий текстX = [X1,X2,...,XM], а рандомізатор - рандомізуючу послідовністьR = [ri,R2,...,Rj]. Шифратор створює криптограми Y = [Y1 ,Y2,...,Yn] як функцію X, R, Z. Для того
щоб підкреслити, що криптограма Y є функцією лише відкритого тексту X, конкретний вигляд якої визначається таємним ключем Z і рандомізуючою послідовністю R, запишемо це перетворення у вигляді:
Y = ER (X). (2)
Як видно з рис.1 дешифратор у змозі також виконати зворотне перетворення без знання рандомізуючої послідовності. Отже, запис
X = DZ (Y) (3)
виражає той факт, що відкритий текст X є функцією криптограми Y, конкретний вигляд якої визначається лише таємним ключем Z.
Криптоаналітики зловмисника спостерігають лише криптограму Y і роблять оцінку X відкритого тексту та (або) оцінку Z таємного ключа. Ми припускаємо, що криптоаналітику відомі всі деталі процесу шифрування та розшифрування, крім X, R і особливо Z.Рандомізація - давно відомий прийом шифрування. В англійській мові літера "е" зустрічається набагато частіше, ніж інші літери. Англійський текст можна перетворити на такий, що містить символи більшого алфавіту, заміною літери "е" випадковими символами, які вибираються з "е-групи" символів більшого алфавіту, а також заміни інших англійських літер, які часто зустрічаються, випадковими символами, які вибираються з груп відповідних літер. В отриманому тексті всі символи більшого алфавіту зустрічаються з приблизно однаковою частотою. Шифрування такого рандомізованого тексту зводить нанівець спроби розкрити на основі аналізу частот окремих символів. Однак після розшифрування законний адресат може зняти рандомізацію замінивши лише кожен символ з "е-групи" літерою "е" тощо, (йому не потрібно заздалегідь повідомляти, які саме випадкові заміни будуть зроблені). Такі рандомізовані шифри називають також "шифрами з багаторазовою підстановкою", або "рівночастотними шифрами".
Ми будемо вважати, що X, 2 та Я статистично незалежні.
1.1.1. Теоретична і практична стійкість Шеннон розглядав проблему стійкості криптографічних систем з двох протилежних точок зору. Спочатку він поставив питання про теоретичну стійкість: "Наскільки надійна система, якщо криптоаналітик противника не обмежений у часі та володіє всіма необхідними засобами для аналізу криптограм?". Висновок такий: об'єм секретного ключа для побудови теоретично стійкого шифру неприпустимо великий для більшості випадків. Тому Шеннон розглядав також питання про практичну стійкість: "Чи надійна система, якщо в розпорядженні криптоаналітика обмежений час та обчислювальні можливості для аналізу перехоплених криптограм?" Системи з відкритими ключами, які розглядаються далі, повинні мати практичну стійкість, але не можуть забезпечити теоретичну стійкість.
Цілковита секретність
Перше припущення Шеннона щодо теоретичної стійкості виходить з того, що секретний ключ використовується тільки один раз, тобто після шифрування М знаків відкритого тексту потрібно замінити секретний ключ 2 та рандомізатор Я. Друге припущення засновується на тому, що криптоаналітику підсильна тільки криптограма У, і тому він може зробити лише аналіз на основі шифртексту. Цілковита секретність, за визначенням Шеннона, означає, що відкритий текст Х і криптограма У статистично незалежні, тобто Р(Х = х; У = у) = Р(Х = x) для всіх можливих відкритих текстів X = (X1,...,Xм) і криптограм У.
Шеннон довів, що для того щоб система була цілковито секретною, ключ не повинен бути коротшим за відкритий текст (К > М); нижня межа досягається в шифрі Вернама, коли довжина ключа дорівнює довжині відкритого тексту.
Система Вернама широко відома як шифр блокнот, яким користувалися розвідники деяких країн під час другої світової війни. Розвідникам видавався блокнот з випадковим секретним ключем, який міг бути використаний для шифрування лише одного повідомлення. У криптологічних колах, мабуть, були переконані в неможливості розкриття такого шифру, однак доведення цього факту вперше було зроблено Шенноном.
Достовірність і обман
Раніше вже наголошувалося на тому, що метою криптографії є забезпечення секретності та автентичності повідомлень. Чи можна, отримавши криптограму, розшифрувавши її та встановивши правильний відкритий текст, бути впевненим у тому, що вона надіслана саме "дружньою" стороною, а не ще кимось, хто має секретний ключ? Відповідь у загальному випадку буде негативною. Систематичне вивчення проблем автентифікації проведено американцем Г.Сімонсом, який створив теорію автентифікації, схожу в багатьох відношеннях з теорією секретного зв'язку Шеннона.
Тепер криптоаналітик створює підроблену криптограму У і надсилає її у дешифратор одержувача. Така фальшива криптограма може бути розпізнана, при цьому отриманий з неї фальшивий відкритий текст X не надійде до одержувача. Через це зв'язок між дешифратором і одержувачем на рис.2 показано пунктиром.
Сімонс, як і Шеннон, припускав, що секретний ключ 2 використовується тільки один раз для утворення однієї автентичної криптограми У . Проте при цьому він усвідомлював, що в цьому разі криптоаналітик може вдатися до двох зовсім різних дій. Він може спробувати створити підроблену криптограму У, не дочекавшись справжньої криптограми У (спроба імітації). Саме тому зв'язок між шифратором джерела повідомлень і криптоаналітиком показано на рис.2 пунктиром. Спроба імітації вважається успішною, коли дешифратор адресата прийме У як справжню криптограму (навіть, коли пізніше з'ясується, що У збігається з У). Криптоаналітик може також створити після надходження У (спроба підміни). Така спроба вважається успішною, якщо дешифратор одержувача прийме У за оригінальну криптограму, і до того ж У буде розшифровано в X Ф X .
1.1.4. Розсіювання і перемішування
Шеннон виділив два загальних принципи, які використовують у практичних шифрах: розсіювання та перемішування. Розсіюванням він назвав поширення впливу одного знака відкритого тексту на багато знаків шифртексту, що дає можливість приховати статистичні властивості відкритого тексту. Розвитком цього принципу є поширення впливу одного знака ключа на багато знаків шифртексту, що запобігає відновленню ключа частинами. Перемішування, за Шенноном, — це використання таких шифруючих перетворень, які ускладнюють відновлення взаємозв'язку статистичних властивостей відкритого і шифрованого текстів. Однак шифр має не тільки ускладнювати розкриття, а й забезпечувати легкість шифрування та розшифрування (у разі, якщо відомий секретний ключ). Так, поширений спосіб розсіювання та перемішування полягає у використанні складеного шифру, тобто такого, що може бути реалізований у вигляді деякої послідовності простих шифрів, кожен з яких робить невеликий внесок у велике сумарне розсіювання і перемішування.
У складених шифрах як прості найчастіше використовуються звичайні підстановки і перестановки. При перестановці просто перемішують символи відкритого тексту, причому конкретний вид перемішування визначає секретний ключ.
Для того щоб розглянути питання про теоретичну стійкість автентифікації в постановці Сімонса, криптоаналітик повинен знаходитись у більш вигідних умовах, ніж ті, що показані на рис.1. Ці зміни проілюстровано на рис.2.
Розподіл частот окремих символів у зашифрованому тексті такий самий, що й у відкритому тексті, однак розподіл більш високих порядків виявляється перемішаним. При підстановці кожен символ відкритого тексту замінюють іншим символом того ж алфавіту, а конкретний вид перестановки визначає секретний ключ. Розподіл частот окремих символів у відкритому тексті зберігається незмінним і у шифртексті. У шифрі Цезаря використовується звичайна підстановка з 26 можливими значеннями секретного ключа. Проте, якщо підстановка робиться в дуже великому алфавіті, а ймовірність повторення кожного символу відкритого тексту під час використання одного ключа мала, то статистичні властивості шифртексту дають мало інформаціїкриптоаналітику, і такий шифр стає дуже добрим. Криптограф досягає цього, застосовуючи підстановку до "окремих символів", які містять кілька символів з алфавіту вихідного відкритого тексту. При багаторазовому чередуванні простих підстановок і перестановок можна отримати дуже стійкий шифр (криптоалгоритм) з гарним розсіюванням і перемішуванням.
1.1.5. Стандарт шифрування даних (DES) DES - це один з найкращих прикладів криптоалгоритму, розробленого відповідно до принципів розсіювання та перемішування. У ньому відкритий текст X , криптограма Y та ключ Z — двійкові послідовності, M = N = 64 та K = 56 . У загальному випадку допустимі всі 264 можливих значень X .
Оскільки M = N = 64, то DES є підстановкою, хоча і в дуже великому алфавіті, який містить 264 ~ 1G19 символів! При використанні криптоалгоритму DES у режимі, який називається електронною кодовою книгою, послідовні 64-бітові "блоки" відкритого тексту шифруються з використанням одного ключа, але незалежно. Будь-який шифр, що використовується у такий спосіб, називається блочним шифром.
Криптоалгоритм DES є суперпозицією шифрів, яка складається з 16 послідовних "циклів", у кожному з яких досить прості перестановки поєднуються з підстановками в 4-бітових групах. У кожному "проході" використовується лише 48-біт ключа, однак вони вибираються з повного 56-бітового ключа.
Алгоритм DES був розроблений фірмою IBM в 1974 р. Одна з вимог полягала в можливості публікації алгоритму без втрати його стійкості.
Діффі і Хеллман опублікували проект спеціалізованої багатопроцесорної обчислювальної машини, вартість якої (за їхніми підрахунками) становила близько 2G млн дол., що могла б розкрити DES шляхом повного перебору приблизно за 12 год. Пізніше Хеллман запропонував інший варіант машини вартістю близько 4 млн дол., яка після одного року попередніх обчислень могла б розкривати 1GG криптограм впродовж однієї доби.
У наш час у США діє інший стандарт — SKIP JACH. Не слід, однак, забувати, що розмір секретного ключа можна збільшити, шифруючи багаторазово з різними ключами, тобто застосовуючи суперпозицію шифрів, утворених з DES.
1.2. Шифри з відкритими ключами
1.2.1. Одностороння функція З робіт Шеннона випливає, по-перше, що в теоретично стійких секретних системах потрібно передавати захищеними каналами ключі неприпустимо великого об'єму. По-друге, вирішення питань практичної стійкості сприяло скоріше вдосконаленню відомих криптографічних методів, ніж появі нових. Однак зауваження Шеннона про те, що "проблема створення доброго шифру є проблемою знаходження найбільш складних задач, що задовольняють певні умови, можна скласти наш шифр так, щоб розкриття його було еквівалентне (або містило б в собі) вирішенню деякої проблеми, про яку відомо, що для її вирішення потрібний великий обсяг робіт", знайшло відгук у плідних роздумах Діффі та Хеллмана. Їхня відома стаття 1976 р. містила приголомшливе повідомлення про те, що можлива побудова практично стійких секретних систем, які зовсім не потребують передавання секретного ключа.
Розглянемо два визначення: "одностороння функція" та "одностороння функція з потаємним ходом".Одностороння функція - це деяка функція f така, що для довільного х з її області визначення f (x) легко обчислюється; однак практично для всіх y з її області значень знаходження х, для якого y = f (x), обчислювально нездійсненне. Це визначення, проте, не є математично точним.
Одностороння функція з потаємним ходом — це множина оборотних функцій f з параметром Z , таких, що при даному Z можна знайти алгоритми EZ і DZ, які дають можливість легко обчислити відповідно fZ (x) для всіх х з області визначення і f— (y) для всіх y з області значень, однак практично для всіх Z і практично для всіх y з області значень fz знаходження fZ\y) обчислювально нездійсненне навіть при відомому Ez. Це визначення також не є математично точним, але воно широко використовується в криптографії.
1.2.2. Відкрите розповсюдження ключів
Як одну з можливих односторонніх функцій Діффі і Хеллман запропонували функцію дискретного піднесення до степеня
f (x) = ax (mod p), (4)
де x - ціле число від 1 до (p-1) включно; обчислення провадяться за модулем p, де p - велике просте число; а - ціле число (1 < a < p ), степені якого a,a2,...,ap-1 дорівнюють (у деякому порядку) 1, 2, ...,р-1. Наприклад, при
р=7 можна вибрати а=3, оскільки а=3, a2 = 2, a3 = 6, a4 = 4, a5 = 5, a6 = 1 (в алгебрі таке "а" називають примітивним елементом скінченого поля GF (p) і відомо, що такі "а" завжди існують).
Якщо y = a', то природно записати:
x = loga (y) , (5)
а задачу обернення f (x) назвати задачею знаходження дискретних логарифмів. Навіть при дуже великих р, наприклад, p ~ 21000 можна легко обчислити f (x) піднесенням до квадрату та множенням. Наприклад, для того щоб обчислити a53 = a32+16+4+1 потрібно спочатку знайти a2, a4 = (a2)2, a8 = (a4)2, a16 = (as)2 i a32 = (a16)2; для цього потрібно 5 операцій множення. Далі слід помножити a32 послідовно на a16, a4 і a, що потребує ще трьох операцій. Отже, результат дістають за вісім операцій (за модулем p). Навіть при p ~ 21000 обчислення f (x) для довільного цілого числа x потрібно менше ніж 2000 операцій множення (за модулем p ).
Якщо функція дискретного піднесення до степеня дійсно одностороння, то обчислення log x y має бути нездійсненним практично для всіх y (1 < y < p). Невдовзі М.Е.Хеллман і С.Поліг з'ясували, що дискретні логарифми складно обчислити за умови, коли не тільки p велике, але і p — 1 має великий простий множник (найкраще всього, якщо це друге просте число, помножене на 2). За цієї додаткової умови кращі відомі алгоритми для знаходження дискретних логарифмів потребують приблизно yj~p множень (за модулем p) у порівнянні з приблизно 2 log2 p множень при дискретному піднесенні до степеня. Якщо складність обчислення функції дискретних логарифмів дійсно така, то при зазначеному обмеженні на p — 1 функція
дискретного піднесення до степеня є односторонньою, але точно це не доведено.
Діффі і Хеллман запропонували простий метод використання дискретних логарифмів для обміну секретними ключами між користувачами мережі з використанням лише відкритих повідомлень. Припустімо,
27 28 що всім користувачам відомі a і p . Кожен користувач, скажімо, користувач i, випадково вибирає ціле число xi, яке знаходиться між 1 і p — 1, і тримає його в секреті. Далі він обчислює Уі :
y = aXi (modp). (6)
Користувач не тримає yi в секреті, а розміщує його в завірений відкритий довідник, доступний для всіх користувачів. Надалі, якщо користувачі i та j побажають встановити секретний зв'язок, користувач i візьме із довідника yj і з допомогою свого секретного xt обчислить Ztj :
Z„ = (yj)x = (aXj )x = axx (modp). (7)
У такий самий спосіб і користувач j обчислить ZJt. Однак Zij = Zji і користувачі i та j можуть з цього моменту використовувати Zv як секретний ключ у класичній криптосистемі. Якщо зловмисник зміг би розв'язати задачу обчислення дискретних логарифмів, то зміг би за відомими з довідника yi і yj розв'язати
рівняння x = loga yi і обчислити Zj, як і користувач і . Видимо, зловмисник не може визначити Zij іншим
шляхом (хоч це і не доведено). Схема, яку ми описали, дістала назву системи відкритого розповсюдження ключів Діффі і Хеллмана. Це перша система, яка дає можливість відмовитися від передачі секретних ключів. На сьогодні її вважають однією з найстійкіших і найзручніших систем з відкритими ключами.
Зазначимо, що описана система відкритого розповсюдження ключів дає змогу обійтися без захищеного каналу для передачі секретних ключів, але не відміняє необхідності автентифікації. Держатель загальнодоступного довідника повинен бути впевненим, що несекретне yi помістив у довіднику саме користувач і , а користувач i — мати впевненість, що yj надіслав йому саме держатель довідника. Не треба
забувати і про те, що у системах із секретними ключами користувач повинен бути впевненим не тільки в тому, що ключ Z зберігався в секреті під час передавання, а й у тому, що він надісланий вірним відправником. Методи з відкритими ключами усувають одну з цих проблем. Вони не створюють нової задачі автентифікації, а, скоріше, акцентують на необхідне її розв'язання.
1.2.3. Криптосистеми RSA та Ель-Гамаля Грунтуючись на визначенні односторонньої функції з потаємним ходом, Діффі і Хеллман запропонували структуру криптосистеми з відкритими ключами для мережі з багатьма користувачами. Кожен користувач і випадково вибирає значення Z показника і тримає його в секреті. Далі він формує алгоритм Ez і
розміщує його у відкритому довіднику. Він також формує алгоритм Dz і тримає його в секреті. Якщо користувач j хоче послати секретне повідомлення X користувачу i , він бере з довідника алгоритм Ez^ і використовує його для отримання криптограми y = fz (X), яку надсилає користувачу i. Користувач i використовує свій секретний алгоритм Dz для обчислення fZ-11 (y) = X . Якщо fz дійсно є односторонньою функцією, то ця криптосистема забезпечує безумовну практичну стійкість.Діффі і Хеллман зазначали, що якщо при всіх показниках z область визначення функції fz збігається з її областю значень, то з допомогою такої односторонньої функції можна отримати цифрові підписи. Якщо користувач і хоче надіслати несекретне повідомлення X (будь-якому користувачу мережі або всім одночасно) і "підписати" його так, щоб у одержувача була можливість безпомилково визначити відправника, він просто використовує свій секретний алгоритм для отримання Y = f~'(X), яке надсилається одержувачу. Кожен
користувач може, знаючи відкритий алгоритм Ez , отримати f = X . Однак ніхто, крім користувача i , не
зміг би перетворити доступне для розуміння повідомлення X в Y, оскільки лише користувач i в змозі
обчислити f-. Зрозуміло, користувач i може надіслати користувачу j також секретне повідомлення з
підписом. Для цього він повинен зашифрувати Y , користуючись відкритим ключем Ez користувача j, і не
посилати Y у відкритому вигляді.
У 1976 р. Діффі і Хеллману ще не були відомі односторонні функції з потаємним ходом. Вперше така функція була запропонована у 1978 р. американцями Р.Л.Рівестом, А.Шаміром і Л.Адлманом (від перших літер їхніх прізвищ утворено скорочення RSA), які працювали в Массачусетському технологічному інституті. Одностороння функція RSA надзвичайно проста, але для її опису потрібні деякі відомості з елементарної теорії чисел.
Нехай НЗД ( i, n ) — це найбільший загальний дільник цілих чисел i та n , які водночас не дорівнюють нулеві. Наприклад, НЗД (12,18)=6.
Для кожного додатного цілого n функція Ейлера у(гі) визначається як число додатних цілих i, не більших за n і таких, що НЗД( i,n )=1 (при n =1, за визначенням, і//(1) = 1 ). Наприклад, і//(6) = 2 , оскільки з усіх 1 < i < 6 лише i = 1 та i = 5 дають НЗД( i ,6)=1. Очевидно, що для простого числа p маємо ц/(p) = p -1. Не важко також помітити, що для двох нерівних простих чисел p і q
w(pq) = (p - 1)(q -1). (8)
Наприклад, i//(6) = ц/(2 • 3) = 1 • 2 = 2. Знаменита теорема Ейлера гласить: для будь-яких цілих чисел x і n
(x<n)
Xv(n) = 1(mod n) (9)
за умови, що НЗД (x, n)=1.
Останній необхідний нам факт з теорії чисел походить від Евкліда. Якщо e і m задовольняють умови 0<e<m і НЗД(т,е)=1, то існує лише одне d, таке, що 0<d<m і
d • е = 1(mod n), (10)
і, крім того, d може бути обчислене за допомогою "розширеного" алгоритму Евкліда для знаходження НЗД(т, e).
Одностороння функція RSA з потаємним ходом є просто дискретним піднесенням до степеня:
fz ( x) = Xе (mod n), (11)
де x - додатне ціле, яке не перевищує n = p • q , потаємний хід Z = {p, q, e}, p i q - великі нерівні числа, такі, що у(гі) = (p - 1)(q -1), має великий простий множник, а е - додатне ціле, яке не перевищує ^(n), для якого НЗД( e,^(n))=1.
Алгоритм Ez швидкого обчислення fz знайти легко — це метод піднесення до квадрату і множення.
Публікація цього алгоритму зводиться до публікації значень n і e. Обернена функція має вигляд:
f-\y) = yd (modn), (12)
де d - єдине додатне ціле, що менше за n і задовольняє умову
d • e = 1(mod^(n)). (13)
Алгоритм DZ (у разі, якщо відомо Z) для обчислення fZ 1 обчислюють також методом піднесення до квадрату і множенням. Показник d, необхідний при розшифруванні, знаходять за допомогою алгоритму Евкліда, який визначає НЗД( e, у(гі) ).
Той факт, що функція (12) дійсно є функцією, оберненою до функції (11), доводиться так. Рівність (13) еквівалентна (в звичайній цілочисельній арифметиці)
d • e = у(гі) • Q +1 (14)
Для деякого Q з (11) і (14) отримаємо:
(Xe)d = xy(")Q+1(modn) = (xv(n))Q • x(modn) = x(modn), (15) де в останній рівності використано теорему Ейлера (9). Рівність (15) показує, що операція піднесення числа до степеня d (за модулем n...