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

Спеціальність: Кібербезпека
Код дисципліни: 8.125.00.M.015
Кількість кредитів: 3.00
Кафедра: Захист інформації
Лектор: Совин Я. Р.
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою викладання дисципліни є набуття аспірантами ґрунтовних теоретичних і практичних знань із застосування широкого спектру обчислювальної техніки для вирішення задач криптографічного захисту інформації у інформаційних системах, оволодіння технічними та програмними засобами проектування захищених мікропроцесорних систем, набуття вміння з проектування, реалізації, та тестування програмно-апаратних засобів, як необхідної основи для створення спеціалізованих пристроїв та проведення наукових досліджень у галузі кібербезпеки.
Завдання: Вивчення навчальної дисципліни передбачає формування та розвиток у аспірантів компетентностей: інтегральних: Здатність розв’язувати комплексні проблеми в галузі інформаційної та кібербезпеки, проводити дослідницько-інноваційну діяльність, що передбачає глибоке переосмислення наявних та створення нових цілісних знань, а також практичне впровадження отриманих результатів. загальних: 1. Систематичні знання сучасних методів проведення досліджень в галузі інформаційних технологій та інформаційної безпеки і в суміжних галузях; 3. Уміння ефективно спілкуватися з широкою науковою спільнотою та громадськістю з актуальних питань інформаційної та кібербезпеки, захисту інформації; фахових: 1. Знання про сучасні тенденції розвитку і найбільш важливі нові наукові досягнення в області інформаційних технологій, інформаційної та кібербезпеки, захисту інформації, а також суміжних; 2. Систематичні знання і розуміння сучасних наукових теорій і методів, та вміння їх ефективно застосовувати для синтезу та аналізу систем захисту інформації; 3. Здатність розробляти та реалізовувати проекти, включаючи власні дослідження, які дають можливість переосмислювати наявні чи створювати нові знання; 5. Здатність розробляти та реалізовувати проекти, включаючи власні дослідження, які дають можливість переосмислювати наявні чи створювати нові знання.
Результати навчання: Внаслідок вивчення навчальної дисципліни аспірант повинен бути здатним продемонструвати такі результати навчання: 1. Ефективно реалізовувати криптографічні примітиви, алгоритми та протоколи на різних обчислювальних платформах; 2. Вміти оцінювати ефективність та вимоги до ресурсів програмно-апаратних криптографічних пристроїв, проводити їх аналіз, порівняння і оптимізацію; 3. Обґрунтовано вибирати архітектурні, структурні, схемотехнічні та програмні рішення при проектуванні криптографічної апаратури, раціонально розподіляти виконувані системою функції між апаратним і програмним забезпеченням; 4. Вміти проектувати і програмувати спеціалізовані пристрої захисту інформації з використанням криптографічних алгоритмів; 5. Знати основні види атак через сторонні канали на криптографічні засоби захисту інформації і методи захисту від них. 6. Вміти проектувати і програмувати типові спеціалізовані пристрої захисту інформації. Результати навчання даної дисципліни деталізують такі програмні результати навчання: ЗН1. Здатність продемонструвати систематичні знання сучасних методів проведення досліджень в області інформаційних технологій, інформаційної та кібербезпеки, захисту інформації; Лекційні заняття – інформаційно-рецептивний метод. Лабораторні роботи – репродуктивний метод, евристичний метод, Самостійна робота – репродуктивний метод, дослідницький метод. Оцінка активності студента у процесі занять; перевірка виконання лабораторних робіт. Екзаменаційний контроль. ЗН2. Здатність продемонструвати поглиблені знання у вибраній області наукових досліджень; Лекційні заняття – інформаційно-рецептивний метод. Лабораторні роботи – репродуктивний метод, евристичний метод, Самостійна робота – репродуктивний метод, дослідницький метод. Поточна перевірка в процесі засвоєння кожної теми, що вивчається; перевірка виконання лабораторних робіт; опитування щодо засвоєння знань. Екзаменаційний контроль. ЗН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-атак. Методи захисту від атак на енергоспоживання.
Методи та критерії оцінювання: Поточний контроль, який складається з виконання лабораторних робіт та захисту звітів, усне опитування. Екзаменаційний контроль, який складається з письмового опитування та усної компоненти.
Критерії оцінювання результатів навчання: 1. Лабораторні роботи – 40 балів. 2. Екзамен - 60 балів.
Порядок та критерії виставляння балів та оцінок: 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 с. 8. Рекомендована література Базова 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. – ISBN: 978-953-51-0218-2. 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. – ISBN: 978-0-387-33883-5. 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, Chicago, San Francisco, Lisbon, London, Madrid, Mexico City, Milan, San Juan, Seoul, Singapore, Sydney, Toronto: The McGraw-Hill Companies, Inc., 2009. - ISBN: 978-0-071-54581-5.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).