zurück zum Artikel

Smartcard-Authentifizierung bei der Nordrheinischen Ärzteversorgung

| Dr. Peter Koch

Seit vier Jahren sorgt eine aus Open-Source-Komponenten selbst entwickelte Lösung für die sichere Authentifizierung der Mitarbeiter – ein maßgeschneidertes System, das im Vergleich mit kommerziellen Produkten auch noch Geld spart.

Seit vier Jahren melden sich die Mitarbeiter der Nordrheinischen Ärzteversorgung [1] an allen Systemen ausschließlich mit ihrem als Smartcard implementierten Mitarbeiterausweis an. Alle Anwendungen greifen bei der Anmeldung auf den in der Tastatur eingebauten Kartenleser und die dort befindliche Smartcard zu. Die Smartcard selbst muss der Benutzer zuvor durch die Eingabe einer 6-stelligen PIN freischalteten.

Dieses Verfahren hat die Datensicherheit bei der Nordrheinischen Ärzteversorgung im Vergleich zur herkömmlichen Anmeldung mit Kennwort deutlich erhöht. Für die Mitarbeiter ist die Smartcard zudem bequemer als das Jonglieren mit vielen unterschiedlichen Passwörtern.

Da bei der Suche nach einer sicheren Alternative zur traditionellen Anmeldung per Passwort keine kommerzielle Lösung den Anforderungen der Nordrheinischen Ärzteversorgung genügte, griff das IT-Team in die Werkzeugkiste und erstellte ein eigenes System, das auf der freien Software OpenSSL und OpenSC aufsetzt. Das Vorgehen hat gegenüber einer kommerziellen Lösung deutlich Kosten gespart und eine maßgeschneiderte Lösung möglich gemacht, die höchsten Ansprüchen gerecht wird.

Die Zielsetzung des Projektes "Authentifizierung mittels Mitarbeiterausweis" bestand darin, alle Passwort-Anmeldungen durch ein einheitliches, sicheres, aber dennoch einfach handhabbares Authentifizierungsverfahren zu ersetzen. Man hätte im Prinzip auch schwierig zu erratende Kennwörter erzwingen und die Anwender nötigen können, ihre Passwörter periodisch zu ändern. Das eigentliche Problem jedoch – das Ausspähen oder Weitergeben von Kennwörtern – lässt sich auf diese Art allerdings nicht lösen.

Daher war ein Zwei-Faktor-Verfahren – der Besitz eines einmaligen Gegenstandes plus die Kenntnis einer PIN – das Mittel der Wahl. Die wesentlichen Anforderungen an das neue System waren:

Nach einem CeBIT-Besuch, diversen Gesprächen mit Anbietern und einigen Probeinstallationen war klar, dass unsere Sicherheitsanforderungen alle verfügbaren kommerziellen Produkte vor unüberwindbare Probleme stellten. Vielfach kam der Hinweis, dass man so viel Sicherheit nicht wirklich brauche und man erst einmal mit einer kleinen Lösung anfangen könne, etwa einer Windows-Anmeldung an einem Active Directory mit Smartcard-Unterstützung. Die anderen Anwendungen und Systeme würde man dann im Rahmen von weiteren Projekten anbinden.

Hinzu kam, dass die Erfahrungen bei Probeinstallationen das Vertrauen des IT-Teams in die kommerziell verfügbaren Lösungen hinlänglich erschütterten. So konnte man beispielweise Produkte, die angeblich die PIN-Eingabe sicher schützen, durch simples Umändern eines Eintrages in der Windows-Registry von Debug=0 in Debug=255 dazu bewegen, die PIN freiwillig in eine Logdatei zu schreiben. Das Fazit der IT-Abteilung: Eine wirklich sichere Lösung erhält man nur dann, wenn man sich persönlich von der Funktionalität der Software überzeugt. In letzter Konsequenz benötigt man den Quellcode, um sich mit eigenen Augen davon zu überzeugen, was die Software macht.

