php.de

Zurück   php.de > php.de Intern > Beitragsarchiv > Adventskalender 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.12.2009, 00:01  
Adventskalenderöffner
 
Benutzerbild von Nikolaus 2.0
 
Registriert seit: 27.11.2008
Beiträge: 72
PHP-Kenntnisse:
Fortgeschritten
Nikolaus 2.0 ist einfach richtig nettNikolaus 2.0 ist einfach richtig nettNikolaus 2.0 ist einfach richtig nettNikolaus 2.0 ist einfach richtig nettNikolaus 2.0 ist einfach richtig nett
Standard 7: Verdammt, ich habe es vergessen!

7:
Nein, keine Angst, es handelt sich nicht um das Türchen. So alt ist der Nikolaus auch noch nicht.
Aber um was denn? Lasst es mich mit einem Witz erklären. Ich weiß, unter Nerds und ähnlichen bleichen Gestalten gehen immer wieder Witze umher, über die kein Mensch lachen kann… außer eben Nerds. Der Folgende ist so einer. Kurz ist er obendrein: Lässt sich ein IT-Profi ein Kennwort zuschicken…
Das war's schon. Ich gebe es zu, so lustig war der auch wieder nicht. Über so etwas macht man nämlich keine Witze, denn das Zuschicken von Kennwörtern ist immer noch ein beliebtes Mittel, eine Passwort-Recovery-Funktion anzubieten. Besonders lustig wird einem dann zumute, wenn man das in der Mail enthaltene Kennwort wiedererkennt.
Wie dem auch sei, fest steht, dass das Zusenden von Kennwörtern keine sichere Sache ist und eigentlich nicht mehr Praxis sein sollte, was aber leider Wunschdenken ist. Immer wieder erlebt man es, dass man über die Eingabe seiner E-Mail-Adresse eine Mail mit einem neuen (oder eben auch dem alten) Kennwort bekommt, das manchmal obendrein nur aus Zahlen besteht (sozusagen als Hommage an die vielen Seiten, die vorschreiben, dass ein Kennwort nur alphanumerische Zeichen enthalten darf).
Was aber existiert als Alternative? Diese Funktion einfach nicht anzubieten, ist nicht nett dem User gegenüber.
Viele Anwendungen bieten eine sog. „Erinnerungsfrage“, die in etwa lautet „Wie ist der Mädchenname Ihrer Mutter?“ oder „Wie lautet der Name Ihres Haustiers?“. Vor allem prominente Personen haben hier ganz schlechte Karten. Folglich ist diese Variante ein absolutes No-go, wie man so schön auf Neudeutsch sagt.

Kleiner Tipp zwischendurch: manche Anwendungen erfordern sogar eine solche Frage. In diesem Falle sollte, wenn möglich, eine eigene Frage eingegeben werden, die in etwa so lautet
Zitat:
Wonna break in?
Als Antwort auf diese Frage aber bitte nicht „yes“ angeben sondern eine ellenlange Folge aus wild zusammengewürfelten Zeichen, die praktisch nicht zu knacken ist (funktioniert in aller Regel natürlich auch ohne eigene Frage, ist dann aber nur halb so lustig).

