Module Import 04IN2046 - Software Technology for Secure Systems

Status: (discontinued) Published
Workload6 ECTS = 180 hrs
Credits, Weight6 ECTS, (n.s.)
Language of Instruction German
Semester (n.s.)
Duration1 Sem.
M/E Elective
Courses
Course No. Type Name MA/EL Workload Credits Contact Hours Selfstudy Group Size
04IN2046-1 Lecture Software Technology for Secure Systems EL 3 ECTS = 90 hrs 3 ECTS 2 hrs/week = 30 hrs 60 hrs 30
04IN2046-2 Seminar/Exercise Software Technology for Secure Systems EL 3 ECTS = 90 hrs 3 ECTS 2 hrs/week = 30 hrs 60 hrs 30
Learning Outcomes

Ziel
Die Teilnehmer erlangen einen Überblick über die Grundlagen der IT-Sicherheit. Die Teilnehmer erlangen insbesondere grundlegende konzeptionelle Kenntnisse zur IT-Sicherheit und einfache praktische Kenntnisse im Umgang mit der IT-Sicherheit im Kontext der Entwicklung und des Einsatzes von Software.

Inhalte

Es sollen die folgenden Fragen behandelt werden:

  • Welche und wessen Interessen nach Sicherheit sollen gewahrt werden?
  • Welche technischen und organisatorischen Anforderungen ergeben sich aus den Sicherheitsinteressen?
  • Welche technischen Sicherheitsmaßnahmen können welche inhaltlichen Sicherheitsanforderungen unterstützen?
  • In welche organisatorischen Strukturen müssen die technischen Maßnahmen eingebettet werden?
  • Wie kann ein IT-System unter dem Gesichtspunkt der Sicherheit entworfen, verwirklicht und betrieben werden?
  • Wie kann man sich vergewissern, welche Art und welchen Grad von Sicherheit man tatsächlich erreicht hat?

Es wird ein Überblick über derartige Fragen und eine Einführung in die möglichen Lösungsansätze gegeben. Dabei werden insbesondere die folgenden Einzelthemen behandelt:

  • Sicherheitsinteressen und ihre Wechselwirkungen,
  • Informationsflüsse und ihre Kontrolle,
  • Kontrolle und Überwachung,
  • Kryptographie
Content

Kapitel 1: Motivation: (Un-)Sichere IT-Systeme
Kapitel 2: Einführung und zentrale Sicherheitskonzepte
Kapitel 3: Von Zielen zu Mechanismen
Kapitel 4: Kryptographische Grundlagen: Einführung
Kapitel 5: Kryptographische Mechanismen für Vertraulichkeit: Symmetrische Verschlüsselung
Kapitel 6: Kryptographische Mechanismen für Vertraulichkeit: Asymmetrische Verschlüsselung
Kapitel 7: Kryptographische Mechanismen für Integrität: Hashfunktionen
Kapitel 8: Kryptographische Mechanismen für Authentifikation

  • Message Authentication Codes (MACs)
  • Digitale Signatur

Kapitel 9: Kryptographische Protokolle

  • insbes. Schlüsselaustausch und -zertifizierung, SSL-Protokoll

Kapitel 10: Sicherheitsarchitekturen und Sichere Verwendung von Kryptographie

  • Schlüsselverwaltung
  • Authentifikation
  • Sicherheitsprotokolle: Schlüsselerzeugung, Schlüsselaustausch, Schlüsseleinsatz, Schlüsselzertifizierung und SSL-Protokoll, Absicherung von Webseiten mit https / SSL, OpenSSL- Zertifikate
  • Einsatz von TLS

Kapitel 11: Vertiefung Kryptographie: Protokolle und Mechanismen

  • Blockchains
  • Usage Control
  • Visuelle Kryptographie, Steganographie
Teaching Methods

Vorlesung mit interaktiven Elementen

Übung: Präsentation von Arbeitsergebnissen durch Studierende, Diskussion, Bearbeitung von Präsenzaufgaben

Alternativ: Seminarvortrag

Prerequisites

Voraussetzungen für die Teilnahme ist das erfolgreiche Aneignen von Kenntnissen, wie diese beispielsweise in den Modulen 04IN1010 (Objektorientierte Programmierung und Modellierungnd) und 04IN1104 (Programmiertechniken und Software-Design) vermittelt werden, beispielsweise:

  • Programmierfähigkeiten in einer objektorientierten Programmiersprache (i.d.R. Java) und Einsatz von Entwicklungsumgebungen
  • Sicherheit in der Verwendung grundlegender APIs (z.B. Collections)
  • Kenntnisse von Algorithmen und Datenstrukturen
  • Fähigkeit zur Modellierung von UML-Modellen für Struktur (Klassendiagramme) und Verhalten (Aktivitätsdiagramme, Statecharts, Sequenzdiagramme) für Software-Entwurf und Entwurfsmuster
  • Fähigkeit zur Implementierung von einfachen Modellen, erfassen des Zusammenhangs zwischen Modellen und Code
  • Grundlagen des Testens und der Verifikation
Examination Methods

Mündliche Prüfung oder Klausur; Ggf. Seminarvortrag

Credit Requirements

Voraussetzung für die Vergabe von Leistungspunkten ist die qualifizierte Teilnahme an den Übungen oder die erfolgreiche Präsentation eines Seminarvortrags.

References

(not specified)

04IN2046-1 - Software Technology for Secure Systems

Literatur:

  • John Viega, Gary McGraw: Building Secure Software: How to Avoid Security Problems the Right Way, Addison-Wesley 2001
  • The Open Web Application Security Project (OWASP): OWASP-Top-10-2013: Die 10 häufigsten Sicherheitsrisiken für Webanwendungen, 2013
  • J. Jürjens: Secure Systems Development with UML, Springer 2005
Responsible / Organizational Unit
Jürjens, Jan / Institute for Computer Science
Additional Information

Das Modul wurde ersetzt durch 04IN2112: Vertiefung in Secure Software Engineering.

Last change
Apr 24, 2018 by Frey, Johannes
Last Change Module
Feb 16, 2019 by Frey, Johannes