Aus Linux-Magazin 07/2008

Sichere Authentifizierung mit Einmalpasswörtern

© FotoFactory.cc, fotolia.com

Passwörter sind trotz Biometrie-Boom immer noch das am häufigsten eingesetzte Mittel zur Authentifizierung. In unfreundlichen Umgebungen versuchen Falschspieler sie abzuhören oder auszuspähen. Das macht aber nichts, wenn sie nur einmal gültig sind.

Sicherheitssysteme greifen auf Wissen oder Besitz zurück, wollen prüfen, ob ein Benutzer berechtigt ist. Wissen prüfen sie typischerweise durch Passwörter, Besitz durch das Vorweisen eines Gegenstands, sei dies ein Hausschlüssel oder ein elektronisches Token. Wer den ersten Weg geht, sieht sich mit dem Problem konfrontiert, dass sich Passwörter weitergeben oder abhören lassen.

One-Time-Passwords gelten dagegen nur einmal, etwa die TANs beim Onlinebanking. Sollten Angreifer sie abhören, während sie sich auf dem Weg zur Authentifizierungsstelle befinden – kein Problem, einmal benutzt, sind sie ungültig. Anwendern eröffnet sich so die Möglichkeit, mit besserem Gewissen Internetcafés im Urlaub nutzen, von denen nicht klar ist, ob jemand die PCs an der Strandbar manipuliert hat. Eine Anforderung an diese Zugangsberechtigung ist also, einmalig zu sein. Damit verhindert das System, dass ein Angreifer sie später für eine erneute Authentifizierung nutzt.

Sogar eine am Ferienort selbst installierte Verschlüsselungssoftware hilft in diesem Szenario nur bedingt, wenn Passwörter im Spiel sind: Passwortgrabber lassen sich selbst im Kabel zwischen Tastatur und PC fast unentdeckbar verstecken.

Quizfrage

Ein fiktives System für Einmalpasswörter speichert einfach viele Kennwörter pro Benutzer. Zu den Nachteilen dieser Methode gehört, dass Anwender sich alle merken müssen. Besser sind Verfahren, die eine Frage stellen, die der Einlass-Suchende korrekt beantworten muss – und deren Antwort nur er kennt. Dieser Challenge-Response genannte Ansatz (Abbildung 1) arbeitet meist mit Zahlen für die Frage eines Servers und die Antwort eines Clients, der Zugang verlangt. Der Server übermittelt eine zufällige Zahl, erzeugt also ein Ereignis (Event-based OTP). Aus dieser Challenge berechnet der Client eine Antwort auf eine Weise, die nur die beiden kennen.

Abbildung 1: Beim Challenge-Response-Verfahren stellt der Server eine Aufgabe (Challenge), die der Client beantwortet (Response). In realen Systemen kommen oft Hashfunktionen und ein Passwort zum Einsatz.

Abbildung 1: Beim Challenge-Response-Verfahren stellt der Server eine Aufgabe (Challenge), die der Client beantwortet (Response). In realen Systemen kommen oft Hashfunktionen und ein Passwort zum Einsatz.

In einem einfachen Beispiel etwa dadurch, dass er zu ihr 42 addiert. Die so gewonnene Response meldet er zurück. Weil beide Partner die Rechenvorschrift und die geheime PIN 42 kennen, ist für Außenstehende nicht offensichtlich, wie die Response zu einer Challenge lautet.

Rechenübungen

Hört ein Angreifer jedoch einige Paare von Challenges und Responses ab, könnte er bei genauerer Betrachtung hinter den Mechanismus kommen. Dieses Known-Plaintext genannte Verfahren der Kryptoanalyse ist in der Fachliteratur umfassend beschrieben [1]. Wenden beide Partner nach der Rechenvorschrift jedoch noch eine Hashfunktion an, ist dem Lauscher dieser Weg versperrt. Deren Ergebnisse muten nämlich fast wie Zufallszahlen an und lassen sich nicht umkehren.

