Morse Authentification

January 29, 2018 Constanze Ellmauer

Morse Authentification

Idee:

Bei diesem Projekt ging es darum sich bei einem Webserver zu authentifizieren. Es wird das Gerät von dem aus sich der User verbindet durch die IP verifiziert und der User selbst muss seine Identität durch ein 3 Buchstaben langes Kürzel, das durch Morsecode eingegeben wird bestätigen.

Umsetzung:

Das Projekt wurde mit einem NodeMCU Mikrocontroller, 3 Tastern, 3 LEDs, einem Piezo und der Arduino IDE umgesetzt. Der NodeMCU wird als Webserver verwendet. Sobald er gestartet ist wartet er auf eine Verbindung von einem Client. Wenn diese kommt vergleicht er die IP des Clients mit einem Array aus erlaubten IP Adressen. Sollte die IP nicht in seinem Array sein, wird die Verbindung sofort gestoppt und die Seite ist nicht abrufbar. In der Console des Servers erscheint eine Meldung, dass es einen unautorisierten Verbindungsversuch gegeben hat. Wenn die IP aber gültig ist wird der User aufgefordert seine ID via Morsecode zu vermitteln. Dies wird auch durch die orange LED angezeigt: der Controller erwartet eine Eingabe.

Der Mikrocontroller akzeptiert jetzt den Input der Buttons. Mit dem ersten kann gemorst werden, also kurze und lange Töne eingegeben werden die in ein Array gespeichert werden. Sobald der zweite Knopf “send” gedrückt wird wird die Abfolge aus kurzen und langen Tönen mit einer HashMap verglichen und so in Buchstaben umgewandelt. Diese ergeben dann das Kürzel mit dem sich der User authentifizieren kann. Der letzte Knopf bietet die Möglichkeit, entweder die kurzen und langen Töne zu resetten wenn er einmal kurz bedient wird, oder, mit einem langen Drücken, das ganze Buchstabenkürzel zurückzusetzen, sollte man einen Fehler gemacht haben.

Wenn das Kürzel akzeptiert wird, wird der Zugang zur Seite freigegeben, statt der orangen leuchtet die grüne LED. Sollte das Kürzel ungültig sein wird die Verbindung abgebrochen und keine weitere Eingabe ist möglich. Dies wird auch durch die rote LED gekennzeichnet.

 

 

, electronics, Uncategorized