1 Методи та механізми 2014. 1. 1 Основні послуги при застосуванні, уніфікація та стандартизація криптографічних перетворень
![]()
|
Вимоги до кандидатів на стандарт гешування «SHA-3». Метою проведення конкурсу SHA-3 є розробка алгоритму, який зміг би замінити діючий стандарт функцій гешування. В інформаційному листі NIST наведено ряд вимог до кандидатів на новий стандарт [350, 346]. Основною вимогою є підтримка алгоритмом-кандидатом можливості вироблення геш-значень довжиною 224, 256, 384 та 512 бітів. Така вимога необхідна для того, щоб не порушити спадкову послідовність відносно SHA-2 і, таким чином, домогтися сумісності нового стандарту гешування з уже існуючими, у яких його планується застосовувати. Можливість функції гешування виробляти значення іншої довжини є перевагою, але за умови, що її визнають учасники відкритого обговорення. NIST планує використовувати новий алгоритм гешування в таких застосуваннях [346, 350]: – вироблення та перевіряння електронного цифрового підпису за FIPS 186-2 та FIPS 186-3; – обчислення кодів автентифікації повідомлень за FIPS 198 (HMAC); – встановлення ключів згідно SP 800-56A; – генерування псевдовипадкових чисел згідно NIST SP 800-90 (DRBGs). Зважаючи на перелік сервісів, що пропонуються NIST, вимоги до її безпеки мають бути жорсткими. Відповідно до цього, узгоджені вимоги щодо безпеки функції гешування з довжиною геш-значення n бітів такі: – складність знаходження колізії, не менше ![]() – складність відновлення прообразу, не менше ![]() – складність знаходження другого прообразу, не менше ![]() – стійкість до атак length extension; – стійкість до усічених колізій; – відсутність атак розпізнавання для генераторів псевдовипадкових послідовностей, що використовують HMAC, побудованих на базі функції гешування зі складністю, меншою ніж знаходження другого прообразу, і кількістю запитів до генератора не менше ![]() – також, як випливає з аналізу, відкритість алгоритмів гешування та можливість мінімізації складності гешування, як при апаратній, так і при програмній реалізації. Всього для участі в конкурсі було подано 56 заявок [346,42,43]. На першому етапі обговорення вибули 10 кандидатів як такі, що визнані «зламаними». Ще 5 відкликані авторами. Перемогу отримав алгоритм гешування Keccak[ 346, 20 ]. Підсумки 3 етапу конкурсу. 9 грудня 2010 року NIST США оголосив перелік претендентів, які увійшли до фінальної стадії конкурсу з відбору геш - алгоритму на стандарт SHA-3. У табл. 1.27 наведено перелік і характеристику цих фіналістів, а також опис їх внутрішньої структури. Таблиця 1.27 Базові операції геш-функцій кандидатів SHA-3
На третьому етапі були застосовані такі критерії відбору фіналістів конкурсу. Швидкодія: Декілька алгоритмів були відсіяні або усунуті з причини дуже великих вимог до необхідного обсягу пам’яті. Вважається, що обсяг, який їм потрібний при обчисленні геш-значення, перешкоджає в частині великої кількості варіацій їх застосувань. Стійкість: NIST не обирав алгоритми з дуже високою швидкодією, головним чином тому, що вони спонукають на догадки, хоча не було навіть факту ніякої явної атаки на повний алгоритм. Аналіз: NIST усунув декілька алгоритмів через дуже значну частину внесених змін або через виконання криптоаналізу не у повному обсязі, і існують підозри на те, що ця структура може бути не до кінця протестована або перевірена. Несхожість: Фіналісти включають геш-функції, які базуються на різних конструкціях, перш за все таких, як «HAIFA» та «sponge hash», та геш-функції з різними джерелами нелінійності, включаючи S-бокси та взаємодію між додаванням та XOR [129, 130]. Офіційно конкурс закінчено у 2012 році. Переможця оголошено ще в 2013році. Ним став алгоритм гешування Keccak[346]. 1.8.8 Сутність та властивості ФГ Keccak Застосування при побудуванні геш - функції Keccak sponge-структур порівняно новий напрямок у криптографії. Sponge-структури можуть бути використані для побудування функції ґешування, МАС, потокових шифрів. За заявами авторів [410, 299,346, 20] sponge-структури є спробою переосмислити і наблизити до реальності методи проектування крипто примітивів на основі випадкового оракула. Так, на відміну від випадкового оракула, методика побудування доказів стійкості на основі використання sponge-структур не потребує нескінченно довгих бітових рядків, баз даних нескінченного розміру або інших примітивів, які неможливо реалізувати на практиці. Єдиним "ідеальним" елементом у sponge-структурах є випадкова перестановка. Нині ФГ Keccak є Federal Information Processing Standards Publication (FIPS PUB) 140-2. Security requirements for cryptographic modules. NIST, 1999 http://www.nist.gov/cmvp. У роботі [346] показано, що у випадку знаходження атак на крипто примітив, що базується на sponge-структурах, можна побудувати ефективний алгоритм відрізнення перестановки, що використовується, від випадкової. Більш детальний опис та аналіз ФГ Keccakнаведено в 5 розділі. Стан у sponge-структурах складається з двох частин довжиною ![]() ![]() ![]() ![]() Рисунок 1.17 – Схема роботи sponge-структури в режимі ґеш-функції Згідно з роботою [346,410 ] функція ґешування на основі sponge-структури є стійкою, якщо виконуються наступні умови: функція перетворення ![]() якщо розмір ґеш-значення ![]() ![]() ![]() Таким чином, функція ґешування на основі sponge-структури з довжиною ґеш-значення ![]() ![]() ![]() ФГ Keccak, що перемогла у відкритому конкурсі на проект нового федерального стандарту ґешування і отримала назву «NIST SHA-3 Competition», побудовано за розглянутою схемою sponge-структури. За наведеною вище класифікацію функцію ґешування Keccak найбільш доцільно віднести до спеціалізованих функцій гешування. Необхідно відмітити, що сучасні підходи до побудови криптографічних функцій ґешування дуже різняться – від схем на модулярних перетвореннях до використання спеціалізованих конструкцій, таких, наприклад, як sponge-структури у алгоритмі Keccak. Тому актуальною є задача порівняльного аналізу сучасних функцій ґешування та обґрунтування перспективних напрямків із розробки відповідних алгоритмів гешування у залежності від вимог, що до них висуваються. Попередні дослідження дозволяють зробити висновок, що ФГ Keccak є найбільш швидкою з визнаних на нинішній час, але проблема перевірки стійкості, на наш погляд, залишається дещо відкритою. Розгляду цього питання наводиться в 4 розділі. 1.8.9 Стандарт гешування ДСТУ 7564:2014. Стандарт ДСТУ 7564:2014 [195] визначає функцію ґешування, яка забезпечує обчислення ґеш-значення з довжинами від 8 до 512 біт з кроком у 8 біт. Режим роботи для формування ґеш-значення довжиною n біт позначається як «Купина- n ». Основними режимами роботи функції ґешування, що рекомендуються до застосування, є «Купина-256», «Купина-384» і «Купина-512». Загальна структура перетворення. Функція ґешування, визначена у стандарті ДСТУ 7564:2014, формує ґеш-значення для повідомлення, що складається з бітової послідовності довжини від 0 біт (порожній рядок) до ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() де ![]() ![]() ![]() ![]() На рис. 1.18 схематично представлено структуру перетворення повідомлення ![]() ![]() ![]() ![]() Рисунок 1.18– Загальна структура функції ґешування Параметри алгоритму. Кількість циклів перетворень ![]() ![]() ![]() ![]() Таблиця 1.28 – вектори ініціалізації алгоритму
Основними режимами роботи функції ґешування, що рекомендуються до застосування, є «Купина-256», «Купина-384» і «Купина-512». Основні перетворення. Функція стиснення. Функція стиснення ![]() ![]() ![]() ![]() ![]() Функцію стиснення ![]() ![]() ![]() ![]() Рисунок 1.19 – Схема функції стиснення ![]() Нехай функція ![]() ![]() ![]() ![]() ![]() Завершальне перетворення ![]() ![]() Рисунок 1.203 – Завершальне перетворення ![]() Доповнення повідомлення. На вхід функції ґешування подається повідомлення (бітова послідовність) ![]() ![]() ![]() ![]() ![]() ![]() При доповненні спочатку у кінець повідомлення додається одиничний біт «1», потім додаються ![]() ![]() ![]() ![]() 1.9 Вимоги та їх реалізація при побудування засобів криптографічного захисту інформації В цьому підрозділі викладаються результати аналізу сучасних вимог безпеки до засобів криптографічного захисту інформації. Зокрема проведено аналіз та дослідження захищеності засобів КЗІ та вимог, що викладені в федеральному стандарті FIPS 140-2 [411] та FIPS 140-3 [369] та міжнародному стандарті ISO/IEC 19790 - 2012[277], а також [40, 68, 79, 111-115, 209, 212, 281, 284-285,301]. Спочатку, зважаючи на актуальність орієнтуючись на міжнародний стандарт ISO/IEC 19790 - 2012 та NIST SP 800-90, введемо деякі поняття. Більш широкий перелік понять та взагалі вимоги до засобів КЗІ та пропозиції з їх реалізації наводяться в наступних розділах монографії, в тому числі наступних томах монографії. 1.9.1 Основні визначення та поняття В стандартах ДСТУ ISO/IEC 19790 : 2012[277] наводяться основні визначення та поняття відносно засобів КЗІ та вимог до них в частині вимог до засобів КЗІ. Нижче наводиться обмежене число визначень та понять, які необхідні для подальшого розгляду криптографічних систем. Також враховується те, що засоби КЗІ є складовими елементами криптографічних систем. 1. Список контролю доступу (ACL) - список дозволів для надання доступу до об'єкта 2 Настанова адміністратора - письмові матеріали, які використовуються спеціалістами КЗІ та / або іншими адміністративними ролями для правильного налаштування, обслуговування і адміністрування модуля КЗІ. 3. Затверджений метод автентифікації даних - затверджений метод, який може включати в себе використання електронного цифрового підпису, кодів автентифікації повідомлення або ключову геш - функцію (наприклад, HMAC). 4. Затверджений метод контролю цілісності - затверджена геш - функція, код автентифікації повідомлення або алгоритм цифрового підпису 5. Затверджена функція безпеки - функція безпеки (наприклад, криптографічний алгоритм), на яку є посилання 6. Біометричний - вимірювана фізична характеристика або особиста поведінкова риса, що використовується для розпізнавання особистості або перевірки заявленої особистості оператора 7. Можливість обходу - здатність послуги частково або повністю обійти криптографічні функції 8. Умовне самотестування - тестування, що здійснюється криптографічним модулем при виконанні умов, визначених для цього тестування 9. Система керування конфігурацією (CMS) - управління функціями безпеки та гарантіями за допомогою керування змінами, внесеними в апаратне забезпечення, програмне забезпечення та документацію криптографічного модуля. 10. Критичні параметри безпеки (CSP) - пов'язана із забезпеченням безпеки інформація, розкриття або зміна якої може скомпрометувати безпеку криптографічного модуля. 11. Спеціаліст КЗІ - роль, яку бере на себе особа або процес (тобто суб'єкт), що діє від імені особи, який звертається до модуля КЗІ для виконання криптографічної ініціалізації або функцій управління криптографічним модулем. 12. Модуль КЗІ (криптографічний модуль) - набір апаратного забезпечення, програмного забезпечення та / або програмно-апаратного забезпечення, який реалізує функції безпеки і містяться в межах криптографічної границі. 13. Електромагнітні випромінювання (EME) - інформативний (для розвідки) сигнал, який у випадку перехоплення й аналізу потенційно розкриває інформацію, яка передається, отримується, циркулює чи іншим чином обробляється будь-яким інформаційно-технологічним обладнанням. 14. Електронне введення - введення SSP (чутливих параметрів безпеки) або ключових компонентів в криптографічний модуль з використанням електронних методів. 15. Модель кінцевих станів (FSM - математична модель послідовної машини, яка складається з кінцевого набору вхідних подій, кінцевого набору вихідних подій, кінцевого набору станів, функції, яка відображає стани і входи у виходи, функції, яка відображає стани і входи у стани (функція переходу станів), і специфікації, що описує початковий стан. 16. Програмно-апаратне забезпечення - виконуваний код криптографічного модуля, який зберігається в апаратному забезпеченні в межах криптографічної границі і не може бути динамічно записаний або змінений під час виконання при роботі в незмінному або обмеженому експлуатаційному середовищі ПРИКЛАД. Апаратні сховища може включати, але не обмежуватися PROM, EEPROM, FLASH, твердо тільною пам'яттю, жорсткими дисками і т.д. 17. Програмно-апаратний модуль - Модуль, який складається виключно з програмно-апаратного забезпечення 18. Інтерфейс - логічна точка входу або виходу криптографічного модуля, яка забезпечує доступ до модуля для логічних потоків інформації 19. Багатофакторна автентифікація - автентифікація, принаймні, по двом незалежним факторам автентифікації ПРИМІТКА 1 Фактор автентифікації - це частина інформації і процес, що використовується для автентифікації або перевірки справжності об’єкта. ПРИМІТКА 2 Категорії незалежних факторів автентифікації: те, що ви знаєте; те, що ви маєте; і те, ким ви є. 20. Неінвазивна атака - атака, яка може бути здійснена на криптографічний модуль без прямого фізичного контакту з компонентами всередині криптографічної границі модуля. ПРИМІТКА атаки, яка не змінювати або стан криптографічний модуль. 21. Фізичний захист - Захист криптографічного модуля, критичних параметрів безпеки (CSP) та відкритих параметрів безпеки (РSP) за допомогою фізичних засобів 22. Роль - атрибут безпеки, пов'язаний з користувачем і визначає обмеження або права доступу користувача до послуг криптографічного модуля. ПРИМІТКА. Одна або декілька послуг можуть бути пов'язані з роллю. Роль може бути пов'язана з одним або декількома користувачами, а користувач може приймати одну або кілька ролей. 23. Самотестування - Набір попередніх та умовних самоперевірок, що виконуються або за запитом оператора або періодично після проходження максимального робочого часу і при умовах, зазначених у політиці безпеки 24. Програмний модуль - модуль, який складається виключно з програмного забезпечення 25. Інтерфейс програмного/програмно-апаратного модуля (SFMI) - Набір команд для запиту послуг програмного/програмно-апаратного забезпечення модуля, в тому числі параметри, які входять або виходять з криптографічної границі модуля як частина запитуваної послуги 26. Реагування на вторгнення - автоматичні дії, вжиті криптографічним модулем при виявленні вторгнення 27. Довірений канал - надійна і безпечна лінія зв'язку, встановлена між криптографічним модулем і відправником або одержувачем для встановлення безпечного доступу до незахищених CSP у вигляді відкритого тексту, ключових компонентів і даних автентифікації ПРИМІТКА Довірений канал захищає від підслуховування, а також фізичного або логічного вторгнення небажаними операторами / об’єктами, процесами або іншими пристроями, між визначеними модулем вхідними та вихідними портами і уздовж лінії зв'язку з передбаченою кінцевою точкою. 28. Користувач - роль, яку приймає особа або процес (тобто суб'єкт), що діє від імені особи, який звертається до криптографічного модуля для отримання криптографічних послуг 29. Обнуління - метод знищення збережених даних і незахищених SSP для запобігання вилучення і повторного використання. В США розроблено та застосовується лінійка федеральних стандартів, у яких визначені вимоги до засобів КЗІ. До них відносяться стандарти FIPS 140 – 1, FIPS 140 – 2[411] та проект федерального стандарту FIPS 140 – 3 [ 369]. Вимоги, що викладені в указаних стандартах, є найбільш узагальнені та відносяться до різних областей з надання послуг КЗІ. 1.9.2. Загальні вимоги до засобів КЗІ, що викладені в федеральних стандартах FIPS 140. В цьому підрозділі аналізуються загальні вимоги до засобів КЗІ, що викладені в федеральних стандартах FIPS 140-1 та FIPS 140-2, зокрема досліджуються особливості тестування криптографічних алгоритмів і криптографічних засобів, аналізуються різні вимоги щодо перевірки засобів КЗІ, в тому числі і тих засобів, що застосовуються в інфраструктурі відкритих ключів. Аналіз показав[ 20-22] показав, що найбільш широко й системно вимоги до засобів КЗІ були визначені у федеральних стандартах США FIPS 140-1, FIPS 140-2 та у проекті FIPS 140-3, а також у стандартах ДСТУ ISO/IEC 19790 - 2012 та NIST SP 800-90. З них можна зробити висновок, що при побудуванні криптографічних систем необхідно обґрунтовувати та вибирати з відповідним рівнем захищеності криптографічні засоби, політики їх застосування, криптографічні перетворення та протоколи, протоколи управління та сертифікації ключів тощо. При цьому, у першу чергу, необхідно враховувати таке: наскільки важливою є ІС чи ІТС для вирішення завдань організації; якою мірою повинні використовуватися національні та міжнародні стандарти; які вимоги щодо ефективності криптографічних механізмів повинні виконуватися (наприклад, пропускна здатність, час обробки, їх здатність протистояти діям порушників тощо); які вимоги повинні виконуватися щодо внутрішньо системної здатності та міжсистемною здатністю й інтероперабільністю; вимоги щодо криптографічних алгоритмів, криптографічних протоколів та протоколів зв’язку тощо; мета та цілі безпеки інформації, мета та цілі застосування криптографічних засобів і механізмів; які послуги та за яким профілем повинні надаватися, наприклад, цілісність, справжність, конфіденційність, доступність, спостережливість, неспростовність; протягом якого періоду часу інформація повинна бути захищена; які регламенти та політики повинні бути застосовані; якою мірою користувачі проінформовані щодо криптографічних методів та механізмів та наскільки добре вони навчені; у чому полягає сутність фізичної та процедурної інфраструктури з криптографічного захисту інформації та даних, наприклад, збереження, облік та аудит, матеріальна й технічна підтримка тощо; відносно якої інформації та даних потрібно забезпечити зв’язок з використанням криптографічних перетворень і протоколів (у тому числі, наприклад, засоби та процедури фізичного захисту ключових даних та інформації). Відповіді на вказані проблемні питання можуть бути використані при формулюванні підходу з розробки принципів інтеграції криптографічних систем і засобів в існуючі або нові ІС та ІТС. Причому обґрунтованим підходом з інтеграції криптографічних засобів і реалізації методів і механізмів є розробка вимог відповідно з цілями та політиками захисту. У [40, 68, 209, 212, 281, 284-285] наведено вимоги щодо безпеки й цілісності криптографічних засобів, що виконують криптографічні перетворення. Для кожного з уведених одинадцяти атрибутів безпеки визначено чотири рівні безпеки. Вважається, що криптографічні засоби управління надаються з використанням криптографічних засобів, що можуть включати такі можливості, як генерація та верифікація підпису, шифрування та розшифрування, генерація ключів і встановлення ключів тощо. Проведемо аналіз вимог до криптографічних засобів, що закладені у FІPS 140-2. У цілому, вимоги безпеки, що викладені в FІPS 140-2 охоплюють 11 галузей, пов’язаних із проектуванням та реалізацією криптографічного засобу. Так, у більшості галузей криптографічному модулю присвоюється, залежно від вимог, відповідний рівень захисту від 1 до 4, тобто від найнижчого до найвищого. Для інших галузей, у яких не передбачається захист з різними рівнями, криптографічному модулеві присвоюється оцінка, що відображає ступінь здійснення всіх вимог для цієї галузі. При цьому повна оцінка, що надається криптографічному модулеві, містить у собі мінімум незалежних оцінок, що присвоюються в галузях з відповідними рівнями захисту, а також ступінь забезпечення всіх вимог в інших галузях. Окрім того, в атестаційному сертифікаті постачальника криптографічного засобу також вказується як загальна, так і окремі оцінки. В окремих випадках для постачальників та користувачів важливо зробити так, щоб повна оцінка криптографічного засобу не обов’язково була самою важливою оцінкою. Це тому, що оцінка для окремої галузі в деяких випадках може бути важливішою, ніж повна оцінка, наприклад, залежно від середовища, у якому повинен використовуватися криптографічний модуль. Оцінка повинна також включати те, яким видам ризику та з якими допустимими втратами повинен запобігати криптографічний модуль. Модулі можуть відповідати для різних послуг різним рівням вимог захисту; наприклад, модуль може реалізувати автентифікацію з четвертим рівнем, а захист від підробки – на другому рівні тощо. У таблиці 1.29 наведено вимоги щодо забезпечення захисту, що представлені у FІPS 140-2. Таблиця 1.29 – Вимоги щодо забезпечення захисту, що визначені в стандарті FІPS 140-2
|