Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    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