In diesem Blogpost geht es um die Integration der kommerziellen 2FA-App SecSign ID in Keycloak. Vorab lohnt es sich, unseren Blogpost Push-Authentifizierung per Mobile-App mit Keycloak zu lesen, um ein generelles Verständnis darüber zu bekommen, wie eine Push-Authentifizierung in Keycloak umgesetzt wird.
Vorteile der SecSign ID App
Der große Vorteil der SecSign ID App ist, dass sie eine Push-Authentifizierung abbildet und der Hersteller ein Plugin für Keycloak bereitstellt. Damit lässt sich die App aus Keycloak heraus direkt nutzen. Weitere Informationen zur App finden sich auf der Hersteller-Website: https://www.secsign.com/.
Voraussetzungen: SecPKI-Server als Mediator
Wie bereits im Blogpost zur Push-Authentifizierung per Mobile-App mit Keycloak beschrieben, benötigt die App einen Mediator. Bei SecSign ID ist dies der sogenannte SecPKI-Server. Leider reicht die Demoversion auf der Herstellerseite nicht aus, da für den Betrieb ein administrativer Zugriff auf den SecPKI-Server erforderlich ist. Um den Server mit Keycloak zu verbinden, muss eine Vertrauensstellung zwischen der Keycloak-Instanz und dem SecPKI-Server eingerichtet werden. Dies ist nur über die Administration des SecPKI-Servers möglich. Daher ist eine Kontaktaufnahme mit dem Hersteller notwendig, um eine Testinstanz mit kommerziellem Interesse zu erhalten.
Installation und Konfiguration
Trotz dieser Hürde bietet die Lösung einen erheblichen Mehrwert, da die Integration durch das bereitgestellte Plugin sehr einfach ist. Die Schritte zur Einrichtung sind wie folgt:
- SecPKI-Server in Betrieb nehmen
- Voraussetzung ist, dass der Mediator (SecPKI-Server) installiert und funktionsfähig ist
- Herunterladen des Keycloak-Plugins
- Das Keycloak-Plugin von SecSign ID kann hier heruntergeladen werden: https://www.secsign.com/developers/keycloak-two-factor-authentication/
- Der Quellcode ist unter GNU GENERAL PUBLIC LICENSE auf GitHub verfügbar: GitHub Repository.
- Installation des Plugins in Keycloak
- Die bereitgestellte .jar-Datei wird in den providers-Ordner von Keycloak kopiert
- mit folgendem Befehl wird die neue jar-Datei in Keyclaok eingebunden:
kc.sh build - Nach dem Build-Prozess steht im Flow-Editor von Keycloak ein neuer Authentifizierungs-Step namens SecSign ID zur Verfügung
- Einbindung des SecSign ID Steps in Keycloak
- Der SecSign ID Step sollte im browser-flow integriert werden
- In den Einstellungen des SecSign ID Steps werden folgende Parameter hinterlegt
- URL zum SecSign ID Server
- Pin Account User und Pin Account Passwort (Diese dienen der HTTP-Basic Authentifizierung gegenüber dem SecSign ID Server)
- Die Zugangsdaten müssen ebenfalls im SecSign ID Server konfiguriert werden
- Zusätzlich sollte die Option „Wiederherstellung aktivieren bei Neuanlage einer SecSign ID“ im Admin-Interface des SecSign ID Servers deaktiviert werden

Anmeldeprozess mit SecSign ID
Nach der Einrichtung erfolgt die Authentifizierung der Nutzer über die SecSign ID App folgendermaßen:
- Erstanmeldung:
- Der Nutzer meldet sich mit Benutzername/Passwort an und wird aufgefordert, die SecSign ID App zu aktivieren
- Die Aktivierung erfolgt über ein QR-Code-Pairing in der SecSign ID App


- Authentifizierung mit Access Pass
- Nach der Aktivierung kann sich der Nutzer künftig über Access Pass authentifizieren
- Dabei werden zufällige Bilder auf der Keycloak-Anmeldeseite und in der SecSign App angezeigt
- Der Nutzer gleicht die Bilder ab und bestätigt so seine Anmeldung
- Dies ist eine nutzerfreundlichere Alternative zu numerischen Codes wie in der Microsoft Authenticator App


Fazit
Die Integration der SecSign ID App in Keycloak ist gut durchdacht und mit wenigen Schritten umsetzbar. Die Hauptvoraussetzung ist die Verfügbarkeit eines SecPKI-Servers mit administrativem Zugriff. Ist dies gegeben, ermöglicht die Lösung eine benutzerfreundliche und sichere 2FA-Authentifizierung per Push-Verfahren.
Ein besonderer Vorteil der SecSign ID App ist, dass sie auch als Desktop-Version angeboten wird. Dadurch kann die Push-Authentifizierung nicht nur über mobile Geräte, sondern auch über eine Desktop-App erfolgen – ein einzigartiges Feature. Dies ist insbesondere für Unternehmen interessant, in denen die mobile Authentifizierung problematisch ist, weil nicht alle Mitarbeiter ein Diensthandy besitzen..
