Interaktivní osnova
Informace pro cvičení
Tématická skupina se zaměří na praktickou aplikace vybraných témat v oblasti bezpečnostních mechanismů, protokolů a kryptografických algoritmů. Výuka bude probíhat formou kombinace prezentace důležitých prvků v probírané oblasti (cca 30 minut) a vlastní práci skupiny na vlastním projektu, která bude obnášet analýzu problému, volbu vhodných kryptografických primitiv a vlastní implementaci. Důraz bude kladen na kontinuálního vytváření většího projektu, postupného začleňování a implementace jednotlivých probíraných komponent, vytváření dobrých programátorských návyků a korektní užití kryptografických prvků a samostatnou iniciativu skupiny. Součástí práce bude i analýza a penetrační testování implementací ostatních týmů.
Kontakt na cvičího: Petr Švenda, svenda@fi.muni.cz
Způsob vypracování projektu:
-
Týmy po 2-3 lidech
-
Párové programování
-
Spolupráce v rámci týmu přes vhodný verzovací systém, např. BitBucket, GitHub nebo fakultní SVN server
-
Pravidelné kontrolní body s demonstrací stavu projektu cvičícímu
-
Analýza projektů ostatních skupin s hledáním zranitelostí v definovaných fázích
Technologie a tématické oblasti pokryté skupinou (může být upraveno v závislosti na úrovni studentů)
-
Šifrovací algoritmy
-
Hašovací algoritmy
-
Módy šifer pro utajení a zajištění integrity včetně pokročilých
-
Digitální podepisování
-
Protokoly challenge/response
-
Protokoly pro výměnu klíčů
-
“Diskové” šifrování
-
Využití kryptografických knihoven, cryptograhic service providers
-
Generování a používání (pseudo)náhodných dat
-
Kryptografický hardware a spolupráce s ním (PKCS#11, PC/SC)
-
Bezpečné programování, problematické funkce a konstrukce, bezpečné funkce
-
Klasické a penetrační testování aplikací
-
Tvorba robustního kódu s ohledem na aktivní vkládání chyb
Pro semestr podzim 2013 bude společným tématem pro jednotlivé týmy vytvoření kostry fungujícího systému pro bezpečné telekonferenční volání (hlas, video). Telekonferenční systém je z analytického i implementačního hlediska velice zajímavým případem, neboť obsahuje velké množství rozdílných bezpečnostních technologií, různé motivace zainteresovaných stran a nutnosti řešit jak bežné, tak některé ne zcela standardní bezpečnostní problémy.
Nosná témata vytvářeného projektu budou:
-
návrh celého systému, vytvoření prototypu
-
šifrování-integrita-autenticita přenášených dat
-
schopnost zpracovávat velké množství dat (hi-speed video)
-
autentizace koncového oprávněného uživatele
-
bezpečný update software (vytváření a podepisování a šifrování aktualizací)
-
zabezpečení kritické komponenty vůči reverznímu inženýrství a crackingu
-
metody distribuce licencí/klíčů
-
GUI pro koncového uživatele
-
využití čipových karet jako komponenty pro ukládání klíčového materiálu
-
schopnost analýzy a útoků na projekty ostatních (design, implementace), vytváření patchů