Одноразове шифрування з відкритим розподілом ключів

  1. До систем шифрування пред'являються підвищені вимоги по надійності, швидкості і простоті реалізації...
  2. Синтез одноразової системи з відкритою передачею ключів
  3. Відкритій системі керування розподілом ключів
  4. література
До систем шифрування пред'являються підвищені вимоги по надійності, швидкості і простоті реалізації і використання. Однак майже всі системи шифрування мають умовної надійністю, оскільки можуть бути розкриті при наявності достатніх обчислювальних ресурсів. Єдиним надійним шифром є одноразова система шифрування. У статті розглядається система криптозахисту, що поєднує переваги одноразового шифрування з відкритим поширенням ключів.

Одноразову систему шифрування розробили ще в 1917 році Дж. Моборн і Г. Вернам [2]. Її характерна особливість - одноразове використання ключової послідовності. Така система шифрує вихідний відкритий текст Х в шифротекст Y з використанням одноразової випадкової ключової послідовності К. Для її реалізації іноді використовують одноразовий блокнот, складений з відривних сторінок; на кожній з них надрукована таблиця з випадковими числами (ключами) Ki. Блокнот виконується в двох примірниках: один використовується відправником, а інший - одержувачем. Для кожного символу Хi повідомлення є свій ключ Ki з таблиці одержувача. Після того, як таблиця використана, її необхідно видалити з блокнота і знищити. Шифрування нового повідомлення починається з нової сторінки.

Абсолютна надійність одноразової системи доведена Клодом Шенноном в його відомій праці «Теорія зв'язку в секретних системах», уривок з якої наведено в [3]. Одноразові системи нераскриваеми, оскільки їх шифротекст не містить достатньої інформації для відновлення відкритого тексту. Однак можливості використання одноразових систем на практиці обмежені. Ключова послідовність довжиною не менше довжини повідомлення повинна передаватися одержувачу повідомлення заздалегідь або окремо по деякому секретному каналу, що практично нездійсненно в сучасних інформаційних системах, де потрібно шифрувати не один мільйон символів і забезпечувати засекречений зв'язок для безлічі абонентів. Ці недоліки усунуті в способі синтезу одноразових систем шифрування з відкритим поширенням ключа [5].

Синтез одноразової системи з відкритою передачею ключів

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

В якості базового шифрувального елемента для системи з відкритою передачею ключів розроблений одноразовий багатоалфавітних кодер (ОМК). Система містить ОМК, датчик випадкових чисел, схему формування випадкової перестановки на стороні А і багатоалфавітних декодер на стороні В ( Мал. 1 ). ОМК реалізує процес стохастичного кодування [4].

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

Базова таблиця одноразових ключів на стороні А і на стороні В має розмір nx n. Кожна i-й рядок таблиці містить випадкову ключову комбінацію, в яку входять всі можливі різні значення Кij довжиною m біт. (Для таблиці кодів ASCII m = 8, n = 256, тому для шифрування тексту використовують таблицю розміром 256 x 256.)

До i = К i0, Кi1, ..., К in-1 (i = 1, ... n)

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

Базова таблиця одноразових ключів на стороні А виконує дві функції:

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

З цією метою кожен стовпець базової таблиці можна представити у вигляді вертикально розташованої перестановки. При цьому регістр псевдослучайной перестановки, підключений до даної таблиці, в поєднанні з попередньою випадкової перестановкою, яка передана на сторону В, забезпечує вибір стовпців таблиці для формування їх одноразових комбінацій. Названі комбінації стовпців застосовуються в процесі логічного висновку. Всього може бути сформовано N = n! різних комбінацій стовпців. Логічний висновок, схематично представлений на Мал. 2 , Реалізує односпрямовану функцію Y = F (x), яка дозволяє на основі секретної перестановки, записаної в лівий регістр базової таблиці одноразових ключів, отримати несекретну перестановку, що формується в вихідному блоці ОМК. Тут x - значення секретної перестановки, F - функціональні зв'язки, що формуються в процесі логічного висновку з використанням черговий комбінації стовпців-перестановок, Y - відносна несекретна перестановка. Знаючи х і формуючи функціональні зв'язку F, легко отримати Y. Однак за відомим значенням Y, не знаючи всієї схеми функціональних зв'язків базової таблиці, не можна відновити вихідну секретну перестановку. Для цього необхідно провести повний перебір на безлічі V = n! всіх значень результуючих перестановок, одержуваних в ході логічного висновку, - свого роду ефект лабіринту, в центр якого поміщають людину із зав'язаними очима і, знявши пов'язку, пропонують шляхом випадкового перебору всіх можливих варіантів проходу знайти вихід.

