|
|
Code: KI568 |
2V+2PA (4 Semesterwochenstunden) |
5 |
Studiensemester: 6 |
Pflichtfach: nein |
Arbeitssprache:
Deutsch |
Prüfungsart:
Projektarbeit, Ausarbeitung, Präsentation
[letzte Änderung 29.03.2018]
|
KI568 Kommunikationsinformatik, Bachelor, ASPO 01.10.2014
, 6. Semester, Wahlpflichtfach, technisch
KIB-EISP (P221-0072) Kommunikationsinformatik, Bachelor, ASPO 01.10.2021
, 5. Semester, Wahlpflichtfach, technisch
KIB-EISP (P221-0072) Kommunikationsinformatik, Bachelor, ASPO 01.10.2022
, 5. Semester, Wahlpflichtfach, technisch
PIBWI12 Praktische Informatik, Bachelor, ASPO 01.10.2011
, 6. Semester, Wahlpflichtfach, informatikspezifisch
PIB-EISP (P221-0072) Praktische Informatik, Bachelor, ASPO 01.10.2022
, 5. Semester, Wahlpflichtfach, informatikspezifisch
|
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtumfang des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Std/ECTS). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung.
|
Empfohlene Voraussetzungen (Module):
KI100 Programmierung 1
[letzte Änderung 30.03.2018]
|
Als Vorkenntnis empfohlen für Module:
|
Modulverantwortung:
Prof. Dr. Peter Birkner |
Dozent/innen: Prof. Dr. Peter Birkner
[letzte Änderung 29.03.2018]
|
Labor:
Labor für IT-Sicherheit (5103/2)
|
Lernziele:
Die Studierenden sind in der Lage robuste und sichere Softwaresysteme zu erstellen, die vertrauliche Informationen integritätsgeschützt verarbeiten können.
[letzte Änderung 29.03.2018]
|
Inhalt:
1. Einführung: Was ist sichere Programmierung und warum ist sie wichtig? Beispiele von Software-Sicherheitslücken und deren Auswirkungen. Apples "goto fail" bug. 2. Secure programming best practices. Ein Überblick. 3. Validate All Input! Implementierung einer Eingabe-Verifikationsfunktion. 4. Hashfunktionen: Was ist eine Hashfunktion? Was ist eine Hash-Kollision? Wozu braucht man diese? Implementierung einer Hashfunktion. 5. Schlüsselableitungen: PBKDF2. Was ist das und wie funktioniert das? Implementierung derselben. 6. Sichere Speicherung und Verifikation von Passwörtern: gesalzene und gehashte Passwörter. Vermeidung von Wörterbuch-Angriffen. Implementierung einer sicheren Passwort-Verwaltung. 7. Schutz gegen Seitenkanalangriffe am Beispiel von double-and-add-ähnlichen Algorithmen: Was sind Seitenkanalangriffe? Praktische Experimente mit Timing und Statistik, die die Angreifbarkeit zeigen. Implementierung von RSA mit constant-time modular exponentiation. Alternative: Implementierung des Diffie-Hellman-Protokolls mit zeitkonstanter Exponentiation. 8. One-time-Passwörter: Implementierung einer OTP authentication function basierend auf TOTP und HOTP (RFC 2289, RFC 4226 und 6238). 9. Sichere Schlüsselerzeugung und Entropie: Was ist Entropie und wofür brauche ich sie? Warum ist Entropie so wichtig für die Schlüsselerzeugung? Implementierung eines deterministischen Zufallszahlengenerators (RNG) mit Startwert. Implementierung einer Entropieerzeugungsfunktion basierend auf Benutzerinteraktion.
[letzte Änderung 30.03.2018]
|
Literatur:
[noch nicht erfasst]
|
Modul angeboten in Semester:
SS 2020,
SS 2019,
SS 2018
|