Wissen ist Macht, das gilt auch heute noch für viele sicherheitsrelevante Systeme. Dabei bietet der bloße Passwort-Sicherheitsmechanismus bei genauerer Betrachtung nur in den wenigsten Fällen ausreichende Sicherheit. Jedermann könnte sich durch bloße Kenntnis der Benutzer-Passwort-Kombination gegen das Zielsystem authentifizieren. Angriffsvarianten wie Brute Force, Sniffing, Replay Attacks oder das Benutzen eines Hard- oder Software-basierten Keyloggers stellen für sensible Datenbestände eine ernsthafte Bedrohung dar. Üblicherweise erweitern Admins in solchen Bereichen die Sicherheit ihrer Systeme durch eine zusätzliche Komponente, den physikalischen Besitz eines Hard- oder Software-Token.
Neben zahlreichen proprietären Varianten steht seit Kurzem auch das freie Lin OTP [1] des Darmstädter Herstellers Lsexperts zur Verfügung. Der Software-Architektur entsprechend funktioniert es mit allen HMAC-OTP-Tokens [2], offiziell unterstützt es die Hardware des Marktführers Aladdin, Etoken-NG OTP [3], Etoken PASS [4], auch das Safeword Alpine [5] ist erfolgreich im Einsatz.
Mobile OTPs
Nahezu jedes Mobiltelefon mit Java-Unterstützung lässt sich darüber hinaus mit Mobile OTP von LSE in ein Token verwandeln. Die Authentifikation geschieht durch zwei Faktoren: den festen Passwortanteil und den vom Token generierten OTP-Wert. HMAC-OTP ist ein in RFC 4226 [2] definierter Standard, nach dem Lin OTP unter Zusammenarbeit von Hashfunktionen, eines Counters und eines geheimen Schlüssels das Einmalpasswort generiert. Sowohl der geheime Schlüssel als auch der Counter für jeden Benutzer landen im Backend, aber auch auf dem mobilen Token für die Initialisierung.
Der Aufbau von Lin OTP ist in der aktuellen Form noch recht statisch (siehe Abbildung 1) und setzt einen Open-LDAP- Server voraus. Das Freeradius-Modul »rlm_linotp« nutzt das LDAP-Backend als Informationsträger und stellt gleichzeitig den Authentifikationsmechanismus für die Applikationen bereit.
Abbildung 1: Lin OTP in Version 1.3: Otpadm verwaltet die Tokens und speichert die Daten in Open LDAP. Freeradius erledigt die Authentifizierung für Applikationen gegen das LDAP-Verzeichnis.
Als Administrationswerkzeug kommt bei der Enterprise Edition das
CLI-basierte »otpadm« zum Einsatz, das die Tokens
initialisiert, resynchronisiert und sperrt. Bei der Community
Edition hilft das Python-Skript »pyotpinit« bei der
Initialisierung. Dem sicherheitsbewussten Administrator sollte es
jedoch lediglich als Beispiel dienen, da dabei der HMAC-Key in der
Prozessliste erscheint. Andere Benutzer auf dem System könnten
diesen allzu leicht abfangen.
Die Nutzer der Community Edition werden daher bei intensivem Einsatz um ein eigenes Scripting-Framework um das LDAP-Schema nicht herumkommen, da hier alle Daten zur Generierung des OTP (HMAC) vorhanden sind, ebenso diverse andere Attribute zum Aktivieren oder Deaktivieren von OTP-Benutzern.
Radius
Aufgrund der Radius-Kopplung unterstützt Lin OTP automatisch jeden Dienst, der mit dem Authentifizierungsserver sprechen kann. Das reicht von VPNs bis zur Wireless-Authentifikation. Mit Radius Gina oder dem Radius Credential Provider (beides Non-OSS-Komponenten von LSE) ist es möglich, normale Windows-Workstations (Radius Gina: XP; Credential Provider: Vista, Windows 7) per OTP zu versorgen (Abbildung 2). Mit einer Samba-Konfiguration als PDC lässt sich auf diese Weise ein vollständiger Authentifikations-Stack mit Einmalpasswörtern auf Linux-Basis realisieren. Durch das bei der Anmeldung simultan eingegebene Domänen-Kennwort funktionieren alle üblichen Windows-Mechanismen und Protokolle wie zum Beispiel Kerberos/SSO weiter.
Abbildung 2: Die Windows-Anmeldung an der Samba-Domäne mit dem Client Radius Gina.