Таким чином, одночасно з передачею і шифруванням інформації на стороні користувача А генерується чергова випадкова перестановка. Потім за допомогою описаного алгоритму логічного висновку формується відповідна їй несекретна перестановка. Вона передається на сторону В на початку обміну інформацією і після передачі по лінії зв'язку n блоків шифротекста довжиною n символів кожен. На основі цієї перестановки на стороні В за допомогою базової таблиці, ідентичною базовій таблиці А, виконується процедура зворотного логічного висновку з метою отримання відповідної секретної перестановки (рис. 2). Ця процедура описується виразом х = F-1 (Y), де F-1 - функція зворотного логічного висновку, що реалізується за допомогою базової таблиці боку В. Сформована секретна перестановка записується в регістри випадкових перестановок стовпців і рядків багатоалфавітних декодера. Шляхом використання зазначених регістрів в декодере відбувається утворення віртуальних таблиць одноразових ключів відповідно до отриманої випадкової перестановкою. В результаті на сторонах А і В кожного разу будуть одночасно сформовані нові випадкові віртуальні таблиці одноразових ключів, ідентичних за змістом. Ці таблиці застосовуються при передачі зашифрованої інформації.

Розглянемо цей процес докладніше. Оригінальний текст надходить на вхід регістра перестановки інтерфейсу ОМК, який забезпечує перестановку таблиці кодів ASCII. Так здійснюється перший етап перетворення вихідної інформації. Потім перетворений текст проходить через регістр випадкової перестановки рядків, яка в поєднанні з випадковою перестановкою стовпців реалізує чергову віртуальну таблицю одноразового ключа. При цьому застосування випадкових і псевдовипадкових перестановок забезпечує для кожної чергової комбінації вихідного тексту Хi = (хi0, хi1, ..., Хi, n-1) (i = 1, ... n) формування унікальної одноразової ключовий послідовності Кi = Кi0, Кi1, ..., Кin-1 (i = 1, ... n). Всього для даної віртуальної таблиці, яка визначається черговий випадкової перестановкою, може бути утворено n таких ключових послідовностей. В результаті проведених перестановок і замін в багатоалфавітних кодере символів кожної чергової послідовності Хi, а також циклічних зрушень стовпців таблиці, процес шифрування аналогічний класичної одноразової системі. У декодере спочатку реалізується процедура ідентифікації символів шифротекста шляхом включення відповідних стовпців базової таблиці, а потім проводяться відповідні циклічні зрушення стовпців і за допомогою регістрів перестановок рядків виконуються зворотні перестановки, що забезпечують перетворення шифротекста в вихідний текст.

Після передачі i = n чергових комбінацій шифротекста реалізується описаний процес відкритої передачі ключа (черговий секретної перестановки). За рахунок цього проводиться постійна (з заданим періодом) випадкова модифікація віртуальної таблиці багатоалфавітних кодера і декодера для отримання нових таблиць одноразових ключів. Потім триває передача, шифрування і дешифрування інформації з використанням нових таблиць одноразових ключів. При цьому передача несекретной перестановки реалізує функцію відкритої передачі ключів, виробленої після видачі кожних n блоків зашифрованої інформації. В результаті забезпечується гарантована надійність шифрування. Дійсно, самі базові таблиці одноразових ключів противнику невідомі при будь-яких видах атак на дану систему шифрування (в явному вигляді вони не беруть участі в процесі шифрування інформації), тому що формуються віртуальні таблиці одноразових ключів випадкові і непередбачувані. З огляду на односпрямованість функції Y = F (x) отримання несекретной перестановки, безліч варіантів модифікації віртуальних таблиць на сторонах А і В шляхом випадкової перестановки стовпців і рядків вимірюється числом V = n! Так, при використанні таблиці кодів ASCII з зазначеними параметрами m і n отримаємо величину V> 10500. Для великих значень n даний спосіб дозволяє передавати практично необмежені обсяги зашифрованої інформації в режимі одноразового ключа з гарантованим рівнем надійності, що визначаються числом V = n! всіх можливих значень результуючих перестановок, які отримують в ході логічного висновку. Відзначимо, що в даному випадку застосовується одна таблиця одноразових ключів розміром nxn і функція відкритої передачі ключів з використанням випадкової несекретной перестановки довжиною n байт. Важко навіть вказати, скільки часу буде потрібно на перебори всіх варіантів перестановок на реальному комп'ютері. При цьому функція відкритої передачі ключів може періодично використовуватися для поновлення базової таблиці шляхом передачі нових значень її стовпців (перестановок). Зазначені значення стовпців генеруються за допомогою датчика випадкових чисел і схеми формування випадкових перестановок. В результаті після n циклів оновлення на сторонах А і В будуть отримані нові базові таблиці, що використовуються далі при шифруванні.

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

