distributed computer systems

Teaching

 

Organization

News:

The last lecture takes place on Tuesday 11th February 2020.

The exercise on Thursday 13th February will be a question and answer session.

Lecture:

Tuesdays, 10:00-11:30, in room 13-222

Exercises:

Thursday, 15:30 - 17:00, in room 36-438

Exam:

Oral exams are conducted on February 20, April 21 & June 8-10, July 3rd and August 4th. In order to register for them, please contact our secretary Mrs. Gerber (This email address is being protected from spambots. You need JavaScript enabled to view it., room 36-430)

Contact:

Prof. Dr.-Ing. Jens Schmitt
M.Sc. Eric Jedermann
or follow us on Twitter

Course Overview

This course gives an introduction to secure communication in computer networks. Topics covered in this lecture include:

  • history of secure communication
  • symmetric cryptography: DES, 3DES, AES
  • asymmetric cryptography: RSA, Diffie-Hellman, El Gamal
  • hash functions: MD5, SHA1, SHA2, SHA3
  • cryptographic protocols: Secret Sharing, Needham-Schroeder, Kerberos, X.509
  • other security relevant topics: random number generation, birthday problem

Slides

The slides are accessible only from within the university network (131.246.*). Please use SSH or VPN for remote access.

Chapter Title Slides Last Updated
0 Organization PDF 29.08.2019
1 Introduction PDF 29.08.2019
2 Symmetric Crypto PDFa, PDFb, PDFc 19.11.2019
3 Asymmetric Crypto PDF 26.11.2019
4 Modification Check Values PDFa, PDFb 16.12.2019
5 Cryptographic Protocols PDF 03.01.2020
6 Post Quantum Cryptography PDF 11.02.2020
7 Real World Protocols PDF 11.02.2020

Material/Literature

  • The nice and comprehensive Handbook of Applied Cryptography by Menezes, van Oorschot and Vanstone is available online for free and can be found here.
  • An extra course about cryptography can be found here.
  • A illustrative video about the discrete logarithm problem.
  • ECC Visualization (java)
  • An example of differential Cryptanalysis can be found here.
  • An example of a MD5-collistion with two images can be found here.

Exercises

The exercise sheets are accessible only from within the university network (131.246.*). Please use SSH or VPN for remote access.

Published Covered Topics Exercise date Download
Solution
Last Updated
04.11.2019  Basics, Feistel Network, Monoalphabetic Cipher 14.11.2019  exercise1 solution1 14.11.2019
19.11.2019 DES, differential cryptanalysis, modes of operation 28.11.2019 exercise2 solution2 19.11.2019
09.12.2019 Chinese Remainder Theorem, RSA, Diffie-Hellmann 19.12.2019 exercise3 solution3 09.12.2019
03.01.2020 ElGamal, Elliptic Curve Crypto, Hash Functions 16.01.2020 exercise4 solution4 22.01.2020
21.01.2020 Enitity Authentication, Secret Sharing, Fair Coin Tossing 30.01.2020 exercise5 solution5 21.01.2020

 

 

 

Organisation

News:

The Presentation Day is on Monday, July 8
in our seminar room (36-438)

Contact:

 Prof. Dr.-Ing. Jens Schmitt
 B.Sc. Alexander Scheffler
 or follow us on Twitter

Important Dates

Kick-off Meeting: April 29, 5:15pm
Registration: Until May 2, 10 am
Mock-up (see introduction slides): Until May, 9
First version of visualization/implementation/evaluation: Until May, 27
First version of report and presentation: Until June, 17
Review: Until June, 24
Final versions: Until July, 1
Presentation Day: July, 8

Presentation Day

Each seminar participant will give a talk which should be 30 +/- 5 minutes.

The presentations will be held in our seminar room (36-438) starting from 8:15am. The tentative schedule for the presentation day is as follows:

ID Student Title
08:15-10:30: Session 1 (Performance)
P1 Anja Effective Straggler Mitigation: Attack of the Clones
P5 Jephte Model transformations of MapReduce Design Patterns for automatic development and verification
P4 Bruno Automated Parallelization of Timed Petri-Net Simulations
10:45-12:15: Session 2 
P2 Axel Computable Bounds in Fork-Join Queueing Systems
S1 Jean-Francois A new design paradigm for ultra-low power communication
12:55-15:10: Session 3 (Security)
S4 Michele A Survey on Recent Advances in Vehicular Network Security, Trust, and Privacy
S2 Ken Truly Distributed Distributed-MIMO
S3 Meris Investigation of Multi-device Location Spoofing Attacks on Air Traffic Control and Possible Countermeasures

Content

 The DISCO team offers a seminar with focus on performance and security aspects of communication networks this summer.  

Introduction Slides

 Here is the list of papers for this year's seminar. Note that this list is tentative and may be subject to changes:

ID Author(s) and Title Student Supervisor Paper Report Presentation
Performance
P1 Ananthanarayanan: Effective Straggler Mitigation: Attack of the Clones  Anja  Paul PDF PDF PDF
P2 Rizk: Computable Bounds in Fork-Join Queueing Systems  Axel  Paul PDF PDF PDF
P4 Nicol: Automated Parallelization of Timed Petri-Net Simulations  Bruno  Alexander PDF PDF PDF
P5 Amato: Model transformations of MapReduce Design Patterns for automatic development and verification  Jephte  Alexander PDF PDF PDF
Security
S1 Rostami: Polymorphic radios: A new design paradigm for ultra-low power communication  Jean-Francois  Carolina PDF PDF PDF
S2 Hamed: Chorus: Truly Distributed Distributed-MIMO  Ken  Carolina PDF PDF PDF
S3 Moser: Investigation of Multi-device Location Spoofing Attacks on Air Traffic Control and Possible Countermeasures  Meris  Matthias PDF PDF PDF
S4 Lu: A Survey on Recent Advances in Vehicular Network Security, Trust, and Privacy  Michele  Matthias PDF PDF PDF

 

 

Organization

News:

 

Exam:

August 5 and September 9.
Please contact Mrs. Gerber (This email address is being protected from spambots. You need JavaScript enabled to view it.) in order to register.

Lecture:

Tuesdays, 11:45 am - 1:15 pm in the seminar room (36-438)

Exercises:

Tuesdays (irregularly), 10:00 am-11:30 am in the seminar room (36-438) (exact dates will always be announced via email)

Contact:

 Prof. Dr.-Ing. Jens Schmitt
 M.Sc. Paul Nikolaus
 or follow us on Twitter

Lecture Overview

The objective of this lecture is to introduce the basics of performance management in communication networks on multiple time-scales. The contents are as follows:

  1. Introduction & Motivation
  2. Long-Term Performance Management
    • Network Design
    • Traffic Modelling
  3. Medium-Term Performance Management
    • Traffic Engineering / Routing
    • Content Distribution / Caching
  4. Short-Term Performance Management
    • Packet-Level Dynamics
    • Packet Scheduling
  5. Conclusion and Outlook

Material & Slides

The slides are only accessible from within the university network (131.246.*). You can use SSH or VPN for remote access.

Chapter Title Last Update Slides
 0  Organization  April 17, 2019 PDF 
 1  Introduction  April 17, 2019 PDF 
 2  Long-Term Performance Management  May 24, 2019 PDF  annotated
3  Medium-Term Performance Management  June 7, 2019 PDF  annotated
4  Short-Term Performance Management  July 4, 2019 PDF  annotated  MG1

 

Exercises

The exercise sheets are only accessible from within the university network (131.246.*). You can use SSH or VPN for remote access.

Exercise Time Download
1 May 14 at 10:00 am PDF  ex_1_data_1.dat  ex_1_data_2.dat
2 June 04 at 10:00 am PDF  ex_1_data.dat
3 June 18 at 10:00 am PDF
4 July 2 at 10:00 am PDF

 

 

News:

Die vorläufigen Noten sind im QIS eingetragen. Die Einsichtnahme findet am 30.09. um 16:30Uhr in 36-438 statt.

Vorlesung:

Montags, 15:30 in Raum 46-210

Kontakt:

Prof. Dr.-Ing. Jens Schmitt
M.Sc. Carolina Nogueira
oder folgt uns auf Twitter

Vorlesungsübersicht

Diese Vorlesung soll die Aufgaben, der Aufbau und die Arbeitsweise moderner Kommunikationssysteme näher bringen. Insbesondere liegt dabei der Fokus auf der Architektur und den Protokollen, welche heute vor allem im Internet im Einsatz sind. Anhand eines Schichtenmodells, werden von  Grundlagen der Datenübertragung (z.B. Signalverarbeitung, Kodierungstheorie) bis zu Anwendungsprotokollen (z.B. HTTP, FTP, SMTP, ...) viele Aspekte vernetzter Systeme behandelt.

Der Vorlesungsaufbau ist dabei wie folgt:

  1. Physikalische Schicht: Theoretische Grundlagen der Datenübertragung, Übertragungsmedien, Kodierungstechniken
  2. Sicherungsschicht: Fehlererkennung & -korrektur, Mehrfachzugriff, Ethernet
  3. Vermittlungsschicht: IP, Routing, Forwarding
  4. Transportschicht: Multiplexing, UDP, TCP
  5. Anwendungsschicht: Softwarearchitektur, Web, FTP, E-Mail, DNS, Peer-to-peer Anwendungen

Vorlesungsunterlagen

Downloads zu dieser Vorlesung sind nur aus dem Universitätsnetz verfügbar (131.246.*). Um außerhalb des Universitätsnetzes auf das Material zugreifen zu können, nutzt bitte Dienste wie VPN oder SSH.

Titel Letztes Update
Folien
0. Organisation 15. April 2019 PDF
1. Introduction 15. April 2019 PDF
2. Physical Layer 10. Mai 2019 PDF
3. Link Layer 23. Mai 2019 PDF
4. Network Layer 24. Juni 2019 (all) PDF
5. Transport Layer 01. Juli 2019 PDF
6. Application Layer 11. July 2019 PDF

 

Übungen

Übungsanmeldung: ist geschlossen.
Übungsbeginn: KW 18 (30.April - 03.Mai)

Downloads zu dieser Vorlesung sind nur aus dem Universitätsnetz verfügbar (131.246.*). Um außerhalb des Universitätsnetzes auf das Material zugreifen zu können, nutzt bitte Dienste wie VPN oder SSH.

# Termine Letztes Update PDF
1 KW 18 + 19 07. Mai 2019 (kleine Korrektur)  PDF
2 KW 20 + 21 14. Mai 2019 (kleine Korrektur)  PDF
3 KW 22 + 23 28. Mai 2019 (kleine Korrektur)  PDF
4 KW 24 + 25 10. Jun 2019 PDF
5 KW 28 + 29 09. Jul 2019 (Korrektur) PDF
 
Übungstermin (Anmeldung ist erforderlich)
Dienstag 13:45 46-220 Yasmina Adams
Dienstag 13:45 46-280 Lukas Wildberger
Mittwoch 11:45 11-205 Lukas Wildberger
Mittwoch 15:30 48-210 Yasmina Adams
Donnerstag 11:45 11-262 Martin Böh
Donnerstag 13:45 46-280 Lukas Wildberger
Freitag 15:30 13-305 Martin Böh

Zwischenklausur

Die Zwischenklausur findet dieses Jahr in einem Peer-Review-Modus statt, d.h. ihr korrigiert euch gegenseitig unter Anleitung. Ablaufen wird das Ganze wie folgt:

