Hallo
Ich weiß nicht ob es hier genau hin passt, falls nicht einfach verschieben ^^
Also mir kam da gerade so eine Idee und will Sie niemanden vorbehalten, eventuell kann der eine oder andere damit etwas anfangen.
Das Problem:
Ein Sicherheitsproblem bei einem Login auf einer Webseite ist, falls jemand den verkehr zwischen Client und Server abhört, das er dort das klare Passwort lesen kann. Und somit sich der Angreifer einloggen kann.
Eine weitere Möglichkeit wäre auf Clientseite per Javascript und Hash das Passwort zuverschlüsseln, doch auch das verschlüsselte passwort kann abgefangen werden und zum Einloggen genutzt werden ohne Probleme.
Die Lösung:
Gehen wir davon aus die User Passwörter liegen als SHA1 Hash in unserer Datenbank.
Jetzt kommt ein Besucher auf unsere Webseite...
Auf dem PHP Server starten wir eine neue SESSION und generieren ein zufälliges Passwort. Dieses schicken wir dem Client zu, am besten so das es in einer Javascript Variable liegt. Jetzt brauchen wir Clientseitig noch eine SHA1 funktion per Javascript. Wir verschlüsseln jetzt Clientseitig.
So ungefähr ^^ Bin nicht so gut im erklären. Aber das sollte einen guten schutz beim einloggen bieten damit das passwort nicht abgehört werden kann.
Das ganze klappt dadurch das sich jedesmal ein neues Zufalls kenntwort generiert mit dem das gehashte Passwort nochmal gehasht werden muss.
Eventuell poste ich noch einen richtigen PHP, HTML und JS code hier her.
mfg.
FlowPX
Ich weiß nicht ob es hier genau hin passt, falls nicht einfach verschieben ^^
Also mir kam da gerade so eine Idee und will Sie niemanden vorbehalten, eventuell kann der eine oder andere damit etwas anfangen.
Das Problem:
Ein Sicherheitsproblem bei einem Login auf einer Webseite ist, falls jemand den verkehr zwischen Client und Server abhört, das er dort das klare Passwort lesen kann. Und somit sich der Angreifer einloggen kann.
Eine weitere Möglichkeit wäre auf Clientseite per Javascript und Hash das Passwort zuverschlüsseln, doch auch das verschlüsselte passwort kann abgefangen werden und zum Einloggen genutzt werden ohne Probleme.
Die Lösung:
Gehen wir davon aus die User Passwörter liegen als SHA1 Hash in unserer Datenbank.
Jetzt kommt ein Besucher auf unsere Webseite...
Auf dem PHP Server starten wir eine neue SESSION und generieren ein zufälliges Passwort. Dieses schicken wir dem Client zu, am besten so das es in einer Javascript Variable liegt. Jetzt brauchen wir Clientseitig noch eine SHA1 funktion per Javascript. Wir verschlüsseln jetzt Clientseitig.
PHP-Code:
PasswortHash = SHA1('BenutzerPasswort');
ZumServerSchicken = SHA1(ZufälligesPasswortVomServer+PasswortHash);
Und auf dem Server prüfen wir den Hash natürlich folgender maßen
$UserPasswort = "..."; //SHA1 aus der MySQL Datenbank
$PrüfHash = SHA1($Zufallskennwort.$UserPasswort);
if($PrüfHash == $_POST['ZumServerSchicken'])
Das ganze klappt dadurch das sich jedesmal ein neues Zufalls kenntwort generiert mit dem das gehashte Passwort nochmal gehasht werden muss.
Eventuell poste ich noch einen richtigen PHP, HTML und JS code hier her.
mfg.
FlowPX
Kommentar