Eine weitere Schlussfolgerung war, dass es für die IT-Umgebung der Nordrheinischen Ärzteversorgung (nur Unix-Server, Samba als Domänencontroller für die Windows-Clients, Microsoft-Produkte nur an den W2K-Arbeitsplätzen, aber auch dort kein IE oder Outlook) offenbar sowieso keine fertige Lösung gab. Das reduzierte die verfügbaren Optionen auf zwei: Aufgeben oder selber programmieren.

Letzteres war dann überraschend einfach: Mit OpenSSL und OpenSC standen zwei freie Software-Pakete zur Verfügung, die alle wesentlichen Bestandteile für ein sicheres Anmeldesystem enthielten. OpenSSL liefert alles, was man braucht, wenn man mit asymmetrischer Kryptographie und Zertifikaten arbeiten will. OpenSC sorgt für die Middleware zum Zugriff auf Smartcards. Beide Produkte mussten "nur noch" zusammengeschmiedet und mit den vorhandenen Anwendungen über Schnittstellen verbunden werden.

Schnittstellen gab es reichlich. Glücklicherweise waren die meisten entweder standardisiert oder durch Beschreibungen und Beispiel-Quelltexte im Internet dokumentiert. Die eigentliche Arbeit bestand somit weniger in der Programmierung als vielmehr in der Einarbeitung in diverse unterschiedliche Vorgehensweisen und Standards im Smartcard-Umfeld.

Die Frage, welchen Gegenstand man als Authentifizierungs-Token einsetzen sollte, hatte sich indessen während der Vorbereitungsarbeiten erübrigt. Anlässlich eines Umzugs der Nordrheinische Ärzteversorung im Jahr 2003 bekamen alle Mitarbeiter einen neuen Mitarbeiterausweis in die Hand gedrückt. Der enthielt einen Crypto-Chip für die spätere Anmeldung am PC, für den man sich nach dem Motto "Wenn die Software, die diesen Chip benutzen soll, noch nicht feststeht, nehmen wir den Chip mit der besten frei verfügbaren Dokumentation" entschieden hatte. Dieses Auswahlkriterium hat sich in der folgenden Zeit dann auch sehr ausgezahlt.

Bei den Schnittstellen, die implementiert werden mussten, stellte sich die Situation wie folgt dar:

Bei der Implementation der genannten Schnittstellen (und einiger weiterer, siehe hierzu die Grafik) erwies sich die Koordination zwischen den unterschiedlichen Schnittstellen zuweilen als Problem. So sieht der PKCS#11-Standard zwar den gleichzeitigen Zugriff mehrerer Anwendungen auf die Smartcard zu, aber nur, wenn alle Anwendungen auch das PKCS#11-API benutzen. Bei der Nordrheinischen Ärzteversorgung musste aber ein den GSS-API-Standard benutzendes SAP-GUI mit einem den PKCS#11-Standard benutzenden Mozilla-Browser zusammenspielen und das Ganze auf einem W2K-Arbeitsplatz, dessen Bildschirmschoner ebenfalls mit der Smartcard kommunizieren muss.

Schnittstellen zu Anwendungen und Systemen

Schnittstellen zu Anwendungen und Systemen

Bei der Auswahl des Mitarbeiterausweises hatte das Team die OpenSC-Unterstützung für diese Smartcard nur sehr oberflächlich überprüft. 2003 unterstützte OpenSC zwar bereits das Betriebssystem des in dieser Karte enthaltenen Crypto-Chips (TCOS 2.0), aber leider nicht das spezielle Karten-Layout der ausgewählten Smartcard (NetKey E4 Card). Dieses Problem brachte einen wesentlichen Vorteil von freier Software zu Tage: Wenn etwas fehlt, kann man es – entsprechende Kenntnisse vorausgesetzt – selbst hinzufügen. Und so wurde der Autor dieses Artikels über Nacht Mitglied des OpenSC-Entwicklerteams, konnte Dank der vorhandenen Karten-Dokumentation den für sein eigenes Projekt erforderlichen Treiber erstellen und ist seit 2004 innerhalb des OpenSC-Projektes für TCOS-basierte deutsche Signaturkarten zuständig.

