Smartcard, TPM & Softwarezertifikat – welche Zertifikatslösung passt zu meinem Unternehmen?

Zertifikatsbasierte Authentifizierung in Keycloak eignet sich besonders für Szenarien, in denen Benutzer oder Geräte eindeutig und sicher identifiziert werden sollen – etwa mit klassischen Smartcards, virtuellen Smartcards oder auch Softzertifikaten, die zentral auf Clients ausgerollt werden. Besonders beliebt ist letzteres in Active-Directory-Umgebungen mithilfe von Microsofts Zertifikatsdienste (Certificate Enrollment). In diesem Beitrag beleuchten wir verschiedene Möglichkeiten zur Umsetzung sowie deren Vor- und Nachteile aus Entscheiderperspektive.

1. Smartcard – Sicherheit pur, aber mit Aufwand

Smartcards gelten als die sicherste Form der zertifikatsbasierten Authentifizierung. Der private Schlüssel wird auf einem physischen Token gespeichert, das nur mit Besitz und optionaler PIN-Nutzung zugänglich ist. Diese Methode ist in sicherheitskritischen Bereichen wie Behörden, Militär oder der KRITIS-Infrastruktur weit verbreitet.

Allerdings ist die Einführung von Smartcards mit erheblichem Aufwand verbunden. Es müssen Prozesse für die Ausgabe, Kodierung, Sperrung und Rückgabe der Karten etabliert werden. Zusätzlich wird spezielle Middleware benötigt, um die Karten in Betriebssysteme und Anwendungen zu integrieren. Auch müssen entsprechende Lesegeräte angeschafft werden, die per USB oder NFC funktionieren können. Besonders zu beachten ist, dass für die Verwaltung der Smartcards in der Regel kommerzielle Softwareprodukte erforderlich sind, die mit nicht unerheblichen Lizenzkosten verbunden sein können.

Zusammengefasst: Smartcards bieten sehr hohe Sicherheit, erfordern aber einen organisatorischen und finanziellen Aufwand, der für viele Szenarien zu hoch ist.

2. Virtuelle Smartcard (VSC) – TPM statt Plastik

Eine virtuelle Smartcard ersetzt das physische Token durch einen kryptografisch geschützten Bereich auf dem Endgerät, nämlich im sogenannten Trusted Platform Module (TPM). Das TPM ist ein spezieller Sicherheitschip, der bei modernen PCs und Laptops standardmäßig verbaut ist. Der private Schlüssel bleibt dabei jederzeit sicher im TPM gespeichert und kann nicht exportiert werden.

In Active-Directory-Umgebungen lassen sich Zertifikate für virtuelle Smartcards vollautomatisch per Gruppenrichtlinien und Autoenrollment verteilen. Der Nutzer bekommt davon in der Regel nichts mit und profitiert dennoch von einer starken, hardwaregestützten Authentifizierung. Da keine physische Karte ausgegeben werden muss, entfällt auch ein Großteil des logistischen Aufwands.

Virtuelle Smartcards bieten somit eine moderne und praxistaugliche Lösung, die Sicherheit und Benutzerfreundlichkeit gut miteinander verbindet – besonders in Windows-basierten Unternehmensumgebungen.

3. Softwarezertifikate – komfortabel, aber mit Einschränkungen

Bei Softwarezertifikaten werden Zertifikat und privater Schlüssel lediglich im Benutzerzertifikatsspeicher oder als Datei auf dem Gerät abgelegt. Diese Variante ist besonders einfach zu handhaben und lässt sich in Active-Directory-Umgebungen sehr bequem über Autoenrollment oder Gruppenrichtlinien auf viele Clients ausrollen.

Ein großer Vorteil ist die hohe Benutzerfreundlichkeit: Die Zertifikate sind sofort verfügbar, eine zusätzliche Hardware ist nicht notwendig. Kombiniert man Softwarezertifikate beispielsweise mit Kerberos, lassen sich damit sehr komfortable SSO-Lösungen realisieren. Für den Einsatz im internen Unternehmensnetz kann das eine praktikable Lösung sein.

