Smartcards für die Windows-Authentifizierung

Smartcards beginnen erst, sich durchzusetzen. Bis zur effizienten Nutzung sind aber viele administrative Schritte erforderlich.

Artikel erschienen in Swiss IT Magazine 2005/14

     

Smartcards sind Karten, die typischerweise Scheckkarten-Grösse haben und mit einem Chip versehen sind. Auf diesem Chip läuft ein Betriebssystem, das CardOS, wie es von verschiedenen Herstellern angeboten wird. Dieses Betriebssystem verwaltet die Daten, die auf der Smartcard liegen, wobei sowohl digitale Zertifikate als auch andere Informationen wie Benutzername-/Kennwort-Kombinationen dort gespeichert werden können. Der Regelfall ist aber die Verwendung von Smartcards für die Speicherung von digitalen Zertifikaten, die für die Authentifizierung und gegebenenfalls weitere Sicherheitsfunktionen wie die Verschlüsselung von Daten und E-Mails verwendet werden.


Smartcard-Infrastrukturen

Um mit Smartcards arbeiten zu können, sind einige Voraussetzungen zu erfüllen. Das beginnt beim Smartcard-Reader an den Arbeitsstationen: Ein solcher ist zwingend erforderlich. Falls er nicht integrierter Teil der Hardware ist, lassen sich externe Reader nutzen, die mittlerweile in etlichen Varianten angeboten werden. Am häufigsten sind derzeit externe Reader, die an eine USB-Schnittstelle angeschlossen werden, sowie in die Tastatur integrierte Modelle.
Die zweite zentrale Voraussetzung für den Smartcard-Einsatz ist eine PKI (Public Key Infrastructure), über die die digitalen Zertifikate erstellt und auf den Smartcards gespeichert werden. Als Minimal-Variante im Windows-Umfeld kommen dabei die Zertifikatsdienste des Windows-Server 2003 in Frage, die sich entsprechend konfigurieren lassen.
Eine solche auf den Basisfunktionen von Windows aufsetzende Infrastruktur weist allerdings einige Einschränkungen auf. Das beginnt bei der fehlenden Unterstützung für OCSP (Online Certificate Status Protocol) für Abfragen bezüglich der Gültigkeit von Zertifikaten und geht bis hin zu fehlenden Funktionen für das effiziente und sichere Ausstellen von Ersatz- und Reservekarten für Benutzer.






Für einen Einstieg in die Nutzung von Smartcards und für kleinere Umgebungen ist es aber dennoch ein überlegenswerter Ansatz, während in grösseren Umgebungen kein Weg an einer spezialisierten Smartcard-Infrastruktur wie dem in diesem Heft getesteten Secude TrustManager vorbeiführt. Microsoft hat vor längerem angedeutet, ein eigenes Produkt in diesem Bereich auf den Markt bringen zu wollen, das 2005 fertig werden sollte. Derzeit gibt es aber noch keine öffentlichen Betaversionen einer solchen Software, so dass abzuwarten bleibt, ob und wann tatsächlich ein Release erfolgt.


Nötige Vorbereitungen

Wie schon erwähnt, gibt es zwei wesentliche vorbereitende Schritte, bevor überhaupt mit Smartcards gearbeitet werden kann. Einer ist die korrekte Installation der Smartcard-Reader, wobei einer für die sogenannte Enrollment Station benötigt wird, über die von einem berechtigten Benutzer Smartcards für andere Benutzer vorbereitet werden. Es kann natürlich auch mehrere solcher Stationen geben.
Der zweite Schritt ist der Aufbau einer PKI, wobei dort gegebenenfalls mit hierarchischen Strukturen gearbeitet werden muss, um gezielt für Teilbereiche unterschiedliche Enrollment-Agents verwenden zu können. Ausserdem muss sichergestellt sein, dass die CA als vertrauenswürdige Stammzertifizierungsstelle bei den Clients, an denen eine Authentifizierung erfolgen soll, konfiguriert ist.