Weil sich diese Berechnung schlecht im Kopf ausführen lässt, trägt der Anwender ein kleines Gerät bei sich. Es heißt Token und sieht einem Taschenrechner ähnlich. Ein Vertreter dieser Token ist der Digipass Pro 300 von Vasco [2] in Abbildung 2. Alternativ gibt es Java-Programme für Mobiltelefone oder PDAs. Ganz ohne Tastatur kommen Token aus, die von der aktuellen Zeit und einer eingebauten PIN einen Hashwert bilden (Time-based OTP, Abbildung 3).

Abbildung 2: Der Digipass Pro 300 von Vasco setzt das Challenge-Response-Verfahren ein. Der Anwender tippt über die Tastatur des Token die Challenge ein und liest die Response vom Display ab.

Abbildung 2: Der Digipass Pro 300 von Vasco setzt das Challenge-Response-Verfahren ein. Der Anwender tippt über die Tastatur des Token die Challenge ein und liest die Response vom Display ab.

Abbildung 3: Das Secur-ID-Token SID700 von RSA/EMC kodiert die aktuelle Uhrzeit und den eingebauten Schlüssel. Das Display zeigt also jede Minute eine neue PIN an.

Abbildung 3: Das Secur-ID-Token SID700 von RSA/EMC kodiert die aktuelle Uhrzeit und den eingebauten Schlüssel. Das Display zeigt also jede Minute eine neue PIN an.

Damit das funktioniert, ist es nötig, dass die Uhren im Server und im Token sehr synchron laufen – nach mehreren Jahren Betrieb oft ein Problem. Daher drucken viele Anbieter gleich ein Verfallsdatum auf den Token auf. Prominenter Vertreter der ersten Klasse ist Secur ID von RSA/EMC [3]. Eine Reihe weiterer Anbieter bietet Hardwarelösungen an, darunter Aladdin mit dem E-Token [4] oder Cryptocard mit dem Crypto-Token [5].

Der Vorteil dieser Geräte ist, dass sie mit normalem Aufwand kaum kopierbar sind. Ein Passwort hingegen ist schnell einem Kollegen erzählt, eine Passwortliste lässt sich per Fotokopierer duplizieren. Allerdings sind solche Token oft vergleichsweise teuer (je nach Stückzahl ab etwa 50 Euro), mit Patenten belegt oder in ihrer Funktionsweise als Sicherheitsgerät nicht vollständig offengelegt. Experten nennen das Security by Obscurity.

Anfassen erlaubt

Wer die Kosten eines Hardware-Token sparen und auf den haptischen Effekt verzichten will, nutzt eine Softwarelösung für Einmalpasswörter. Als Referenz gilt das in RFC 1760 spezifizierte S/Key-Verfahren, das Bellcore 1995 entwickelte. Es basiert ursprünglich auf dem Kryptoverfahren MD4. Der Nachfolgestandard OTP, in RFC 2289 spezifiziert, beherrscht auch MD5 und SHA als Hashes.

Statt für jeden Benutzer eine Liste von Passwörtern zu speichern, merkt sich OTP jeweils eines und berechnet das nächste gültige durch das Anwenden einer Hashfunktion auf das aktuelle Passwort. Details schildert der Kasten “Kryptographische Details von S/Key und OTP”. Eine alternative Methode ist HOTP (RFC 4226), die die Einwegfunktionen über das HMAC-Verfahren (Keyed-Hash Message Authentication Code, RFC 2104) benutzt. Dies ist jedoch primär als Teil größerer Anwendungen gedacht, wogegen für OTP eine eigenständige Implementation existiert.

Kryptographische Details von
S/Key und OTP

Ein Einmalpasswort-System besteht aus Server und Generator. Gegen den Server gilt es, sich zu authentifizieren, der Generator berechnet dazu das Einmalpasswort. Den mathematischen Unterbau liefern Hash- oder Einweg-Funktionen: MD4 bei S/Key sowie MD4, MD5 und SHA bei OTP. So stellt das Verfahren sicher, dass Angreifer nicht aus der Kenntnis eines Einmalpassworts das nächste berechnen.

Initialisieren und überprüfen

