Kriptográfiai protokollok (VIHIMB08)

A tárgy az IT biztonság MSc mérnök-informatikus főpecializáció keretén belül kerül előadásra a tavaszi félévben. A hivatalos tantárgyi adatlap és tárgykövetelmények a kar szerverén találhatók. Erről az oldalról a tárggyal kapcsolatos legfrisseb adminisztratív információkat és egyéb fontos tudnivalókat lehet letölteni illetve elérni.

Célkitűzés

Objectives

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.

Lecturers

Oktatók

Kiadott anyagok

Course materials

A kiadott anyagokat a Moodle rendszeren keresztül lehet letölteni.

The course materials can be downloaded from the Moodle sytem.

Követelmények

Requirements

A szorgalmi időszakban

2 db (több részből álló) házi feladat és 1 db nagy zárthelyi dolgozat. 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.

A vizsgaidőszakban

Szóbeli vizsga (írásbeli beugróval), ami a félévvégi érdemjegy 50%-át adja. A tárgy sikeres teljesítéséhez a vizsgát külön is teljesíteni kell minimum 40%-ra.

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

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 feladat két fázisából szerzett pontszám.
Ponthatárok:
P >= 85 pont --> jeles (5);
P >= 70 pont --> jó (4);
P >= 55 pont --> közepes (3);
P >= 40 pont --> elégséges (2);
P < 40 pont --> elégtelen (1).

Órák ideje és helye

Time and location of classes

Előadás

Lecture

  • kedd, 10:15-12:00, QBF.09

Gyakorlat

Practise

  • szerda, 14:15-16:00 (csak páros heteken), IB.138

Konzultáció

Megbeszélés szerint, az előadóval előre egyeztetett időpontban.

Office hours

Please contact the lecturer to schedule an appointment.

Beosztás

Schedule

Dátum Téma Előadó
2024.02.13. Motivation, recap of crypto history, stream ciphers Buttyán L.
2024.02.20. Block ciphers and block encryption modes Buttyán L.
2024.02.21. Intro to PyCryptodome, exercise on symmetric key encryption Buttyán L.
2024.02.27. Attacks on the CBC mode Buttyán L.
2024.03.05. Hash functions, message authentication, and authenticated encryption Buttyán L.
2024.03.06. Replay protection, exercise on secure channels Buttyán L.
2024.03.12. TLS Record Protocol and its attacks Buttyán L.
2024.03.19. Public key cryptography Buttyán L.
2024.03.20. Exercise on hybrid encryption and signatures Buttyán L.
2024.03.26. Key exchange protocols and public key certificates Buttyán L.
2024.04.02. --- Tavaszi szünet ---
2024.04.09. Key generation and derivation, password-based key exchange Buttyán L.
2024.04.10. ZH
2024.04.16. TLS Handshake Protocol and its attacks Buttyán L.
2024.04.23. WEP, WPA, WPA2, and their attacks Buttyán L.
2024.04.24. PKI in practice Endrődi Csilla (Microsec)
2024.04.30. Secure storage Buttyán L.
2024.05.07. Blockchain and crypto-currencies invited, tbd
2024.05.08. Project debugging session Buttyán L.
2024.05.14. Other applications of cryptography Pejó B.
2024.05.21. Post-quantum cryptography Buttyán L.
2024.05.22. Project demo session Buttyán L.

Házi feladat

Homework

1. házi feladat

Az 1. házi során 5 kis feladatot adunk ki az órákon elhangzott témakörökkel kapcsolatban. Ezek a feladatok általában offenzív jellegűek, azaz egy-egy egyszerűbb kripto primitívet vagy protokollt kell feltörni bennük. A megoldást a Moodle rendszeren keresztül kell beadni az ott megadott határidőig.

Deadlines

Határidő

Minden kiadott feladat megoldására egy hét áll rendelkezésre. Pontos határidőket lásd a Moodle rendszerben.

2. házi feladat

A 2. házi során egy fejlesztési projektet kell végrehajtani max. 2 fős csapatokban, melyben egy kiadott protokoll-specifikáció alapján kell implementálni egy kliens-szerver alkalmazást. A teljesítéshez az elkészült alkalmazás forráskódját kell beadni, valamint az alkalmazást be kell mutatni, ahol a bemutatás során teszteljük az alkalmazás együttműködési képességét (interoperabilitás) egy referencia implementációval. Az értékelésnél figyelembe vesszük a megvalósított funkciók működőképességét, a biztonsági funkciók imlementációjának helyességét (kód audit), és az együttműködési képességet a referencia implementációval.

Deadlines

Határidő

A projekt végrehajtására kb. 6 hét áll rendelkezésre. Pontos beadási határidőket lásd a Moodle rendszerben.

Számonkérés

Exam

  • ZH: 2024.04.10. szerda, 14:15 - 16:00 (a gyakorlat órarendi idejében) - IB.138
  • Pót ZH: TBA - TBA

Kiegészítő források

Readings