Seitenkanal-Attacken (auch side-channel attacks genannt) sind eine eher neuere Erscheinung. Sie versuchen sich mit einer völlig anderer Herangehensweise. Anstatt das Verschlüsselungsverfahren als solches anzugreifen, wird die konkrete Implementation oder Umsetzung genauer untersucht. Können wir messen, wie lange ein Chip rechnet, um die Verschlüsselung durchzuführen? Wie hilft uns dies weiter? Wie können wir einem System mit Timing-Attacken eigentlich sensitive Informationen entlocken?

Aufträge
Vorbereitung
- Macht euch mit dem Begriff der Seitenkanal-Angriffe vertraut.
- Betrachtet das gegebene Gerät und testet durch Ausprobieren die implementierte Caesar-Verschlüsselung.
Praktische Arbeit
- Die zentrale Frage: Mit welchem Schlüssel ist der Text verschlüsselt?
- Ihr dürft ausnahmsweise nicht die üblichen Methoden anwenden, um die Nachricht zu knacken. Hier geht es darum, dass das micro:bit mit physikalischen Mitteln untersucht wird, um an den Schlüssel zu gelangen.
Präsentation
- Bereitet eine Präsentation vor, die 15 Minuten (plus 5 Minuten für Fragen) dauert. Sie soll die benötigte Theorie, eigene Überlegungen, das Programm und die Erkenntnisse der Klasse näherbringen.
Zusatzaufträge
Webseiten zeigen bei einem falschen Login häufig die Meldung an «Benutzername oder Passwort falsch». Lässt sich herausfinden, welcher der beiden Fälle zutrifft (sprich: hat eine Zielperson ein Benutzerkonto bei einem bestimmten Dienst)? Wie könnten wir das angehen?
Vorbereitung
- Überlegt, wie euch Timing-Attacken helfen könnten, die Frage zu beantworten.
- Entwerft ein Konzept für ein Programm und stellt es uns vor:
- Wie soll das Programm beim Angriff vorgehen?
- In welchen Schritten wollt ihr beim Programmieren vorgehen, so dass ihr schnell eine brauchbare Ausgabe erhaltet?
- Welche Zusatzkenntnisse braucht ihr noch?
Benutzerkonten bei Online-Diensten
- Findet heraus, welche der vorgegebenen Accounts auf dem Server wirklich existieren, indem ihr ein Programm schreibt, das eure Idee umsetzt.
- Bibliothek requests
Material micro:bit
micro:bit 1
Dieses micro:bit enthält das «scharfe» Programm, das direkt gestartet wird, sobald man das micro:bit mit Strom versorgt.
Hier gilt es, Folgendes herauszufinden:
- Primär: Den Schlüssel, der verwendet wird.
- Sekundär: Die geheime Nachricht (kann ja dann einfach mit dem Schlüssel entschlüsselt werden).
Start
- Eine Uhr dreht und das Programm wartet auf die Aktivierung.
Taste A oder Taste B
- Es wird für 1s ein Gutzeichen angezeigt.
- Die geheime Nachricht wird mit einem Schlüssel verschlüsselt. Dabei wird jeder Buchstabe des Geheimtextes für 10s angezeigt.
- Am Schluss ist ein Gutzeichen sichtbar.
micro:bit 2
Dieses micro:bit enthält ein Test-Programm, das direkt gestartet wird, sobald man das micro:bit mit Strom versorgt.
Mit dem Programm kann die Caesar-Chiffre ausprobiert und die Auswirkungen des Schlüssels auf den Verschlüsselungsprozess gemessen werden.
Start
- Der Buchstabe «A» wird angezeigt.
Taste A
- Der angezeigte Schlüssel wird bei jedem Tastendruck um eins hochgezählt.
Taste B
- Der angezeigte Schlüssel wird gespeichert und es wird für 1s ein Gutzeichen angezeigt.
- Nun beginnt die Verschlüsselung der gespeicherten Nachricht. Dabei wird jeder Buchstabe des Geheimtextes für 10s angezeigt.
- Am Schluss ist wieder ein Gutzeichen sichtbar.
Reset-Taste
- Das Programm beginnt von vorne.
Hinweis
Selbstverständlich wird hier ein anderer Klartext verwendet.
micro:bit 3
Dieses micro:bit kann für eigene Tests verwendet werden. Es enthält kein Programm und kann mit Thonny programmiert werden.
Hinweis
In Thonny muss der Interpreter umgestellt werden:
- Menü Run anklicken.
- Menü-Eintrag Select Interpreter… wählen.
- Im obersten Dropdown den Eintrag MicroPython (BBC micro:bit) auswählen und das Menü mit OK schliessen.
Hinweis
Jedesmal, wenn das micro:bit neu angeschlossen wird (oder ein Fehler passiert), kann es durch Drücken des roten Stop-Buttons in Thonny zurückgesetzt werden.
Das mirco:bit ist bereit, wenn in der Shell (Fensterbereich unten in Thonny) Folgendes angezeigt wird:
MicroPython v1.9.2-34-gd64154c73 on 2017-09-01; micro:bit v1.0.1 with nRF51822
Type "help()" for more information.
>>>2
3
LoggerPro
Die Software ist auf den Schul-Notebooks installiert und kann die Spannung in selbst gewählten Zeitintervallen messen und aufzeichnen.
Material Web-Login
Webseite
- schlechte Variante
- bessere Variante
- gute Variante
Benutzernamen
Bekannte Benutzer*innen
Benutzername: u1273
Passwort: computer42
Vermutete Benutzer*innen
u7787
u3691
u8423
u1524
u2144
u6172