Криптографічна інженерія

Спеціальність: Кібербезпека
Код дисципліни: 8.125.00.M.015
Кількість кредитів: 3.00
Кафедра: Захист інформації
Лектор: Доц., к.т.н. Совин Ярослав Романович
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою викладання дисципліни є набуття аспірантами ґрунтовних теоретичних і практичних знань із застосування широкого спектру обчислювальної техніки для вирішення задач криптографічного захисту інформації у інформаційних системах, оволодіння технічними та програмними засобами проектування захищених мікропроцесорних систем, набуття вміння з проектування, реалізації, та тестування програмно-апаратних засобів, як необхідної основи для створення спеціалізованих пристроїв та проведення наукових досліджень у галузі кібербезпеки
Завдання: Вивчення навчальної дисципліни передбачає формування та розвиток у аспірантів компетентностей: інтегральних: ІНТ. Здатність розв’язувати комплексні проблеми в галузі інформаційної та кібербезпеки, проводити дослідницько-інноваційну діяльність, що передбачає глибоке переосмислення наявних та створення нових цілісних знань, а також практичне впровадження отриманих результатів. загальних: ЗК3. Уміння ефективно спілкуватися з широкою науковою спільнотою та громадськістю з актуальних питань інформаційної та кібербезпеки, захисту інформації. фахових: ФК1. Знання про сучасні тенденції розвитку і найбільш важливі нові наукові досягнення в області інформаційних технологій, інформаційної та кібербезпеки, захисту інформації, а також суміжних; ФК2. Систематичні знання і розуміння сучасних наукових теорій і методів, та вміння їх ефективно застосовувати для синтезу та аналізу систем захисту інформації; ФК3. Здатність розробляти та реалізовувати проекти, включаючи власні дослідження, які дають можливість переосмислювати наявні чи створювати нові знання; ФК5. Здатність розробляти та реалізовувати проекти, включаючи власні дослідження, які дають можливість переосмислювати наявні чи створювати нові знання.
Результати навчання: Внаслідок вивчення навчальної дисципліни аспірант повинен бути здатним продемонструвати такі результати навчання: 1. Ефективно реалізовувати криптографічні примітиви, алгоритми та протоколи на різних обчислювальних платформах; 2. Вміти оцінювати ефективність та вимоги до ресурсів програмно-апаратних криптографічних пристроїв, проводити їх аналіз, порівняння і оптимізацію; 3. Обґрунтовано вибирати архітектурні, структурні, схемотехнічні та програмні рішення при проектуванні криптографічної апаратури, раціонально розподіляти виконувані системою функції між апаратним і програмним забезпеченням; 4. Вміти проектувати і програмувати спеціалізовані пристрої захисту інформації з використанням криптографічних алгоритмів; 5. Знати основні види атак через сторонні канали на криптографічні засоби захисту інформації і методи захисту від них. 6. Вміти проектувати і програмувати типові спеціалізовані пристрої захисту інформації. Результати навчання даної дисципліни деталізують такі програмні результати навчання: Результати навчання: ЗН2. Здатність продемонструвати поглиблені знання у вибраній області наукових досліджень Методи навчання і викладання: Лекційні заняття – інформаційно-рецептивний метод. Лабораторні роботи – репродуктивний метод, евристичний метод, Самостійна робота – репродуктивний метод, дослідницький метод. Методи оцінювання рівня досягнення результатів навчання: Поточна перевірка в процесі засвоєння кожної теми, що вивчається; перевірка виконання лабораторних робіт; опитування щодо засвоєння знань. Екзаменаційний контроль. Результати навчання: ЗН3. Здатність продемонструвати розуміння впливу технічних рішень в суспільному, економічному соціальному контексті Методи навчання і викладання: Лекційні заняття – інформаційно-рецептивний метод. Лабораторні роботи – репродуктивний метод, евристичний метод, Самостійна робота – репродуктивний метод, дослідницький метод. Методи оцінювання рівня досягнення результатів навчання: Оцінка активності студента у процесі занять; перевірка виконання лабораторних робіт. Екзаменаційний контроль. Результати навчання: ЗН4. Системно мислити та застосовувати творчі здібності до формування принципово нових ідей в сфері інформаційної та кібербезпеки Методи навчання і викладання: Лекційні заняття – інформаційно-рецептивний метод. Лабораторні роботи – репродуктивний метод, евристичний метод, Самостійна робота – репродуктивний метод, дослідницький метод. Методи оцінювання рівня досягнення результатів навчання: Поточна перевірка в процесі засвоєння кожної теми, що вивчається; перевірка виконання лабораторних робіт; опитування щодо засвоєння знань. Екзаменаційний контроль. Результати навчання даної дисципліни також забезпечують такі уміння: УМ1. Здійснювати пошук, аналізувати і критично оцінювати інформацію з різних джерел; УМ5. Застосовувати набуті знання і розуміння для ідентифікації, формулювання і вирішення завдань захисту інформації, використовуючи відомі та пропонуючи власні методи; УМ6. Аргументувати вибір методів розв’язання науково-прикладної задачі, критично оцінювати отримані результати та захищати прийняті рішення.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Попередні навчальні дисципліни: • Актуальні науково-прикладні задачі у галузі захисту інформації Наступні навчальні дисципліни: • Комп'ютерне опрацювання інформації з обмеженим доступом
Короткий зміст навчальної програми: Дисципліна присвячена вивченню застосувань мікропроцесорів і мікроконтролерів для вирішення типових задач захисту інформації в інформаційно-комунікаційних системах з точки зору останніх наукових досліджень. У курсі розглядаються теоретичні і практичні аспекти реалізації криптографічних алгоритмів орієнтованих як на високопродуктивні системи, так і пристрої з обмеженими ресурсами, такі як безпровідні сенсорні мережі, Інтернет речей і т.д. Аналізуються шляхи збільшення швидкодії за рахунок використання апаратних і програмних криптоакселераторів, технологій розпаралелювання коду, SIMD-технологій та GPU. Також у курсі розглядаються атаки на реалізації криптоалгоритмів, які наразі є значно ефективнішими за класичний криптоаналіз. Висвітлено питання побудови і функціонування криптостійких та справжніх генераторів випадкових чисел для мікропроцесорних систем, а також оцінки якості випадкової послідовності на базі наборів тестів FIPS 140-2 та NIST STS.
Опис: Особливості та вимоги до реалізацій криптопримітивів на різних обчислювальних платформах. Програмні платформи (CPU, MCU, FPGA, ASIC). Базові криптооперації та базові криптоперетворення. Часові та кеш атаки на програмні реалізації криптоалгоритмів. Вимоги до криптографічного ПЗ. Підходи до реалізації базових криптографічних примітивів (класичний та табличний). Загальні аспекти (розгортання ключа, розгортання (розмотування) циклу, макроси та інлайнінг, типи даних). Класичний підхід. Табличний підхід. Підходи до реалізації базових криптографічних примітивів (SIMD, Bit-sliced). Векторні інструкції (SSE, AVX/AVX2, AVX-512). Програмування з використанням SIMD-команд мовами С/C++ (Intrinsics-функції, типи даних, назви функцій, ініціалізація скалярними значеннями, завантаження і збереження даних з/в пам’ять, арифметичні і логічні операції, змішування (Blending) і тасування (Shuffling), індексне вибирання з пам’яті (Gather). Учбовий шифр KB. SIMD підхід. Bitsliced підхід. Паралельне програмування з використанням технології OpenMP для збільшення швидкодії. Типи паралельних систем і підходи до їх програмування. Загальні відомості про OpenMP. Базові елементи OpenMP. Використання OpenMP для пришвидшення AES шифрування. GPGPU з використанням технології OpenCL для збільшення швидкодії криптоалгоритмів. Особливості GPU та гетерогенних обчислювальних систем. Стандарт та базові терміни OpenCL. Специфікація OpenCL. Створення OpenCL програми. Принципи побудови та тестування криптографічних генераторів випадкових чисел. Основні поняття та вимоги до генераторів випадкових чисел. Методи побудови СГВЧ у вбудованих системах. Методи побудови СГВЧ у високопродуктивних системах. Технологія Intel Secure Key. Принцип роботи Intel Digital Random Number Generator. Перевірка підтримки технології Intel Secure Key процесором. Intrinsics-функції для роботи з інструкціями RDRAND і RDSEED. Методи тестування СГВЧ. Атаки на СГВЧ і методи захисту. Тестування СГВЧ згідно стандарту FIPS 140-2. Тестування СГВЧ згідно стандарту NIST STS. Атаки на реалізації криптографічних алгоритмів. Класифікація атак на реалізацію. Атаки за часом виконання. Атаки на енергоспоживання. Проста атака на енергоспоживання. Моделі енергоспоживання для PA-атак. Диференційна атака на енергоспоживання. Кореляційна атака на енергоспоживання. Атаки на електромагнітне випромінювання. Атаки на помилки обчислень. Програмно-апаратні комплекси для SCA-атак. Методи захисту від атак на енергоспоживання.
Методи та критерії оцінювання: 5. Поточний контроль, який складається з виконання лабораторних робіт та захисту звітів, виконання та захисту контрольної роботи, усне опитування.
Критерії оцінювання результатів навчання: Поточний контроль (40 балів): Лабораторні заняття – 40 балів. Екзаменаційний контроль (60 балів): письмова компонента - 55 балів усна компонента - 5 балів
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: Навчально-методичне забезпечення 1. Совин Я. Р. Мікропроцесори в системах технічного захисту інформації.: навчальний посібник / Я. Р. Совин, Ю. М. Наконечний. – Львів: Видавництво Львівської політехніки, 2011. – 308 с. Рекомендовано МОН України. 2. Проектування та тестування генераторів випадкових чисел на базі мікроконтролерів: Методичні вказівки та завдання для самостійної роботи студентів з курсу “Мікропроцесори в системах технічного захисту інформації” для студентів четвертого курсу напряму 6.170102 «Системи технічного захисту інформації» // Укл. Я. Р. Совин, М. Ю. Стахів – Львiв: Національний університет "Львівська політехніка", 2015. – 56 с. 3. Проектування генераторів одноразових паролів на базі мікроконтролерів: Методичні вказівки та завдання для самостійної роботи студентів з курсу “Мікропроцесори в системах технічного захисту інформації” для студентів четвертого курсу напряму 6.170102 «Системи технічного захисту інформації» // Укл. Я. Р. Совин, М. Ю. Стахів – Львiв: Національний університет "Львівська політехніка", 2015. – 58 с. 3. Налаштування середовища для програмування x86-64 мікропроцесорів. Реалізація криптографічних алгоритмів для х86-процесорів з використанням криптоакселераторів Методичні вказівки до лабораторної роботи № 1 з курсу «Криптографічна інженерія» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2020. – 25 с. 4. Реалізація криптографічних алгоритмів для х86-процесорів з використанням класичного підходу: Методичні вказівки до лабораторної роботи № 2 з курсу «Криптографічна інженерія» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2020. – 15 с. 5. Реалізація криптографічних алгоритмів для х86-процесорів з використанням табличного підходу: Методичні вказівки до лабораторної роботи № 3 з курсу «Криптографічна інженерія» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2020. – 11 с. 6. Реалізація криптографічних алгоритмів для х86-процесорів з використанням SIMD підходу: Методичні вказівки до лабораторної роботи № 4 з курсу «Криптографічна інженерія» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2020. – 23 с. 7. Реалізація криптографічних алгоритмів з використанням OpenMP: Методичні вказівки до лабораторної роботи № 5 з курсу «Криптографічна інженерія» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2020. – 28 с. 8. Дослідження атак на енергоспоживання для мікроконтролерної реалізації алгоритму AES: Методичні вказівки до лабораторної роботи №6 з курсу «Криптографічна інженерія» для студентів напряму 6.170101 «Безпека інформаційних і комунікаційних систем» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2016. – 4 с. 9. Побудова криптографічних генераторів випадкових чисел для х86-64 процесорів на базі технології Secure Key та мікроконтролерів: Методичні вказівки до лабораторної роботи №7 з курсу «Апаратна криптографія» для студентів спеціальність «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2019. – 21 с. 10. Тестування криптографічних генераторів випадкових чисел: Методичні вказівки до лабораторної роботи №8 з курсу «Апаратна криптографія» для студентів спеціальність «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2019. – 17 с. 11. Електронний навчально-методичний комплекс у ВНС: https://vns.lpnu.ua/course/view.php?id=11585 Рекомендована література Базова 1. Cryptographic Engineering / [editor C. K. Koc]. – New York: Springer Science+Business Media, 2009. – 522 p. – ISBN: 978-0-387-71816-3. 2. Secure Integrated Circuits and Systems / [ed. M. R. Verbauwhede]. – New York: Springer Science+Business Media, 2010. – 246 p. – ISBN: 978-0-387-71827-9. 3. Power Analysis Attacks: Revealing the Secrets of Smart Cards / Mangard S., Oswald E., Popp T. – Berlin: Springer-Verlag, 2007. – 338 p. 4. Applied Cryptography and Network Security / [editor Jaydip Sen]. – InTech, 2012. – 288 p. 5. Handbook of Applied Cryptography / A. J. Menezes, P. van Oorschot, and S. Vanstone. - CRC Press, New York, 1997. Допоміжна 1. Cryptographic Algorithms on Reconfigurable Hardware / Francisco Rodriguez-Henriquez, N. A. Saqib, A. Diaz-Perez, C. K. Koc. – New York: Springer Science+Business Media, 2006. – 362 p. 2. Advanced DPA Theory and Practice / E. Peeters – New York: Springer Science+Business Media, 2013. – 139 p. – ISBN 978-1-4614-6782-3. 3. Hardware Implementation of Finite-Field Arithmetic / Jean-Pierre Deschamps, Jose Luis Imana, Gustavo D. Sutter. - New York: The McGraw-Hill Companies, Inc., 2009. Інформаційні ресурси 1. Совин Я.Р. Криптографічна інженерія [Електронний ресурс] / Режим доступу: https://vns.lpnu.ua/course/view.php?id=11585 2. Cryptographic Engineering (Part I: Software) – Spring 2020 https://cryptojedi.org/peter/teaching/crypto-engineering-2020.shtml 3. Cryptographic Engineering (Part I: Software) – Spring 2019 https://cryptojedi.org/peter/teaching/crypto-engineering-2019.shtml
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).