Benutzer müssen das OTP-System auf dem Server initialisieren. Dazu wählen sie ein Passwort. Der Server hängt an die Passwort-Zeichenkette den so genannten Seed, der zufällig oder vom Benutzer bestimmt sein kann (Abbildung 4). Der Server wendet auf die resultierende Zeichenkette N-mal die Hashfunktion an und erhält das erste Einmalpasswort. Zum Schluss speichert der Server den Benutzernamen, den Seed, die Zahl N und das OTP.

Will sich nun der Benutzer beim Server authentifizieren, bekommt er in der Server Challenge den Seed und die Zahl N – 1 übermittelt (Abbildung 5). Mit seinem lokalen Generator berechnet der Anwender nun ein Einmalpasswort. Prinzipiell ist diese Berechnung analog zur Initialisierungsphase auf dem Server, mit dem Unterschied, dass die Hashfunktion nur N – 1-mal zur Anwendung kommt.

Das Resultat übermittelt der Benutzer an den Server. Der Server wendet die Hashfunktion ein weiteres Mal auf die übermittelte Zeichenkette an und vergleicht das Ergebnis mit dem gespeicherten Einmalpasswort. Stimmen beide überein, ist alles okay – der Server speichert das übermittelte OTP anstelle des ursprünglichen und reduziert N um 1.

Eingabehilfen

Die von OTP verwalteten Passwörter sind technisch ein 64-Bit-Wert. Benutzer dürfen sie aber in Form kurzer Wörter eingeben, die der Standard festlegt. Ein Programm wandelt die Eingabe von etwa »TUSK JOIN ROBE HUNK HAVE CARL« in die interne Bit-Darstellung um.

Nachdem mit OTP das Rüstzeug für die kryptographischen Grundlagen bereitsteht, gilt es, sie in die unterschiedlichen Authentifizierungsprogramme von Linux zu integrieren. Dazu gehören die Programme »login« und »sudo«, Session-Manager wie »xdm«, »kdm« und »gdm« oder extern erreichbare Dienste wie der SSH-Daemon oder ein FTP-Server. Linux bietet hier mit den Pluggable Authentication Modules (PAM, [6]) eine einheitliche Schnittstelle, siehe Kasten “Pluggable Authentication Modules (PAM)”.

Wer Einmalpasswörter für die Authentifizierung nutzt, benötigt in der PAM-Konfiguration eine Zeile in der Kategorie »auth«. Welches Kontroll-Flag erforderlich ist, hängt von der Gesamt-Konfiguration des »auth«-Stacks und dem gewünschten Systemverhalten ab [7].

Universelles OPIE

Die führende Rolle als Software-Implementation hat unter Linux das Projekt OPIE (One-Time Passwords in Everything). Es ist schnell aus den Quellen oder den für viele Distributionen vorliegenden Paketen installiert [8]. Damit gelangen OTP-fähige Programme für »login«, »su« und »ftpd«, die Bibliothek »pam_opie.so«, einige Tools und die Konfiguration »/etc/opiekeys« ins System.

Zunächst ist es erforderlich, das OTP-System zu initialisieren (siehe Listing 1). Das erledigt jeder Anwender selbst. Er meldet sich am System an und führt das Kommando »opiepasswd« aus (Zeile 1). Das Ergebnis mag zunächst verwirren (Zeile 3): Im Standardfall geht das Tool davon aus, dass der Benutzer nicht lokal an der Konsole angemeldet ist.

Listing 1: Initialisierung von
OPIE

01 # opiepasswd
02 Adding root:
03 You need the response from an OTP generator.
04 New secret pass phrase:
05         otp-md5 499 te3049
06         Response:
07 ^C
08 # opiepasswd -c
09 Adding root:
10 Only use this method from the console; NEVER
11 from remote. If you are using telnet, xterm,
12 or a dial-in, type ^C now or exit with no
13 password. Then run opiepasswd without the -c
14 parameter.
15 Sorry, but you don't seem to be on the console
16 or a secure terminal.
17 # opiepasswd -cf
18 Adding root:
19 Only use this method from the console; NEVER
20 from remote. If you are using telnet, xterm,
21 or a dial-in, type ^C now or exit with no
22 password. Then run opiepasswd without the -c
23 parameter.
24 Using MD5 to compute responses.
25 Enter new secret pass phrase:
26 Again new secret pass phrase:
27 
28 ID root OTP key is 499 te5843
29 DANG TOOK HUNT GYM HICK PAW
30 # cat /etc/opiekeys
31 root 0499 te5843     6f1dba738c197a64
32                      Feb 16,2008 05:42