1. Die Zwischenklausur wird am 25. Juni um 13:45 Uhr geschrieben. In der Woche danach, d.h. in den Übungen vom 02. bis 05. Juli, werden die Klausuren dann von den Studierenden (unter Anleitung) korrigiert. In den Übungen vom 09. bis 12. Juli  könnt ihr dann eine halbe Übung lang Einsicht in eure korrigierte Klausur nehmen und die Korrektur überprüfen. Falls ihr in einer der Wochen nicht an eurem Termin teilnehmen könnt, müsst ihr in der gleichen Woche in eine der anderen Gruppen gehen.

2. Jeder Student bekommt vor dem Betreten der Zwischenklausurräume eine eindeutige Teilnehmernummer (KoSy ID) zugewiesen, die er dann auf seiner Zwischenklausur einträgt. Auch beim Korrigieren schreibt ihr eure Nummer in das entsprechende Feld vorne auf der Klausur. Damit ist zum einen gewährleistet, dass wir überprüfen können, wer geschrieben und korrigiert hat und zum anderen wird der/die Korrektor/in nicht wissen, wer die Klausur geschrieben hat (und umgekehrt).

3. Um die Zulassung zu erhalten muss jeder Student:

a) mitschreiben;
b) mitkorrigieren; und
c) 25% der Punkte erreichen.

Das Ganze wird danach anhand der Teilnehmer/Korrektornummern überprüft.


4. Sollte in der Einsicht jemand mit der Korrektur berechtigt nicht einverstanden sein bzw. herausfinden, dass der Korrektor unfair/böswillig korrigiert hat, wird das Problem an Prof. Schmitt persönlich übergeben und es kann zum Verlust der Zulassung des Verursachers führen.

5. Um eine gewisse Distanz zwischen Korrektor und Schreiber zu gewährleisten, vermischen wir die Klausuren über die verschiedenen Übungsgruppen zur Korrektur. Wir werden aber danach dennoch stichprobenartig überprüfen, ob korrekt korrigiert wurde. Sollten wir Klausuren finden, bei denen offensichtlich absichtlich zu viele Punkte vergeben wurden, wird der Fall an Prof. Schmitt übergeben und der Korrektor verliert die Zulassung.

Wir würden euch bitten, natürlich nur falls möglich, bereits 15 Minuten vorher zu kommen (also um 13:30 Uhr), damit wir so viele KoSy IDs wie möglich schon vorher vergeben können.

Die Raumaufteilung für die Zwischenklausur sieht folgendermaßen aus:

  • Die beiden Dienstags-Gruppen gehen wie gewohnt (allerdings, 15 Minuten früher) in ihre Übung
  • Die Freitags-Gruppe (Martin) geht in Raum 46-280
  • Die beiden Mittwochs-Gruppen und die beiden Donnerstags-Gruppen gehen dagegen in Raum 46-220 (der größere Raum)

Bitte notiert euch unbedingt diese Raumaufteilung, um ein Chaos am Tag der Zwischenklausur zu vermeiden :-)

Bringt für die Klausur bitte einen nicht-programmierbaren Taschenrechner mit (normaler Schulrechner). Außerdem gelten während des Schreibens, der Korrektur und der Einsicht Klausurbedingungen. Wer beim Schummeln, Fotografieren, etc. erwischt wird, verliert sofort die Zulassung.

Erlaubte Hilfsmittel: nicht-programmierbarer Taschenrechner und ein einsprachiges Wörterbuch. Ein Cheat Sheet erhaltet ihr mit den Klausurbogen.

Denkt bitte daran, dass das nur ausnahmsweise für die Zwischenklausur am 25. Juni so ist und ab 2. Juli wieder alle ihre gewohnten Übungen besuchen.

Viel Erfolg beim Lernen!

Klausur

Die Klausur findet dieses Jahr in die folgenden Terminen statt:

  • 1. Klausur: am Dienstag, dem 13.08.2019 um 14 Uhr
  • 2. Klausur: am Montag, dem 23.09.2019 um 9 Uhr

Um an der Klausur teilnehmen zu dürfen benötigt ihr die Zulassung. Voraussetzung um die Zulassung dieses Semester zu erhalten sind:

  • Teilnahme an mindestens 10 Übungsterminen
  • Bestehen der Zwischenklausur (25%)
  • Korrigieren einer anderen Zwischenklausur

Wer seine Zulassung schon in einem vergangenen Semester erhalten hat, behält diese natürlich.

Die aktuelle Zulassungsliste kann auf den folgenden Link herunterladen werden:

 

Zulassungen 2019

 

Achtung: Wer seine Zulassung nicht hat darf nicht an der Klausur teilnehmen und wird davon zwangsabgemeldet. Falls ihr fragen haben, bitte klärt mit eurem Übungsleiter ab.

Erlaubte Hilfsmittel: nicht-programmierbarer Taschenrechner und ein einsprachiges Wörterbuch.

Ein Beispiel für das für die Klausur zur Verfügung gestellte Cheat Sheet könnt ihr hier herunterladen: Cheat Sheet
Falls ihr der Meinung sind, dass etwas fehlt, könnt ihr  uns gerne darüber informieren.
Bitte beachten, dass nur Formeln zur Verfügung gestellt werden können. Es ist Teil der Klausur, die Formeln zu identifizieren und zu wissen, welche Formel für welche Aufgabe Anwendung findet.

Recap

Der Recap findet am Donnerstag, den 08.08. ab 12:30 in 46-210 statt. Dort werden viele Themen aus KoSy in Schnelldurchlauf noch einmal zusammengefasst. Anschließend gibt es die Möglichkeit Fragen zu stellen.


Solltet ihr Fragen zu spezifischen Übungsaufgaben haben, bitten wir darum, uns spätestens 24 Stunden vorher, per E-Mail an die Tutoren, zu informieren.

 

Folien und Hinweise

 

1. Klausur

Wichtig: Die Klausur wird in drei Hörsälen gleichzeitig geschrieben! Die Raumverteilung ist wie folgt:

  • Studierende mit Matrikelnr bis 405999 schreiben in 46-210 (gelb);
  • Studierende mit Matrikelnr zwischen 406000 und 410100 schreiben in 46-215 (grün);
  • Studierende mit Matrikelnr ab 410101 schreiben in 46-220 (rot). 
Klausurergebnisse und Einsicht

Die Einsicht zur Klausur "Kommunikationssysteme" wird am Freitag, den 30. August, ab 14:00 Uhr im Seminarraum der AG Disco (36-438) stattfinden.

Die Klausurergebnisse vom 13.August.2019 könnt ihr hier einsehen: PDF.

Aus Datenschutzgründen muss diese öffentliche Liste stark anonymisiert werden. Deswegen findet Ihr auf der Liste Eure Note verknüpft mit Eurer KoSy ID, die Ihr während der Probeklausur (oder an der Klausur) erhalten habt. Solltet Ihr Eure KoSy ID nicht mehr wissen, kann Euch Euer Tutor weiterhelfen.

 

Grade Interval
1.0 >= 72.00
1.3 [68.00, 71.75]
1.7 [64.00, 67.75]
2.0 [60.00, 63.75]
2.3 [56.00, 59.75]
2.7 [52.00, 55.75]
3.0 [48.00, 51.75]
3.3 [44.00, 47.75]
3.7 [40.00, 43.75]
4.0 [36.00, 39.75]
5.0 < 36.00

2. Klausur

Die 2. Klausur findet am 23.09.2019 um 9 Uhr in Raum 01-106 statt.

Die vorläufigen Noten sind im QIS eingetragen. Die Einsichtnahme findet am 30.09. um 16:30Uhr in 36-438 statt.

 

