TOTP & Lombok bei der JUG-Darmstadt

Am 18. Mai waren Reinier Zwitserloot und Roel Spilker bei der JUG-Darmstadt und haben zusammen zwei Vorträge gehalten.
Im ersten Teil ging es um zeitbasierte OTPs (timebased one time passwords) und im zweiten Teil wurde das Java-Framework Lombok vorgestellt.
Der erste Vortrag war frei nach Shakespeare (Hamlet) inszeniert. Mit einem Prolog, drei Akten und einem Epilog.
JUG_DA_Lombok8In der Einleitung wurde erstmal erklärt was ein OTP ist und was man unter 2-Faktor-Authentifizierung versteht, was man als zweiten oder x-ten Faktor verwenden kann. Also so Dinge wie ein Mobiltelefon, Fingerabdruck, Irisscan, DNA. Es wurde jeweils erklärt, welche dieser Faktoren für die Authentifizierung geeignet sind und welche nicht.
JUG_DA_Lombok6Dann wurde auf lustige Weise auf Passwortregeln eingegangen. D.h., wie man oft gezwungen wird sich komplizierte Passwörter auszudenken, diese regelmäßig zu ändern und für jeden Dienst ein anderes Passwort zu verwenden und was dann die Folgen davon sind. (Aufschreiben, Passwort aus dem Namen ableiten, Sonderzeichen und Nummer anhängen, …)
Als Lösung wurde vorgeschlagen, dass man für den Login zusätzlich zum Passwort ein OTP benötigt, welches auf das Smartphone geschickt wird.
Als App auf dem Smartphone kann beispielsweise der Google-Authenticator verwendet werden. Damit dieser verwendet werden kann, muss initial ein QR-Code mit der App gescannt werden.
JUG_DA_Lombok5Durch das OTP, welches nur eine bestimmte Zeit gültig ist, kann man sich beispielsweise auch ohne allzu große Bedenken an einem fremdem Rechner anmelden und die E-Mails lesen.
Das ganz wurde an einer Beispielsanwendung mit ausführlichen Kommentaren im Quellcode findet man bei Github findet.
Während der Demo wurde erläutert,wie aussagekräftig Fehlermeldungen sein sollten, wenn man den falschen Benutzernamen verwendet. Was passiert, wenn man das falsche OTP eintippt, wieviele Versuche man zur Eingabe des OTP haben sollte. Was anschliessend passiert. Ab wann ein Account gesperrt wird. Wie man ihn anschliessend wieder entsperren kann.
Und wie man mit OTPs und unterschiedlichen Zeitzonen umgeht.

Im zweiten Vortrag ging es um Lombok. Ein Java-Framework, mit dem man unnötigen Boilerplate-Code vermeiden kann. Das haben die beiden auf sehr unterhaltsame Weise vorgeführt.
JUG_DA_Lombok1Sie haben eine einfache Klasse mit ein paar Variablen erstellt und dafür Getter und Setter, toString, Hashcode und equals generiert. und eine eigene Methode ergänzt. Anschliessend haben sie gezeigt, welche „Probleme“ auftreten, wenn man nur eine neue Variable ergänzt und dann alle generierten Methoden neu erstellen muss.
JUG_DA_Lombok2Als Lösung dafür haben sie Lombok vorgestellt. Mit ein paar Annotationen (@Value) werden die Methoden automatisch generiert und beim Kompilieren in den Bytecode integriert, so dass zur Laufzeit das Lombok-Framework nicht mehr benötigt wird. Anschliessend haben sie die Annotationen @Builder, @Helper und @Singular vorgestellt und die Konfiguration von Lombok erklärt.

Zusammenfassend kann ich aus meiner Sicht sagen, dass es ein unterhaltsamer Abend war, bei dem man noch das eine oder andere lernen konnte. Den Vortragsstil, bei dem Reinier und Roel immer im Gespräch waren haben ich so noch nicht gesehen und fand es erfrischend anders.

Vielen Dank an Reinier und Roel für die Vorträge und den Besuch in Darmstadt!

Kommentare sind abgeschaltet.