Allerdings fehlt bei Softwarezertifikaten jegliche Hardware-Absicherung. Das macht sie anfälliger für Diebstahl oder Missbrauch, insbesondere auf kompromittierten Endgeräten. Für den Zugriff auf sensible Systeme von außen (z. B. via Internet) sind sie daher nicht geeignet.

4. Zertifikate lassen sich flexibel kombinieren

Ein großer Vorteil von Keycloak ist die Möglichkeit, verschiedene Authentifizierungsmechanismen zu kombinieren und so unterschiedliche Sicherheitsstufen abzubilden. Zertifikate lassen sich nicht nur als alleinige Authentifizierungsmethode einsetzen, sondern auch mit weiteren Verfahren wie Passwort, Einmalpasswort (OTP) oder Kerberos verbinden.

Ein typisches Szenario ist die Zwei-Faktor-Authentifizierung, bei der Nutzer neben ihrem Passwort auch ein Zertifikat vorlegen müssen. Ebenso kann ein OTP per App oder Hardware-Token ergänzend genutzt werden. In Windows-Umgebungen bietet sich auch die Kombination mit Kerberos an, was besonders komfortabel ist: Innerhalb des Unternehmensnetzwerks reicht häufig ein gültiges Kerberos-Ticket, um sich nahtlos anzumelden.

Noch interessanter wird es mit sogenannten Conditional Flows in Keycloak. Diese erlauben es, abhängig vom Kontext unterschiedliche Authentifizierungsmethoden zu verlangen. So kann etwa im internen Netzwerk allein Kerberos ausreichen, während von extern zusätzlich ein Zertifikat verlangt wird. Dadurch lässt sich Sicherheit gezielt verstärken, ohne dabei die Benutzerfreundlichkeit für interne Nutzer unnötig zu beeinträchtigen.

5. Warum ein Reverse Proxy fast immer die bessere Wahl ist

In der Praxis wird Keycloak häufig hinter einem Reverse Proxy betrieben, etwa mit NGINX oder Apache HTTPD. Das ist nicht nur aus Sicherheits- und Architekturgründen sinnvoll, sondern bietet auch bei der Verwendung von Zertifikaten viele Vorteile.

Ein zentraler Aspekt ist das sogenannte TLS-Offloading: Der Reverse Proxy übernimmt die komplette TLS-Kommunikation – einschließlich der Client-Zertifikatsprüfung – und leitet die relevanten Daten per HTTP-Header (z. B. X-SSL-Client-Cert) an Keycloak weiter. Dadurch wird Keycloak selbst entlastet, muss keine Zertifikatsabfragen mehr handhaben und kann sich ganz auf die Authentifizierungslogik konzentrieren.

Zusätzlich erhält man über den Proxy eine Vielzahl von Steuerungsmöglichkeiten: Es lassen sich sehr feingranulare Regeln definieren, welche Zertifikate akzeptiert werden, wie Raten begrenzt oder IPs gefiltert werden sollen. Auch CRL-Prüfung, OCSP-Checks oder umfassendes Logging lassen sich zentral im Proxy abbilden.

Lust auf mehr Technik? Hier geht’s weiter

Wenn du dich für die konkrete technische Umsetzung interessierst, empfehlen wir unseren separaten Blogbeitrag mit einer ausführlichen Schritt-für-Schritt-Anleitung. Dort zeigen wir, wie du zertifikatsbasierte Authentifizierung in Keycloak praktisch einrichtest – inklusive Truststore, Authentifizierungs-Flow und Proxy-Konfiguration.

➡️ Zum technischen Leitfaden: Zertifikatsbasierte Authentifizierung mit Keycloak – Schritt für Schritt

Nach oben scrollen