Der Zugang über das Netz ist jedoch prinzipiell abhörbar und damit unsicher. Als Konsequenz erwartet »opiepasswd« bereits ein OTP. Um dieses Henne-Ei-Problem zu lösen, versichert der Benutzer dem Kommando mit der Option »-c«, dass er an der sicheren Konsole arbeitet (Zeile 8). Stellt das Kommando fest, dass der Anwender lügt, verweigert es den Dienst. Benutzer, die Sicherheit ernst nehmen, sollten daher auch Abstand von der Option »-f« nehmen, die diesen wichtigen Hinweis ignoriert (Zeile 17).

Dieser Vorgang ist benutzerspezifisch, das heißt, jeder Anwender, der Einmalpasswörter verwenden möchte, führt ihn separat aus. Nach erfolgreicher Initialisierung ist der Benutzer in der Datei »/etc/opiekeys« eingetragen. OPIE vermerkt dort ebenfalls den Seed (hier »te5843«), den Hashwert (hier »6f1dba738c197a64«) des frisch generierten Einmalpassworts und die Sequenznummer, hier 499 (Zeilen 31 bis 32). Um später erfolgreich Einmalpasswörter zu erzeugen, benötigt der Anwender das Benutzerpasswort, den Seed und die Sequenznummer. Die notwendige Gedächtnisleistung beschränkt sich aber auf das Merken des Benutzerpassworts. Die beiden anderen Informationen bekommt der Anwender vom Server übermittelt und angezeigt.

Doppeltes Netz

Die Authentifizierung ist nun in den PAM-Stack zu integrieren (siehe Listing 2). Den Löwenanteil erledigen die Module »pam_unix« beziehungsweise »pam_unix2«. Sie sind mit dem Kontrollflag »sufficient« versehen. Da die PAM-Bibliothek »pam_opie.so« aber »pam_unix.so« oder »pam_unix2.so« ersetzen soll, ist klar, wo der Admin die Konfiguration anpasst. Vorsichtige Naturen fügen eine Extrazeile ein. Falls OPIE aus irgendeinem Grund fehlschlägt, authentifiziert sich der Anwender mit den traditionellen Passwörtern. Je nach Benutzerpolitik ist dies aber gerade nicht erwünscht, da sich so auch Benutzer mit den normalen Passwörtern einloggen dürfen.

Listing 2: PAM-Konfiguration
für »pam_opie.so«

01 ...
02 auth   sufficient    pam_opie.so
03 # Wurde OPIE getestet, darf diese Zeile entfallen:
04 auth   sufficient   pam_unix.so nullok try_first_pass
05 ...

Hat der Admin die PAM-Konfiguration angepasst, ist das System OTP-fähig. Einige Dienste, zum Beispiel der SSH-Daemon, benötigen aber noch Hilfe, bevor sie Einmalpasswörter verwenden. Bei der Secure Shell stellt der Admin sicher, dass die Serverkonfiguration in »/etc/sshd/sshd_config« die Zeile

ChallengeResponseAuthentication yes

enthält. Listing 3 zeigt ein SSH-Login, das OPIE verwendet. Nach erfolgreicher Authentifizierung aktualisiert OPIE die Datei »/etc/opiekeys«. Es trägt dort die neue Sequence-Nummer und den Hash des zuletzt benutzten Kennworts ein.

Listing 3: SSH-Login mit
Einmal-passwort und OPIE

01 $ ssh root@rechner.beispiel.de
02 otp-md5 498 te5843 ext
03 Response:
04 # cat /etc/opiekeys
05 root 0498 te5843 2b84befd37cacb9f  Feb 16,2008 05:58
06 #

Vom Säen und Ernten

Um Einmalpasswörter zu generieren, benutzt der Anwender »opiekey«. Der Generator in Listing 4 erwartet das Benutzerpasswort, den Seed und die aktuelle Sequenznummer. Diese Informationen erhält der Anwender mit »opieinfo«. OPIE ist auch auf den Fall vorbereitet, dass der Benutzer keinen Generator zur Verfügung hat – es ist nämlich möglich, eine Liste von OTPs zu generieren.

Listing 4: Drei OTPs mit
»opiekey« erzeugen

01 # opieinfo
02 497 te5843
03 # opiekey -5 -n 3 `opieinfo`
04 Using the MD5 algorithm to compute response.
05 Reminder: Don't use opiekey from telnet or dial-in
06 sessions. Sorry, but you don't seem to be on the
07 console or a secure terminal.
08 Warning: Continuing could disclose your secret pass
09 phrase to an attacker! 
10 Enter secret pass phrase:
11 495: MUSH ACT GRIM SEE MAID LIES
12 496: HAD FED WORD ROY STAB ACID
13 497: IO INK RIG DAME RULE TUM
14 #

Neben »opiekey« hat der OPIE-Benutzer auch die Wahl, auf alternative Generatoren zurückzugreifen. Das Java-Programm JOTP [9] läuft ebenso auf Java-fähigen Handys wie auf normalen Webseiten, die allerdings ein Mindestmaß an Vertrauenswürdigkeit besitzen sollten. Palm-Besitzer verwenden Palmkey [10] oder Pilotp [11]. Für die Desktop-Anwender gibt es Optcalc [12].

Mit dem Kommando »opiepasswd -d« deaktiviert der Anwender seinen Eintrag in der Datei »/etc/opiekeys« und schließt sich damit von OPIE aus (siehe Listing 5). Das System überschreibt den Passworthash durch »*«, die Informationen zu Sequenznummer und Seed bleiben erhalten. Eine Reaktivierung des Accounts ist damit nicht möglich, was das Speichern dieser Angaben fragwürdig erscheinen lässt.

Listing 5: Deaktvieren von OPIE
für einen Benutzer

01 user1@rechner$ opiepasswd -d
02 Updating user1:
03 Disable user1's OTP access? (yes or no) yes
04 ID user1 is disabled.
05 user1@rechner$ su -
06 Passwort:
07 # grep user1 /etc/opiekeys
08 user1 0359 te2880 ****************  Feb 16,2008 08:37
09 #

Alternativangebote

Es gibt sowohl als Hardware- wie auch als Softwarelösung eine Reihe von Alternativen zu OPIE. Zur zweiten Kategorie zählt OTPW [13], das aber nicht das im RFC 2289 beschriebenen Verfahren, sondern eine 160-Bit-Version des Hash RIPEMD benutzt. Es enthält eine angepasste Version des Login-Programms »demologin« und alternativ ein Modul für die Integration in den PAM-Stack. Die Kennwörter erhält der Benutzer in einer Liste – ähnlich einer herkömmlichen TAN-Liste von einer Bank.

Bei der Authentifizierung stellt der Anwender das Benutzerpasswort dem String aus der Liste voran. Der OTPW-Server speichert die RIPEMD-Hashwerte aller gültigen Einmalpasswörter samt Nummerierung in der Datei ».otpw« im Homeverzeichnis eines jeden Benutzers. Verbrauchte Passwörter überschreibt das Programm mit Bindestrichen und verhindert so, dass diese wiederholt zum Einsatz kommen.

Das OTPW-Paket ist deutlich kleiner als OPIE und besteht im Quelltext nur aus 18 Dateien. Ein simples »make« erzeugt die Programme »demologin«, »otpw-gen« und die PAM-Bibliothek »pam_otpw.so«.

Abbildung 4: Für die Initialisierung schickt der Generator ein Passwort an den Server. Der berechnet daraus und einem Seed mit Hilfe einer Hashfunktion das erste Einmalpasswort.

Abbildung 4: Für die Initialisierung schickt der Generator ein Passwort an den Server. Der berechnet daraus und einem Seed mit Hilfe einer Hashfunktion das erste Einmalpasswort.

