Kriptográfiai protokollok

A tantárgy angol neve: Cryptographic Protocols

Adatlap utolsó módosítása: 2023. január 2.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Mérnök-informatikus szak

MSc képzés

specializáció

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIHIMB08   2/1/0/v 5  
3. A tantárgyfelelős személy és tanszék Dr. Buttyán Levente,
A tantárgy tanszéki weboldala https://www.crysys.hu/education/
4. A tantárgy előadója Dr. Buttyán Levente, egyetemi tanár, HIT
5. A tantárgy az alábbi témakörök ismeretére épít IT biztonság, Kommunikációs hálózatok
6. Előtanulmányi rend
Ajánlott:
IT biztonság, Kommunikációs hálózatok
7. A tantárgy célkitűzése A tárgy célja, hogy (i) bemutassa az alapvető kriptográfiai algoritmusok és protokollok működését és tulajdonságait, (ii) megismertesse a hallgatókkal a különböző alkalmazásokban felmerülő, kriptográfiai módszerekkel megoldható problémákat, (iii) bemutassa a problémák megoldására használt kriptográfiai protokollok elveit és gyakorlati megvalósításait, és (iv) az ismertetett protokollok részletes analízisén, valamint a gyakorlatokon és házi feladatokon keresztül betekintést nyújtson a kriptográfiai protokollok tervezési és implementációs kérdéseibe.
8. A tantárgy részletes tematikája
    Folyamrejtjelezők: működési elv, tulajdonságok, példák (one-time pad, Salsa20), egyszerűbb folyamrejtjelezők feltörése

    Blokkrejtjelezők és blokkrejtjelezési módok: működési elv, tulajdonságok, példák (DES, AES), többszörös rejtjelezés és a középen találkozás (meet-in-the-middle) támadás, klasszikus (ECB, CBC, CTR, stb.) és hitelesített blokkrejtjelezési módok (CCM, GCM)

    Különböző blokkrejtjelezési módok elleni  támadások: padding orákulum támadás (CBC esetén), kis méretű blokkok problémája (CBC, CFB esetén), egyéb támadások

    Kriptográfiai hash- és MAC függvények: működési elv, tulajdonságok, példák (SHA-2 és SHA-3, HMAC, CBC-MAC, CMAC), hash- és MAC függvények elleni támadások (pl. születésnapi paradoxon, meet-in-the-middle, naív MAC konstrukciók támadása)

    Publikus kulcsú kriptográfiai algoritmusok (RSA, ECC): a publikus kulcsú rejtjelezés és digitális aláírás működési elve, tulajdonságai, példák (RSA, ElGamal, ECC), kapcsolódó nehéz matematikai problémák, a tankönyvi RSA támadása, PKCS#1 formázás 

    Publikus kulcsú kriptográfiai algoritmusok (poszt-kvantum sémák): kódolás (McElice) és lattice (pl. NTRU) rejtjelezési sémák működési elve és tulajdonságai, kapcsolódó nehéz matematikai problémák, poszt-kvantum digitális aláírás sémák 

    TLS Record protokoll: működés és támadások (pl. padding orákulum támadás, BEAST, BREACH, CRIME, stb.)

    Kulcscsere protokollok: célok, támadási modell, kulcsszállító és kulcs-megegyezés protokollok, a kulcsfrissesség biztosítása időbélyeggel és nem-megjósolható véletlen számokkal, perfect forward secrecy tulajdonság, példák protokollokra és protokollok elleni támadásokra

    Kulcsmenedzsment: kulcsok generálása és származtatása, álvéletlen generátorok működési elvei és tulajdonságai, kulcsszármaztatás nagy entrópiájú inputból (HKDF) és jelszóból (PBKDF2, scrypt, Argon2), tanúsítványok kezelése és a PKI alapelvei 

    TLS Handshake protokoll: működés és támadások (pl. version rollback, POODLE, LogJam)

    Kriptográfiai protokollok WiFi hálózatokban: WEP, WPA, és WPA2 protokollok működése és támadása (pl. ChopChop, KRACK)

    Háttértár-rejtjelezés és biztonságos felhő alapú adattárolás: full disk encryption (FDE) motivációja, kihívásai, és FDE-re alkalmas blokkrejtjelezési módok működése, tulajdonságai, a felhő alapú biztonságos adattárolás követelményei, létező megoldások, példák (pl. Tresorit)  

    Kriptovaluta rendszerekben használt kriptográfiai protokollok: blockchain és smart contract alapelvek, elektronikus fizetőeszközzel szemben támasztott követelmények, példák kriptovaluta rendszerekre (pl. BitCoin, Zcash)

    További alkalmazási példák (pl. IPsec, secure messaging, kriptográfiai protokollok erőforrás korlátozott beágyazott rendszerekben, programkód aláírás, stb.)