Eine vernünftige Lösung für dieses Problem ist das sogenannte Challenge-Response-Verfahren. Dieses sollte eigentlich jedem sicherheitsbewussten Programmierer bekannt sein, doch nur erstaunlich wenige verwenden es.
Der Begriff stammt ursprünglich aus dem Militär und bezeichnet ein Frage-Antwort-Protokoll zur Identifizierung des Gegenübers. Im Internet läuft es in der Regel etwas anders ab als auf dem Schlachtfeld, doch das Grundprinzip ist das gleiche geblieben.
Durch Eingabe seiner E-Mail-Adresse oder eines anderen Identifikationsmerkmals fordert der User ein neues Kennwort an. Daraufhin wird in der Datenbank eine zufällige Challenge-ID angelegt und in Form eines Links an dessen E-Mail-Adresse gesendet. Wichtig zu beachten ist hierbei, dass noch kein Kennwort geändert wurde. So ist zum einen sichergestellt, dass es nicht in fremde Hände gelangt und zum anderen, dass der Login nicht durch ein neues Kennwort versperrt wird, wenn ein Fremder die Adresse des Users eingibt.
Der Link, der an die Adresse gesendet wurde, ist nur eine bestimmte Zeit gültig, in der Regel 24. Stunden. Wird er in er Zeit nicht aufgerufen, verfällt die Challenge-ID.
Wird der Link aber aufgerufen, ist es dem User möglich, auf der Seite ein neues Kennwort zu setzen. Natürlich ist die HTTP-Verbindung verschlüsselt, um hier maximale Sicherheit zu gewährleisten. Erst jetzt ist das Kennwort geändert und die Challenge-ID verfällt.
Natürlich ist auch das Challenge-Response-Verfahren nicht gegen Manipulation gefeit, aber es bietet ein deutliches Plus an Sicherheit gegenüber der Variante, das Kennwort direkt per E-Mail zu versenden. Sollte der E-Mail-Verkehr abgefangen werden, so befindet sich die Challenge-ID zwar in Händen des Angreifers, aber sollte er diese benutzen, wird der User es merken, da er mit einer Fehlermeldung konfrontiert wird, dass der Link bereits aufgerufen wurde. Hat der User das Kennwort aber bereits über den Link geändert, kann der Angreifer mit der Challenge-ID nichts mehr anfangen. Stünde jedoch das Kennwort in der Mail, könnte es somit unbemerkt in falsche Hände geraten, was wohl keinem User lieb ist.
Man sieht also: das Challenge-Response-Verfahren kann nicht nur die Pointe eines Nerdwitzes versauen.
Nikolaus 2.0 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.12.2009, 16:28  
Erfahrener Benutzer
 
Benutzerbild von jw-lighting
 
Registriert seit: 25.03.2009
Beiträge: 126
PHP-Kenntnisse:
Fortgeschritten
jw-lighting befindet sich auf einem aufstrebenden Ast
jw-lighting eine Nachricht über ICQ schicken
Standard

Super! Lese bis jetzt jeden Tag mit - es wird nicht langweilig!
__________________
jw-lighting ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Ajax-Sicherheit] habe ich etwas vergessen, oder genügt das? haemoglobin JavaScript, Ajax und mehr 8 04.11.2009 14:43
Passwort vergessen Funktion Gravenstein PHP Tipps 2009 17 18.08.2009 09:43
[Erledigt] Passwort vergessen Funktion TRC120 PHP Tipps 2009 33 19.06.2009 12:35
Verlinkt, aber nicht vergessen Hilfloser PHP Tipps 2006 7 08.06.2006 16:57
Session wird vergessen? Riot PHP Tipps 2006 6 04.06.2006 20:24
PW und Name für DB-Verb. vergessen GELight Datenbanken 8 27.03.2006 22:43
[Erledigt] sql passwort vergessen ... BRAUCH HILFE Datenbanken 2 03.12.2005 02:26
Passwort vergessen - Formular PHP Tipps 2005-2 2 31.10.2005 10:40
[Erledigt] Alles vergessen Datenbanken 7 01.08.2005 11:20
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33
variablen vergessen, übersprungen oder gelöscht? PHP Tipps 2005 2 26.02.2005 21:06
Verdammt! PHP Tipps 2004 8 01.11.2004 11:23
[Erledigt] datensatz vergessen, nachträglich einfügen? PHP Tipps 2004 17 08.08.2004 23:31
Passwort vergessen / Aktualisierungs-Erinnerung PHP Tipps 2004 1 06.08.2004 14:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
dein kennwort darf nur alphanumerische zeichen enthalten, icq alphanumerische zeichen, dein kennwort darf nur alphanumerische zeichen, alphanumerische zeichen icq, icq passwort alphanumerische, das kennwort darf nur alphanumerische zeichen enthalten, dein kennwort darf nur alpha, passwörter nur alphanumerisch, dein passwort darf nur alphanumerische zeichen enthalten, icq passwort alphanumerisch, icq passwort ändern alphanumerische zeichen, wenn ich mein passwort ändern will steht da was von alphanumerische zeichen, passwort darf nur alphanumerische zeichen haben, icq kennwort alphanummerisch, icq passwort darf nur alphanumerische zeichen enthalten, icq dein kennwort darf nur alphanumerische zeichen enthalten, was bedeutet dein kennwort darf nur alphanumerische zeichen enthalten, icq dein passwort darf nur alphanummerische zeichen enthalten, icq meldung kennwort darf nur alphanumerische zeichen enthalten, icq dein kennwort darf nur alphanumerische zeichen

Alle Zeitangaben in WEZ +1. Es ist jetzt 15:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum