Н а   к о н к у р с   н а   к р а щ у   н а у к о в у   р о б о т у

с т у д е н т і в   з а   р о з д і л о м

 

"Інформаційна безпека та захист інформації"

 

 

 

 

 

 

 

С т у д е н т с ь к а   н а у к о в а   р о б о т а

н а   т е м у:

 

АПАРАТНЕ ШИФРУВАННЯ КАНАЛІВ ЗВЯЗКУ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ДЕВІЗ: АПАРАТНЕ ШИФРУВАННЯ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                 

 

 

2005 р.

 

 

 

 

 

РЕФЕРАТ

 

 

 

Науково-дослідна робота студента

_____ с., _____ рис., _____ таб.

 

 

 

Метою науково-дослідної роботи є аналіз існуючих криптографічних

алгоритмів та можливості їхнього застосування для апаратної реалізації на базі

мікроконтролерів та програмованих логічних інтегральних схем (ПЛІС)

шифрувальних пристроїв каналів звязку. Під час виконання роботи був

проведений огляд основних видів криптографічних алгоритмів та надана

порівняльна характеристика симетричних та асиметричних криптографічних

алгоритмів стосовно можливості та доцільності їхнього використання для

шифрування каналів зв’язку. З огляду на апаратну орієнтованість та найбільшу

відповідність до поставлених умов та обмежень симетричних потокових шифрів,

були наведені декілька реалізацій апаратних шифраторів каналів зв’язку та

подана їхня порівняльна характеристика по основних показниках.

Результати даної науково-дослідної роботи можна використовувати у

навчальних та більш глибоких дослідницьких цілях у сфері апаратного

шифрування потокової інформації.

 

 

 

 

 

АПАРАТНИЙ ШИФРАТОР, КАНАЛ ЗВ’ЯЗКУ, ПОТОКОВЕ ШИФРУВАННЯ,

КРИПТОГРАФІЧНИЙ АЛГОРИТМ, ЗАХИСТ ІНФОРМАЦІЇ, ПРОГРАМНЕ

КОНФІГУРУВАННЯ, ПЛІС, МІКРОКОНТРОЛЕР

 

 

 

 

 

 

 

 

 

Зміст

Вступ ………………………………………………………………………………………..

1. Передумови виникнення криптографії та її мета …………………………………..

2. Класифікація криптографічних алгоритмів ………………………………………...

    2.1. Асиметричні криптографічні алгоритми ………………………………………….

    2.2. Симетричні криптографічні алгоритми.

           2.2.1. Блокові алгоритми ……………………………………………………………

           2.2.2. Потокові алгоритми.

    2.3. Порівняльна характеристика асиметричних та симетричних алгоритмів

           стосовно шифрування каналів зв’язку ………………………………………….

3. Методи шифрування каналів зв’язку ………………………………………………..

    3.1. Канальне шифрування …………………………………………………………..

    3.2. Кінцеве шифрування …………………………………………………………….

    3.3. Поєднання властивостей обох методів …………………………………………

4. Принцип роботи апаратного шифратора потокових шифрів каналів зв’язку

    та його структура ……………………………………………………………………..

5. Реалізація пристроїв для апаратного шифрування інформації в каналах

    зв’язку із використанням потокових шифрів ……………………………………….

    5.1. Реалізація із застосуванням мікроконтролерів ……………………………………

    5.2. Реалізація із застосуванням ПЛІС …………………………………………………

    5.3. Порівняльна характеристика обох реалізацій ………………………………….

Висновки ……………………………………………………………………………………

Перелік використаної літератури …………………………………………………………

 

Вступ

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

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

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

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

   З метою забезпечення конфіденційності інформації використовують особливий вид перетворень, який має назву «шифрування». Шифрування має на меті приховати змістовну та статистичну залежність між частинами вхідного повідомлення. Шифрувати можна будь-які повідомлення, що мають цінність для відправника або одержувача і можуть бути перехоплені третьою стороною з метою подальшого використання у своїх інтересах. Саме тому з розвитком електронних обчислювальних машин та засобів їх взаємодії також розвивалися методи та засоби збереження конфіденційності інформації, які мають вигляд криптографічних програм, що виконують шифрування даних на верхніх рівнях моделі OSI, та різноманітних шифрувальних пристроїв, які шифрують пакети або потоки даних, що використовуються для обміну інформацією між станціями локальних чи глобальних мереж та периферійними пристроями, на нижніх рівнях моделі OSI.

 

   1. Передумови виникнення криптографії та її мета

   Проблема захисту інформації шляхом її перетворення, що виключає її прочитання сторонньою особою хвилювала людський розум з давніх часів. Історія криптографії - ровесниця історії людської мови. Більш того, спочатку писемність сама по собі була криптографічною системою, оскільки в стародавніх суспільствах нею володіли тільки обрані. Священні книги Давнього Єгипту, Стародавньої Індії тому приклади.

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

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

   Проблема використання криптографічних методів в інформаційних системах (ІС) стала зараз особливо актуальною, через збільшення важливості інформації в сучасному світі, про що найбільш показово свідчать наступні факти:  по-перше, володіння певним цифровим кодом може відкрити доступ його власникові до значних матеріальних цінностей і послуг - такий стан речей має місце завдяки тому, що інформатизація суспільства не обійшла стороною банківсько-фінансову сферу;  по-друге, склалася і надзвичайно окріпнула індустрія інформаційних послуг - інформація стала звичайним товаром, тобто об'єктом купівлі-продажу.  Багато фірм досягають успіху тільки завдяки тому, що можуть отримати важливі для їх діяльності відомості всього на декілька годин або діб раніше своїх конкурентів;  по третє, за оцінками зарубіжних економістів значна частка західних фірм розорилася б протягом декількох днів після розголошення критично важливої інформації, що лежить в основі їхньої діяльності. Особливий, нематеріальний характер інформації робить виключно легким її копіювання і модифікування, через що вона стає спокусливим об'єктом різного роду зловживань.

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

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

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

   Підключення до відкритих (глобальним) мереж, таким як Інтернет, істотно збільшує ефективність роботи і відкриває безліч нових можливостей. В той же час необхідно поклопотатися про створення системи захисту інформаційних ресурсів від охочих їх використовувати, модифікувати або просто знищити. Захист інформації має на меті підтримку цілісності, доступності і, якщо необхідно, конфіденційності інформації і ресурсів, використовуваних для введення, зберігання, обробки і передачі даних.

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

   Саме повідомлення називається відкритим текстом. Зміна виду повідомлення таким чином, щоб приховати його суть називається шифруванням. Шифроване повідомлення називається шифртекстом. Процес перетворення шифртексту у відкритий текст називається дешифруванням. Цю послідовність показано на рис. 1.1.

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

 

Рис.1.1. Зашифрування та розшифрування

   Позначимо відкритий текст як М (від англійського «message» – повідомлення), а просто відкритий текст – буквою Р (від «plaintext» – відкритий текст). Це може бути послідовність (потік) бітів, текстовий файл, бітове зображення, оцифрований звук, цифрове відео зображення, тощо. Для комп'ютера М - це просто двійкові дані. Відкритий текст може бути створений для зберігання або передачі. У будь-якому випадку, М - це повідомлення, яке повинне бути зашифроване.

   Позначимо шифртекст буквою С (від англійського «ciphertext»). Це теж двійкові дані, іноді того ж розміру, що і М, а іноді більше. (Якщо шифрування супроводжується стисненням, розмір С може бути меншим ніж М. Проте, саме шифрування не забезпечує стиснення інформації.) Функція шифрування Е, оперуючи з М, створює С. Або, в ма-

тематичній формі:

   Е(М) = С.

У зворотному процесі функція дешифрування D, оперуючи з  С, відновлює М:

   D(C) = М.

Оскільки сенсом зашифрування і подальшого розшифрування повідомлення є відновлення вхідного відкритого тексту, справедливою є наступна рівність :

   D(E(M)) = М.

 

   2. Класифікація криптографічних алгоритмів.

   Сучасна криптографія включає чотири крупні розділи:

-          симетричні криптосистеми;

-          асиметричні криптосистеми (криптосистеми з відкритим ключем);

-          системи електронного підпису;

-          управління ключами.

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

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

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

   Далі будуть розглянуті основні особливості симетричних та асиметричних криптографічних алгоритмів та їхня порівняльна характеристика з огляду на можливість застосування для апаратного шифрування каналів зв’язку. Але перед тим, як розглядати різні види криптографічних алгоритмів слід розглянути  поняття «алгоритму» та «ключа».

   Криптографічний алгоритм, також званий шифром, є математичною функцією, використовуваною для зашифрування відкритого тексту і розшифрування шифртексту. (Зазвичай це дві зв'язані функції: одна для зашифрування, а інша для розшифрування.)

   Вхідними даними для будь-якого криптографічного алгоритму окрім тексту для шифрування є також ключ К. Такий ключ може бути будь-яким значенням, що обране з великої множини. Безліч можливих ключів називають простором ключів. Ключ використовується в обох операціях – як зашифрування, так і розшифрування (тобто вони залежать від ключа, і ця обставина позначається індексом К). Таким чином тепер функція зашифрування деякого вхідного вікритого тексту М за допомогою ключа К приймає вигляд:

   Ек(М) = С,

а функція розшифрування деякого шифртексту С за допомогою ключа К виглядає так:

   Dк(С) = М.

 

       2.1. Асиметричні криптографічні алгоритми

   Алгоритми з відкритим ключем (звані також асиметричними алгоритмами) розроблені таким чином, що ключ, використовуваний для зашифрування, відрізняється від ключа розшифрування . Більш того, ключ розшифрування не може бути (принаймні протягом розумного інтервалу часу) розрахований по ключу зашифрування. Такі алгоритми називають алгоритмами з відкритим ключем, тому що ключ зашифрування може бути відкритим: хто завгодно може використовувати цей ключ для зашифрування повідомлення, але розшифрувати повідомлення може тільки конкретна людина, яка знає ключем розшифрування. У таких системах ключ зашифрування часто називають відкритим ключем, а ключ розшифрування – закритим ключем. Закритий ключ іноді називають секретним ключем, але щоб не було плутанини з симетричними алгоритмами, цей термін використовується в даній роботі. Припустимо, що К1 – деякий відкритий ключ (для зашифрування), а К2 – відповідний закритий ключ (для роз шифрування), тоді зашифрування з відкритим ключем К1 позначається як:

   Ек1(М) =С,

а розшифрування з відповідним закритим ключем К2 позначаєтся як:

   Dк2(C) =M.

Схематично зашифрування та розшифрування при використанні асиметричних криптографічних алгоритмів зображені на рис. 2.1.

 

Рис. 2.1. Операції зашифрування та розшифрування в асиметричних алгоритмах

   Слід зауважити, що ключі К1 та К2 не обов’язково мають бути різними, але в тому випадку, коли вони співпадають, втрачається багато переваг алгоритма з відкритим ключем.

   Іноді повідомлення зашифровуються закритим ключем, а розшифровуються –  відкритим ключем. Такий метод використовують для цифрового підпису. Ці операції, відповідно, позначають як:

   Ек2(М) = С,

   Dк1(C) = M.

   Від часу винайдення криптографії з відкритим ключем було запропоновано безліч криптографічних алгоритмів з відкритими ключами . Багато з них не є стійкими. А з тих, які є стійкими, багато непридатних для практичної реалізації . Або вони використовують дуже великий ключ, або розмір отриманого шифртекста набагато перевищує розмір відкритого тексту. Небагато алгоритмів є і безпечними, і практичними. Зазвичай ці алгоритми засновані на одній з важких проблем. Деякі з цих безпечних і практичних алгоритмів підходять тільки для розподілу ключів. Інші підходять для шифрування (і для розподілу ключів). Треті корисні тільки для цифрових підписів. Тільки три алгоритми добре працюють як при шифруванні, так і для цифрового підпису: RSA, EIGamal  (Ель-Гамаля) та Rabin (Рабіна). Усі ці алгоритми повільні. Вони зашифровують і розшифровують дані набагато повільніше, ніж симетричні алгоритми. Зазвичай їх швидкість недостатня для шифрування великих обсягів даних.

   Гібридні криптосистеми дозволяють прискорити події: для шифрування повідомлення використовується симетричний алгоритм з випадковим ключем, а алгоритм з відкритим ключем застосовується для шифрування випадкового сеансового ключа.

 

       2.1. Симетричні криптографічні алгоритми

   Симетричні алгоритми, які іноді називають умовними алгоритмами, це ті, в

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

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

   Якщо припустити, що К – ключ, що використовується у деякому симетричному криптографічному алгоритмі, тоді зашифрування і розшифрування з використанням симетричного алгоритму позначається як :

   Ек(М) = С,

   Dк(C) = M.

Схематично зашифрування та розшифрування при використанні симетричних криптографічних алгоритмів зображені на рис. 2.2.

 

Рис. 2.2. Операції зашифрування та розшифрування в симетричних алгоритмах

   Симетричні алгоритми поділяються на дві категорії. Одні алгоритми обробляють відкритий текст побітово (іноді побайтово), вони називаються потоковими алгоритмами або потоковими шифрами. Інші працюють з групами бітів відкритого тексту. Групи бітів називаються блоками, а алгоритми - блоковими алгоритмами або блоковими шифрами.

   Далі будуть більш докладно розглянуті особливості будови потокових та блокових алгоритмів.

 

              2.2.1. Блокові алгоритми

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

   Розглянемо всі режими, визначені стандартами:

-          Electronic Codebook (ECB) – режим електронної кодової книги (ГОСТ: режим простої заміни);

 -     Output Feedback (OFB) – режим зворотнього зв'язку по виходу;

 -     Cipher Feedback (CFB) – режим зворотного зв'язку по шифртексту (ГОСТ: режим   

        гамування зі зворотним зв'язком);

-          Cipher Block Chaining (CBC) – режим зв'язки шифрблоків (ГОСТ: режим

вироблення імітовставки);

 -     «Counter mode» – режим «лічильника» (ГОСТ: режим гамування).

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

   Блокові алгоритми працюють з блоками відкритого тексту і шифротексту – зазвичай завдовжки 64 біта, але іноді довше. Блоковий шифр, що використовує той самий ключ, при шифруванні завжди перетворює той самий блок відкритого тексту на той самий блок шифртексту.

 

              2.2.1. Потокові алгоритми

   Потокові алгоритми працюють з бітовими або байтовими потоками відкритого тексту і шифртексту.

(До появи комп'ютерів алгоритми зазвичай обробляли відкритий текст посимвольно. Такий варіант може розглядатися як потоковий алгоритм, що обробляє потік символів.)

   Потоковий шифр при кожному шифруванні перетворює той самий біт, або байт відкритого тексту на різні біти або байти шифртексту.

    Потокові шифри перетворюють відкритий текст в шифртекст по одному біту за операцію. Проста реалізація потокового шифру показана на рис. 2.3. Генератор потоку ключів (іноді званий генератором з ключем, що біжить) видає потік бітів: к1, к2, к3, ..., Кі. Цей потік ключів (іноді званий ключем, що біжить) і потік бітів відкритого тексту, р1, р2, р3, …, рі, піддаються операції XOR, і в результаті створюється потік бітів шифртекста:

   сі = рі XOR кі.

При розшифруванні операція XOR виконується над бітами шифртекста і тим самим потоком ключів для відновлення бітів відкритого тексту:

   рі = сі XOR кі.

Оскільки

   рі XOR кі XOR kі = рі

ця схема працює правильно.

 

Рис. 2.3. Потоковий шифр

   Безпека системи повністю залежить від властивостей генератора потоку ключів . Якщо генератор потоку ключів видає нескінченний рядок нулів, шифртекст співпадатиме з відкритим текстом, і вся операція буде безглуздою. Якщо генератор потоку ключів видає 16-бітовий шаблон, що повторюється, алгоритм бути простим XOR з дуже низьким захистом. Якщо генератор потоку ключів видає нескінченний потік випадкових (по справжньому, а не псевдовипадкових) бітів, ви отримуєте одноразовий блокнот і ідеальну безпеку.

   На ділі безпека потокового шифру знаходиться десь між простим XOR і одноразовим блокнотом.

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

   Однак, якщо генератор гами при кожному запуску створює той самий бітовий потік, зламати таку крипто систему дуже просто.

   Тому для всіх потокових шифрів використовуються ключі. Вихід генератора потоку ключів є функцією ключа. Тепер, якщо криптоаналітик отримає пару відкритий текст/шифртекст, він зможе читати тільки ті повідомлення, які зашифровані тим самим ключем. Змініть ключ, і супротивникові доведеться почати все спочатку. Потокові шифри особливо корисні для шифрування нескінченних потоків комунікаційного трафіку, наприклад, каналу Т1, що зв'язує два комп'ютери.

   Генератор потоку ключів складається з трьох основних частин (див. рис. 2.4). Внутрішній стан описує поточний стан генератора потоку ключів. Два генератори потоку ключів, з однаковим ключем і однаковим внутрішнім станом, видають однакові потоки ключів. Функція виходу по внутрішньому стану генерує біт потоку ключів. Функція наступного стану по внутрішньому стану генерує новий внутрішній стан.

 

Рис. 2.4. Структура генератора гами

 

       2.3. Порівняльна характеристика асиметричних та симетричних алгоритмів стосовно шифрування каналів зв’язку

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

   Симетрична криптографія найкраще підходить для шифрування даних. Вона на декілька порядків швидша та стійкіша до розкриття з використанням підібраного шифртексту.

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

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

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

-          працюють на декілька порядків швидше;

-          більш стійкі до зламування.

   Враховуючи те що каналами зв’язку пересилаються дуже великі об’єми даних (до того ж у більшості випадків послідовним кодом) на великих швидкостях (приблизно

100-1000Мбіт/сек), а також те, що шифрування повинно відбуватися апаратно, криптографічний алгоритм повинен задовольняти наступним вимогам:

      -     бути орієнтованим на апаратну реалізацію;

      -     здійснювати шифрування даних на великих швидкостях без зайвих затримок;

      -     бажано не використовувати буферизацію даних, через критичність затримок.

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

 

   3. Методи шифрування каналів зв’язку

   Теоретично шифрування можливе на будь-якому рівні моделі OSI. На практиці ж дані шифрують або на найнижчих рівнях (фізичному або канальному), або на вищих рівнях (мережному або транспортному). Якщо дані шифрують на нижніх рівнях, процес називають канальним шифруванням (link-by-link); шифрується все, що йде по каналу передавання даних. Якщо дані шифруються на верхніх рівнях, процес називають кінцевим (або абонентським) шифруванням (end-to-end); дані шифруються за виборчим принципом і залишаються у зашифрованому вигляді до розшифрування кінцевим користувачем. Кожному з підходів властиві переваги та недоліки.

 

       3.1. Канальне шифрування

   Простіше за все зашифрувати дані на фізичному рівні (див. рис. 3.1). Такий тип шифрування частіше всього називають канальним шифруванням. Як правило, інтерфейси фізичного рівня є стандартизованими, і підключити апаратний шифратор в цьому випадку не складно. Ці пристрої шифрують всі дані, що проходять крізь них, у тому числі власні дані, а також маршрутну та протокольну інформацію. Їх можна використовувати у цифрових каналах зв’язку будь-якого типу. З іншого боку, будь-який інтелектуальний комутатор або вузли збереження інформації, що розташовані між відправником та одержувачем, повинні розшифрувати потік даних, перед тим як почати їх опрацювання.

 

 

Рис. 3.1. Шифрування в каналі зв’язку

 

   Загальна схема  шифрування у каналі зв’язку наведена на рис. 3.1, де Р – вхідне повідомлення, Вузол1-Вузол4 – вузли мережі, кожен з яких має пристрій зашифрування та розшифрування, КЗ1-КЗ3 – канали зв’язку, Ек1-Ек3 – зашифрування повідомлення за допомогою ключів к1-к3, Dк1-Dк3 – розшифрування повідомлення за допомогою ключів к1-к3.

   Шифрування цього типу досить ефективне. Оскільки шифруванню підлягають усі дані, то криптоаналітик не отримає ніякої інформації щодо структури повідомлення та його даних. Він не матиме уявлення про довжину повідомлення, що пересилається, про тривалість сеансу зв’язку і т.д. Таким чином, забезпечується так звана «безпека трафіка»: криптоаналітик не тільки не отримує доступу до інформації, але і не може дізнатися, де і як вона передається.

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

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

 

       3.2. Кінцеве шифрування

   Інший підхід полягає в розміщенні шифрувального обладнання між мережним і транспортним рівнями. Шифратор повинен «розуміти» дані, що належать до протоколу аж до третього рівню, і шифрувати тільки одиниці даних транспортного рівня, які потім поєднуються з незашифрованою маршрутною інформацією і відсилаються на нижчі рівні для передавання.

   Такий підхід дозволяє уникнути недоліків зашифрування/розшифрування даних на фізичному рівні. При використанні кінцевого шифрування дані залишаються зашифрованими до надходження за місцем призначення(див. рис. 3.2). Основний недолік кінцевого шифрування полягає в тому, що маршрутна інформація залишається незашифрованою; досвідчений криптоаналітик може багато дізнатися про те, хто і з ким вів переговори, в який час і як довго, навіть не знаючи змісту переговорів. Окрім того ускладнюється розподіл ключів, оскільки окремі користувачі повинні обов’язково мати спільні ключі.

 

 

Рис. 3.2. Кінцеве шифрування

 

   Загальна схема кінцевого шифрування наведена на рис. 3.2, де Р – вхідне повідомлення, Вузол1-Вузол4 – вузли мережі, КЗ1-КЗ3 – канали зв’язку, Ек – зашифрування повідомлення за допомогою ключа к, Dк – розшифрування повідомлення за допомогою ключа к.

   Розробка апаратури для кінцевого шифрування – справа дуже важка. В кожній окремій системі зв’язку використовуються власні протоколи. Іноді інтерфейси між рівнями визначені погано, що додатково ускладнює завдання. Якщо дані шифруються тільки на вищому рівні архітектури системи зв’язку, наприклад, на прикладному рівні або на рівні представлення даних, шифрування може не залежати від мережі зв’язку, що використовується. Це все ще кінцеве шифрування, але реалізація шифрування не повинна піклуватися про коди каналу зв’язку, синхронізацію модемів, фізичні інтерфейси і т.д.

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

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

 

       3.3. Поєднання властивостей обох методів

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

Табл. 3.1. Порівняння канального та кінцевого шифрування

Канальне шифрування

Кінцеве шифрування

Безпека на хостах

Повідомлення розкриваються на хості-відправнику

Повідомлення зашифровані на хості-відправнику

Повідомлення розкриваються на проміжних вузлах

Повідомлення зашифровані на проміжних вузлах

Роль користувача

До нього звертається хост-відправник

До нього звертається процес пересилання

Шифрування невидиме для користувача

Шифрування виконується користувачем

Шифруванням керує хост

Користувач повинен сам обрати алгоритм

Достатньо одного пристрою для всіх користувачів

Користувач обирає режим шифрування

Можлива апаратна реалізація

Простіше реалізується програмними засобами

Шифруються всі повідомлення

Рішення про необхідність шифрування кожного повідомлення приймає користувач

Вимоги до реалізації

Достатньо єдиного ключа для кожної пари хостів

Потребує особливий ключ для кожної пари користувачів

Потребує шифрувальний пристрій або програму на кожному хості

Потребує шифрувальне обладнання або програму на кожному вузлі

Забезпечує ідентифікацію вузлів

Забезпечує ідентифікацію користувачів

 

   Але також поєднання обох цих методів має суттєві недоліки:

-          наявність двох етапів шифрування, один з яких до того ж відбувається на програмному рівні, призводить до деякої втрати швидкості обміну інформацією в мережі;

-          шифрування усіх повідомлень на фізичному рівні, що зумовлює обов’язкову наявність шифрувальних пристроїв, які функціонують на фізичному рівні, на кожному з вузлів мережі;

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

-          проблема розповсюдження ключів, що використовуються при шифруванні на програмному рівні;

-          необхідність приймання користувачем рішення щодо доцільності шифрування будь-якого повідомлення взагалі;

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

-          можливість втручання недосвідченого користувача в роботу програмної частини криптографічної комплексу та помилкової зміни її параметрів.

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

 

Рис. 3.3. Альтернативне рішення шифрування

   Загальна схема альтернативного рішення шифрування наведена на рис. 3.3, де Р – вхідне повідомлення, Вузол1-Вузол4 – вузли мережі, КЗ1-КЗ3 – канали зв’язку, Ек – зашифрування повідомлення за допомогою ключа к, Dк – розшифрування повідомлення за допомогою ключа к.

   Головні ідеї будови альтернативного програмно-апаратного комплексу шифрування каналів зв’язку:

1)      комплекс реалізується за програмно-апаратним принципом;

2)      апаратна частина, яка розташована на фізичному рівні моделі OSI і фактично є апаратним шифратором, що конфігурується програмно, виконує всю роботу по шифруванню каналу зв’язку;

3)      програмна частина виконує конфігурування апаратних засобів шифрування;

   Основна ідея такої реалізації полягає в тому, що перед початком сеансу зв’язку за допомогою програмної частини криптографічного комплексу відбувається відповідне конфігурування його апаратної частини , внаслідок чого, навіть за умови розташування на фізичному рівні моделі OSI, апаратна частина шифрує лише ту частину повідомлення користувача (службові повідомлення не шифруються взагалі), яка містить дані,  і  залишає без змін маршрутну частину вхідного повідомлення, що не робить необхідною наявність у шлюзу та проміжних маршрутизаторів таких самих програмно-апаратних засобів шифрування. Якщо у будь-якому конкретному сеансі зв’язку шифрування даних не  є необхідним, тоді відбувається відповідне конфігурування апаратних засобів, внаслідок чого вихідні повідомлення не шифруються, а відправляються до мережі без змін.

   Отже альтернативне програмно-апаратне рішення шифрування каналів зв’язку у порівнянні з канальним та кінцевим шифруваннями має наступні характеристики:

1)      з позиції безпеки на хостах:

            -     повідомлення розкриваються на хості-відправнику;

      -     повідомлення зашифровані на проміжних вузлах;

      -     повідомлення розкриваються на хості-одержувачу;

2)   з точки зору ролі користувача:

      -     достатньо пристроїв лише одного типу для всіх користувачів;

      -     шифрування є невидимим для користувача;

      -     шифруванням керує хост;

      -     користувач лише приймає рішення щодо необхідності шифрування    

            повідомлень у окремому сеансі зв’язку;

2)      з огляду на вимоги до реалізації:

      -     достатньо єдиного ключа на кожну пару хостів;

      -     потребує шифрувальний пристрій лише для хоста-відправнка та

            хоста-одержувача;

      -     забезпечує ідентифікацію вузлів.

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

 

   4. Принцип роботи апаратного шифратора потокових шифрів каналів зв’язку та його структура

   Основною ідеєю апаратної реалізації є так зване швидке шифрування, тобто такий спосіб шифрування вхідного потоку бітів, при якому у кожному такті той біт інформації, який щойно надійшов, підлягає шифруванню за допомогою деякої простої операції (наприклад XOR) і без затримки подається на вихід шифратора у тому самому такті, тобто не відбувається буферизація інформації,  і як наслідок цього усувається проблема затримки інформації шифруючим пристроєм. До того ж, такий підхід дозволяє уникнути майже повного відтворення шифратором функцій мережного адаптера, що стало б неможливим при використанні шифратором буферизації потокової інформації, адже при використанні такого пристрою всередині локальної або глобальної мережі з метою шифрування трафіка, шифратор повинен був би містити блок розпізнання колізій, блок аналізу стану середовища і т.п. Тобто запропонована апаратна реалізація є оптимальною за апаратурними та часовими витратами.

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

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

   На мережному рівні діє протокол IP (RFC791). IP - це мережний протокол, заснований на принципі комутації пакетів. У його функції входить адресація вузлів мережі і вибір маршруту. У термінології IP кінцеві вузли - відправники і одержувачі інформації, називаються хостами (host), а проміжні пристрої, що оперують IP-пакетами (що аналізують і модифікують інформацію IP-заголовків), називають шлюзами (gateway). Інформація передається пакетами стандартизованої структури, званими також IP-дейтаграмами. Кожен пакет має поле заголовку і поле даних. Формат заголовку IP-пакета наведений у табл. 4.1.

Таблиця 4.1. Формат заголовку IP-пакета

Біти/

Слова

0     3 4     7 8             15      19       23             31

1

Version

IHL

Type of Service

Total Length

2

Identification

Flags

Fragment Offset

3

Time to Live

Protocol

Header Checksum

4

Source IP Address

5

Destination IP Address

6

Options

Padding

 

   Розглянемо призначення тих полів заголовка, IP-пакета, вміст яких відіграє ключову роль при шифруванні та транспортуванні пакета:

   IHL (Internet Header Length - довжина міжмережевого заголовка), 4 біта - кількість 32-бітових слів в заголовку.

   Total Length (загальна довжина), 16 біт - загальна довжина дейтаграми (заголовок і дані) в октетах (байтах). Допускається довжина до 65535 байт, але всі хости безумовно допускають прийом пакетів довжиною тільки до 576 байт. Пакети більшої довжини рекомендується посилати тільки, якщо є упевненість, що приймаючий хост здатний працювати з такими пакетами.

    Protocol (протокол), 8 біт - ідентифікатор протоколу вищого рівня, що використовує поле даних дейтаграми.

   Header Checksum (контрольна сума заголовка), 16 битий - сума по модулю 216 всіх 16-бітових слів заголовка, включаючи саме поле контрольної суми, яке на момент розрахунку вважається нульовим. Значення цього поля повинне перевірятися і (у разі модифікації заголовка) перераховуватися кожним шлюзом.

   Source Address (адреса джерела), 32 біта - адреса відправника дейтаграми.

   Destination Address (адреса призначення), 32 біта - адреса одержувача дейтаграми.

   Також IP-пакет служить своєрідним контейнером при передаванні пакетів протоколів транспортного рівня; саме ці пакети і використовуються для розміщення даних користувача.

   На транспортному рівні діють два основні протоколи: TCP (RFC793) та UDP (RFC768). Розглянемо їхнє призначення більш докладно.

   TCP (Transmission Control Protocol - протокол управління передаванням даних) призначений для надійного обміну інформацією між процесами (програмами), що функціонують у вузлах мережі.  Цим протоколом передбачено встановлення логічного з'єднання (званого також сеансом, віртуальним ланцюгом або каналом) між двома процесами. Для відкриття такого сеансу TCP використовує алгоритм, відомий під назвою “Потрійного рукостискання” (three-way handshake). За допомогою цього алгоритму визначаються номери портів приймача і передавача, а також початкові значення порядкових номерів пакетів. Пакети TCP передаються в полі даних IP-дейтаграм (див. рис. 4.1), при цьому кожен пакет TCP також має заголовок та поле даних, але їхній зміст не важливий у контексті даної роботи, адже TCP-пакети шифруються повністю, включаючи заголовок.

 

Рис. 4.1. Пакет TCP в IP-дейтаграмі

   Протокол UDP призначений для обміну дейтаграмами між прикладними (призначеними для користувача) програмами в мережі на основі IP - звідси і назва протоколу: «User Datagram Protocol» (протокол призначених для користувача дейтаграм). Встановлення з'єднання (сеансу) і підтвердження прийому повідомлень протоколом UDP не передбачено. Дейтаграми UDP також транспортуються в полі даних пакетів IP

(див. рис. 4.2), при цьому кожен пакет UDP також має заголовок та поле даних, але їхній зміст не важливий у контексті даної роботи, адже UDP-пакети шифруються повністю, включаючи заголовок, як і TCP-пакети.

 

Рис. 4.2. Пакет UDP в IP-дейтаграмі

   Враховуючи призначення та правила будови пакетів описаних вище протоколів мережного та транспортного рівнів, можна сформулювати послідовність дій, що їх необхідно виконати для того, щоб зашифрувати пакет TCP/UDP:

1)      визначити початок і довжину поля даних IP-дейтаграми;

2)      перевірити чи містить поле даних IP-дейтаграми TCP/UDP-пакет, якщо ні то не шифрувати поле даних цієї IP-дейтаграми, перейти до пункту 5;

3)      якщо поле даних IP-дейтаграми містить TCP/UDP-пакет, тоді дочекатися завершення передавання заголовка IP-дейтаграми;

4)      шифрувати поле даних IP-дейтаграми перед передаванням до каналу зв’язку;

5)      модифікувати ключі шифрування.

   Таким чином при реалізації шифратора треба забезпечити підтримку розпізнавання деяких полів заголовку IP-дейтаграми на апаратному рівні. Розглянемо застосування окремих полів IP-заголовку, згідно до наведеної вище послідовності дій, при реалізації апаратного шифруючого пристрою:

-          визначення початку поля даних IP-дейтаграми відбувається за допомогою аналізу поля IHL;

-          визначення довжини поля даних IP-дейтаграми відбувається за допомогою аналізу вже отриманого значення з поля IHL та вмісту поля   Total Length;

-          аналіз типу протоколу верхнього рівня здійснюється за значенням поля Protocol.

   Жодне з полів IP-заголовку не повинно змінюватися шифратором, бо дуже велика імовірність того, що значення в полі Header Checksum стане помилковим і такий IP-пакет буде відкинутий найближчим маршрутизатором як помилковий.

   Поля   Source Address та Destination Address містять первинні адреси відправника та одержувача, завдяки чому IP-пакет буде без помилок транспортований до місця призначення.

   Аналізуючи всі наведені вище алгоритми та особливості будови апаратного шифратора каналу зв’язку можна дійти висновку про необхідність наступних структурних компонент у його складі:

-          блок аналізу розташування поля даних IP-дейтаграми (БАР) - використовується для визначення початку та довжини поля даних IP-дейтаграми;

-          блок аналізу протокола верхнього рівня (БАП) – визначає, пакет якого з протоколів верхнього рівня міститься в полі даних IP-дейтаграми;

-          блок поточного стану передавання (БПС) – визначає скільки бітів поля даних IP-дейтаграми вже відправлено;

-          блок шифрування та керування ключами (БШК) – апаратна реалізація вже безпосередньо криптографічного алгоритму;

-          загальний блок керування (ЗБК) – забезпечує керування роботою всіх попередніх блоків.

   Враховуючи описані вище складові компоненти, можна побудувати загальну схему взаємодії основних структурних блоків апаратного шифратора (див. рис. 4.3.)

 

Рис. 4.3. Загальна схему взаємодії основних структурних блоків апаратного шифратора

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

 

   5. Реалізація пристроїв для апаратного шифрування інформації в каналах зв’язку із використанням потокових шифрів.

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

 

       5.1. Реалізація із застосуванням мікроконтролерів.

   Основу структурної схеми мікроконтролера ( в даному випадку для прикладу був узятий МК51)  утворює внутрішня двоспрямована 8-бітова шина, яка зв'язує між собою всі основні вузли і пристрої: резидентну пам'ять, АЛУ, блок регістрів спеціальних функцій, пристрій управління і порти введення/висновку (див. рис. 5.1).



Рис. 5.1. Структурна схема мікроконтролера (МК51)

   Як можна побачити з рис. 5.1, мікроконтролер є досить універсальним пристроєм, що вже містить всі функціональні блоки, які дозволяють: приймати деякі вихідні дані через порти вводу/виводу; розміщувати прийняті дані у оперативній пам’яті, або у EPROM-пам’яті; здійснювати мінімальний набір математичних та логічних операцій над даними; видавати кінцеві дані на проти вводу/виводу.

   Будь-який алгоритм, що реалізується за допомогою мікроконтролера, повинен бути оформлений у вигляді мікропрограми з використанням інструкцій, виконання яких підтримує обраний мікроконтролер. Мікропрограма зазвичай записується за допомогою мнемокодів у спеціальних середовищах програмування та «зашиваються» до до EPROM-пам’яті мікроконтролера у вигляді кодів. Приклади таких середовищ: Keil, Flip, AvrStudio.

   Для того, щоб мікроконтролер почав виконувати мікропрограму користувача, вона повинна бути записаною до EPROM-пам’яті у вигляді кодів відповідних мікрокоманд, а у відповідних керуючих регістрах мікроконтролера повинна міститися стартова адреса цієї програми.

   Структура мікроконторолера є досить гнучкою, що дозволяє реалізувати будь-який алгоритм за допомогою мікрокоманд і пристосувати його для керування різними процесами.

   Отже, реалізація шифратора на одному або декількох мікроконтролерах буде зводитися до програмної реалізації його структурних блоків. Після цього отримана мікропрограма під час виконання буде забезпечувати функціонування одного або декількох мікроконтролерів як повнофункціонального шифратора.

 

       5.2. Реалізація із застосуванням ПЛІС

   ПЛІС – програмовані логічні інтегральні схеми - структурно можуть бути представлені так, як це зображено на рис 5.2. ПЛІС складаються з портів вводу/виводу блоків PLD (Programmable Logic Device) – програмованих матриць логічних елементів та програмованої матриці з'єднань (Programmable Interconnect).

   Завдання реалізації шифратора на ПЛІС зводиться до того, щоб за допомогою певного програмного середовища повністю розробити внутрішню структуру пристрою, а потім перенести її на мікросхему ПЛІС. 

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

 

Рис. 5.2. Структурна схема ПЛІС

   Процес розробки внутрішньої структури шифратора, за умови реалізації його на ПЛІС, проходить наступні стадії:

1)      опис моделі пристрою за допомогою однієї з мов опису апаратури (HDL-Hardware Description Language, Verilog);

2)      синтез внутрішньої структури пристрою по його опису за допомогою певного програмного середовища;

3)      відображення отриманої структури на ПЛІС.

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

 

      5.3. Порівняльна характеристика обох реалізацій

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

   З точки зору універсальності реалізації пристрою при зміні різних алгоритмів, можна сказати, що реалізація апаратного шифратора на мікроконтролерах є більш універсальною, адже вона є більш гнучкою, бо зміна алгоритму потребуватиме лише часткову модифікацію прошивки мікроконтролера з його повторним «прошиванням». Реалізація ж на ПЛІС потребуватиме повного перегляду внутрішньої структури з повторенням усіх стадій розробки пристрою. Тут також слід враховувати той факт, що на відміну від мікроконтролерів, не кожний тип ПЛІС може бути перепрограмований багато разів – перепрграмування деяких ПЛІС взагалі неможливе через їхнє конструктивне виконання.

   Якщо розглядати ефективність реалізації шифратора з точки зору простоти реалізації алгоритмів, що покладені в основу його роботи, тоді має місце досить очевидний факт: мікроконтролер всередині вже складається з завершених блоків, кожен з яких реалізує специфічний для нього набір функцій (АЛУ, таймери, контролери переривань, схеми синхронізації та управління і т.п.), ПЛІС же в загальному випадку є лише деяким набором різних логічних елементів, між якими до того ж немає зв’язків. Тобто з позиції простоти реалізації, є більш бажаною реалізація на мікроконтролерах.

   Але не дивлячись на меншу гнучкість та більшу складність, реалізація на ПЛІС має декілька досить суттєвих переваг перед реалізацією на мікроконтролерах.

По-перше, за умови реалізації пристрою на ПЛІС, до його складу будуть включені лише ті структурні компоненти, які передбачені розробником, чого досить важко досягнути при використанні мікроконтролерів, адже вони у більшості своїй більш менш універсальні. Тобто при реалізації на мікорконтролерах виникають зайві апаратурні витрати, а також збільшується імовірність помилок внаслідок присутності компонентів, що не працюють, або працюють частково. По-друге, майже для всіх мікроконтролерів частота тактового генератора, на якій вони можуть працювати не перевищує 32МГц, в той час, як ПЛІС можуть стабільно працювати на частотах, які на порядок вищі.

    Остаточний висновок про ефективність реалізації апаратного шифратора каналів зв’язку потрібно робити на основі того з проаналізованих показників, який буде найважливішим при його використанні, а таким показником при шифруванні потокової інформації звичайно ж є швидкість, адже мікроконтролер вже не зможе працювати на частоті найпоширенішої в даний час специфікації локальних мереж - мережі Fast Ethernet (100Мбіт/с). Отже для реалізації апаратного шифратора каналів зв’язку у локальних та глобальні мережі, більш оптимальною є технологія із застосуванням ПЛІС.

 

Висновки

   Під час виконання науково-дослідної роботи був проведений огляд основних  видів симетричних та асиметричних криптографічних алгоритмів та проведене їхнє порівняння з точки зору ефективності застосування для апаратного шифрування каналів зв’язку у локальних та глобальних комп’ютерних мережах. Після складення порівняльної характеристики був зроблений висновок про більш доцільне використання потокових симетричних шифрів для досягнення оптимальних результатів. Також були розглянуті два види шифрування каналів зв’язку і запропонований альтернативний варіант розташування шифрувального пристрою із деякою модифікацією його функцій, спрямованою на досягнення оптимальної швидкодії. Були також обговорені принципи функціонування та структура запропонованого пристрою з паралельними рекомендаціями щодо уникнення можливих труднощів реалізації. Задля вибору оптимальної технологіі для реалізації апаратного шифратора був проведений порівняльний аналіз його реалізації на технології із застосуванням мікроконтролерів та ПЛІС. В результаті аналізу було з’ясовано і аргументовано доцільність реалізації запропонованого пристрою на базі технології із використанням ПЛІС.

 

Перелік використаної літератури

1. Шнайер Б. «Прикладная криптография. Протоколы, алгоритмы, исходные тексты на  

    языке Си» – М.: Издательство ТРИУМФ, 2003 – 816 с.: ил.

2. Баричев С. «Криптография без секретов» – 43 с.

3. Харин Ю.С., Берник В.И., Матвеев Г.В. «Математические и компьютерные основы 

    криптологии» – Мн.: Новое знание, 2003 – 382 с.

4. Саломаа А. «Криптография с открытым ключом»: Пер. с. англ. – М.: Мир, 1995 – 320 с.