A gyakorlatok/laborok részletes tematikája

    Kriptográfiai programkönyvtár használata 1 (szimmetrikus kulcsú rejtjelezés)

    Kriptográfiai programkönyvtár használata 2 (biztonságos csatorna implementációja)

    Kriptográfiai programkönyvtár használata 3 (hibrid rejtjelezés és digitális aláírás)

    (ZH)

    A PKI gyakorlati kérdései

    Kulcscsere protokollok elleni támadások

    Side-channel támadások kriptográfiai algoritmusok ellen
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)     Előadás 

    Tantermi gyakorlat

    Önálló munka (házi feladatok megoldása)

10. Követelmények Szorgalmi időszakban
    

1 db ZH

2 db házi feladat

 

Az aláírás megszerzésének feltétele a ZH és mindkét házi feladat (egyenként is) sikeres teljesítése. Mind a ZH, mind a házi feladatok esetében, a sikeres teljesítéshez a maximálisan elérhető pontszám minimum 40%-át kell elérni. 

 

A ZH eredménye nem számít bele a félévvégi jegybe. A házi feladatokból maximálisan 2x25 pont szerezhető, a teljesítésükhöz tehát minimum 2x10 pontot kell szerezni. A megszerzett pontok beszámítanak a félévvégi jegybe.

Vizsgaidőszakban
    

Szóbeli vizsga (írásbeli beugróval)

 

A vizsga sikeres teljesítéséhez a maximálisan elérhető pontszám minimum 40%-át kell elérni. A vizsgán maximálisan 50 pont szerezhető, a sikeres vizsgához tehát minimum 20 pontot kell elérni.

 

A tárgyból szerzett pontszám: P = V + HF1 + HF2, ahol V a vizsgán szerzett pontszám, HF1 és HF2 pedig a házi feladatokból szerzett pontszám.

 

A félévvégi jegy számítása:

Jeles (5) – ha P >= 85 pont 

jó (4) – ha P >= 70 pont

közepes (3) – ha P >= 55 pont

elégséges (2) – ha P >= 40 pont

elégtelen (1) – ha P < 40 pont
11. Pótlási lehetőségek A sikertelen vagy mulasztott ZH egyszer pótolható.

A házi feladatok beadási határideje a szorgalmi időszakban van, a pontos határidők kihirdetése a félév első hetében történik. A házi feladatok pótlólagosan a kihirdetett határidők után maximum 1 héttel adhatók be, az így beadott házi feladatokra azonban 15% pontlevonás kerül alkalmazásra.
12. Konzultációs lehetőségek Az előadóval előre egyeztetett időpontban.
13. Jegyzet, tankönyv, felhasználható irodalom Előadásokhoz rendelt online olvasnivalók (könyvfejezetek, cikkek, blogsorozatok)

The Cyber Security Body Of Knowledge (CyBOK) online gyűjtemény (https://www.cybok.org/) kapcsolódó fejezetei

Niels Ferguson, Bruce Schneier, Tadayoshi Kohno, Cryptography Engineering: Design Principles and Practical Applications, Wiley, 2010
14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra42
Félévközi készülés órákra0
Felkészülés zárthelyire20
Házi feladat elkészítése40
Kijelölt írásos tananyag elsajátítása8
Vizsgafelkészülés40
Összesen150
15. A tantárgy tematikáját kidolgozta Dr. Buttyán Levente, egyetemi tanár, HIT