Abbildung 5: Bei der Authentifizierung nennt der Server Seed und einen Zähler. Mit Hilfe des Generators berechnet der Benutzer das Einmalpasswort und übermittelt es an den Server zur Prüfung.

Abbildung 5: Bei der Authentifizierung nennt der Server Seed und einen Zähler. Mit Hilfe des Generators berechnet der Benutzer das Einmalpasswort und übermittelt es an den Server zur Prüfung.

OTPW hat eigenen Hash

Linux-Systeme mit PAM benötigen nur den Generator »otpw-gen« und das Modul »pam_otpw«. Das OTPW-System initialisiert der Anwender durch Aufruf von »otpw-gen« (Listing 6). Nach Eingabe des Passworts erzeugt »otpw-gen« eine Liste mit OTPs und zeigt sie an. Der Parameter »-p1« bewirkt, dass »otpw-gen« sie als Zusammenstellung von Wörtern mit vier Zeichen ausgibt, zum Beispiel:

hare lane fyfe self lucy

Wer die Datei ».otpw« löscht, deaktiviert die Verwendung von Einmalpasswörtern für seinen Account.

Listing 6: OTPW für
Einmalpasswörter einrichten

01 # otpw-gen -h 5
02 Generating random seed ...
03 
04 If your paper password list is stolen, the thief should not gain
05 access to your account with this information alone. Therefore, you
06 need to memorize and enter below a prefix password. You will have to
07 enter that each time directly before entering the one-time password
08 (on the same line).
09 
10 When you log in, a 3-digit password number will be displayed.  It
11 identifies the one-time password on your list that you have to append
12 to the prefix password. If another login to your account is in progress
13 at the same time, several password numbers may be shown and all
14 corresponding passwords have to be appended after the prefix
15 password. Best generate a new password list w en you have used up half
16 of the old one.
17 
18 Enter new prefix password:
19 Reenter prefix password:
20 
21 Creating '~/.otpw'.
22 Generating new one-time passwords ...
23 
24 OTPW list generated 2008-03-16 10:23 on testvm3.seidelnet.de
25 
26 000 a7Sj rWoC  001 %URK VvmD  002 EoQa sgon  003 IQhJ kVMG  004 QsS% H=aU
27 
28             !!! REMEMBER: Enter the PREFIX PASSWORD first !!!
28 # 

Es empfiehlt sich, die Liste auszudrucken. Es obliegt dem Anwender, selbst darüber Buch führen, wie viele gültige Einmalpasswörter er noch zur Verfügung hat. Wer Papier sparen will, inspiziert bei jedem Login den Inhalt von ».otpw«. Verbrauchte OTPs sind durch »-« markiert. Die Integration von OTPW ins PAM-System erfolgt analog zu der von OPIE. Der zusätzliche Eintrag

session  optional  pam_otpw.so

soll laut Dokumentation bewirken, dass OTPW nach jedem Login die Anzahl der verbliebenen OTPs mitteilt. Das hat in den durchgeführten Tests aber nicht funktioniert. Die Nacharbeit am SSH-Daemon fällt wie bei OPIE an. Der Anwender bildet das Einmalpasswort durch Aneinanderreihen von Benutzerpasswort und Zeichenkette aus der von »otpw-gen« erzeugten Liste.

Beim Login-Versuch legt OTPW den symbolischen Link ».otpw.lock« im Homeverzeichnis des Benutzers an. Bricht er den Login-Vorgang beim Passwort-Prompt mit der Tastenkombination [Strg]+[C] ab, bleibt der symbolische Link jedoch erhalten. Solange er noch existiert, lässt sich OTPW nicht benutzen, der Anwender ist ausgesperrt.

Außerdem erlaubt OTPW im Normalfall aus Sicherheitsgründen keine gleichzeitigen Logins. Die Dokumentation des Programms spricht davon, dass das System in einem solchen Fall vom Anwender ein erweitertes Einmalpasswort erwartet. Dies besteht aus dem Benutzerpasswort und drei Zeichenketten aus der Liste. In den durchgeführten Tests ließ sich dieses Verhalten allerdings nicht nachstellen.

Pluggable Authentication Modules
(PAM)

