Biztonsági protokollok (VIHIMA05)

A tárgy az IT biztonság MSc mérnök-informatikus mellékspecializá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, az előadások anyagát, és egyéb fontos tudnivalókat lehet letölteni illetve elérni. Ennek megfelelően ez az oldal folyamatos frissítés alatt áll.

Lecturers

Előadók

Célkitűzés

Objectives

A tárgy célja, hogy (i) megismertesse a hallgatókkal a modern vezetékes és vezeték nélküli hálózatokban felmerülő, a hálózati kommunikáció biztonságával kapcsolatos problémákat, (ii) bemutassa a biztonsági problémák megoldására használt korszerű biztonsági protokollok elveit és gyakorlati megvalósításait, és (iii) az ismertetett protokollok részletes analízisén keresztül betekintést nyújtson a biztonsági protokollok tervezési kérdéseibe.,

Követelmények

Requirements

A szorgalmi időszakban

2 db házi feladat és 1 db nagy zárthelyi dolgozat.

Opcionális pontok

Az órák végén kiugrót iratunk, melyben kontroll kérdéseket teszünk fel az órán elhangzott anyaggal kapcsolatban. Ennek célja, hogy feedback-et kapjunk az órák hatékonyságáról. A kiugró nem ZH, nem kötelező megírni, és kizárólag pozitív irányban befolyásolhatja a félévvégi jegyet. Konkrétan, minden kiugró eredménye bináris: 5-ből 3 kérdés helyes megválaszolása 1 pontot ér, egyébként 0 pont jár. Az így szerzett extra pontok beszámítanak a félév végi eredménybe.

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

P = ZH + HF1 + HF2 + E, ahol ZH a zárthelyi dolgozatra kapott pontszám (min 30, max 60 pont), HF1 és HF2 a házi feladatokra kapott pontok (házinként min 10, max 20 pont), E a kiugrókon szerzett extra pontok száma.
Ponthatárok:
jeles: P >= 85 pont;
jó: P >= 70 pont;
közepes: P >= 55 pont;
elégséges: P >= 40 pont;
elégtelen: P < 40 pont.

Órák ideje és helye

Time and location of classes

Előadás

Lecture

  • kedd, 8:15-10:00, QBF.11
  • péntek, 10:15-12:00 (csak páros heteken), QBF.10

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.

Eredmények

Results

Kontroll kérdések
HF1, HF2
ZH
Összesítés

Előadások

Lectures

Dátum Téma Előadó Fóliák
2018.02.06. A kriptográfia története Buttyán L. slides, slides
2018.02.13. Kulcsfolyam-rejtjelezők Buttyán L. slides, exercises, solutions
2018.02.16. Blokkrejtjelezők Buttyán L. slides, exercises, solutions
2018.02.20. Blokkrejtjelezési módok Buttyán L. slides, exercises, solutions
2018.02.27. A CBC mód elleni támadások Buttyán L. slides, exercises, solutions
2018.03.02. Üzenet hitelesítés Buttyán L. slides, exercises, solutions
2018.03.06. A biztonságos csatorna absztrakció Buttyán L. slides, exercises, solutions
2018.03.10. (szombat!) Publikus kulcsú algoritmusok Buttyán L. slides, exercises, solutions
2018.03.13 Véletlenszám generálás Buttyán L. slides, slides, exercises,
2018.03.16. --- ELMARAD (Március 15.) ---
2018.03.20. Kulcscsere protokollok Buttyán L. slides, exercises,
2018.03.27. Jelszó alapú kulcsderiválás és kulcscsere Buttyán L. slides
2018.03.30. --- ELMARAD (Nagy Péntek) ---
2018.04.10. Kulcscsere protokollok gyakorlat Buttyán L.
2018.04.17. WiFi biztonsági protokollok Buttyán L. slides
2018.04.20. Publikus kulcs infrastruktúra I Endrődi Csilla (Microsec) slides
2018.04.24. Transport Layer Security I Buttyán L. slides
2018.05.01. --- ELMARAD (Május 1.) ---
2018.05.04. Transport Layer Security II Buttyán L. slides
2018.05.08. Protokollok erőforrás korlátozott környezetben Buttyán L. slides
2018.05.15. Nagy ZH (QBF.12)
2018.05.18. Pót ZH

Házi feladat

Homework

1. házi feladat

The goal of the semester project is to use the cryptographic building blocks that we learned during the lectures in practice. We believe that a learning-by-doing approach leads to deeper understanding of the subject.
To make it fun and somewhat less of an effort, the semester project can be carried out in groups of 3 students. This also allows students to gain experience in team work and collaborative development of software. So, please, team up with your buddies, and send me (buttyan@crysys.hu) the names of your group members!
Each group can choose to design and implement one of the following applications:
- a multi-party chat application (must support multiple chat clients communicating with each other via a chat server or in a peer-to-peer manner, if a server is used, then it should not be trusted for learning the content of chat messages, the application must ensure confidentiality and integrity of chat messages, message origin authentication, and replay protection)
- a simple file transfer application (must be a client-server application supporting file upload to and download from the server, and it must ensure confidentiality and integrity of control messages and transferred files, origin authentication and replay protection for messages, and mutual authentication between the client and the server at the beginning of each session)
- a password manager application (can be a local application or server based, must support generation of random passwords and storage of passwords together with related account information, must ensure confidentiality and integrity for stored passwords, can use a master password for accessing password entries)
- an anomnymous e-mail sending application (a re-mailer proxy that accepts encrypted e-mails, decrypts them, and re-sends them in clear to the indicated destination, must support reply messages, must ensure sender anonymity with respect to the receiver of the mail and unlinkability of senders and receivers with respect to someone observing the operation of the proxy).
The project has two phases: (1) in the first phase, teams have to come up with a design and submit a sufficiently detailed description (that looks like an engineering document) of their envisioned system architecture and cryptographic protocols, and (2) in the second phase, after receiving some feedback on the design, teams have to implement their designs using a real crypto library.
The design document must contain at least the following sections:
- functional requirements of the application
- attacker model (assumptions about the goals and capabilities of an attacker)
- security requirements of the application
- system architecture (modules and their relationships)
- cryptographic protocols
- key exchange and key management
- brief security analysis (how the design satisfies the security requirements).
Design documents should contain sufficient details for someone to implement the design. A single design document per team must be submitted in pdf format here (choose 'VIHIMA05 - Design') by the deadline given below.

Deadlines

Határidő

2018. 03. 29. (midnight)

Results

Eredmények

Results

2. házi feladat

In the second (implementation) phase, teams will implement their design (after feedback and potential corrections). The preferred language for implementation is Python 3 with the PyCryptodome library, but teams could also use other languages and crypto libraries. Teams should complete their implementation and submit their work in a zip file here (choose 'VIHIMA05 - Implementation') by the deadline below. The submissions should contain at least the following:
- source code
- some documentation of the code
- a 3-4 min video showing the working application and its basic usage.

Deadlines

Határidő

2018.05.04. (midnight)

Results

Eredmények

Results

Számonkérés

Exam

  • ZH: 2018.05.15. - óra idejében a QBF.12 teremben
  • Pót ZH: 2018.05.18. - óra idejében és helyén
  • Pótpót ZH: tbd - tbd

Kiegészítő források

Readings

Korábbi évek

Previous Years