Im letzten Artikel Webserver Login ohne Passwort ging es um die ersten Versuche, mit SSI ein passwortloses Login für einen Webservice auf dem RasPi zu bauen. Das Beispiel sollte zeigen, wie der neue Webstandard funktioniert. Für WordPress gibt es inzwischen ein Plugin von sideos, mit dessen Hilfe das Einloggen per SSI mit ein paar wenigen Einstellungen klappt. Dann kann jeder WordPress Benutzer eine Zugangs-ID bekommen und sich per QR Code Scan anmelden. Das lästige Getippe von Benutzernamen/Passwort und meist noch das Übertragen eines Pin-Codes von der 2FA App wird durch eine einfache App ersetzt.

Das Plugin installieren und einrichten

Das Plugin ist auf der WordPress Plugin Seite zum Download erhältlich, kann aber direkt auf der WordPress Admin Seite über den Menüpunkt Plugins installiert werden. Der Button Installieren führt zum WordPress Marketplace. Dort kann in der Suche der Name des Plugins eingegeben werden und anschließend installiert werden.

Nach dem Aktivieren erscheint ein neuer Menüpunkt SSI Optionen. Hier werden die Einstellungen für das Plugin vorgenommen. Die Werte für die Einstellungen erhält man in der sideos Admin-Konsole.

Nach der Installation und Aktivierung sehen die Einstellungen dann so aus:

Die Einstellungen aus dem sideos Account übernehmen

Auf der Webseite von sideos kann man sich einen kostenlosen Account einrichten. Dort finden sich auch die Links für den Download der App, in der später die Zugangsdaten gespeichert werden. Mit einem Klick auf Continue gelangt man auf die Registrierungsseite und folgt den Anweisungen. Noch den AGB zustimmen und im nächsten Schritt die Zugangsdaten für die Konsole in die App einlesen. Nach dem Einloggen wird die sideos Admin Konsole angezeigt.

Im nächsten Schritt klicke auf Credentials und wähle eine vorhandene Vorlage mit Pick from Repository. Dort findet sich eine WordPress Vorlage, die ausgewählt und mit einem Klick auf Confirm zu den eigenen Vorlagen hinzugefügt wird.

In der Liste wir nun die ID der Vorlage anzeigt, zB 25. Diese ID wird in das Feld Template ID in den SSI Optionen in WordPress eingegeben.

Gehe nun zu den Settings und dann Company Settings. Dort findet sich die Company DID, welche in das Feld SSI DID in den SSI Optionen eingegeben wird.

Als nächstes klicke auf Reset Token und übernimm den Wert in das Feld SSI Sideos Token in den SSI Optionen.

Gehe nun zurück in die WordPress Admin Einstellungen und prüfe, ob alle Werte in die SSI Optionen eingegeben wurden. Die Einstellung für die SSI Proxy URL sollte schon vorausgefüllt sein mit dem Wert https://wplogin.sideos.io.

Die Zugangsdaten an den Benutzer versenden

Wenn alle Einstellungen eingetragen sind können die Aktivierungsdaten mit einem Klick auf Zugangsdaten versenden per Email an die Benutzer versandt werden. Die Aktivierungsdaten werden dann als QR Code in der Email angezeigt und sind 1 Tag lang gültig. Wenn der Benutzer die Aktivierungscodes mit der sideos App eingescannt, werden die Zugangsdaten mit dem Smartphone verknüpft. Ab sofort kann der Benutzer sich am WordPress Konto mit der sideos App einloggen.

Die Zugangsdaten enthalten die Email Adresse des Benutzers und die Domain des WordPress Servers. Sie werden beim ersten Einloggen mit dem DID des Benutzers verknüpft und sind dann nur für diesen Benutzer mit diesem Smartphone auf diesem Server gültig. Da beim Einloggen alle diese Daten stimmen müssen und zusätzlich noch geprüft wird, ob der Server echt ist und die Zugangsdaten „frisch“, wird ein so genannter account-take-over (Hacken ins Konto) echt schwierig. Die DID des Benutzers ist in den WordPress Admin Einstellungen im Menüpunkt Benutzer zu finden:

Fazit

Das Umschalten von Benutzername und Passwort auf ein sicheres und modernes QR Code Login in das WordPress Konto ist mit dem sideos Plug ziemlich einfach. Das Plugin erspart einem nicht nur die lästige Tipperei, sondern erhöht auch das Sicherheitsniveau wesentlich. Auf die 2FA Apps wie den Google Authenticator, die sicherheitstechnisch nicht viel bringen, da man die Codes ja in jeden Fake-Server eingeben kann, kann man sich dann auch sparen. SSI ist mehr als nur eine QR Code Variante eines Passworts. Unter der Haube läuft eine Menge Kryptografie und Sicherheits-Checks zu Server, Smartphone und dynamischen Zugangsdaten. Außerdem wird der Benutzer immer eingebunden, wenn die Zugangsdaten geteilt werden. Und weil die Zugangsdaten nur geprüft aber nichts davon auf dem Server gespeichert wird, kann man auch keine Zugangsdaten aus dem Server stehlen.

Disclaimer

Man kann wahrscheinlich meine Begeisterung für sideos aus den Artikeln rauslesen. Das liegt daran, dass ich der CEO von sideos bin und ich den Service auch für meine eigenen Projekte benutze. Das Elend aus Benutzername und Passwort war einfach zu unpraktisch und ich werde jetzt einfach mal die Welt retten und SSI in alles einbauen, wo Daten sicher hin und hergeschickt werden müssen. SSI kann nämlich noch viel mehr als Login, es ist für alles gut, wo ein Empfänger den Daten von einen fremden Absender vertrauen muss. Dazu später mehr, da sich der RasPi perfekt für Experimente mit SSI eignet.