Scientific journal
PHYSICAL AND MATHEMATICAL EDUCATION
Has been issued since 2013.
Науковий журнал
Ф1ЗИКО-МАТЕМАТИЧНА ОСВ1ТА
Видасться з 2013.
http://fmo-journal.fizmatsspu.sumy.ua/
Жданова Ю.Д., Спаателева С.О., Шевченко С.М. Формування у студент'!в 1Т-спе^альностей компетентностей в област'1 захисту iнформацiï з використанням криптографiчних служб .NET FRAMEWORK Ф'!зико-математична освiта. 2019. Випуск 1(19). С. 48-54.
Zhdanovа Yu., Spasiteleva S., Shevchenko S. Formation Of Information Protection Competence To Students Of It-Specialties With Using .Net Framework Cryptographic Services. Physical and Mathematical Education. 2019. Issue 1(19). Р. 48-54.
DOI 10.31110/2413-1571-2019-019-1-008 УДК 378.147:004.056.5
Ю.Д. Жданова
Кшеський унверситет iменi Бориса rpiнченка,, Украна
[email protected] ORCID: 0000-0002-9277-4972 С.О. Спаателева
Ки'вський унверситет iменi Бориса Гр'1нченка,, Украша
[email protected] ORCID: 0000-0003-4993-6355 С.М. Шевченко
Ки'вський унверситет iменi Бориса Гр'1нченка,, Украша
s. shevchenko @kubg. edu.ua ORCID: 0000-0002-9736-8623
ФОРМУВАННЯ У СТУДЕНТ1В 1Т-СПЕЦ1АЛЬНОСТЕЙ КОМПЕТЕНТНОСТЕЙ В ОБЛАСТ1 ЗАХИСТУ ШФОРМАЦП З ВИКОРИСТАННЯМ КРИПТОГРАФ1ЧНИХ СЛУЖБ .NET FRAMEWORK
АНОТАЦЯ
QopMynmBaHHH npoöneMu. Cmamma npucBaieHa npoöneMi nideomoBKu cyvacHux rfiaxiBijiB eany3i 3HaHb «12-lH^opMaiiüHi mexHonoeii» (IT), a caMe fyopMyBaHHa y cmydeHmiB cneu,iani3oBaHo-npo$eaÜHux 3HaHb ma yMiHb 3 Kpunmoepatpi^Hoeo 3axucmy mfyopMauji.
Mamepianu i Memodu. y docnidmeHHi 6ynu BuKopucmaHi meopemuvHi Memodu aHani3y ma y3aeanbHeHHR HayKoBux npaib npoBidHux MemoduemiB, u(o po3enadanu peani3aiii KoMnemeHmHicHoeo nidxody y Buufiü u/Koni, 3oKpeMa KoMnemeHmHocmi Maü6ymHix IT-cneyianicmiB; nopiBH^nbHi Memodu 3icmaBneHHn pi3Hux icHyivux KpunmoepafiivHux cepBiciB 3axucmy iH^opMa^i' y npoieci bubwhhr HaBvanbHux duciunniH «npuKnadHa Kpunmonoeia», «6e3neKa npoepaM ma daHux», «TexHonoeii 6e3ne^Hoeo npoepaMyBaHHn», «Oö'eKmHO-opieHmoBaHe npoepaMyBaHHn».
Pe3ynbmamu. ßoBedeHa HeoöxidHicmb ompuMaHHR KOMnemeHmHOcmeü 3 3axucmy iH^opMaiii' 3 BU3HaveHUM oöcaeoM meopemuvHux ma npaKmuvHux 3HaHb dnn Maü6ymHix IT-cneiianicmiB mpbox cneiianbHocmeü: 121 iHMeHepti npoepaMHoeo 3a6e3neveHHH, 122 KoMn'iomepHi HayKu, 125 Hi6ep6e3neKa. Cnupaivucb Ha docnidmeHHi y ncuxonoeo-nedaeoeivHiü nimepamypi ma BnacHuü docBid, demani3OBaHi cymb ma cmpyKmypa noHnmmn «KOMnemeHmHOcmi IT- cneiianicma 3 KpunmoepatyivHoeo 3axucmy iH^opMa^i». 3po6neHO Haeonoc Ha me, u(o tyopMyBaHHR daHux KOMnemeHmHOcmeü 3diücHiembca y paMKax Mimducu,unn 'mapHux 3B'R3KiB HaBvanbHux duciunniH, a caMe: «npuKnadHa Kpunmonoeia», «6e3neKa npoepaM ma daHux», «TexHonoeii 6e3ne^Hoeo npoepaMyBaHHn», «06'eKmHo-opieHmoBaHe npoepaMyBaHHn». Bu3HaveHo nepeniK BuMoe do piBHn ctyopMoBaHocmi npo^eciüHo-3HavuMux xapaKmepucmuK IT-cneiianicma b ctyepi KpunmoepatpMHoeo 3axucmy iH^opMaiii'. 3diücHeHo aHani3 KpunmoepafiivHux 6i6niomeK ma 3anponoHoBaHi eonoBHi Kpumepii Buöopy Kpunmoepa^ivHo'i cnymöu ma cyiacHoeo cepedosu^a po3po6Ku npoepaM. OörpyHmoBaHo aKmyanbHicmb ma doyinbHicmb BuKopucmaHHR cyvacHux Kpunmoepafii^Hux cnymö .Net Framework ma cepedoBu^a po3po6Ku npuKnadHux npoepaM ciMeücmBo iHcmpyMeHmiB Microsoft Visual Studio dna Haöymmn cmydeHmaMu 3HaHb ma npaKmuvHux HaBuvoK 3 3axucmy iHtpopMaiii'. Po3po6neHo Modenb tyopMyBaHHR ma po3BumKy KoMnemeHmHocmeü 3 KpunmoepatyivHoeo 3axucmy iHtpopMaijii' cmydeHmiB eany3i 3HaHb «12-H4>opMaufiüHi mexHonoeii» ma npedcmaBneHo tunnxu i'ipeani3aiiiy KuiBcbKoMy yHiBepcumemi iMeHi Bopuca rpiHveHKa ma ßepmaBHoMy yHiBepcumemi meneKoMyH'mau,iü.
Buchobku. CaMe Ha 6a3i npoepaMyBaHHR KpunmoepafiivHux MexaHi3MiB 3axucmy iH^opMaiii' efieKmuBHo tyopMynmbca npaKmuvHi HaBu^Ku 3acmocyBaHHR KpunmoepafiivHux aneopumMiB y npoieci onpau,HBaHHR ma nepedavi daHux. KoHKpemu3oBaHe Bu3HaieHHR oöcaey meopemuvHux 3HaHb ma npaKmuvHux yMiHb 3 BpaxyBaHHRM Mimducu,unn'mapHux 3B'R3KiB HaBvanbHux duciunniH, noB'R3aHux 3 3axucmoM iH^opMaiii' ma npoepaMyBaHHRM, do3Bonae nideomyBamu tyaxiBiiB 3 npaKmuvHuMu HaBuvKaMu 3 KpunmoepatyivHoeo 3axucmy iH^opMayii, RKi e 3ampe6yBaHuMu Ha puHKy npaii.
КЛЮЧОВ1 СЛОВА: компетентност'1 IТ-спецiалiстiв, захист iнформацiï, криптографiчний захист, криптографiчна б'!бл'ютека, криптографiчнi алгоритми.
ISSN 2413-158X (online) ISSN 2413-1571 (print)
ВСТУП
Постановка проблеми. Головною метою закладiв виш,о'|' освiти, якi готують фахiвцiв галузi знань «12- 1нформацшы технологи», е пiдготовка випускникiв до професшно!' дiяльностi в сучасному високорозвиненому шформацшно-комунiкацiйному середовищi. Тотальна шформатизащя суспiльства вимагае в^д освiти виршення проблеми пiдготовки таких 1Т-спещал^в, як в умовах мiнливих реалiй сьогодення мають бути здатними не ттьки сприймати i поновлювати iнформацiю, а й опрацьовувати ÏÏ, зберiгати та створювати нову. Особливе мiсце поадае пiдготовка IТ-спецiалiста до виконання важливо!' задачi захисту iнформацiï, яка передбачае вмшня використовувати цiлий комплекс спе^альних засобiв захисту iнформацiï: нормативно-правових, фiзичних, iнженерно-технiчних, криптографiчних. Важливiсть i актуальысть питань захисту iнформацiï вже давно вийшли на одне з перших мкць серед iнших завдань, що вирiшуються в процесi проектування, створення та використання сучасних шформацшно-комунтацшних систем. Останшм часом реальнi масштаби комп'ютерноУ злочинностi та реальнi збитки вщ несанкцiонованого доступу до iнформацiï продовжують зростати (Глобальное исследование утечек конфиденциальной информации в первом полугодии 2018 года). Бтьшисть загроз цЫсносп i конфщенцшносп iнформацiï, що циркулюе в комп'ютерних системах, можна попередити за допомогою криптографiчних методiв захисту. Тому пщготовка сучасного IТ-спецiалiста мае обов'язково мктити знання та умiння з криптографiчного захисту iнформацiï в обсяз^ передбаченому спецiальнiстю. Все це пщтверджуе актуальнiсть визначено!' проблеми i спонукае до пошуюв шляхiв формування у майбутых фахiвцiв компетенцiй в област криптографiчного захисту iнформацiï.
Аналiз актуальних дослiджень. Дослiдники компетентнiсного пiдходу в освт такi, як I. Ермаков, 1.О. Зимня, А.Г. Каспржак, Т.М. Сорочан, Л.Л. Хоружа, вщзначають, що вщмшысть компетентного фахiвця вiд квалiфiкованого полягае у тому, що перший не ттьки володiе певним рiвнем знань, умiнь, навичок, але здатний реалiзовувати |'х на практицi. Д. 1ванов, О. Окуловський зазначають, що компетентысний пiдхiд - це спроба привести у вщповщысть рiвень освiти необхiдного фахiвця i потреби ринку працк Ми згоднi з думкою цих вчених, як вважають, що такий пщхщ акцентуе увагу на результат навчання, а сам результат розглядаеться не як сума засвоеноУ шформаци, а здатнiсть людини на ÏÏ основi адекватно дiяти у рiзних ситуацiях (Панфiлов & Фурманець, 2017).
Реалiзацiя компетентнiсного пiдходу у вищш школi виявила низку проблем щодо здiйснення цього процесу. Серед них - вщсутнкть практично!' складовоУ, бо компетентнiсний пiдхiд цiнуе не знання, а умшня |'х використовувати у професшнш дiяльностi.
Саме тому дослщники вказують на необхiднiсть змш характеру зв'язкiв i вiдносин мiж навчальними дисциплiнами. Зв'язки i вщносини мiж навчальними предметами визначаються прийнятою моделлю компетенцш та очiкуваними результатами навчальноУ дiяльностi (Бурячок, Богуш, Борсуковський, Складанний & Борсуковська, 2018). Для кожно'|' компетенци необхiдно набуття знань, умшь, навичок i досвiду дiяльностi, якi можуть розглядатися в рамках рiзних навчальних дисциплiна. Реалiзацiя компетентысного пiдходу висувае серйознi вимоги до методики навчання, вимагае уточнення i коригування навчальних i робочих плаыв, програм навчальних дисциплн Нашi дослщження базуються на досвiдi викладання дисциплш «Прикладна криптолопя», «Безпека програм та даних», «Технологи безпечного програмування», «Об'ектно-орiентоване програмування» для спецiальностей 121 Iнженерiя програмного забезпечення, 122 Комп'ютернi науки, 125 Юбербезпека.
Освiтнi стандарти з 1Т-спещальностей - це iнструмент для визначення сучасних програм пщготовки фахiвцiв для IТ-iндустрiï. Сьогоднi в Укра'н розроблено освiтнi стандарти для галузi знань «12-Iнформацiйнi технологи». IT-спецiальнiсть декларуе свiй погляд на систему та результати навчання, компетентности знання та умшня, а отже, i змкт освiти. 1снуе деяке дублювання у змкт навчання цих трьох спе^альностей. По сутi, спецiальностi iснують в частинах само!' предметно)' обласп, виконуючи рiзнi завдання, якi слугуватимуть однiй метi - пiдвищенню конкурентоспроможност IТ-випускникiв закладiв вищо'|' освiти на 1Т-ринку працi (Ковалюк, 2018). 1Т-професи, для яких розроблено професiйнi стандарти в Укра'н вiдповiдають номенклатурi професшних профiлiв £вропейсько'|' рамки компетенцiй (e-CF - European e-Competence Framework) (Европейская модель ИТ-компетенций, 2007). Стандарти професшних компетенцш в област IT - це зааб формування соцiального замовлення IТ-iндустрiï та iнструмент для мониторингу та аналiзу ринку працi, прогнозування його розвитку, планування вщтворення кадрiв. Згiдно з e-CF модель компетенцш для 1Т-спещалк^в мiстить 5 областей, 36 компетенцш, 5 рiвнiв, при цьому одною iз компетенцiй е Information Security Strategy Development (розробка стратегш iнформацiйноï безпеки), яка визначена для рiзних областей та рiвнiв (Европейская модель ИТ-компетенций, 2007). Це пщтверджуе актуальнiсть запропонованого дослiдження з визначення шляхiв набуття IT-спецiалiстами компетенцш з забезпечення безпеки iнформацiï.
Окреслене визначило мету нашого дослiдження - теоретичне обГрунтування та розробка моделi формування i розвитку компетентностей 1Т-спещалкта з криптографiчного захисту iнформацiï студенев галузi знань «12-Iнформацiйнi технологи» у процес вивчення дисциплiн «Прикладна криптолопя», «Безпека програм та даних», «Технологи безпечного програмування», «Об'ектно-орiентоване програмування».
МЕТОДИ ДОСЛ1ДЖЕННЯ
У дослiдженнi були використанi теоретичнi методи аналiзу та узагальнення наукових праць провiдних методистiв, що розглядали реалiзацiю компетентнiсного пiдходу у вищш школi, зокрема компетентностi майбутых IT-спецiалiстiв; порiвняльнi методи зiставлення рiзних iснуючих криптографiчних сервiсiв захисту шформаци у процесi вивчення навчальних дисциплш «Прикладна криптологiя», «Безпека програм та даних», «Технологи безпечного програмування», «Об'ектно-орiентоване програмування».
РЕЗУЛЬТАТИ ДОСЛ1ДЖЕННЯ
Задача надання знань з криптографiчного захисту шформаци майбутньому 1Т- спецiалiсту носить системний та мiждисциплiнарний характер. Необхiдно об'еднати зусилля викладачiв тих дисциплiн, ям пов'язанi з криптографiчним захистом, захистом даних, захистом програмного забезпечення, програмування. Кожна спещальысть галузi «12-
1нформацшы технологи» знайомиться з криптографiчними методами захисту з рiзних сторш та в рiзних обсягах: спе^альшсть 121 Iнженерiя програмного забезпечення розглядаe як один з об^к^в вивчення теорй', аналiзу, розробки, реалiзацiï алгоритмiв, зокрема криптографiчних; cпецiальнicть 122 ^мп'ютеры науки вивчаe як один з об^к^в у процеci цифрово'|' обробки cигналiв, даних та знань, куди входять i криптографiчнi перетворення; спе^альысть 125 Kiбербезпека визначаe як один з об^кт вивчення системи захисту Ыформацп у рiзних шформацмно-комуыкацмних мережах, зокрема системи криптографiчного захисту. Проте, загальним у них e необхщнкть володiти криптографiчними перетвореннями як 1Т-навичкою.
Навчання криптографiчним методам захисту у вищих технiчних навчальних закладах, ям готують cпецiалicтiв галузi знань «12-1нформацшы технологи», крiм загальних цтей ознайомлення з основними теоретичними положеннями математичних методiв перетворення iнформацiï та вщповщною термiнологieю маe пiдпорядковуватиcь наступним цiлям: сформувати теоретичнi поняття та практичн навички щодо проведення побудови та аналiзу класичних шифрiв, блочних шифрiв, асиметричних криптосистем та оргаызащю криптографiчних протоколiв.
Серед фахових компетентностей IT-cпецiалicтiв в облаcтi захисту Ыформацп криптографiчними методами вiдзначимо наcтупнi:
- використання стандартних криптографiчних систем, криптографiчних примiтивiв та протоколiв захисту ресурав в комп'ютерних системах та мережах;
- здiбнicть до обфунтування та висування пропозицiй щодо застосування конкретних стандартних криптографiчних систем, криптографiчних примiтивiв та протоколiв захисту ресурав в комп'ютерних системах та мережах;
- здiбнicть до оцЫювання якост криптографiчного захисту в iнформацiйно-комунiкацiйних системах.
Формування компетентностей з криптографiчного захисту буде бтьш ефективним, якщо отриман теоретичнi
знання з криптографiчних методiв захисту iнформацiï будуть пiдкрiпленi практичними навичками створення i використання криптографiчних алгорт^в.
Практичне застосування криптографiчних методiв захисту iнформацiï, вважаeмо, необхiдно вводити в курси з програмування. Для закртлення знань студенти можуть реалiзувати проcтi алгоритми зашифрування/розшифрування, але ттьки використання сучасних криптографiчних cервiciв, бiблiотек клаciв дозволить набути актуальнi практичн навички з захисту iнформацiï.
Майбутн cпецiалicти повиннi набути практичнi навички у створены прикладних програм для реалiзацiï наступних клаав алгоритмiв:
- симетричн алгоритми (DES, AES/Rijndael, та шши)
- потоковi шифри (А5 та шши)
- хеш-функцп (амейство функцiй MD5, ciмейcтво функцiй SHA та шши);
- алгоритми з вщкритим ключем (Diffie-Hellman, El-Gamal, RSA, ECDiffie-Hellman та iншi);
- генератори псевдовипадкових послщовностей чисел та ЫшМ.
Для вирiшення цього завдання доцтьно використовувати криптографiчнi служби, якi e програмним засобом, що призначений для вбудовування в Ыше програмне забезпечення, або вбудован в обрану мову програмування i там, що дозволяють виконувати наступи криптоперетворення:
- зашифрування/розшифрування симетричними алгоритмами;
- зашифрування/розшифрування асиметричними алгоритмами;
- побудова i перевiрка цифрового пщпису;
- хешування та шши.
У результат такоУ дiяльноcтi у cтудентiв формуються навички працювати з криптографiчними службами, використовувати об'eктно-орieнтованi бiблiотеки реалiзацiï вказаних алгоритмiв.
Криптографiчнi служби .Net Framework. Еволющя сучасних заcобiв захисту cприяe появi нових криптографiчних cервiciв. До вiдомих криптографiчних служб можна вiднеcти такi, як Crypto API (CAPI), Cryptography API: Next Generation (CNG), uaCrypto, Crypto++, CryptLib, Botan, Net Framework (System.Security.Cryptography). Kожна з цих служб маe сво'|' переваги, недолiки та сфери застосування. Бтьшисть статей присвячено опису функцюнальних можливостей служб, Ух застосуванню для виршення конкретних задач, порiвнянню ефективноcтi реалiзацiй криптографiчних алгоритмiв (Горбенко & Аулов, 2012; Б'бл'ютека функ^й криптографiчниx перетворень "uaCrypto, верая ICAO".; ^втун, 2010; Яковина, Федасюк, Сеыв & Бтас, 2007). Визначення головних критерпв вибору криптографiчноï служби та сучасного середовища розробки для зручного використання вщповщного cервicу e ключовим для закладiв вищо!' оcвiти, ям готують IT-cпецiалicтiв.
Kриптографiчнi cервicи розглядались за такими критерiями:
- пщтримка базових криптографiчних функцiй (генератор випадкових чисел, шифрування/розшифрування, цифровий пiдпиc, хешування, генеращя ключiв, обмiн ключами);
- пщтримка функцiй для роботи з сертифтатами X 509;
- можливкть розширення за рахунок власних алгоритмiв та розроблених незалежними постачальниками;
- контроль за виконанням криптографiчних операцм та cпiльною роботою алгоритмiв;
- пщтримка апаратних заcобiв, таких як смарт-карти для рiзних поcтачальникiв;
- оргаыза^я ефективноУ роботи сховища ключiв для збереження та управлiння ключами;
- реалiзацiя стандартного iнтерфейcу криптопровайдера служби;
- наявысть комплексу заcобiв розробки для спрощення процесу штеграцп криптографiчних служб в програмне забезпечення, що розробляeтьcя.
Важливим e також питання вибору штегрованого середовища розробки для ефективного використання обраного криптографiчного сервку. Kриптографiчна служба Net Framework ^блютека клаciв System.Security.Cryptography) вiдповiдаe зазначеним вимогам i може використовуватися разом з Integrated Development Environment MS Visual Studio.
Як середовище розробки прикладних програм обрано амейство Ыструметчв Microsoft Visual Studio, яке мктить iHTerpoBaHe середовище розробки, сервк для органiзацiï сптьно!' роботи, комплексне рiшення для розробки мобтьних додаткiв - Visual Studio Mobile Center, багатоплатформовий редактор коду Visual Studio Code, що робить його одним iз лiдерiв розробки рiзноманiтного програмного забезпечення (Бурячок, Спаателева & Складанний, 2018). IDE Visual Studio 2017 можна використовувати для розробки прикладних програм для Android, iOS, Windows, Linux, веб-додатмв, мобтьних та хмарних додатмв, систем баз даних. При цьому середовище розробки м^ить набiр додаткових iнструментiв, як дозволять розробникам прикладних програм створювати надiйний та захищений код. До таких шструмен^в можна вiднести засоби статичного аналiзу для виявлення i усунення потенцiйно уразливих конструкцiй у вихщному кодi програми. Аналiз коду працюе в додатках .NET Framework i додатках баз даних. Там можливост як нав^ащя по коду, рефакторинг, real-time функцм модульного тестування i перевiрки залежностей, виправлення i налагодження значно покращують якiсть, безпечысть коду та продуктивнiсть розробки. В середовиш^ розробки можна виконувати профтювання програми, статичний аналiз коду ршення або обраного проекту, змiнювати установки аналiзу коду для всього ршення або проекту, робити розрахунок набору метрик (цикломатичний номер графа управлшня програмами, кшьшсть операторiв та опиав у програмi, ступiнь злиття клаав та методiв класу для ршення) (Using Code Analysis with Visual Studio 2017 to Improve Code Quality, 2017). Робота в такому середовище дае можливкть студентам розробляти безпечн додатки, використовуючи засоби для оцшки якост коду та його надшносп. Програми, написанi будь-якою мовою, що пiдтримують платформу .NET, можуть користуватися класами i методами стандартно!' бiблiотеки класiв платформи .NET Framework.
Розглянемо можливост бiблiотеки, ям пов'язанi з безпекою програм та захистом даних i визначен в просторi iмен System.Security (Модель криптографии .NET Framework, 2017). Бiблiотека пщтримуе функцiональнiсть внутрiшньоï системи безпеки Common Language Runtime. Цей проспр дае можлив^ь розробляти модулi безпеки для додатюв, що базуються на полтиках i дозволах, забезпечуе доступ до засобiв криптографп.
Класи простору iмен System.Security.Cryptography реалiзують рiзнi аспекти криптографп. Частина класiв використовуеться як оболонка для некерованого коду CryptoAPI, Ыша частина - реалiзована у виглядi керованого коду .NET Framework, також е класи для пщтримки криптографп наступного поколiння CNG, яка е замЫою CryptoAPI. Простiр iмен System.Security.Cryptography надае криптографiчнi служби, якi реалiзованi у виглядi iерархiï класiв i пщтримуе основнi симетричнi та асиметричн шифри, хеш-алгоритми та генератор випадкових чисел криптографiчноï якостi (Торстейнсон & Ганеш, 2013). Ця криптографiчна основа може бути розширена, тобто можна додати власну програмну реалiзацiю алгоритму шляхом створення вщповщного похiдного класу або можна пщключити модулi стороных розробникiв. Класи простору iмен System.Security.Cryptography.XML реалiзують стандарт W3C для цифрового тдпису XML-об'ектiв, а класи простору iмен System.Security.Cryptography.X509Certificates забезпечують пiдтримку операцм з публiчними сертифiкатами.
lерархiя клаав .NET надае можливкть абстрагуватися вщ конкретно! реалiзацiï алгоритму. Класи алгоритмiв реалiзуються на основi шаблону, який включае два рiвня успадкування: абстрактний базовий клас - абстрактний клас алгоритму. Класи першого та другого рiвня е абстрактними i мктять необхiднi властивостi та методи для роботи визначених алгорт^в. Тiльки класи третього рiвня мiстять методи реалiзацiï вiдповiдних алгоритмiв. Частина класiв реалiзацiï алгоритму базуеться на криптопровайдерах CryptoAP; класи, якi реалiзованi як керований код, мають в назвi пщрядок «Managed»; класи, якi реалiзують криптограф^ CNG, мають у назвi пщрядок Cng. Класи криптографа наступного поколшня (CNG) надають керовану оболонку для власних функцш CNG. На рисунку 1 представлена iерархiя класiв шифрування. Рисунок 2 вiдображае iерархiю клаав хеш-aлгоритмiв.
Абстрактш базов1 класи
Абстрактш класи алгоритмiв "
Рис. 1. Iерархiя класiв алгоритмiв шифрування
Абстрактш класи алгоритм1в
Класи реал1зацп алгоритм1в
KeyedHashAlgorithm
3
HMACSHA1
MD5CryptoSer viceProvider
MACTripleDES
SH1Managed
SH1CryptoService Provider
SHA256Managed
SHA512Managed
Рис. 2. Iерархiя класiв хеш-алгоритмiв
Створення ключiв та управлЫня ними - це важлива частина процесу шифрування. Класи реалiзацiï алгоритмiв вiдрiзняються способом органiзацiï бази ключiв. База ключiв е набором захищених контейнерiв ключiв. Контейнером ключiв називають частину бази даних ключiв, яка мктить пару ключiв для обмшу ключами i формування цифрового пщпису. Як контейнери ключiв (сховищ пар ключiв) використовують, наприклад, область тимчасово!' пам'ятi, дiлянку реестру, файл на диску, смарт-карти (Практическое руководство. Хранение асимметричных ключей в контейнере ключей, 2017.). Контейнери дають можливкть додаткам збер^ати i використовувати ключ^ забезпечуючи захист самих ключiв вiд компрометацп та модифiкування. Контейнери ключiв в системi можуть бути двох титв: призначенi для користувача i рiвня системи. Призначенi для користувача контейнери кнують в контекстi роботи поточного користувача. Контейнери ключiв не кнують самi по собi, а кнують лише в контекстi класу реалiзацiï алгоритму. Для кожного класу реалiзацiï iснуе свiй власний набiр контейнерiв ключiв. Це пояснюеться тим, що рiзнi класи можуть по-рiзному реалiзовувати навiть один i той же математичний алгоритм. Симетричн алгоритми вимагають створення ключа i вектору iнiцiалiзацiï (IV) для кожного сеансу роботи. При передачi симетричного ключа i вектору iнiцiалiзацiï вщдалеый сторонi симетричний ключ зазвичай шифруеться за допомогою асиметричного шифрування. Асиметричн ключi можна збер^ати для використання в дектькох сеансах або створювати тiльки для окремого сеансу. Для збереження закритого ключа слщ використовувати контейнер ключа. Центральним в грут клаав оболонок CNG е клас провайдера сховища ключiв CngProvider та контейнера ключiв CngKey, який абстрагуе зберiгання i використання ключiв CNG. Клас CngProvider надае можливкть обрати постачальника сховища ключiв на базi смарт-карт або програмного постачальника Microsoft. Клас CngKey дае змогу створювати, безпечно збер^ати пару ключiв або вщкритий ключ, вщкривати, видаляти, експортувати ключi i посилатися на ключ^ використовуючи просте строкове iм'я. Клас цифрових пщпиав ECDsaCng i клас шифрування ECDiffieHellmanCng використовують об'екти CngKey.
Алгоритм можна вибирати в залежност вiд поставлено!' задачi, наприклад для забезпечення цЫсносп даних, для забезпечення конфiденцiйностi даних або для створення ключа. Симетричн i хеш-алгоритми призначенi для захисту даних вщ порушення цiлiсностi (захист вщ змiни) або конфiденцiйностi (захист вщ перегляду). Хеш-алгоритми використовуються в основному для забезпечення цЫсносп даних.
Можна визначити перелт рекомендованих алгортт^в для програми створення системи автентифтацп, захищено!' електронно!' пошти тощо. Для забезпечення конфщенцмносп даних можна використати алгоритм шифрування AES; для забезпечення цЫсносп даних можна використати HMACSHA256 або HMACSHA512 для реалiзацiï хеш-коду перевiрки справжностi повiдомлень; цифровий пщпис можна реалiзувати за допомогою алгоритму ECDsa на базi елiптичних кривих або алгоритму RSA; для обмЫу ключами можна використати алгоритм Дiффi-Хеллмана на елттичних кривих -ECDiffieHellman або алгоритм RSA; для генераци випадкових чисел можна використати клас RNGCryptoServiceProvider; для формування ключа на базi паролю можна використати клас Rfc2898DeriveBytes.
При використаннi цих клаав не обов'язково бути експертом з криптографп. Студенти можуть застосовувати криптографiчнi методи бiблiотеки у сво'|'х проектах, при цьому не витрачаючи час на програмну реалiзацiю складних алгоритмiв шифрування. Наприклад, при створеннi екземпляра класу, який реалiзуе алгоритми шифрування, ключi можуть створюватися автоматично, а прийнят за замовчуванням значення властивостей забезпечують максимальну захищеысть. На рисунку 3 представлено приклад одно!' iз студентських програм реалiзацiï алгоритмiв AES та TripleDES бiблiотеки класiв Security.Cryptography для зашифрування/розшифрування текстових файлiв, яка може використовуватися для демонстрацп роботи алгори^в шифрування.
Рис. 3. Програма реалiзацм алгоритмiв Aes та TripleDES
У програмi використовуються класи AESManaged, TripleDESCryptoServiceProvider, якi описують властивостi для мантулювання основними параметрами алгоритмiв: розмiром блоку, режимом роботи, вектором iнiцiалiзацií, ключем тощо. Пiдсистема шифрування використовуе методи класiв CreateEncryptor() та CreateDecryptor() для виконання шифрування/розшифрування тексту, методи GenerateKey() та GenerateIV() використовуються для генераци ключiв та векторiв iнiцiалiзацií. Об'eктно-орieнтована пiдсистема вiзуалiзацií демонструе процес шифрування, надае Ыформа^ю про суть використовуваних алгортт^в та принципiв блокових перетворень, що дозволяе використовувати додаток для навчання.
ОБГОВОРЕННЯ
Таким чином, запропонована мiждисциплiнарна оргашзащя вивчення основ криптографiчного захисту iнформацií, як свiдчить первинний аналiз результатiв навчання, дозволяе надати студентам необхщний обсяг знань з комп'ютерно'( безпеки та захисту iнформацií, активiзувати науково-дослiдницьку роботу студентiв у напрямку захисту Ыформацп та створення безпечного програмного забезпечення. Наявысть практики з використання сучасних криптографiчних бiблiотек, таких як CNG, .NET Cryptography, дозволить набути практичн навички з криптографiчного захисту шформацп.
Крiм того, майбутн IТ-спецiалiсти мають усвiдомити, що розробка програмного забезпечення - це не ттьки шженерно-техычна дiяльнiсть. До не' входять також економiчнi, правовi аспекти, аспекти захисту Ыформацп, причому останн в складних та дорогих проектах в^грають вирiшальну роль.
Умiння та навички за допомогою програмування виршувати певнi задачi захисту iнформацií дае студентам впевнеысть в тому, що вони будуть затребуваними на ринку прац та зможуть розв'язувати подiбнi задачi у професiйнiй дiяльностi.
ВИСНОВКИ ТА ПЕРСПЕКТИВИ ПОДАЛЬШОГО ДОСЛ1ДЖЕННЯ
Розроблена модель формування та розвитку компетентностей з криптографiчного захисту Ыформацп студенев галузi знань «12-1нформацшы технологи» впроваджуеться у Ки'вському унiверситетi iменi Бориса Гршченка та Державному унiверситетi телекомунтацй Саме на базi програмування криптографiчних механiзмiв захисту iнформацií ефективно формуються практичнi навички застосування криптографiчних алгоритмiв у процесi опрацювання та передачi даних. Конкретизоване визначення обсягу теоретичних знань та практичних умЫь з врахуванням мiждисциплiнарних зв'язкiв навчальних дисциплш, пов'язаних з захистом iнформацií та програмуванням, дозволяе пщготувати фахiвцiв з практичними навичками з криптографiчного захисту Ыформацп, якi е затребуваними на ринку працГ Перспективою подальших наших дослщжень е дослiдно-експериментальна робота з впровадження у навчальний процес ЗВО та вдосконалення даноí моделi формування i розвитку компетентностей IТ-спецiалiста з криптографiчного захисту iнформацií студентiв галузi знань «12-1нформацмы технологи».
Список використаних джерел
1. Бiблiотека функцiй криптографiчних перетворень "uaCrypto, версiя ICAO". URL: http://it-engineering.com.ua/kataloh/59-uacrypto-v-icao (Дата звернення: 21.01.2019).
2. Бурячок В.Л., Богуш В.М., Борсуковський Ю.В., Складанний П.М., Борсуковська В.Ю. Модель пiдготовки фахiвцiв у сферi iнформацiйноí та кiбернетичноí безпеки в закладах вищоí освiти Украши. lнформацiйнi технологиi засоби навчання, 2018, Том 67, №5. С. 277-289.
3. Бурячок В.Л., Спаателева С.О., Складанний П.М. Оргаыза^я розробки безпечних .Net прикладних програм у закладах вищоí освти. Сучасна спе^альна технка. 2018. № 1(52). С. 13-22.
4. Глобальное исследование утечек конфиденциальной информации в первом полугодии 2018 года. URL: https://www.infowatch.ru/report2018_half (Дата звернення: 10.01.2019).
5. Горбенко Ю.И., Аулов И.Ф. Сравнительный анализ криптографических библиотек с открытым кодом и рекомендации по их использованию. Прикладная радиоэлектроника. 2012. Том 11. № 2 С. 220-224.
6. Европейская модель ИТ-компетенций. Published on Nov 2, 2012 URL: https://www.slideshare.net/Cleverics/webinar-ecf (Дата звернення: 11.01.2019).
7. Ковалюк Т.В. Узгодження вимог професшних та освп>лх 1Т-стандар^в до компетентностей випускнимв 1Т-спещальностей ВНЗ. URL: http://science.lpnu.ua/sites/default/files/journal-paper/2018/jun/13020/ilovepdfcom-229-240.pdf (Дата звернення: 14.01.2019).
8. Ковтун Я.В. Анализ возможностей интеграции национальных стандартов криптографии в ОС WINDOWS. Системи обробки iнформацi¡. 2010, випуск 6 (87). С. 42- 45.
9. 9.Модель криптографии .NET Framework, 2017. URL: https://docs.microsoft.com/ru-ru/dotnet/standard/security/cryptography-model (Дата звернення: 14.01.2019)
10. Панфтов Ю., Фурманець Б. Компетентысний пщхщ в освт: досвщ, проблеми, перспективи. Теорiя i практика управлiння со^альними системами. 2017. № 3. С. 55-67.
11. Практическое руководство. Хранение асимметричных ключей в контейнере ключей, 2017. URL:https://docs.microsoft.com/ru-ru/dotnet/standard/security/how-to-store-asymmetric-keys-in-a-key-container ((Дата звернення: 14.01.2019)
12. Торстейнсон П., Ганеш Г. Криптография и безопасность в технологии .NET. М.: БИНОМ. Лаборатория знаний, 2013. 480 с.
13. Яковина В., Федасюк Д., Сеыв М., Бтас О. Порiвняння швидкодп програмноí реалiзацií алгортт^в симетричного (DES) та асиметричного (RSA) шифрування. 2007. Lviv Polytechnic National University Institutional Repository. URL: http://ena.lp.edu.ua/bitstream/ntb/38502/1/28_181-185.pdf (Дата звернення: 14.01.2019)
14. Using Code Analysis with Visual Studio 2017 to Improve Code Quality, 2017. URL: https://www.azuredevopslabs.com/labs/tfs/codeanalysis/ (Дата звернення: 14.01.2019)
References
1. Biblioteka funktsiy kryptohrafichnykh peretvoren' "uaCrypto, versiya ICAO". [The cryptographic transformation library "uaCrypto, ICAO version"] URL: http://it-engineering.com.ua/kataloh/59-uacrypto-v-icao [in Ukrainian].
2. Buryachok V.L., Bohush V.M., Borsukovs'kyy YU.V., Skladannyy P.M. & Borsukovs'ka V.YU. (2018) Model' pidhotovky fakhivtsiv u sferi informatsiynoyi ta kibernetychnoyi bezpeky v zakladakh vyshchoyi osvity Ukrayiny. [Model of training specialists in the field of information and cybernetic security in higher education institutions of Ukraine] Information technology and teaching aids. 67( 5), .277-289. [in Ukrainian].
3. Buryachok V.L., Spasityelyeva S.O. & Skladannyy P.M. (2018) Orhanizatsiya rozrobky bezpechnykh .Net prykladnykh prohram u zakladakh vyshchoyi osvity. [Organization of the development of safe .Net applications in higher education institutions] Modern special technique, 1(52), 13-22. [in Ukrainian].
4. Global'noye issledovaniye utechek konfidentsial'noy informatsii v pervom polugodii 2018 goda. (2018) [Global study of confidential information leaks in the first half of 2018] URL: https://www.infowatch.ru/report2018_half [in Russian].
5. Gorbenko Yu.I. & Aulov I.F. (2012) Sravnitel'nyy analiz kriptograficheskikh bibliotek s otkrytym kodom i rekomendatsii po ikh ispol'zovaniyu. [Comparative analysis of open source cryptographic libraries and recommendations for their use] Applied Radio Electronics, 11(2), 220-224. [in Russian].
6. Yevropeyskaya model' IT-kompetentsiy. (2012) [European model of IT competencies] URL: https://www.slideshare.net/Cleverics/webinar-ecf [in Russian].
7. Kovalyuk T.V. (2018) Uzhodzhennya vymoh profesiynykh ta osvitnikh IT-standartiv do kompetentnostey vypusknykiv IT-spetsial'nostey VNZ. [Harmonization of requirements of professional and educational IT standards to competencies of graduates of IT specialties of higher educational institutions.] URL: http://science.lpnu.ua/sites/default/files/journal-paper/2018. [in Ukrainian].
8. Kovtun Ya.V. (2010) Analyz vozmozhnostey yntehratsyy natsyonal'nykh standartov kryptohrafyy v OS WINDOWS. [Analysis of the possibilities of integrating national cryptography standards in the WINDOWS OS] Information processing systems, 6 (87), 42- 45. [in Russian].
9. Model' kriptografii .NET Framework. [The .NET Framework Cryptography Model] URL: https://docs.microsoft.com/en-us/dotnet/standard/security/cryptography-model
10. Panfilov Yu. & Furmanets' B. (2017) Kompetentnisnyy pidkhid v osviti: dosvid, problemy, perspektyvy. [Competency approach in education: experience, problems, perspectives] The theory and practice of social systems management. 3(S), 55-67. [in Ukrainian].
11. Prakticheskoye rukovodstvo. Khraneniye asimmetrichnykh klyuchey v konteynere klyuchey, 2017 [A practical guide. Store asymmetric keys in a key container] URL: https://docs.microsoft.com/ru-ru/dotnet/standard/security/how-to-store-asymmetric-keys-in-a-key-container[in Russian].
12. Torsteynson P. & Ganesh G. (2013 )Kriptografiya i bezopasnost' v tekhnologii .NET. [Cryptography and security in .NET technology] M.: BINOM. Laboratoriya znaniy, 480 p. [in Russian].
13. Yakovyna V., Fedasyuk D., Seniv M. & Bilas O. (2007) Porivnyannya shvydkodiyi prohramnoyi realizatsiyi alhorytmiv symetrychnoho (DES) ta asymetrychnoho (RSA) shyfruvannya. [Comparison of software implementation speed of symmetric (DES) and asymmetric (RSA) encryption algorithms] Lviv Polytechnic National University Institutional Repository. URL: http://ena.lp.edu.ua/bitstream/ntb/38502/1Z28_181-185.pdf [in Ukrainian].
14. Using Code Analysis with Visual Studio 2017 to Improve Code Quality. URL: https://www.azuredevopslabs.com/labs/tfs/codeanalysis/
FORMATION OF INFORMATION PROTECTION COMPETENCE TO STUDENTS OF IT-SPECIALTIES WITH USING .NET FRAMEWORK CRYPTOGRAPHIC SERVICES Yu. Zhdanova, S. Spasiteleva, S. Shevchenko
Borys Grinchenko Kyiv University, Ukraine
Abstract.
Formulation of the problem. The article deals with the problem of training modern specialists in the field of knowledge "12-Information Technologies". Issues of providing students with specialized and professional knowledge and skills in cryptographic protection of the information are considered.
Materials and methods.Ttheoretical methods of analysis and synthesis of the scientific works of scientists who considered the implementation of a competence approach in higher education, in particular the competences of future IT specialists. Comparative methods were used to compare different existing cryptographic protection services in the process of studying academic disciplines "Applied Cryptology", "Security of applications and data", "Secure Programming", "Object-Oriented Programming".
Results. The necessity of obtaining information protection competences for future IT specialists has been substantiated. Through the analysis of literature and the use of own experience, the essence and structure of the concept of "competence of the IT specialist in cryptographic protection of the information" have been determined. Formation of these competencies have been carried out within the framework of interdisciplinary links of educational disciplines, namely: "Applied Cryptology", "Security of applications and data", "Secure Programming", "Object-Oriented Programming". The list of requirements for professionally significant characteristics of the IT specialist in the field of cryptographic protection of information has been determined. An overview of cryptographic libraries has been conducted and the main criteria for selecting the cryptographic service and the programming environment have been determined. The model of formation and development of competences in cryptographic protection of the information for students of the field of knowledge "12-Information Technologies" has been developed and the ways of its realization at Borys Grinchenko Kyiv University and the State University of Telecommunications have been offered.
Conclusions. In the course of the research it was determined that in the programming of cryptographic protection mechanisms, practical skills of using cryptographic algorithms in the processing and transmission of data have been effectively formed. It is proved that the definition of the volume of theoretical knowledge and practical skills, taking into account the interdisciplinary connections of educational disciplines, allows preparing specialists with practical skills in cryptographic protection of the information. Such specialists are necessary for IT companies in the labor market.
Keywords: competence of IT specialists, information protection, cryptographic protection, cryptographic library, cryptographic algorithms.