Insgesamt hat sich der Aufwand mehr als bezahlt gemacht. Die Lösung erfüllt alle Anforderungen der Nordrheinischen Ärzteversorgung und sucht nach wie vor – fast vier Jahre nach ihrer Fertigstellung – ihresgleichen im kommerziellen Umfeld.

Die auf freie Software aufbauende Lösung hat sich als sehr flexibel erwiesen, auch in Zusammenhang mit weiteren kommerziellen Produkten, die bei der Erstellung im Jahr 2004 noch nicht im Einsatz waren. So konnte sich die Nordrheinische Ärzteversorgung für ein Produkt zur Erstellung von signierten PDF-Dateien (die Aloaha PDF Suite) entscheiden, weil der Anbieter es in kürzester Zeit an das Anmeldesystem anpassen konnte. Derzeit führt die Nordrheinische Ärzteversorgung ein Dokumenten-Management-System ein, das auf einem Produkt des niederländischen Anbieters BCT basiert. Zu den verbindlichen Auswahlkriterien gehörte die Unterstützung des Authentifizierungsverfahrens; für den Hersteller der Software, die bis zu diesem Zeitpunkt keine Smartcard-Anmeldung unterstützte, war es kein Problem, diese Funktion kurzfristig nachzurüsten.

Anfang des Jahres entschied sich die Nordrheinische Ärzteversorgung mit OpenVPN (Version 2.1) für eine VPN-Lösung, die ebenfalls die Authentifzierung mittels Smartcard unterstützt. Zusätzlich beabsichtigt die Einrichtung, zukünftig die Datensicherungen ihrer Mitarbeiter so zu verschlüsseln, dass sie nur noch mit den Mitarbeiterausweisen oder einem Notfallschlüssel wieder entschlüsselt werden können.

Wir sind uns sicher, dass die Integration der Authentifizierungs-Software in diese zusätzlichen Produkte weitaus komplizierter wäre, hätte man sich vor einigen Jahren für eine proprietäre Lösung entschieden. Sowohl fertige freie Software als auch freie Projekte, die vor einem Einsatz erst noch angepasst werden müssen, werden seitdem immer als Alternative zu kommerziellen Produkten in Erwägung gezogen. Die nachfolgende Liste der bei der Nordrheinischen Ärzteversorgung eingesetzten Open-Source-Software zeigt, dass diese Vorgehensweise auch in einigen anderen IT-Bereichen zum Einsatz von quelloffener Software geführt hat.

Eingesetzte Open Source Software

Über die Nordrheinische Ärzteversorgung

Die Nordrheinische Ärzteversorgung wurde im Jahr 1958 als Einrichtung der Ärztekammer Nordrhein gegründet. Sie gehört zum System der ersten Säule der Alterssicherung für den ärztlichen Berufsstand im Bezirk Nordrhein. Die Ärzteversorgung hat die Aufgabe, ihren Mitgliedern und sonstigen nach der Satzung zum Empfang von Leistungen Berechtigten eine adäquate Alters-, Berufsunfähigkeits- und Hinterbliebenenversorgung zu gewähren. Derzeit verwaltet die Nordrheinische Ärzteversorgung die Daten von rund 43.000 Mitliedern.

Kontakt

Dr. Peter Koch
Nordrheinische Ärzteversorgung
Abteilung EDV
Tersteegenstrasse 9
40474 Düsseldorf

heise.pkoch@dfgh.net
+49(0)211 4302-1294
(akl [2])


URL dieses Artikels:
https://www.heise.de/-221525

Links in diesem Artikel:
[1] http://www.naev.de/
[2] mailto:akl@ix.de