PAM teilt den Prozess zur Authentifizierung in vier Kategorien: »auth«, »account«, »password« und »session«. Die Kategorie »auth« regelt die eigentliche Authentifizierung, während »password« bestimmt, ob und wie der Benutzer sein Passwort ändert. Mit »account« verwaltet PAM Zugriffe anhand des Benutzerkontos und regelt das Umgebungssetup mit »session«.

Pro Kategorie hat PAM die Auswahl aus mehreren Modulen und organisiert diese in einem Stack. Jedes Modul ist mit einem Kontrollflag versehen. Damit legt der Admin fest, wie PAM den Erfolg oder Nichterfolg beim Abarbeiten eines Moduls bewertet. Mögliche Flags sind »required«, »requisite«, »sufficient« und »optional«. Schlägt ein Modul mit den Flags »required«, »requisite« oder »sufficient« fehl, ist damit auch der gesamte Authentifizierungsvorgang erfolglos. Im Falle von »requisite« bricht PAM die Abarbeitung des Stacks sogar unverzüglich ab.

Ist das Modul erfolgreich abgearbeitet, kommen bei den Flags »required«, »requiste« und »optional« die nächsten PAM-Bibliotheken zum Zuge. PAM betrachtet die Kategorie als erfolgreich durchlaufen, wenn der Admin das Modul mit »sufficent« versehen hat.

Mobiltelefon als Token

Eine Mischform aus Hard- und Software-Lösung ist Freeauth [14], das auf Mobile OTP – eine Zeit-basierte Implementierung – zurückgeht. Der Generator ist ein für Java-fähige Mobiltelefone entwickeltes Programm. Unter diesem Gesichtspunkt ist das Mobiltelefon ein Hardware-Token. Der Serverteil ist in einer PAM-Bibliothek realisiert. Für die Berechnung des Einmalpassworts zieht Freeauth neben dem Benutzerpasswort und Seed (PIN beziehungsweise Magic im Freeauth-Jargon) auch die aktuelle Zeit heran.

Offen und doch sicher

Einmalpasswörter helfen, wenn Anwender sich aus unsicheren Umgebungen einloggen. Dort wissen sie nicht, ob Angreifer ihre Eingaben belauschen. Die Implementierungen OPIE und OTPW sind Server-seitig dank PAM in gängige Linux-Distributionen integrierbar. Anwender haben einige Auswahlmöglichkeiten: Dedizierte Token, Java-Programme oder ausdruckbare Listen mit Kennwörtern erhöhen die Sicherheit. (mg)

Infos

[1] Bruce Schneier, “Angewandte Kryptographie”: Addison-Wesley

[2] Digipass 300 Pro: [http://www.vasco.com]

[3] RSA Secur ID: [http://www.rsa.com]

[4] Aladdin E-Token: [http://www.ealaddin.de]

[5] Crypto-Token von Cryptocard:[http://www.cryptocard.com]

[6] Pluggable Authentication Modules (PAM): [http://www.kernel.org/pub/linux/libs/pam/]

[7] Dirk von Suchodoletz, Martin Walter,”Hereinspaziert: PAM-Grundlagen”:Linux-Magazin 05/04, S. 38

[8] Onetime Password In Everything (OPIE): [http://www.inner.net/opie]

[9] Java OTP Calculator (JOTP):[http://www.cs.umd.edu/~harry/jotp/]

[10] Palmkey: [http://palmkey.sf.net]

[11] Pilot OTP Generator:[http://www.valdes.us/palm/pilOTP/]

[12] OTP und S/Key Calculator für X-Window: [http://killa.net/infosec/otpCalc/]

[13] One-Time Password (OTPW): [http://www.cl.cam.ac.uk/~mgk25/otpw.html]

[14] Freeauth: [http://www.freeauth.org]

Der Autor

Dr. Udo Seidel ist eigentlich Mathe-Physik-Lehrer und seit 1996 Jahren Linux-Fan. Seit seiner Promotion arbeitet er als Linux/Unix-Trainer, Systemadministrator und Senior Solution Engineer. Heute leitet er ein Linux/Unix-Team bei der Amadeus Data Processing GmbH in Erding.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben