Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
навч пос захист информ_откор Білан.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
4.24 Mб
Скачать

6.3.Технічна реалізація блоково-динамічного шифрування

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

Рис. 6.10. Пристрій передачі та прийому шифрованої інформації

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

Для блоку шифрування дані повинні надходити послідовно по 64 біти, а на виході ми отримаємо потік розшифрованої інформації.

Шифрування здійснюється за алгоритмом, блок-схему якого наведено нижче (рис. 6.11), розшифрування (рис. 6.12), структурна схема (рис. 6.13).

Рис. 6.11. Схема шифрування

Рис. 6.12. Схема розшифрування

Рис. 6.13. Структурна схема блоку шифрування

Пристрій функціонує наступним чином (рис. 6.13). По 32-бітних шинах даних Х1 і Х2 надходять дані, які шифруються. За допомогою елемента, що побітно додає за модулем 2, здійснюється побітне додавання сигналів X1 і ключів P1, та відповідний результат зберігається в пам’яті. З виходу вхідного елемента XOR сигнали по 8 біт надходять на входи Рг1 – Рг4, які формують значення комірки, що стала активною після подання сигналів на адресний вхід. Ці значення із Рг1 – Рг4 подаються на вхід АЛП, який виконує над даними відповідні операції і на виході якого буде утворюватись результат у 32-бітному вигляді. Кожний біт результату подається на 32-бітний елемент XOR, який побітно додає за модулем 2 з 32-бітами числа X2 [10].

Результат побітного додавання за модулем 2 подається на вхід наступного 32-бітного елемента XOR, а на інший вхід подається значення P2. З результатом відбуваються ті ж операції, що були описані вище, і після цього на перший вхід 32-бітного елемента XOR подається результат обчислень, а на інший вхід подається сигнал з виходу першого елемента XOR попереднього циклу. Після останнього 16 циклу на виходах першого і останнього 32-бітного елемента XOR отримаємо результуючі сигнали, які подаються на входи 32-бітних елементів XOR, з додатковим побітним додаванням за модулем 2 з значеннями P17 і P18. Після цих операцій на виходах 32-бітних XOR елементів отримаємо результат у вигляді двох 32-бітних чисел [11].

Пристрій дає можливість шифрувати та розшифровувати цифрові дані, які подаються на вхід, використовуючи розроблений блоково-динамічний метод шифрування. Моделювання його в середовищі Active – HDL дозволяє реалізувати його на сучасних ПЛІС [12].

6.4. Криптографічні протоколи блоково-динамічного шифрування

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

У теорії захисту інформації багато уваги приділяється протоколам обміну ключа [13-16]. Такий протокол повинен підтримувати всі групові операції по видаленню, включенню нових учасників у групу. Передбачається, що учасники групи вже сформували загальний ключ. Розглянемо основні операції, які дозволяють виконувати розроблений протокол. Список операцій, що виконуються протоколом, виглядає так:

- приєднання (JOIN): новий учасник додається в групу;

- злиття (MERGE): один або більше учасників додаються в групу;

- вихід із групи (LEAVE): один або більше учасників залишають групу;

- відновлення ключа (KEY REFRESH): генерація нового ключа для групи.

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

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

n - число учасників протоколу;

i, j - індекси для учасників груп;

Mi - i-ий учасник групи;

xi - довгостроковий секретний ключ Mi;

Sn - груповий ключ n учасників;

Sn(Mi) - внесок Mi -го учасника в груповий ключ;

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

Для кращого подання протоколів передачі ключа введемо такі операції та визначення.

Приєднання

Операція додає нового учасника Mn+1 до групи з n учасників. Під час операції старий груповий ключ Sn передається по захищеному каналу Mn+1, і він стає новим контролюючим групи. Припускаючи, що Mn є поточним контролюючим групи, який передає по захищеному каналу ключ, протокол виглядає в такий спосіб (рис. 6.14).

  1. Mn+1 виробляє новий секретний ключ xi+1. Потім ключ xi+1 розсилається кожному учаснику групи.

  2. Після одержання повідомлення від Mn+1 з новим ключем, користуючись старим ключем, кожний учасник групи Mi, , повідомляє новому учаснику Mn+1 ­про те, що він одержав новий ключ.

  3. Після одержання повідомлення від кожного учасника групи про те, що він одержав новий ключ xi+1 Mn+1 установлює новий ключ.

Злиття

Операція використовується для додавання k > 1 учасників до існуючої групи з n > 1 учасників. Нехай m = n + k. Під час операції створюється новий груповий ключ Sm, і Mm стає новим контролюючим групи. Припускаючи, що Mn є поточним контролюючим групи, протокол виглядає наступним чином

(рис. 6.15):

  1. Mn+к створює новий секретний ключ xi+1. Потім він по захисному каналу відправляється до Mi, .

  2. Кожний учасник Mi, вже має новий ключ.

  3. Потім ключ xi+1 розсилається кожному учаснику старої групи Mi, .

  4. Кожний учасник Mi, вже має новий ключ.

Рис 6.14. Операція приєднання.

Рис. 6.15. Операція злиття.

  1. Після одержання повідомлення від кожного учасника старої групи Mi, та нової групи Mi, про те, що він одержав новий ключ xi+1, Mn+К встановлює новий ключ.

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

Вихід з групи

Операція виходу із групи видаляє k учасників з n учасників поточної групи. Під час операції обчислюється новий груповий ключ Sn-k. Mn-k стає новим контролюючим групи, якщо Mn залишає групу. Для простоти припустимо, що тільки один учасник Md виходить зі складу групи. Протокол виглядає наступним чином (рис. 6.16).

  1. Mn-1 виробляє новий секретний ключ xi+1. Потім xn+1 розсилається всім Mi, .

  2. Після одержання повідомлення від Mn-1 з новим ключем, користуючись старим ключем, кожен учасник групи Mi, , повідомляє Mn-1 ­про те, що він одержав новий ключ.

  3. Після одержання повідомлення від кожного учасника групи Mi, про те, що він одержав новий ключ xi+1, Mn-1 встановлює новий ключ.

Якщо із групи виходить контролюючий, то вище описані операції виконує передостанній учасник групи Mn-1.

Оновлення ключа

Операція оновлення ключа виконує заміну групового ключа на новий. Ця операція виглядає також, як і операція виходу із групи з k=0, тобто відсилаються нові ключі й після підтвердження всіх учасників про одержання нових ключів ключ змінюється (рис. 6.17).

Рис. 6.16. Операція вихід з групи

Рис. 6.17. Операція оновлення ключа

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

Між тим, наведена схема роботи не позбавлена недоліків, і найсуттєвіший з них, це, напевно, той, що при додаванні нових учасників групи необхідно використовувати захищений канал. Це прийнятно для невеликих груп, але при великій кількості учасників є доволі складним [17].

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

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

Існують ситуації, у яких необхідно вміти відновлювати секретне повідомлення навіть під час відсутності деяких учасників протоколу.

Криптологи придумали так званий граничний протокол, що дозволяє розподіляти відповідальність навіть ще більш складним чином. У загальному випадку береться будь-яке секретне повідомлення (пароль, код запуску балістичних ракет) і ділиться на n частин (названих частками) так, що для реконструкції вихідного повідомлення обов'язково потрібні m з них. Такий протокол більш точно називається граничним протоколом.