UML-Sequenzdiagramm-Übungsaufgaben
https://bildung.social/@oerinformatik/111555679809480435
https://oer-informatik.de/uml-sequenzdiagramm-uebungen
tl/dr; (ca. 10 min Lesezeit): Kleine Übungsaufgaben mit Lösungen zu UML-Sequenzdiagrammen: TCP Handshake, HTTPS-Fingerprint-Check, Zwei-Faktor-Authentifizierung, Public/Private-Key Verfahren und Challenge-Response Authentication Mechanism (CRAM). (Zuletzt geändert am 28.02.2025)
Diese Aufgaben setzen voraus, dass Du die Notationen des UML-Sequenzdiagramms kennst (Infos z.B. in diesem Blogpost).
TCP Handshake
Bei einem TCP-Handshake werden eine Reihe von Nachrichten zwischen zwei Hosts gesendet und empfangen. Falls Dir die Nachrichtenfolge unten nichts sagt, recherchiere den TCP-Handshake. Stelle die Nachrichten in der richtigen Reihenfolge und mit korrekter Zuordnung von synchronen oder asynchronen Nachrichten korrekt als UML-Sequenzdiagramm dar. Die nötigen Nachrichten sind:
Verbindungsaufbau per 3-Wege-Handschlag von Host A zu Host B (SYN, SYN_ACK, ACK)
Exemplarische Datensendung von Host A zu Host B (DATA, ACK)
Verbindungsabbau von Host A zu Host B (FIN, FIN_ACK, FIN, FIN_ACK)
(Notiere Dir erst Deine Lösung, bevor Du diese Beispiellösung anschaust.)
Eine beispielhafte Lösung ist die folgende:

andere Lösungen sind möglich! Diskutiert, was ihr anderes gemacht habt oder nicht versteht!
Https-Fingerprint Check
Bei der Kommunikation über https wird die Authentizität des Servers über öffentlich verfügbare Public Keys verifiziert. Die Nachrichtenfolge ist etwa diese:
Ein HTTPS-Client prüft, ob er den Public Key einer HTTP-Serveraddresse im Cache hat.
Für den Fall, dass dies nicht der Fall ist, fragt er den Public Key des HTTPS-Servers von einem Keyserver ab.
Daraufhin holt er den Fingerprint des HTTPS-Servers und verifiziert ihn mit dem Public Key.
Der Client sendet seinen Fingerabdruck wiederum an den HTTPS-Servers zur Prüfung (dieser Teil muss nicht detailliert dargestellt werden).
Stelle diesen Prozess in einem UML-Sequenzdiagramm dar:

Zwei-Faktor-Authentifizierung
Viele Anwendungen nutzen Multi-Faktor-Authentifizierung, um die Sicherheit zu erhöhen. Recherchiere die Nachrichtenfolge für die beteiligten Kommunikationspartner einer Dir bekannten 2-Faktor-Authentifizierung und stelle sie als UML-Sequenzdiagramm dar.

Public / Private-Key-Verfahren
Die Authentifizierung an SSH-Servern kann per privat/public-Key-Verfahren erfolgen. Recherchiere die erforderlichen Schritte der Schlüsselerzeugung, Schlüsselübermittlung und anschließender passwortlosen Anmeldung eines SSH-Clients an einem SSH-Server und stelle diese in einem UML-Sequenzdiagramm dar.
(keine Beispiellösung online)
Challenge–Response Authentication Mechanism (CRAM-MD5)
Recherchiere die Nachrichtenfolge des Challenge-Response-Verfahrens, wie es z.B. bei CRAM-MD5 angewandt wird, und stelle es als UML-Sequenzdiagramm dar.
Eine Erklärung und Auflistung der Nachrichtenfolge findest Du z.B. in dem Dokument Request for Comments (RFC) 2195.
(keine Beispiellösung online)
Weitere Übungsaufgaben
Hinweis zur Nachnutzung als Open Educational Resource (OER)
Dieser Artikel und seine Texte, Bilder, Grafiken, Code und sonstiger Inhalt sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “UML-Sequenzdiagramm-Übungsaufgaben” von Hannes Stein, Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/uml-sequenzdiagramm-uebungen veröffentlicht, die Quelltexte sind in weiterverarbeitbarer Form verfügbar im Repository unter https://gitlab.com/oer-informatik/uml/umlsequenz. Stand: 28.02.2025.
[Kommentare zum Artikel lesen, schreiben] / [Artikel teilen] / [gitlab-Issue zum Artikel schreiben]
