Заштита података — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
м (Враћене измене корисника Fedja (разговор) на последњу измену корисника Aleksa)
ознака: враћање
Нема описа измене
 
(Нису приказане 24 међуизмене 5 корисника)
Ред 9: Ред 9:


== Корисне везе ==
== Корисне везе ==
* [https://drive.google.com/open?id=1-R7Q-cIox5MOMN2v6G10QchN1tccpKnT ETF SI] (рокови)
* Различити калкулатори шифри потребних у првом блоку:
** [https://www.dcode.fr/hill-cipher Калкулатор Хилове шифре]
** [https://fauzanakmalh1.github.io/Simplified-DES-Calculator/ SDES калкулатор]
** [https://maxim-m66.github.io/SAES-Calculator/ SAES калкулатор]
* [https://drive.google.com/open?id=1-R7Q-cIox5MOMN2v6G10QchN1tccpKnT ETF SI] (стари рокови)
* [https://app.box.com/s/0r50je333z1qyypz0h3rm0iqb9s0d64f/folder/17682830648 ETF Materijali (Box)] (рокови)
* [https://app.box.com/s/0r50je333z1qyypz0h3rm0iqb9s0d64f/folder/17682830648 ETF Materijali (Box)] (рокови)


== Настава ==
== Настава ==
{{непотпун одељак}}
Настава се изводи кроз предавања и вежбе. Градиво је већински (изузев на почетку) одвојено и потребно је пратити оба како би се успешно спремиле обавезе.
<!-- Овде се наводе све битне информације у вези са предавањима и вежбама на предмету, као и потребни материјали. -->
 
<!-- Информације које вреди поменути: које се области прелазе у којем блоку, која се развојна окружења користе, шта обично долази за који колоквијум, где могу да се нађу белешке и презентације, да ли се настава на предмету уопште држи (ако се не држи то треба назначити како би било јасно да викију не недостају информације по том питању), да ли су предавања или вежбе бескорисне -->
У школској 2022/2023. обрађиване су следеће теме:
* '''Први блок:'''
** '''предавања:''' симетрично шифровање, асиметрично шифровање, RSA, управљање кључевима
** '''вежбе:''' математичке основе (Еуклидов алгоритам, модуларна аритметика, Милер-Рабинов алгоритам), увод у криптографију (Цезар, Плејфер, Хил, Вижњер, моноалфабетске и полиалфабетске шифре, ''Rail Fence'', ''Row Transposition'', ротор машине), симетрична енкрипција (DES, SDES, AES, SAES)
* '''Други блок:'''
** '''предавања:''' управљање кључевима, Diffie-Hellman, хеш функције (SHA-256, примене), MAC, аутентикација порука, дигитални потписи (El Gamal, DSS, RSA PSS, пост-квантни алгоритми дигиталног потписивања), X.509
** '''вежбе:''' алгоритми тока података (RC4, Salsa20, ChaCha20), генератори псеудослучајних бројева, 3DES, модови функционисања (ECB, CBC, CFB, OFB, CTR, CCM, GCM) (до ове области за РТИ колоквијум), PGP, S/MIME
* '''Трећи блок:'''
** '''предавања:''' заштита података у употреби, аутентикација корисника, IP сигурност
** '''вежбе:''' заштита система (малвери, уљези), веб сигурност (TLS), Bitcoin blockchain
Подела градива за колоквијуме и испит није фиксна, већ варира од године до године, а изнад је наведена подела каква је била 2022/2023. године. Градиво се може мењати из године у годину, неке области могу прелазити са предавања на вежбе, и неке области могу доћи раније или касније на колоквијумима у зависности од темпа предавања.
 
Сав наставни материјал доступан је на ''Moodle'' курсу предмета. Видео материјали су доступни за све области осим пост-квантних алгоритама дигиталног потписивања и заштите података у употреби. У време снимања материјала су се TLS и блокчејн радили на предавањима, а затим су прешли на вежбе. Са вежби је избачена област управљања дозвола на основу улога и презентација из заштите система од нападача је значајно скраћена у односу на снимљено градиво.


== Пројекат ==
== Пројекат ==
{{непотпун одељак}}
Пројекат на предмету постоји само на СИ, носи 15% оцене, није обавезан, ради се у паровима и брани се у јунском или августовском испитном року. Уколико студент жели да му се призна пројекат, на његову одбрану мора да изађе пре изласка на испит (не може да одбрани пројекат у августовском року а на испит изађе у јунском).
<!-- Овде се наводе све битне информације у вези са пројектом на предмету, као и потребни материјали. -->
 
<!-- Информације које вреди поменути: окружења за израду, шта се ради на домаћем, водичи за домаћи (уколико су довољно слични из године у годину), где наћи старе домаће, колико бодова носе, када се предају, како изгледа одбрана, да ли је обавезан, корисни материјали -->
Ради се у програмском језику ''Python'' и задатак је да се направи PGP клијентска апликација са графичким корисничким интерфејсом. Потребно је подржати основне PGP функционалности (тајност, аутентичност, компресију и мејл компатибилност) и све ствари које PGP захтева (асиметричне кључеве за шифровање и потписивање коришћењем различитих алгоритама).
Пројекат на предмету постоји само на СИ, где носи 20% оцене и брани се у јунском или августовском испитном року.
 
Пре израде се студентима на вежбама не показују конкретни начини израде алгоритама потребни за прављење PGP апликације као ни графичког корисничког интерфејса, поред генералног начина функционисања PGP. Дозвољено је коришћење свих криптографских ''Python'' библиотека које не имплементирају директно PGP (на пример, [https://pycryptodome.readthedocs.io/en/latest/ <code>pycryptodome</code>] или [https://cryptography.io/en/latest/ <code>cryptography</code>]) као и било којих библиотека за израду графичког корисничког интерфејса (на пример, <code>PyQt</code> или <code>tkinter</code>). PyQt се препоручује као библиотека за израду корисничког интерфејса, јер омогућава коришћење [https://realpython.com/qt-designer-python/ ''Qt Designer''] за графичко дизајнирање интерфејса (налик ''Windows Forms'' апликацијама из ''Visual Studio'').
 
На одбрани пројекта се од студената очекује да, поред показивања да њихов пројекат ради, направе мање модификације на свом пројекту у алгоритамском аспекту (неће бити тражене посебне измене графичког корисничког интерфејса). Пројекти се упоређују на сличност.


== Лабораторијске вежбе ==
== Лабораторијске вежбе ==
{{непотпун одељак}}
Лабораторијске вежбе на предмету носе 15% оцене. Постоје три лабораторијске вежбе које су конципиране на сличан начин као на [[Рачунарске мреже 2|РМ2]] и свака вреди 5 поена. Свака лабораторијска вежба се ради преко теста на ''Moodle'' платформи и бодује се са највише 100 поена, па се ти поени после скалирају. На самој вежби потребно је проћи кроз симулацију за одговарајући алгоритам у симулатору који је доступан на ''Moodle'' курсу предмета и уписати одговарајућа запажања. Поред тога, потребно је и ручно (на папиру) урадити одређене ставке (најчешће за поједностављене верзије алгоритама). Могућа је само надокнада лабораторијских вежби (једна бесплатна надокнада, и једна која се плаћа у складу са ценовником факултета). Поправка лабораторијских вежби није могућа.
<!-- Овде се наводе све битне информације у вези са лабораторијским вежбама на предмету, као и потребни материјали. -->
 
<!-- Информације које вреди поменути: када се одржавају, шта се на њима ради, шта се ради пре лабораторијске вежбе, у ком окружењу се ради, колико бодова носе, где наћи претходне лабораторијске вежбе, водичи за израду -->
Градиво за лабораторијске вежбе:
Лабораторијске вежбе на предмету носе 15% оцене.
# DES алгоритам
# AES алгоритам
# RSA и Diffie-Hellman алгоритам
 
== Изазови ==
Изазови се организују на РТИ одсеку у току семестра, обично уторком увече. Потребно је користећи обрађене алгоритме решити одређен проблем (најчешће декрипција података). Школске 2022/2023. године сваки изазов носи пет поена, и добија их особа која најбрже пошаље комплетно тачно решење. Не постоји ограничење по питању учешћа.


== Испитни рокови ==
== Испитни рокови ==
Ред 36: Ред 60:
| category    = Заштита података
| category    = Заштита података
| category    = Рокови
| category    = Рокови
| format      = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦18¦-1}²]],,
| format      = ,\n* <span class="rok,">[[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦18¦-1}²]]</span>,
| ordermethod = title
| ordermethod = title
| include    = {nerešeno}.dpl, {delimično rešeno}.dpl, {нерешено}.dpl, {делимично решено}.dpl
}}
}}
Уколико желите да додате рок, посетите '''[[Project:Направи#Moodle|страницу за прављење рока]]'''.
Уколико желите да додате рок, посетите '''[[Project:Направи#Moodle|страницу за прављење рока]]'''.
Ред 43: Ред 68:
== Начин оцењивања ==
== Начин оцењивања ==
=== СИ ===
=== СИ ===
* <math>L</math> — бодови са лабораторијских вежби (0-10)
* <math>L</math> — бодови са лабораторијских вежби (0-15)
* <math>P</math> — бодови са пројекта (0-20)
* <math>P</math> — бодови са пројекта (0-20)
* <math>K_1, K_2</math> — бодови са првог и другог колоквијума, '''важе само у јунском испитном року''', када је могућа и њихова надокнада (0-20 сваки)
* <math>K_1, K_2</math> — бодови са првог и другог колоквијума, важе годину дана, први се надокнађује у другој колоквијумској недељи а други у јунском испитном року (0-20 сваки)
* <math>I</math> — бодови са испита (0-30 у јунском року, 0-70 у свим осталим)
* <math>K_3</math> — бодови са трећег колоквијума (0-30 у сваком року)
* <math>I</math> — бодови са интегралног испита (0-70 у сваком року)
* <math>Pr = max(L + 0.75*P, P + 0.67*L)</math> — бодови с предиспитних обавеза (0-30)
* <math>P = \left\{\begin{array}{ll}
* <math>P = \left\{\begin{array}{ll}
     L + P + K_1 + K_2 + I, & \text{јунски рок} \\
     Pr + K_1 + K_2 + K_3, & \text{ако се ради K3} \\
     L + P + I,           & \text{остали рокови}
     Pr + I, & \text{ако се ради интегрално}
\end{array}\right.</math>
\end{array}\right.</math>


Ред 61: Ред 88:
     L + I, & \text{ако се ради интегрални испит}
     L + I, & \text{ако се ради интегрални испит}
\end{array}\right.</math>
\end{array}\right.</math>
* Бонус поени се стичу кроз додатне задатке који се шаљу на мејлинг листу. Биће послата порука коју је потребно дешифровати импленетацијом одређеног алгоритма у <em>Python</em>-у. Бонус поени важе целу школску годину.
* Бонус поени се стичу кроз изазове.
* У јунском року могуће је радити и поправни колоквијум и испит, међутим то се, као ни интегрално полагање, не препоручује, по речима предметног асистента.


{| class="wikitable"
{| class="wikitable"

Тренутна верзија на датум 28. април 2024. у 20:55

Заштита података је обавезни предмет у осмом семестру на СИ, а шестом на РТИ.

Корисне везе

Настава

Настава се изводи кроз предавања и вежбе. Градиво је већински (изузев на почетку) одвојено и потребно је пратити оба како би се успешно спремиле обавезе.

У школској 2022/2023. обрађиване су следеће теме:

  • Први блок:
    • предавања: симетрично шифровање, асиметрично шифровање, RSA, управљање кључевима
    • вежбе: математичке основе (Еуклидов алгоритам, модуларна аритметика, Милер-Рабинов алгоритам), увод у криптографију (Цезар, Плејфер, Хил, Вижњер, моноалфабетске и полиалфабетске шифре, Rail Fence, Row Transposition, ротор машине), симетрична енкрипција (DES, SDES, AES, SAES)
  • Други блок:
    • предавања: управљање кључевима, Diffie-Hellman, хеш функције (SHA-256, примене), MAC, аутентикација порука, дигитални потписи (El Gamal, DSS, RSA PSS, пост-квантни алгоритми дигиталног потписивања), X.509
    • вежбе: алгоритми тока података (RC4, Salsa20, ChaCha20), генератори псеудослучајних бројева, 3DES, модови функционисања (ECB, CBC, CFB, OFB, CTR, CCM, GCM) (до ове области за РТИ колоквијум), PGP, S/MIME
  • Трећи блок:
    • предавања: заштита података у употреби, аутентикација корисника, IP сигурност
    • вежбе: заштита система (малвери, уљези), веб сигурност (TLS), Bitcoin blockchain

Подела градива за колоквијуме и испит није фиксна, већ варира од године до године, а изнад је наведена подела каква је била 2022/2023. године. Градиво се може мењати из године у годину, неке области могу прелазити са предавања на вежбе, и неке области могу доћи раније или касније на колоквијумима у зависности од темпа предавања.

Сав наставни материјал доступан је на Moodle курсу предмета. Видео материјали су доступни за све области осим пост-квантних алгоритама дигиталног потписивања и заштите података у употреби. У време снимања материјала су се TLS и блокчејн радили на предавањима, а затим су прешли на вежбе. Са вежби је избачена област управљања дозвола на основу улога и презентација из заштите система од нападача је значајно скраћена у односу на снимљено градиво.

Пројекат

Пројекат на предмету постоји само на СИ, носи 15% оцене, није обавезан, ради се у паровима и брани се у јунском или августовском испитном року. Уколико студент жели да му се призна пројекат, на његову одбрану мора да изађе пре изласка на испит (не може да одбрани пројекат у августовском року а на испит изађе у јунском).

Ради се у програмском језику Python и задатак је да се направи PGP клијентска апликација са графичким корисничким интерфејсом. Потребно је подржати основне PGP функционалности (тајност, аутентичност, компресију и мејл компатибилност) и све ствари које PGP захтева (асиметричне кључеве за шифровање и потписивање коришћењем различитих алгоритама).

Пре израде се студентима на вежбама не показују конкретни начини израде алгоритама потребни за прављење PGP апликације као ни графичког корисничког интерфејса, поред генералног начина функционисања PGP. Дозвољено је коришћење свих криптографских Python библиотека које не имплементирају директно PGP (на пример, pycryptodome или cryptography) као и било којих библиотека за израду графичког корисничког интерфејса (на пример, PyQt или tkinter). PyQt се препоручује као библиотека за израду корисничког интерфејса, јер омогућава коришћење Qt Designer за графичко дизајнирање интерфејса (налик Windows Forms апликацијама из Visual Studio).

На одбрани пројекта се од студената очекује да, поред показивања да њихов пројекат ради, направе мање модификације на свом пројекту у алгоритамском аспекту (неће бити тражене посебне измене графичког корисничког интерфејса). Пројекти се упоређују на сличност.

Лабораторијске вежбе

Лабораторијске вежбе на предмету носе 15% оцене. Постоје три лабораторијске вежбе које су конципиране на сличан начин као на РМ2 и свака вреди 5 поена. Свака лабораторијска вежба се ради преко теста на Moodle платформи и бодује се са највише 100 поена, па се ти поени после скалирају. На самој вежби потребно је проћи кроз симулацију за одговарајући алгоритам у симулатору који је доступан на Moodle курсу предмета и уписати одговарајућа запажања. Поред тога, потребно је и ручно (на папиру) урадити одређене ставке (најчешће за поједностављене верзије алгоритама). Могућа је само надокнада лабораторијских вежби (једна бесплатна надокнада, и једна која се плаћа у складу са ценовником факултета). Поправка лабораторијских вежби није могућа.

Градиво за лабораторијске вежбе:

  1. DES алгоритам
  2. AES алгоритам
  3. RSA и Diffie-Hellman алгоритам

Изазови

Изазови се организују на РТИ одсеку у току семестра, обично уторком увече. Потребно је користећи обрађене алгоритме решити одређен проблем (најчешће декрипција података). Школске 2022/2023. године сваки изазов носи пет поена, и добија их особа која најбрже пошаље комплетно тачно решење. Не постоји ограничење по питању учешћа.

Испитни рокови

На страници предмета постоје рокови од школске 2019/2020. године, након чега је формат испита и колоквијума промењен и одржава се преко Moodle.

Рокови сачувани на викију су:

Уколико желите да додате рок, посетите страницу за прављење рока.

Начин оцењивања

СИ

  • — бодови са лабораторијских вежби (0-15)
  • — бодови са пројекта (0-20)
  • — бодови са првог и другог колоквијума, важе годину дана, први се надокнађује у другој колоквијумској недељи а други у јунском испитном року (0-20 сваки)
  • — бодови са трећег колоквијума (0-30 у сваком року)
  • — бодови са интегралног испита (0-70 у сваком року)
  • — бодови с предиспитних обавеза (0-30)

РТИ

На РТИ активности изгледају мало другачије:

  • — бодови са лабораторијских вежби (0-15)
  • — бодови са колоквијума, могућа надокнада у јунском испитном року (0-40)
  • — бодови са испита (0-45 парцијално у сваком року, 0-85 интегрално од јулског рока)
  • Бонус поени се стичу кроз изазове.
  • У јунском року могуће је радити и поправни колоквијум и испит, међутим то се, као ни интегрално полагање, не препоручује, по речима предметног асистента.
Бодови
Оцена 5 6 7 8 9 10

Калкулатор

Овом одељку фале информације. Помозите SI Wiki тако што ћете додати потребне информације.

Потребна помоћ

  • На овом предмету фале поставке рокова. Помозите викију памћењем/преписивањем рокова и постављањем на вики.