In der Voreinstellung unterstützt FreeBSD OPIE (One-time Passwords in Everything), das in der Regel MD5-Hash-Funktionen einsetzt.
Im Folgenden werden drei verschiedene
Passwörter verwendet. Das erste ist Ihr normales System- oder
Kerberos-Passwort und wird im Folgenden „System-Passwort“
genannt. Das zweite ist das Einmalpasswort, das bei OPIE von
opiekey
generiert und von
opiepasswd
und dem Login-Programm akzeptiert wird.
Im Folgenden wird es „Einmalpasswort“ genannt. Das dritte
Passwort ist das geheime Passwort, das Sie mit
opiekey
(manchmal auch mit
opiepasswd
) zum Erstellen
der Einmalpasswörter verwenden. Dieses Passwort
werden wir im Folgenden „geheimes Passwort“
oder schlicht „Passwort“ nennen.
Das geheime Passwort steht in keiner Beziehung zu Ihrem System-Passwort, beide können gleich sein, obwohl das nicht empfohlen wird. Die geheimen Passwörter von OPIE sind nicht auf eine Länge von 8 Zeichen, wie alte UNIX® Passwörter[10], beschränkt. Sie können so lang sein, wie Sie wollen. Gebräuchlich sind Passwörter, die sich aus sechs bis sieben Wörtern zusammensetzen. Das OPIE-System arbeitet größtenteils unabhängig von den auf UNIX®-Systemen verwendeten Passwort-Mechanismen.
Neben dem Passwort gibt es noch zwei Werte, die für OPIE wichtig sind. Der erste ist der „Initialwert“ (engl. seed oder key), der aus zwei Buchstaben und fünf Ziffern besteht. Der zweite Wert ist der „Iterationszähler“, eine Zahl zwischen 1 und 100. OPIE generiert das Einmalpasswort, indem es den Initialwert und das geheime Passwort aneinander hängt und dann die MD5-Hash-Funktion so oft, wie durch den Iterationszähler gegeben, anwendet. Das Ergebnis wird in sechs englische Wörter umgewandelt, die Ihr Einmalpasswort sind. Das Authentifizierungssystem (meistens PAM) merkt sich das zuletzt benutzte Einmalpasswort und Sie sind authentisiert, wenn die Hash-Funktion des Passworts dem vorigen Passwort entspricht. Da nicht umkehrbare Hash-Funktionen benutzt werden, ist es unmöglich, aus einem bekannten Passwort weitere gültige Einmalpasswörter zu berechnen. Der Iterationszähler wird nach jeder erfolgreichen Anmeldung um eins verringert und stellt so die Synchronisation zwischen Benutzer und Login-Programm sicher. Wenn der Iterationszähler den Wert 1 erreicht, muss OPIE neu initialisiert werden.
In jedem System werden mehrere Programme verwendet, die weiter
unten beschrieben werden. opiekey
verlangt
einen Iterationszähler, einen Initialwert und ein geheimes
Passwort. Daraus generiert es ein Einmalpasswort oder eine Liste
von Einmalpasswörtern. opiepasswd
wird
dazu benutzt, um OPIE zu initialisieren. Mit diesem Programm
können Passwörter, Iterationszähler oder
Initialwerte geändert werden. Als Parameter verlangt es
entweder ein geheimes Passwort oder einen Iterationszähler
oder einen Initialwert und ein Einmalpasswort.
opieinfo
hingegen gibt den momentanen
Iterationszähler und Initialwert eines Benutzers aus. Diese
werden aus der Datei /etc/opiekeys
ermittelt.
Im Folgenden werden vier verschiedene Tätigkeiten beschrieben.
Zuerst wird erläutert, wie
opiepasswd
über eine gesicherte Verbindung
eingesetzt werden, um Einmalpasswörter das erste Mal
zu konfigurieren oder das Passwort oder den Initialwert
zu ändern. Als nächstes wird erklärt, wie
opiepasswd
über eine nicht gesicherte
Verbindung, oder zusammen mit opiekey
über
eine gesicherte Verbindung eingesetzt werden, um dasselbe zu
erreichen. Als drittes wird beschrieben, wie
opiekey
genutzt wird,
um sich über eine nicht gesicherte Verbindung anzumelden.
Die vierte Tätigkeit beschreibt, wie mit
opiekey
eine Reihe von Schlüsseln
generiert wird, die Sie sich aufschreiben oder ausdrucken können,
um sich von Orten anzumelden, die über keine gesicherten
Verbindungen verfügen.
Um OPIE erstmals zu initalisieren, rufen Sie
opiepasswd
auf:
%
opiepasswd -c
[grimreaper] ~ $ opiepasswd -f -c
Adding unfurl:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase:
Again new secret pass phrase:
ID unfurl OTP key is 499 to4268
MOS MALL GOAT ARM AVID COED
Nach der Aufforderung Enter new secret pass phrase:
oder Enter secret password:
geben Sie bitte Ihr
Passwort ein. Dies ist nicht das Passwort, mit dem Sie sich
anmelden, sondern es wird genutzt, um das Einmalpasswort
zu generieren. Die Zeile, die mit „ID“ anfängt,
enthält Ihren Login-Namen, den Iterationszähler und den
Initialwert. Diese Werte müssen Sie sich nicht behalten, da
das System sie zeigen wird, wenn Sie sich anmelden. In der letzten
Zeile steht das Einmalpasswort, das aus diesen Parametern
und Ihrem geheimen Passwort ermittelt wurde. Wenn sie sich jetzt
wieder anmelden wollten, dann müssten Sie dieses
Passwort benutzen.
Um Einmalpasswörter über eine nicht gesicherte
Verbindung einzurichten, oder das geheime Passwort zu ändern,
müssen Sie über eine gesicherte Verbindung zu einer Stelle
verfügen, an der Sie opiekey
ausführen.
Dies kann etwa die Eingabeaufforderung auf einer Maschine, der Sie
vertrauen, sein. Zudem müssen Sie einen Iterationszähler
vorgeben (100 ist ein guter Wert) und einen Initialwert wählen,
wobei Sie auch einen zufällig generierten benutzen können.
Benutzen Sie opiepasswd
über die ungesicherte
Verbindung zu der Maschine, die Sie einrichten wollen:
%
opiepasswd
Updating unfurl:
You need the response from an OTP generator.
Old secret pass phrase:
otp-md5 498 to4268 ext
Response: GAME GAG WELT OUT DOWN CHAT
New secret pass phrase:
otp-md5 499 to4269
Response: LINE PAP MILK NELL BUOY TROY
ID mark OTP key is 499 gr4269
LINE PAP MILK NELL BUOY TROYDrücken Sie Return, um die Vorgabe
für den Initialwert zu akzeptieren. Bevor
Sie nun das Zugriffspasswort
(engl. access password)
eingeben, rufen Sie über die gesicherte Verbindung
opikey
mit denselben Parametern auf:
%
opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHATGehen Sie nun zurück zu der nicht gesicherten Verbindung und geben dort das eben generierte Einmalpasswort ein.
Nachdem Sie OPIE eingerichtet haben, werden Sie beim nächsten Anmelden wie folgt begrüßt:
%
telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <username>
otp-md5 498 gr4269 ext
Password: Anmerkung: OPIE besitzt eine nützliche Eigenschaft, die hier nicht gezeigt ist. Wenn Sie an der Eingabeaufforderung Return eingeben, wird die echo-Funktion eingeschaltet, das heißt Sie sehen, was Sie tippen. Dies ist besonders nützlich, wenn Sie ein generiertes Passwort von einem Ausdruck abtippen müssen.
Jetzt müssen Sie Ihr Einmalpasswort generieren,
um der Anmeldeaufforderung nachzukommen. Dies muss auf
einem gesicherten System geschehen, auf dem Sie
oder opiekey
ausführen können.
Dieses Programm gibt es übrigens auch für DOS, Windows® und
Mac OS®. Es benötigt den Iterationszähler
sowie den Initialwert als Parameter, die Sie mittels
„cut-and-paste“ direkt von der Login-Aufforderung
nehmen können.
Auf dem sicheren System:
%
opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHATMit dem jetzt generierten Einmalpasswort können Sie die Anmeldeprozedur fortsetzen.
Manchmal müssen Sie sich an Orte begeben, an denen
Sie keinen Zugriff auf eine sichere Maschine oder eine
sichere Verbindung haben. In diesem Fall können Sie
vorher mit opiekey
einige Einmalpasswörter generieren, die Sie sich
ausdrucken und mitnehmen können. Zum Beispiel:
%
opiekey -n 5 30 zz99999
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: <secret password>
26: JOAN BORE FOSS DES NAY QUIT
27: LATE BIAS SLAY FOLK MUCH TRIG
28: SALT TIN ANTI LOON NEAL USE
29: RIO ODIN GO BYE FURY TIC
30: GREW JIVE SAN GIRD BOIL PHIMit -n 5
fordern Sie fünf
Passwörter der Reihe nach an. Der letzte
Iterationszähler wird durch 30
gegeben.
Beachten Sie bitte, dass die Passwörter in der
umgekehrten Reihenfolge, in der sie
zu benutzen sind, ausgeben werden. Wenn Sie wirklich paranoid
sind, schreiben Sie sich jetzt die Passwörter auf,
ansonsten drucken Sie sie mit lpr
aus.
Beachten Sie, dass jede Zeile den Iterationszähler
und das Einmalpasswort zeigt, trotzdem finden Sie es
vielleicht hilfreich, eine Zeile nach Gebrauch durchzustreichen.
OPIE kann die Verwendung von System-Passwörtern
abhängig von der Quell-IP-Adresse einschränken.
Die dazu nötigen Einstellungen werden in der Datei
/etc/opieaccess
vorgenommen, die
bei der Installation des Systems automatisch erzeugt wird.
Weitere Informationen über diese Datei und
Sicherheitshinweise zu ihrer Verwendung entnehmen Sie bitte
der Hilfeseite opieaccess(5).
Die Datei opieaccess
könnte
beispielsweise die folgende Zeile enthalten:
Diese Zeile erlaubt es Benutzern, die sich von einer der angegebenen Quell-IP-Adressen anmelden, ihr System-Passwort zu verwenden. Beachten Sie bitte, dass eine Quell-IP-Adresse leicht gefälscht werden kann.
Findet sich in opieaccess
kein
passender Eintrag, muss die Anmeldung mit OPIE erfolgen.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.