Відкритій системі керування розподілом ключів

До складу системи з відкритим розподілом ключів [5] входять центр сертифікації, формування і розподілу ключів (ЦСФРК), сервери розподіленої обробки і призначені для користувача пристрої. Як шифрувального елемента застосовується ОМК.

Основними завданнями ЦСФРК є підключення для користувача пристроїв і серверів до системи захисту, їх сертифікація, формування і розподіл закритих і відкритих ключів між призначеними для користувача пристроями і серверами розподіленої обробки даних. У ЦСФРК генерується і зберігається головний ключ системи (майстер-ключ), який представляє собою випадково заповнену кодами таблицю розміром nx n.

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

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

Щоб отримати систему ключів, користувач вводить інформацію зі смарт-карти; при доступі до функцій системи захисту по команді користувача в призначеному для користувача пристрої на основі таблиці початкового ключа і секретних перестановок, введених зі смарт-карти, проводиться формування таблиць внутрішнього секретного ключа, а потім таблиці зовнішнього секретного ключа. Аналогічні процедури виконуються і на сервері. При цьому таблиця зовнішнього секретного ключа застосовується для заповнення базової таблиці одноразових ключів ОМК, який служить для організації зовнішньої зашифрованою зв'язку з іншими користувачами або серверами мережі.

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

Формування відкритих ключів грунтується на застосуванні описаної односпрямованої функції, що використовує логічний висновок на перестановках. У ЦСФРК зберігаються всі ключі-перестановки стовпців і рядків, що дозволяють з таблиці головного ключа сформувати для кожного користувача таблиці початкового, внутрішнього і зовнішнього секретних ключів. Після завантаження системи всі ці таблиці, включаючи таблицю зовнішніх секретних ключів, для різних користувачів будуть асиметричні. З метою організації закритого зв'язку між користувачами А і В необхідно привести їх таблиці зовнішніх секретних ключів в симетричне стан. Це досягається завдяки наявності в ЦСФРК всіх зазначених функціонально пов'язаних секретних перестановок таблиць. При цьому за допомогою логічного висновку на послідовності транзитивній зв'язку між рядками таблиць секретних перестановок визначаються відносні перестановки для користувачів А і В, які дозволяють привести таблиці зовнішніх секретних ключів в ідентичне стан. Зазначені відносні перестановки є відкритими ключами; з їх допомогою користувачі можуть перевести таблиці зовнішніх секретних ключів в ідентичне стан для організації симетричною закритого зв'язку.

Відзначимо, що функція формування відкритих ключів з використанням відносної перестановки є односпрямованої для будь-якого користувача системи. На основі отриманих відкритих ключів в призначеному для користувача пристрої А і сервері В розподіленої обробки створюють таблиці симетричних зовнішніх секретних ключів. Ці таблиці записуються в одноразовий багатоалфавітних кодер (декодер) з метою встановлення закритою симетричною зв'язку між користувачами. При цьому в процесі шифрування на основі генерації випадкових перестановок таблиць зовнішніх секретних ключів реалізується описаний режим одноразової системи з відкритою передачею ключів, який забезпечує необхідний гарантований рівень захисту інформації. Після завершення сеансу закритого зв'язку ЦСФРК посилає користувачам А і В відкриті ключі перестановки для генерації нових асиметричних таблиць зовнішніх секретних ключів.

Запропонована в [5] система забезпечує можливість ефективного, з гарантованою надійністю обміну зашифрованою інформацією. Кожен сертифікований користувач, звернувшись до ЦСФРК, зможе обмінюватися закритою інформацією з будь-яким сервером або користувачем комп'ютерної мережі.

література
  1. Молдовян А.А. та ін. Кріптографія: швідкісні шифр. СПб.: БХВ-Петербург, 2002.
  2. Романець Ю.В., Тимофєєв П.О., Шаньгина В.Ф. Захист інформації в комп'ютерних системах и Мережа. // М.: Радио и связь, 1999. ..
  3. Введення в кріптографію / За заг. ред. В.В. Ященко. // М.: МЦНМО: "ЧеРо", 1999. ..
  4. Насіпна В.В. Комплексний захист процесу обробки інформації в комп'ютерних системах від несанкціонованого доступу, програмних закладок і вірусів. // М .: МДГУ, 2000..
  5. Насипна В.В. Спосіб комплексного захисту процесу обробки інформації в комп'ютерних системах і система для здійснення способу. Міжнародна заявка на винахід № PCT / RU 01/00272 від 05.07.2001.

Володимир насипних ( [email protected] ) - науковий директор НПФ «Стокона» (Москва).