Befehle an einen Mikrocontroller
AFB I–IIEin Raspberry Pi schickt Befehle über eine serielle Leitung an einen Mikrocontroller. Vereinbart ist das Rahmenformat #nr;länge;daten$: Startzeichen, fortlaufende Nummer, Anzahl der Datenzeichen, Daten, Endzeichen. Der Mikrocontroller antwortet mit ACKnr.
- Geben Sie den Rahmen für den Befehl
LICHT ANmit der Nummer 5 an. - Analysieren Sie den empfangenen Rahmen
#3;4;TOR;$. - Stellen Sie den Ablauf für die Befehle 5 und 6 in einem Sequenzdiagramm dar, wenn die Quittung für Befehl 5 verloren geht.
Hinweise
Hinweis zu Aufgabe a)
Hinweis zu Aufgabe b)
Hinweis zu Aufgabe c)
Erwartungshorizont
Erwartungshorizont zu Aufgabe a)
#5;8;LICHT AN$
Erwartungshorizont zu Aufgabe b)
Nummer 3, Länge 4, Daten TOR; — das Semikolon gehört zu den Daten. Danach muss $ folgen; das stimmt. Ohne Längenfeld wäre der Rahmen mehrdeutig.
Erwartungshorizont zu Aufgabe c)
Sender → #5;…$ → Empfänger führt aus, schickt ACK5 (geht verloren). Sender wartet bis zum Timeout, sendet #5;…$ erneut. Empfänger erkennt Nummer 5 als bereits erledigt, führt nicht noch einmal aus, schickt ACK5. Sender erhält ACK5, sendet #6;…$, Empfänger antwortet ACK6.
Ein Anmeldeprotokoll entwerfen
AFB II–IIIFür einen Schulserver soll ein einfaches textbasiertes Anmeldeprotokoll entstehen. Der Client schickt USER name und PASS kennwort; der Server antwortet mit OK oder ERR. Angemeldete Clients dürfen LIST senden, mit QUIT wird die Verbindung beendet.
- Erstellen Sie ein Sequenzdiagramm für eine erfolgreiche Anmeldung mit anschließendem
LISTundQUIT. - Entwerfen Sie ein Zustandsdiagramm des Servers mit den Zuständen Warten auf Name, Warten auf Kennwort und Angemeldet.
- Erweitern Sie das Protokoll so, dass nach drei falschen Kennwörtern die Anmeldung 60 Sekunden gesperrt wird.
- Bewerten Sie das Protokoll im Hinblick auf die Sicherheit.
Hinweise
Hinweis zu Aufgabe a)
Hinweis zu Aufgabe b)
Hinweis zu Aufgabe c)
Hinweis zu Aufgabe d)
Erwartungshorizont
Erwartungshorizont zu Aufgabe a)
C: USER lena → S: OK · C: PASS geheim → S: OK · C: LIST → S: Dateiliste · C: QUIT → S: OK (Verbindung geschlossen).
Erwartungshorizont zu Aufgabe b)
Warten auf Name —USER x / OK→ Warten auf Kennwort. Warten auf Kennwort —PASS richtig / OK→ Angemeldet; —PASS falsch / ERR→ Warten auf Name. Angemeldet —LIST / Liste→ Angemeldet. In jedem Zustand —QUIT / OK→ Ende. Andere Befehle im falschen Zustand → ERR, Zustand bleibt.
Erwartungshorizont zu Aufgabe c)
Zähler fehler im Server; bei falschem PASS erhöhen. Bei fehler = 3: Übergang in Gesperrt, Antwort ERR LOCKED 60; alle Befehle außer QUIT → ERR. Nach 60 s zurück zu Warten auf Name, Zähler auf 0. Bei erfolgreicher Anmeldung Zähler zurücksetzen.
Erwartungshorizont zu Aufgabe d)
Kennwörter laufen im Klartext über das Netz und können mitgelesen werden. Das Protokoll ist nur in einem vertrauenswürdigen Netz vertretbar; sonst muss die Verbindung verschlüsselt werden (z. B. hybrides Verfahren, TLS). Positiv: Sperre nach Fehlversuchen erschwert das Ausprobieren von Kennwörtern.
