1 Методи та механізми 2014. 1. 1 Основні послуги при застосуванні, уніфікація та стандартизація криптографічних перетворень
Скачать 1.75 Mb.
|
11. Параметри крипто алгоритму:– криптоалгоритм має бути симетричним блоковим; – розмір блоку даних – 128, 256, 512 бітів; – розмір разового (сеансу) ключа – 128, 256, 512 бітів. 12. Принципи побудови:– здатність протистояти відомим методам криптографічного аналізу і мати запас стійкості з урахуванням тенденцій розвитку засобів електронної обчислювальної техніки та криптографічної науки; – криптографічні перетворення, що застосовуються, повинні мати надійну та прозору математичну базу та не мати вбудованих лазівок; – швидкодія крипто алгоритму має бути не менше, ніж швидкодія існуючого державного стандарту шифрування. 13. Реалізація крипто алгоритму:– криптоалгоритм має бути орієнтований для можливості реалізації на 32-х або 64-х розрядних процесорах; – зазначені в крипто алгоритмі операції повинні мати ефективну програмну та апаратну реалізацію; – необхідний для роботи об’єм пам’яті має враховувати можливість реалізації крипто алгоритму у мікропристроях; – передбачити можливість паралельного виконання декількох операцій (за можливості). 14. Ключова система:– криптоалгоритм може передбачати наявність довгострокового ключа; – довжина сінхро посилки – не менше 64 бітів. 15. Режими шифрування.У крипто алгоритмі мають бути передбачені такі режими шифрування: – проста заміна; – зчеплення блоків шифрованого тексту; – зворотний зв’язок за входом; – зворотний зв’язок за виходом; – режим виробки гами («довгого циклу»). Необхідно підкреслити, що наведені вимоги є необхідними, але не є достатніми. Таким чином нині СБП (БСШ) є основним криптографічним засобом забезпечення конфіденційності при обробці інформації в сучасних інформаційно-телекомунікаційних системах. БСШ використовуються для забезпечення цілісності, а також як базовий елемент при побудові інших криптографічних примітивів, таких як генератори псевдовипадкових послідовностей (ГПСЧ), потокові шифри та функції гешування. Рівень стійкості і властивості БСШ, що використовуються в системах, суттєво визначають стійкість криптографічного захисту інформації, безпеку криптографічних протоколів і захищеність інформаційно-телекомунікаційної системи в цілому. Детальний аналіз існуючих джерел дозволив виділити три основні методологічних підходи до побудування перспективних БСШ [24-32, 20-21, 57, 401-403]. По суті, вони вже були представлені кандидатами на стандарт БСШ Європейської програми Nessie. Перший методологічний підхід пов’язаний з використанням SPN структур[ 20, 25, 30,31,118, 220, 401]. Загальна структура – SPN, square-type, байт-байт орієнтований шифр. На основі таких структур були розроблені та здобули визнання БСШ Rijndael та його звужена версія AES (FIPS 197), що побудовані на основі попередньої розробки авторів – шифрі Square. У цьому напрямі було достатньо досліджень, за результатами яких було запропоновано використати його при розробленні національного стандарту ДСТУ 7624: 2014[196]. Другим підходом, який заслуговує уваги, є підхід що грунтується БСШ з IDEA-подібною структурою [20, 27-29, 402-403]. Так відомо, що де-факто Європейський стандарт IDEA пройшов великі випробовування часом і до цих пір забезпечує задекларований рівень стійкості. На початку ХХІ століття було запропоновано проект вдосконаленого БСШ, що отримав назву FOX. Алгоритм IDEA NXT (раніше відомий як FOX), являє собою блоковий симетричний шифр, розроблений Паскалем Юнодом і Сержем Воденеем з лабораторії EPFL (Лузана, Швейцария). Замислений у період між 2001 і 2003 р., проект спочатку називався FOX і був опублікований у 2003 р. У травні 2005 р. він був анонсований компанією MediaCrypt за назвою IDEA NXT. Він є нащадком алгоритму IDEA і використовує розширену схему Лея-Массея, відому своєю стійкістю до криптоаналізу [28-29]. Проект IDEA NXT є власністю швейцарської компанії MediaCrypt, якій належать права на поширення IDEA і яка є власником патентів на IDEA NXT. Шифр IDEA NXT являє собою сімейство різних модифікацій шифрів з різними розмірами блоків і розмірами ключів: Standard NXT64 (64-бітовий блок, 128-бітовий ключ, 12 раундів) і Standard NXT128 (128-бітовий блок, 256-бітовий ключ, 12 раундів). Можуть бути також побудовані версії Standard (з розміром ключа від 0 до 256 бітів, числом раундів від 2 до 255). А також можуть завантажуватися індивідуальні таблиці (sbox, матриця перестановок – permutation matrix), що заміняють стандартну таблицю. Що стосується третього підходу, то в основу його покладено уже добре випробувану Фейстель - подібну схему у вигляді ланцюга Фейстеля [2, 202]. Вона реалізована у випробуваних часом стандартах БСШ - DES, DEA, TDEA, ГОСТ 28147-89, MISTY1, Cammellia [20-21, 24-26, 33-34,118, 401-403]. На цей час стандарти БСШ, що мають Фейстель - подібну структуру, ще значною мірою застосовуються на практиці і не втратили перспективу відносно застосування, можливо при деякому удосконаленні. 1.4.5 Стан стандартизації та уніфікації БСШ З точки зору застосування БСШ є надзвичайно важливими криптографічними примітивами. Вони є основним криптографічним примітивом при шифруванні інформації в швидкісних мережах IP та TCP мережах тощо. Нині на міжнародному рівні розроблено спільними світовими зусиллями розроблено та детально досліджено значне число БСШ. Щодо БСШ також прийнято міжнародний стандарт ISO/IEC 18033-3 [274]. Перелік та деякі характеристики БСШ цього стандарту наведено в таблиці 1.2. В стандарті увсього визначено шість різних БСШ . Таблиця1.2 - БСШ, що визначені в ISO/IEC 18033-3
Детальний аналіз вказаних стандартів наведено в 5 розділі цієї монографії. В Україні нині діє уже застарілий гармонізований стандарт ДСТУ ГОСТ 28147 -2009. Як показали дослідження він забезпечує тільки задовільний рівень стійкості та має ряд слабкостей. Важливою подією для України була підготовка та проведення національного конкурсу на кращий проект національного стандарту БСШ [341]. Конкурс був розпочатий 15 жовтня 2006 р. і закінчено, по суті, у травні 2010 р. На конкурс було в ініціативному порядку подано 4 кандидати в установленій формі – Калина, Лабіринт, ADE та Мухомор шифри. По суті, перші три шифри, тобто Калина, Лабіринт, ADE, тією чи іншою мірою є вдосконаленням шифру з SPN структурою, а Мухомор – IDEA структури. Специфікації та результати досліджень указаних шифрів подані також у ряді видань журналу «Прикладная радиоэлектроника», починаючи з Тома 6, 2007, №2, а також у Томі 7, 2008, №3, Томі 8, 2009, №3 і Томі 9, 2010, № 3 (вид. ХНУРЕ). Результатом конкурсу є формування колективів, що спроможні виконувати складні завдання розробки та дослідження перспективних БСШ, а також розробки й освоєння існуючого науково-методичного забезпечення у сфері синтезу та аналізу БСШ. Цей досвід уже використаний в Україні при гармонізації міжнародного стандарту. Також він дозволив підготуватись та розробити національний стандарт СБП[196]. Детально його обґрунтування та аналіз наведено в 4 розділі цієї монографії. 1.4.6 Оцінка криптографічної стійкості блокових симетричних перетворень При оцінці криптографічної стійкості (криптоаналізі) БСШ будемо вважати, що порушник (криптоаналітик) має необмежений доступ до каналів телекомунікаційних систем та до носіїв інформації [2, 21, 118, 212, 140-145, 147-149]. Під криптографічною стійкості будемо розуміти здатність криптографічного алгоритму або криптографічної системи протистояти спробам здійснення успішного крипто аналізу з розкриттям або підробленням ключових даних та/або ключової інформації і, як наслідок, можливості реалізації загроз порушення конфіденційності, цілісності, доступності, справжності (автентичності) тощо. При розгляді умов проведення криптоаналізу вважається, що криптоаналітик може здійснювати такі крипто атаки в таких умовах [20-21]: 1) атака при відомому шифр тексті; 2) атака на основі відомого відкритого тексту та відповідних йому шифр текстів; 3) атака на основі підібраного відкритого тексту; 4) атака на основі адаптивно підібраного відкритого тексту; 5) атака на основі підібраного шифро тексту; 6) атака на основі підібраного ключа; 7) грабіжницький «аналіз». Зазначені вище методи здійснення атак, тобто криптоаналізу, по суті відрізняються наявністю чи відсутністю у криптоаналітика деякої додаткової інформації. Так, атака при відомому шифр тексті здійснюється винятково на основі зашифрованої інформації, тобто шифр тексту. При атаці на основі відомого відкритого тексту та відповідних йому шифр текстів, крім зашифрованих повідомлень (криптограм), у розпорядженні криптоаналітика є відповідні їм відкриті тексти. При атаці на основі підібраного відкритого тексту на основі обраних відкритих повідомлень у подальшому отримуються відповідні їм зашифровані повідомлення. При атаці на основі адаптивно підібраного відкритого тексту здійснюється адаптивний підбір відкритих повідомлень, тобто зашифрування наступного повідомлення відбувається після аналізу попередніх криптограм. Атака на основі підібраного шифро тексту здійснюється на основі обраних зашифрованих повідомлень, для яких криптоаналітик одержує відповідні їм відкриті. Також при криптоаналізі має сенс застосування комбінованої атаки, при якій здійснюється аналіз як відкритих повідомлень, так і криптограм. На рис. 1.8 наведена спрощена схема здійснення криптоаналізу. Користувачі К1 та К2 під час обміну інформацією для надання послуг з криптографічного захисту – конфіденційності, цілісності, доступності та захисту від НСД застосовують симетричні крипто перетворення. Криптоперетворення типу шифрування можна подати як [20-21]: , і відповідно для автентифікації як . (1.92) Рис. 1.8. Структурна схема організації криптоаналізу Як уже вказувалось, доведення крипто стійкості або аналіз крипто стійкості можуть виконуватись у двох випадках: для оцінки захищеності БСШ самим розробником чи відповідальною організацією; порушником (крипто аналітиком, крипто аналітичною системою), що здійснює або робить спробу здійснити криптоаналіз. Для умов рис. 1.8 найбільш узагальнена постановка задачі криптоаналізу з метою визначення семантичного змісту повідомлення може бути зведена до такого. Для умов (1.89) та (1.89) криптоаналітик робить спробу обчислити апостеріорні ймовірності для усіх i та j, тобто [1, 15]: . (1.93) При цьому число можливих варіантів для (1.93) визначається як N в = n м n с, (1.94) де: n м – розмір безлічі повідомлень відповідного джерела повідомлень; n с – розмір безлічі криптограм відповідного джерела криптограм. Із (1.93) видно, що попередньо необхідно визначити апріорну статистику P(Mi), P(Cj /Mi) та Р(Сj) для усіх i та j, тобто розглянути Nв (1.94). Крім того, апостеріорний ряд (1.93) у реальних випадках буде надзвичайно великим, коли навіть зробити аналіз його значень буде обчислювально неможливо. Тому такий підхід може бути застосованим в тому випадку, коли множина повідомлень і криптограм обмежені і можна набрати апріорну статистику для (1.93.). Якщо криптоаналітик успішно здійснить криптоаналіз, то таємний ключ необхідно вважати компрометованим. Компрометація ключа може наступати з різних причин, але в кожному із таких випадків ключ має бути виведено з дії та знищено. Під компрометацією будемо розуміти [6-7,15] будь-який випадок, що стався або міг статися із засобами криптографічного захисту інформації або ключовими документами до них (крадіжка, втрата, порушення цілісності, розголошення ключових даних або змісту ключових документів, копіювання (перлюстрація) та інші навмисні чи випадкові дії (в тому числі обґрунтована підозра на такі дії), які призвели або можуть призвести до порушення конфіденційності, цілісності, доступності, справжності, інформації тощо, що обробляється та зберігається криптографічними системами). Таким чином, компрометація таємного ключа – будь-яка подія та/або дія, що призвела або може призвести до несанкціонованого використання такого ключа. Аналіз показав, що вибір та особливості застосування методів криптоаналізу відносно БСШ повністю залежать від методу криптографічного перетворення (елементарних криптографічних та табличних перетворень), який реалізований у криптосистемі, тому в подальшому в найбільш узагальненому вигляді методи криптоаналізу будемо розділяти за ознакою, яка відображає рівень криптографічної стійкості. Тому при крипто аналізі БСШ будемо розглядати два рівня стійкості [20-23, 147-149]: безумовно стійкі або теоретично не дешифровані криптосистеми; обчислювально стійкі криптосистеми; обчислювально нестійкі (тимчасової стійкості) криптосистеми. В подальшому аналізу та дослідженню підлягають тільки обчислювально стійкі криптосистеми на основі БСШ. Відносно БСШ можуть обґрунтовуватись та застосовуватись різноманітні методи криптоаналізу. Але, незважаючи на це, при дослідженні крипто стійкості та оцінці їх стійкості методи криптоаналізу можна ділити на основних великі класи: - атаки типу «груба (або брутальна) сила»; - аналітичні атаки. Особливістю атаки типу «груба сила» є те, що криптоаналітик у процесі атаки здійснює обґрунтовані дії з перебирання ключів, які дозволені в системі. При атаці «груба сила» будемо говорити про задачу виконання ним N в варіантів, як правило, ідентичних, групових операцій. Прикладом групової операції є спроба здійснити багато разів криптографічне перетворення, перебираючи відповідні ключі. В ході криптоаналізу стратегії перебирання ключів можуть бути різними, мається на увазі які ключі використовувати спочатку, а які після перших. У найгіршому випадку число варіантів Nв перебирання дорівнює числу можливих ключів N к, тобто N в = N к (1.95) Принциповою особливістю аналітичної атаки є те, що крипто аналітик використовує деяку слабкість БСШ, наявність якої дозволяє зменшити, або суттєво зменшити число варіантів групових операцій, які необхідно здійснити в процесі криптоаналізу. При цьому основним методом здійснення аналітичних атак є виконання Nв спеціальним чином обґрунтованих ідентичних групових (математичних) операцій. Як правило у традиційному розумінні під ефективністю атаки розуміється можливість застосування вибраного методу чи методів криптоаналізу відносно БСШ зі складністю меншою, ніж складність атаки «груба сила». Тому натурально кількісно оцінювати ефективність методу криптоаналізу ступенем зменшення складності конкретної атаки у порівнянні з атакою «груба сила», а також за необхідності переліком шифрів, відносно яких атака може бути успішно застосована. Під складністю атаки на БСШ будемо розуміти мінімальну кількість певних групових операцій (наприклад, розшифрувань чи за шифрувань), які необхідно виконати для визначення секретного (таємного) ключа. При цьому, як традиційно уже прийнято, будемо вважати, що складність криптоаналізу відносно обчислювально стійкого шифру має бути не менше складності атаки «груба сила». Хоча відносно цього положення нині є сумніви. Вище уже було вказано, що залежно від врахування та використання особливостей внутрішньої структури алгоритму шифрування БСШ, атаки можна класифікувати на силові й аналітичні. При застосуванні силових атак аналізуються такі зовнішні характеристики шифру, як довжина блоку lb, довжина ключа lk та ймовірності їх появи P тощо. За таких умов успішність здійснення криптоаналізу досягається засобом застосування значних обчислювальних ресурсів та/або за рахунок накопичення великого вважається, що незалежно від структури, силові атаки можуть бути застосовані до всіх детермінованих БСШ. При чому, у разі наявності необхідної початкової інформації незначного обсягу відносно БСШ, практично гарантується визначення таємного ключа або змісту шифр тексту. Також загально визнано, що при розробці БСШ вимагається, щоб відносно нього не існувало аналітичних, в тому числі потенційних, методів криптоаналізу. Тому для таких БСШ атаки типу «груба сила» практично є єдино можливими. Необхідно зазначити, що факторами, які визначають складність таких атак, є довжина ключа lk, розмір блоку алгоритму lb, а також складність відповідного криптографічного перетворення, що застосовуються при криптоаналізі. Але, як показав досвід, суттєвий вплив на складність криптоаналізу має розмір ключа lk, яка для БСШ в більшості випадків носить експоненційний характер. Також визначено, що при відповідно обґрунтованих довжинах ключа, для проведення силових атак потрібні значні обчислювальні ресурси і тимчасові витрати, які призводить до практичної неможливості злому БСШ. За прогнозами практично й до 2030 року [20-21,401-403], стійкість проти силових атак може забезпечуватись при довжинах ключа 128 і більше бітів. Такий прогноз зроблено без урахування можливостей квантових крипто аналітичних систем. Також при проектуванні алгоритму симетричного перетворення (шифрування), обов’язковою вимогою є забезпечення захисту від усіх відомих аналітичних атак. Для цього довжини блоку і ключів вибираються з урахуванням забезпечення захищенності від усіх можливих силових атак. При побудуванні та реалізації аналітичних атак обов’язковим є пошук потенційних уразливостей внутрішньої структури алгоритму криптографічного перетворення, які можуть бути присутні в БСШ завдяки помилкам проектування або які закладені в вигляді лазівок при проектуванні навмисне. Крім того, необхідно враховувати, що усі атаки можуть бути спрямовані як на криптографічне перетворення, що застосовується в БСШ, так і на схеми розгортання циклових ключів, злам якої може дозволити знайти основний (робочий) ключ, що генерується джерелом з відповідною ентропією. Детальна класифікація атак на БСШ наведена на рис. 1.9. Нижче наводяться результати аналізу та досліджень [24-32,196], які стосуються криптографічної стійкості існуючих БСШ. Першими, що історично з’явились, та найбільш ефективними по критерію складності з точки зору криптоаналітика, є атаки, що ґрунтуються на диференційному та лінійному криптоаналізі циклових функцій. Вони орієнтовані на пошук та використання слабкостей нелінійного перетворення циклової функції. Метод диференційного криптоаналізу належить до класу атак з обраними відкритими повідомленнями [20, 118]. Для такої атаки вважається, що криптоаналітик володіє засобом зашифрування інформації, але він не в змозі зчитати таємний ключ із засобу. Тому він повинен вирішити визначити таємний ключ іншим чином, наприклад застосуванням методу диференційного криптоаналізу. При його виконанні крипто аналітику необхідно мати можливість вибирати значення відкритих блоків, що подаються на вхід шифратора, й одержувати відповідні їм криптограми, а це можливо лише при володінні засобом із введеним в нього таємним ключем. Далі вивчається проходження Рис. 1.9. Класифікація атак на БСШ різниць між текстами через цикли зашифрування. Причому для обчислення різниці вибирається операція, що є зворотною до ключової операції, наприклад складання за модулем 2 (XOR). При цьому основним об’єктом атаки є нелінійне перетворення, що виконується цикловою функцією. Шифр вважається уразливим до диференційного криптоаналізу, якщо імовірність проходження різниць через нелінійне перетворення буде високою. Результатом атаки є обчислення циклових ключів на останніх циклах, за якими відновлюється повний ключ шифрування. Метод диференційного криптоаналізу більш детально розглядається нижче. До найбільш ефективних методів криптоаналізу БСШ належить також лінійний криптоаналіз [118,20]. Він може бути застосований до будь-яких симетричних ітеративних блокових шифрів, у яких використовують операції в полі GF(2) [21,118]. При здійсненні лінійного криптоаналізу вивчається ймовірнісна лінійна залежність між бітами відкритого, зашифрованого тексту і бітами ключа шифрування. Така залежність дозволяє з деякою імовірністю визначити окремі біти ключа, але тільки за наявності досить великого обсягу відповідних відкритих і зашифрованих блоків. У цілому лінійний криптоаналіз дозволяє простежити статистичну лінійну залежність між бітами парності для незашифрованого тексту, ключа та шифротексту, отриману для різних циклів. Із рис. 1.2 видно, що існують й інші методи аналізу циклової функції БСШ. До них необхідно віднести атаку з використанням диференціалів високого порядку та усічених і нездійсненних диференціалів. Окрім того, диференційний та лінійний криптоаналіз можуть застосовуватися спільно. Запропоновані також XL (eXtended Linearization) і XSL (eXtended Sparse Linearization) атаки, які, на наш погляд, належать до універсальних методів аналізу БСШ. Для цих методів характерним є використання для опису нелінійного перетворення (S-блоку) перевизначеної системи квадратичних рівнянь. На основі побудованої системи квадратичних рівнянь можна описати циклове перетворення і весь алгоритм шифрування. Також існує припущення, що в полі GF(2) складність розв’язання такої системи має субекспоненційний характер і залежить від кількості циклів шифрування. Для шифрів з байтовою структурою, наприклад AES та Rijndael, також може бути використаний інтегральний криптоаналіз. Спочатку атака типу інтегральний криптоаналіз була запропонована та застосована для шифру Square, а пізніше виявилося, що вона може бути застосована і таких байт орієнтованих шифрів як Rijndael та його версії FIPS 197. Також розроблені та нині застосовуються атаки ( рис.1.19), що отримали назву атак «на реалізацію». Ці атаки ґрунтуються на тому, що якщо у криптоаналітика є доступ до шифратора, але він не може зчитати з нього таємний ключ, то крипто аналітик може включити робочий режим (шифрування), та вимірити такі параметри, як споживана пристроєм потужність, час роботи, зміна температурного режиму роботи пристрою, тактова частота, що виробляється ззовні, тощо. У деяких випадках зазначені атаки дозволяють відновити таємний ключ шифрування. До аналітичних атак відносяться атаки на алгоритми розгортання циклових ключів (див. рис. 1.9). Невдалий вибір і реалізація алгоритму розгортання ключів може значно послабити алгоритм шифрування або призвести до формування слабких ключів. При подальшому їх застосуванні алгоритм шифрування стає уразливим до певних атак. При недостатньо обґрунтованому алгоритмів генерації циклових ключів криптоаналітик може застосовувати атаку на зв’язаних ключах, виконавши шифрування одного відкритого тексту на декількох зв’язаних ключах. В указаному випадку шифр може бути уразливим до слайд-атаки [18], складність якої може виявитися низькою та реалізованою. Аналітичні атаки згідно з рис. 1.9 можуть також ґрунтуватись на використанні уразливостей циклових перетворень, схем вироблення циклових ключів і апаратних особливостях реалізації БСШ. Таким чином для здійснення криптоаналізу БСШ можуть бути застосовані різні методи криптоаналізу. Кожен із них характеризується певними вхідними даними, а реалізація криптоаналізу вимагає суттєвих ресурсів. Серед інших методів криптоаналізу, що повинні розглядатись, необхідно назвати також такі[ 20,118 ]: метод використання дифирінціалів високого порядку; метод усічених диференціалів; метод неможливих диференціалів; нелінійний криптоаналіз; метод формального кодування; декомпозиційний крипто аналіз; метод кратних лінійних апроксимацій; інтерполяційна атака; інтегральний криптоаналіз. Більш детальний розгляд цих атак наводиться в 5 розділі цієї монографії. 1.5 Сутність, вимоги, класифікація та стандартизація криптосистем типу потокові симетричні шифри |