1 Методи та механізми 2014. 1. 1 Основні послуги при застосуванні, уніфікація та стандартизація криптографічних перетворень
Скачать 1.75 Mb.
|
Рис. 1.10 Схема застосування ПСШНа приймальній стороні спочатку виділяється вектора ініціалізації IV, символи якої використовуються разом з ключем Ki для генерування гами розшифрування Гi. Але для правильного розшифрування Спмає бути прийнятою правильно. Одержавши криптограму та правильний вектор ініціалізації IVпослідовності, користувач В генерує гаму розшифрування та здійснює потокове розшифруваня, тобто послідовно, розшифровує криптограму Сiзгідно з правилом: . (1.98) На останок символи розшифрованого повідомлення надходять одержувачу В. 1.5.2 Оцінка властивостей потокового симетричного шифру По аналогії як і для БСШ ПСШ в узагальненому вигляді може оцінюватися кортежем параметрів[20-23/ 147]: ( ) (1.99) - кількість ключів з довжиною lk, що можуть застосовуватись: (1.100) - ентропія джерела ключів: (1.101) - відстань єдності шифру: (1.102) - безпечний час: (1.103) де – кількість групових операцій, що потрібно виконати; – потужність криптосистеми; – кількість секунд у році – 3.15 107 сек/рік; – ймовірність успішного виконання криптоаналізу. Якщо це атака типу «брутальна сила», то = . - структурна скритність : (1.104) де – мінімальна кількість символів Гi, які необхідно правильно перехопити для того, щоб визначити закон формування Гi. Відмітимо також, що гама шифрування у більшості випадків має задовольняти ряду вимог. Основними з них є такі. 1. Період повторення ln повинний бути не менше допустимого lд , ln lд (1.105) У реальних ПСШ величина lд може змінюватись у межах . 2. Ймовірність перекриття шифру не повинна перевищувати допустиму величину Рп. Перекриття шифру – це факт генерування та зашифровування різних повідомлень однаковими відрізками гами шифрування, тобто . (1.106) Якщо скласти за модулем 2 обидві криптограми, то отримаємо ; (1.107) Дешифрування суми двох повідомлень (1.107) є нескладним, що дозволяє знайти повідомлення. 3. Можливість відновлення Гi у просторі й часі. 4. Непередбачуваність (структурна скритність) гами згідно із (1.104): ; (1.108) 5. Безпечний час має бути набагато більше часу цінності інформації: (1.109) Необхідно відмітити, що ПСШ може застосовуватись у двох основних режимах – потокового гамування та зі зворотним зв’язком по шифрованому тексту (самосинхронізації). Детальніше питання ПСШ для різних режимів та умов застосування, а також у зв’язку з цим додаткові вимоги розглядаються нижче. Аналіз та дослідження результатів, що наведені в розділі відносно управління ключами, дозволяє також висунути формальні вимоги до ключа ПСШ. Вони зводяться до висування вимог забезпечення вимог по критеріям необоротності, непередбачуваності та нерозрізнюваності випадкових послідовностей з певним, необхідним алфавітом[20-21, 60-64, 391-392]. 1.5.3 Потоковий симетричний шифр з одноразовим блокнотом У підрозділі1.3.2 наведено умови реалізації безумовної стійкості в симетричних криптосистемах. Вказані умови можуть бути виконаними при застосуванні системи Вернама, тобто ПСШ, у якому зашифрування здійснюється з використанням ключа - випадкової послідовності [20-21, 23, 147]. Особливістю шифру Вернама є те, що замість гами шифрування Гi застосовується ключ – випадкова послідовність. У ньому в якості використовується ключ Кi, тобто випадкова послідовність, довжина якої дорівнює або не менше довжини повідомлення Мi. Таким чином, для ПСШ безумовної стійкості (1.110) Таким чином, зашифрування з безумовною стійкістю здійснюється за правилом: , (1.111) а розшифрування згідно з правилом: (1.112) У разі двійкового алфавіту, тобто якщо m = 2, то правила потокового шифрування з безумовною стійкістю мають вигляд: . ( 1.113) Далі, наприклад, якщо , то правило шифрування таке: ; (1.114) . (1.115) З наведеного вище 1.5.3, на перший погляд, може здаватися, що реалізувати шифр з безумовною стійкістю достатньо просто. Насправді це дуже складна задача, особливо з практичної точки зору. І першою проблемою є необхідність генерування символів гами з абсолютно однаковою ймовірністю появи символів. 1.5.4 Уніфікація функцій потокових симетричних шифрів Для уніфікації та стандартизації, при застосуванні перспективні потокові шифри подаються як генератори гами. При такому підході суттєво спрощується їх уніфікація та стандартизація, а також впровадження та застосування [275], такі генератори гами можна поділити на два великі класи: синхронні, або потокового шифрування, та генератори гами з самосинхронізацією. Синхронні генератори гами. Синхронний генератор гами є скінченним автоматом. Він визначається через такі складові - функції (процедури). 1. Функція ініціалізації , яка приймає у якості вхідних даних ключ і вектор ініціалізації , і виводить початковий стан для генератора гами. Для неї вектор ініціалізації має вибиратися таким чином, щоб ніякі два повідомлення ніколи не були зашифровані з використанням одного й того самого ключа і одного й того самого вектора ініціалізації . 2. Функція встановлення наступного стану , яка приймає в якості вхідних даних поточний стан генератора гами і виводить наступний стан генератора гами . 3. Функцію генерування блоку гами , яка приймає в якості вхідних даних стан генератора гами і виводить блок гами . Якщо синхронний генератор гами ініціюється вперше, то спочатку необхідно ввести початковий стан , який визначається як . (1.116) Рекомендується, щоби при кожному запиті синхронний генератор гами для виконував такі функції.: виведення блока гами . (1.117) оновлення стану скінченного автомата . (1.118) Таким чином, для визначення синхронного генератора гами необхідно тільки описати функції , і , разом з довжинами і алфавітами ключа, вектором ініціалізації, станом і вихідним блоком. Генератори гами з самосинхронізацією [242]. Генерація гами шифрування для ПСШ із самосинхронізацією залежить тільки від попередніх зашифрованих текстів, ключа і вектора ініціалізації. Визначимо загальну модель генератора гами для ПСШ із самосинхронізацією. Як показав аналіз [20, 275], потоковий шифр із самосинхронізацією відрізняється від синхронного потокового шифру залежністю гами тільки від попереднього шифр-тексту, вектора ініціалізації та ключа. Тобто генератор гами із самосинхронізацією функціонує без внутрішнього стану. Тому алгоритм розшифрування для такого шифру може відновлюватися зі стану втрати синхронізації, після отримання достатньої кількості блоків шифр-тексту. Алгоритм генерації гами такого ПСШ залежить від вибраної вихідної функції , яка зазвичай представляє бінарний адитивний режим. Основними функціями , що повинні застосовуватись, є такі. 1. Функція ініціалізації , яка приймає в якості вхідних даних ключ і вектор ініціалізації і виводить внутрішні вхідні дані для генератора гами. 2. Функція гами , яка приймає як вхідні дані і блоків шифр-тексту і виводить блок гами . Таким чином, для визначення генератора гами з самосинхронізацією необхідно тільки визначити число блоків зворотного зв’язку і функції і . Вихідні функції потокового шифру[252]. В якості формалізованих вихідних функцій ПСШ, що рекомендуються для застосування в потоковому шифрі, рекомендуються функції зашифрування та розшифрування. Вихідна функція виводу для синхронного потокового шифру або потокового шифру з самосинхронізацією є оборотною функцією , у якій для отримання блоку шифр-тексту комбінується блок відкритого тексту , блок гами і, необов’язково, деякі інші вхідні дані. Шифрування блоку відкритого тексту за допомогою блоку гами формально задається таким чином: , (1.119) а розшифрування блоку шифр-тексту за допомогою блока гами задається як: (1.120) До вихідної функції висувається вимога, щоби для будь-якого блоку гами , блоку відкритого тексту та інших вхідних даних , виконувалась умова: (1.121) Застосування при побудуванні та застосуванні ПСШ формалізованого підходу дозволяє спростити, уніфікувати та стандартизувати не тільки один ПСШ, а декілька, що розробляться та застосовуються. 1.5.5 Міжнародна та національна стандартизація потокових симетричних шифрів Одним із основних міжнародних стандартів ПСШ, що прийняті та знаходять застосування є міжнародний стандарт ISO/IEC 18033-4 «Інформаційна технологія - Методи захисту - Алгоритми шифрування Частина 4: Потокові шифри»[275]. В стандарті ISO/IEC 18033-4 визначено у вигляді генераторів ключових потоків 2 різні алгоритми ПСШ ; - MUGI генератор ключових потоків; - генератор ключових потоків SNOW 2.0. Генератор гами SNOW 2.0 [275,20-21], що далі позначається як SNOW, є генератором ключових потоків (гами), у якого в якості вхідних даних використовується 128- або 256-бітовий секретний ключ і 128-бітовий вектор ініціалізації . Вони використовуються для ініціалізації змінної стану , який визначається з вісімнадцяти =32 бітових блоків. В ньому застосовується бітові та байтові зворотні перетворення, тобто, якщо ключ і вектор ініціалізації надаються як послідовність бітів/байтів, то перший/самий лівий біт/байт є найбільш значущим. MUGI є генератором ключових потоків (гами), який використовує 128-бітовий секретний ключ K, 128-бітовий вектор ініціалізації IV, та змінну стану Si (i ≥ 0), що визначається з 19 64-бітових блоків. В результаті виконання процедури Strm виводиться блок ключового потоку Zi при кожному зверненні до функції Strm. Детально генератори гами MUGI та SNOW 2.0 розглядаються в 6 розділі цієї монографії. Багаторічний проект eSTREAM, який тривав з 2004 до 2008 роки, зібрав декілька перспективних шифрів, які потребують глибокого ретельного дослідження. У цьому пункті наводиться огляд алгоритмів ПСШ [20-21,346,347,350-352,357,366, 367,379,385,404]. Основні характеристики ПСШ, що пройшли випробовування та орієнтовані на апаратну реалізацію, наведені в таблиці 1.3. Таблиця 1.3 ПСШ, що орієнтовані на апаратну реалізацію
Усі розглянуті ПСШ будуються по суті на основі використання регістрів зсуву разом з комбінаторним зворотним зв’язком та вихідною фільтруючою функцією. У ПСШ Grain та Trivium схема організації зворотного зв’язку дозволяє оброблювати більш ніж один біт. ПСШ Trivium та MICKEY описуються компактними алгоритмами, які просто реалізуються з ключем 80 та 128 бітів відповідно. Але дуже складно збільшити ключ за цими алгоритмами. Попередній аналіз показав, що для реалізації найменше ресурсів потребує Grain, Trivium, найбільше – MICKEY, F-FCSR Найменшу складністю реалізації та відповідно найбільшу швидкодію мають ПСШ Grain, Trivium, вказане досягає засобом використання мультиплікативних операцій. Методи побудування та аналізу ПСШ більш детально розглядаються в 6(8) розділі. 1.5.6 Застосування БСШ у режимах потокового шифрування В 1.4 вказувалось, що БСШ найбільш широко застосовуються в режимах потокового симетричного шифрування. В цьому випадку перший режим БСШ простої заміни застосовується для виробки блоків гами шифрування. Хоча цим режимам роботи наявний основний недолік – не достатня швидкодія, але вони знайшов застосування і дозволений для усіх існуючих БСШ. Тому розглянемо основні режими потокового симетричного шифрування, їх особливості та стан стандартизації. Узагальнені відомості відносно застосування БСШ у потокових режимах наведено в таблиці Загальні відомості щодо досліджуваних режимів наведено у таблиці 1.4. За основу пропонованих режимів обрано специфіковані в сучасних національних і міжнародних стандартах ISO/IEC 10116, NIST SP 800-38, СТБ 34.101.31-2011 режими. В таблиці 1.4 наведено також англомовну назву режиму і відповідний стандарт, де специфіковано відповідний режим. Режим гамування призначений для забезпечення конфіденційності шляхом швидкого шифрування блоків відкритого тексту із можливістю застосування паралельних обчислень. При шифруванні у режимі гамування кожен виклик функції шифрування CIPHK(Tj) застосовується безпосередньо і незалежно до кожного вихідного блоку лічильника Tj. Результуюча послідовність вихідних блоків Oj додається через операцію до блоків відкритого тексту Pj, результат чого є отримують криптограму Cj. Розшифрування у режимі гамування виконується аналогічно, тобто кожен виклик функції шифрування CIPHK(Tj) застосовується безпосередньо і незалежно до кожного вихідного блоку лічильника Tj. Після чого результуюча послідовність вихідних блоків Oj додається через операцію до блоків шифр тексту Cj, результат чого є послідовністю блоків відкритого текстуPj. Режим гамування зі зворотнім зв'язком по шифр тексту призначено для забезпечення конфіденційності шляхом шифрування потоку даних з розмноженням помилок і унеможливленням маніпуляцій із окремими блоками відкритого тексту. В основі цього режиму лежить застосування зворотного зв'язку, який реалізовано з використанням попереднього шифр тексту. По суті цей режим повторює попередній режим гамування, але відрізняється від нього правилом формування гами – вона формується не як результат шифрування вихідних послідовностей лічильника, а як результат шифрування попереднього блоку шифр тексту. При застосуванні режиму гамування зі зворотнім зв'язком по шифр тексту необхідно задати у вигляді вектора ініціалізації початкове значення. Цей вектор може бути не секретним, але він повинен бути непередбачуваним. Режим гамування зі зворотнім зв'язком по шифр тексту також вимагає введення додаткового параметру – цілого числа s, такого, що 1 ≤ s ≤ b. За специфікацією цього режиму кожен сегмент відкритого тексту P#j і кожен сегмент шифр тексту C#j складається з s бітів. Значення s іноді вказується в назві режиму, наприклад, 1-розрядний режим CFB, 8-розрядний режим CFB, 64-розрядний режим CFB, або 128-розрядний режим CFB Режим гамування зі зворотнім зв’язком по шифр гамі призначено для забезпечення конфіденційності. Режим грунтується на шифруванні вектора ініціалізації IV для генерації послідовності вихідних блоків - шифр гами. Зашифрування здійснюється засобом складання за модулем 2 (операція) відкритого тексту та гами зашифрування. При застосуванні режиму необхідно, щоби вектор ініціалізації IV був унікальним для кожного застосування із заданим (фіксованим) ключем. Шифрування відкритого тексту в режимі GCM є варіацією режиму гамування (або режиму лічильника), із специфічною функцією лічильника. Він дозволяє необхідну послідовність блоків гами. Перший блок лічильника для шифрування відкритого тексту генерується шляхом збільшення блоку, сформованого з вектору ініціалізації IV. Механізм забезпечення автентичності в межах режиму GCM заснований на функції ґешування, яку названо GHASH. Цю функцію побудовано із використанням поліноміальної схеми і реалізовано через множення на фіксований параметр, який названо субключом ґешування, з операціями в двійковому полі Галуа. . Таблиця 1.4 – Режими застосування ЬСШ для потокового шифрування
Дані, які захищає режим CCM складається з повідомлення, тобто, бітового рядка, названого інформаційною частиною, зазначеною як P, бітовою довжиною Plen, та бітового рядка, названого зв’язаними даними, зазначеним як A. Зв’язані дані необов’язкові, тобто, A може бути пустим рядком. CCM надає гарантії конфіденційності P та гарантії дійсності джерела як A так і P; конфіденційність не надається для A. Бітовий рядок, який має назву захисного слова (Nonce), зазначається як N, призначено для захисту пари даних, тобто, інформаційної частини та зв’язаних даних. Захисне слово повинне не повторюватися в тому сенсі, що дві будь-які пари даних, які захищаються режимом CCM, протягом всього часу життя ключа, повинні бути призначені до визначених чітких слів захисту. Захисне слово визначає виклики CCM, воно не повинне обов’язково бути випадковим. Біль детально режими застосування ПСШ визначаються та аналізуються в 5 (7 розділі). Біль детально режими застосування ПСШ визначаються та аналізуються в 5 (7 розділі). 1.5.7 Узагальнені вимоги до потокового симетричного перетворення Наведені вище в п. 1.5 результати попереднього аналізу дозволяють зробити такі висновки та рекомендації відносно побудування та аналізу ПСШ [20-21, 130, 134,135]. 1. Складність обернення генератора ПСШ, тобто знаходження ключа по відомій гамі та параметрам і вектору ініціалізації повинна носити експоненційний характер (1.122) 2. Період повторення ln гами шифрування повинний бути не менше допустимого значення lд , ln lд (1.123) У реальних ПСШ величина lд може змінюватись у межах . 3. Ймовірність перекриття шифру при генеруванні не більше lд бітів гами шифрування не повинна перевищувати допустиму величину Рп. 4. Повинен існувати не вище за поліноміальний алгоритм відновлення санкціонованими абонентами гами Гi у просторі й часі. 5. Непередбачуваність гами «вперед і назад», тобто знаходження попередніх та наступних символів гами шифрування Гi-kта Гi+j за межами конкретного відрізка гами повинна мати експоненційний характер, або структурна скритність гами Гi згідно із (1.104) повинна задовільняти умові ; (1.124) 6. Для гарантування обчислювальної складності безпечний час має бути набагато більше часу цінності інформації: 7. Складності шифрування інформації, встановлення та переустановлення початкового стану генератора повинні бути по можливості мінімізованими. 8. Як правило, генератор гами повинен бути захищеним від усіх силових та аналітичних атамк, класифікація яких дається на рис. 1.11 [ 20-21, 134-135, 404] . Рис. 1.11 Класифікація найбільш загальних атак на ПСШ Серед найбільш ефективних методів криптоаналізу , що відносяться до даного класу, можна виділити наступні [20, 21, 134,135, 404]: базові кореляційні атаки, які також іменуються в літературі як «атаки декомпозиції» (divide-and-conquer attacks) ; швидкі кореляційні атаки, що базуються на низьковагових перевірках парності; атаки, що базуються на використанні конволюційних кодів [97]; атаки, що використовують техніку турбо-кодів; атаки, що базуються на відновленні лінійних поліномів; швидка кореляційна атака Чепижова-Йоханссона-Смітса. 1.6 Сутність, вимоги, класифікація та стандартизація криптосистем типу НШ Однією з важливих та необхідних послуг захисту інформації та ресурсів є послуга неспростовності. До основних послуг неспростовності належать: неспростовність джерела інформації; неспростовність доставки повідомлення; неспростовність подання інформації; неспростовність транспортування інформації (повідомлення) [ 20,21,197,198, 261-263]. 1.6.1 Сутність послуг неспростовності Послуги |