Unterschiedliche Zertifikatvorlagen

Im folgenden Schritt müssen die Berechtigungen für die Zertifikatvorlagen im gleichnamigen Verwaltungsprogramm festgelegt werden. Die Anwendung Zertifikatvorlagen lässt sich aus der Anwendung Zertifizierungsstelle mit dem Befehl Verwalten im Kontextmenü des Knotens Zertifikatvorlagen starten. Für die Verwendung von Smartcards werden drei verschiedene Varianten von Zertifikaten benötigt.
Die Vorlage Registrierungs-Agent wird für die Erstellung von Smartcards für andere Benutzer benötigt. Standardmässig haben nur Administratoren diese Berechtigung, wobei die Zertifikatvorlage zunächst deaktiviert ist. Deshalb muss zuerst über den Befehl Doppelte Vorlage im Kontextmenü eine Kopie dieser Vorlage erstellt werden. Diese Kopie wird automatisch als Typ Windows Server 2003 Enterprise Edition angelegt und zugelassen, kann also für die Erstellung von Zertifikaten verwendet werden.






Bei dieser Zertifikatvorlage sind die Einstellungen im Register Sicherheit von besonderer Bedeutung. Standardmässig haben die Mitglieder der Gruppe Domänen-Admins die Berechtigung Registrieren, können also auf Basis dieser Vorlage Zertifikate anfordern und diese auf den Smartcards von Benutzern speichern.
Die zweite Zertifikatvorlage, die im Zusammenhang mit Smartcards eine wichtige Rolle spielt, ist Smartcard-Anmeldung. Zertifikate dieses Typs können nur für die Authentifizierung an Windows verwendet werden. Alternativ dazu gibt es Smartcard-Benutzer, falls die Zertifikate auch für andere Aufgaben als die Authentifizierung genutzt werden sollen. Auch hier gilt wieder, dass Kopien dieser Zertifikatvorlagen erstellt werden müssen.


Die weiteren Schritte

Mit der Aktivierung der entsprechenden Zertifikatvorlagen ist die Basis für die folgenden Schritte gelegt. Ein entsprechend berechtigter Benutzer, der als Registrierungs-Agent (RA) fungiert, kann nun bei der CA Zertifikate für andere Benutzer anfordern. Das setzt voraus, dass er an einer Arbeitsstation mit einem schreibfähigen Smartcard-Reader arbeitet.





Der RA kann, wie im zweiten Teil erläutert wird, sowohl über Windows- als auch über Web-Schnittstellen auf die Zertifikatsdienste zugreifen und nach der Erstellung eines Enrollment-Zertifikats die weiteren Zertifikate für Benutzer anfordern und auf Smartcards speichern. Diese Smartcards müssen anschliessend an die Benutzer verteilt werden.
Die Sicherheit des gesamten Prozesses hängt von der korrekten Sicherheitskonfiguration der Zertifikatvorlagen und der Verteilung der Smartcards ab. Dabei ist zu beachten, dass Windows selbst einige Einschränkungen wie beispielsweise beim Management von PINs für Smartcards hat. Die PINs können beispielsweise bei jeder Anmeldung geändert werden, wobei diese Aufgabe vom CSP (Cryptography Service Provider) für die Smartcard und nicht vom Betriebssystem selbst übernommen wird. Hier hängt die verfügbare Funktionalität also von der eingesetzten Technologie ab. Der Windows Server Catalog unter http://www.microsoft.com/windows/catalog/server/default.aspx gibt einen Überblick über die mittlerweile sehr lange Liste an unterstützten Smartcard-Readern.






Die exakte Vorgehensweise für die weiteren Schritte von der Anforderung der Zertifikate bis zur Authentifizierung durch den Benutzer an Windows-Systemen wird im zweiten Teil besprochen.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Vor wem mussten die sieben Geisslein aufpassen?
GOLD SPONSOREN
SPONSOREN & PARTNER