Background

The exam for the Network Security lecture is approaching and by oberhearing a conversation with Matthias and his teaching assistant Yasmina, you learned that the exam is on a private web server in the DISCO network which is only accessible via a secret URL.  Since you are the infamous hacker H4X0R, you managed to trick Matthias into revealing his password for an SSH server in his lab by using evil social engineering techniques. Unfortunately, Matthias does not use this password for his personal computer, which is the actual target since the secret URL for the exam is only stored in Matthias' browser. The only things you know is that the web server and Matthias personal computer are in the same local network as the compromised SSH server and that Matthias is a control freak and is checking the exam for updates on a very regular basis.

Hack Challenge

Since you are too lazy to study properly for the exam, you are desperately trying to get the exam from the web server. Therefore, the first steps of this hack challenge are:

  • Break into the private DISCO network using the stolen password.
  • Find Matthias' personal computer.
  • Eavesdrop on Matthias' communication with the web server.
  • Steal the secret URL and download the exam.

After you managed to steal the exam, you figured out that the webserver's configuration is really bad and allows certain denial of service attacks. Since you are an evil master mind and like to troll people, you decide to launch a denial of service attack to prevent Matthias from checking the exam. The final step of this hack challenge is:

  • Launch a denial of service attack on the web server and prevent Matthias from checking the exam for at least 1 minute (will be detected by our IDS). You can check if it works by simply trying to access the webserver yourself (with your browser).

Since H4X0R is a poser and wants to show off with what he has achieved, send an email to the teaching assistant This email address is being protected from spambots. You need JavaScript enabled to view it. with the secret exam attached (do not change the filename!) and the time when you launched the denial of service attack. Also mention the IP addresses of Matthias' PC and the Webserver in the mail.

Organization

You can still work in the same group as for the PhyLiSec workshop. To make sure that groups do not interfere with each other while hacking on the server, we have to make sure that only one group is working on it at a time. Therefore, you have to make reservations for the server in this Doodle poll: https://doodle.com/poll/mqe2huwgi2ra3bat. Please enter the names of all your group members in the name field. The server can be booked in 2h slots. In order to give each group a chance to work on the server, groups are only allowed to make two reservations for now. If you need more time after these two slots, please contact This email address is being protected from spambots. You need JavaScript enabled to view it.. You will receive the IP and the credentials for your timeslot via email when your session starts.

Once you finished the challenge, one of your group must send an email to This email address is being protected from spambots. You need JavaScript enabled to view it. as a proof of success. The email must contain the names of your group mates, the stolen PDF, the date and time when you launched the DoS attack, and the IP addresses of Matthias' PC and the secret URL. When we received this email and verified your success, you passed this part of the Network Security exercise and you are one step closer to the exam.

If you encounter any problems or if you get stuck, first check the Network Security slides and try using Google. Only if you really tried solving the problem yourself without success, ask Yasmina. She can give you hints or (if necessary) meet with you and assist you in solving the challenge.

Tools

To provide you a starting point, here is a list of linux commands and tools installed on the compromised server:

  • ifconfig: network configuration
  • hping3: send (almost) arbitrary TCP/IP packets to network hosts
  • ettercap: multipurpose sniffer/content filter for man in the middle attacks
  • slowhttptest: HTTP Denial Of Service attacks simulator
  • nmap: Network exploration tool and security / port scanner
  • arp: manage ARP cache
  • tshark: command-line version of Wireshark (supports filtered output, e.g. tshark "not port 22" for filtering SSH traffic generated by you)

If you want to know how these tools work, enter "man COMMAND" or use Google. There is plenty of good documentation around! Also "COMMAND --help" usually gives you a good overview of the respective tool.

University of Kaiserslautern

Write your thesis with a disco advisor

We offer a variety of bachelor and master theses at any point in the academic year. Also check out some of our completed theses. Read more...

Go to top