![]() |
Re: Sicherheit bei der Anmeldung - Anregung zur DP
Zitat:
Greetz alcaeus |
Re: Sicherheit bei der Anmeldung - Anregung zur DP
Zitat:
Fazit: das Passwort sollte niemals meinen Rechner verlassen, ausserhalb meines Rechners sollte immer nur eine Einweg-Prüfsumme in den Datenbanken gespeichert werden, und das bedeutet das es unmöglich für einen Forenbetreiber sein wird mir mein eigenes Passwort zu mailen. Das ist gut so. Gruß Hagen |
Re: Sicherheit bei der Anmeldung - Anregung zur DP
Derzeit haben wir das System eines Standard-phpBB am Werk. Das Versenden des Passwortes in der Registrierungs-Email zum Beispiel könnte man von einer Benutzer-Eingabe abhängig machen - die Vorgabe hierfür wäre 'disabled- nicht versenden'.
Zusätzlich zu den von Andreas (alcaeus) und Sharky vorgeschlagenen Lösungen kann ich anbieten, eine Javascript-Implementation der MD5-Verschlüsselung ins Login-Script zu integrieren, so dass für die User, die es wünschen, das Passwort nach der Login-Eingabe tatsächlich lokal (!) verschlüsselt und dann nur als Hash zum DP-Server geschickt wird. Selbstverständlich liegt mein größtes Interesse in der Sicherheit Eurer Daten, denn wenn die Vertrauensbasis erstmal hin ist, kann ich den Laden auch gleich dicht machen. Noch ein Wort zu 'normalen' und 'anormalen' ;-) Benutzern: Ich als Admin und die Mods sind in der Lage, Eure Mail-Adressen einzusehen - niemand sonst. |
Re: Sicherheit bei der Anmeldung - Anregung zur DP
Hallo Hagen,
Zitat:
Zitat:
in login.php:
Code:
in usercp_register.php, beim Setzen des Passworts:
if( md5($password) == $row['user_password'] && $row['user_active'] )
Code:
Also, es wird wie bei jedem phpBB nur der MD5-Hash des Passworts abgespeichert, und beim Login der MD5-Hash des uebergebenen Passworts mit dem gespeicherten Hash verglichen. Ich denke dass ich dir nicht erklaeren muss, dass man ohne Rainbowtables (=Brute Force) das Passwort nicht aus dem Hash rauskriegt.
if ( $row['user_password'] != md5($cur_password) )
//... $new_password = md5($new_password); $passwd_sql = "user_password = '$new_password', "; Beim Senden des Passworts geschieht das hier:
Code:
Anschliessend wird das neue Passwort und der Activation key in die DB geschrieben (das Passwort wiederum als Hash), und der Benutzer muss den Account wieder aktivieren. Anschliessend kann er sich mit dem generierten Passwort anmelden und kann es aendern.
$user_actkey = gen_rand_string(true);
$key_len = 54 - strlen($server_url); $key_len = ( $str_len > 6 ) ? $key_len : 6; $user_actkey = substr($user_actkey, 0, $key_len); $user_password = gen_rand_string(false); Ich versteh eure Sorge also wirklich nicht. Zitat:
Greetz alcaeus |
Re: Sicherheit bei der Anmeldung - Anregung zur DP
Also wie es sich ließt, braucht ihr die Sicherheit von MD5 tatsächlich um ruhig schlafen zu können.
Ich persönlich bin der Meinung, dass man Administratoren und ihren Servern vertrauen kann, dass sie niemanden, der nicht berechtigt wäre, an unsere Daten lassen. Über MD5 habe ich gelesen, dass es Kollisionen gibt, d.h. MD5(S1) = MD5(S2), es gibt auch mit MD5 keine 100%ige Sicherheit und noch was: Ganz prinzipiell gibt es zu jeder Funktion eine Umkehrfunktion (auch wenn sie nicht linear ist) und wenn ich die Funktion kenne, dann kann ich auch die Umkehrfunktion berechnen und jeden Hash in eine mögliche Ausgangsbasis umwandeln. So einfach ist das. Mit Sicherheit werden Millionen Umsätze gemacht, weil die Leute Angst vor irgendetwas haben. Ich habe Anti Vir, was aber überflüssig ist, denn es hat seit dem Computer-Kauf vor zwei Jahren keinen einzigen Virus oder Trojaner oder sonst was abgefangen der e-mail gekommen wäre, oder sich von einer Internetseite geladen hätte, weil man mit seiner E-Mail Adresse auch sorgfältig umgehen kann und aufpassen kann wo man surft. Ich habe aber keine Firewall. Es ist Tatsache: Kein Hacker will an meine Daten. |
Re: Sicherheit bei der Anmeldung - Anregung zur DP
Zitat:
Zitat:
Zitat:
Zitat:
Schwierig, ne? Da gibts nämlich keine, denn diese Funktion ist nicht bijektiv. Und diese Funktion ist noch recht einfach. Zitat:
|
Re: Sicherheit bei der Anmeldung - Anregung zur DP
Zitat:
aber mod z.B.... ist garantiert nicht umkehrbar, wenn du daher eine funktion wie f(x) = x mod x³²³³²²³³ hat, ist die einfach nicht umkehrbar :) aber ich fürchte ich bin ot :oops: |
Re: Sicherheit bei der Anmeldung - Anregung zur DP
Zitat:
Umkehrbar sind nur bijektive Funktionen, also Funktionen die sowohl injektiv als auch surjektiv sind. Injektiv: Für alle x aus dem Definitionsbereich von f existiert genau ein y aus dem Wertebereich von f, so daß gilt: f(x) = y Surjektiv: Für alle y aus dem Wertebereich von f existiert genau ein x aus dem Definitionsbereich von f, so daß gilt: f^-1(y) = x. ==> 1. Semester Mathematikstudium, Grundlagen der Analysis Und nur wenn beide Bedingungen erfüllt sind, ist die Funktion bijektiv und damit umkehrbar. Aber wie gesagt, x² war nur ein schnelles, noch recht einfaches Beispiel. Es gibt da noch ganz andere. |
Re: Sicherheit bei der Anmeldung - Anregung zur DP
MD5 ist auf normalem Wege (d.h. ohne Rainbow-Tables) nicht umkehrbar. Grund: ich kann aus einem 1 GB langem String einen 32 Byte langen Hash machen. Damit hat man einen bestimmten Informationsverlust, das duerfte jedem einleuchten. Das heisst wenn du aus einem Hash wieder den originalen String finden willst, musst du alle moeglichen Kombinationen durchprobieren. Zur Zeit werden Rainbow-Tables berechnet, die alle Hashes fuer 8 Zeichen lange, alphanumerische Strings enthalten. Du kannst dir vorstellen wie lange es da schon dauert, zu einem Hash den entsprechenden String zu finden.
Greetz alcaeus |
Re: Sicherheit bei der Anmeldung - Anregung zur DP
Du musst ja auch nicht das richtige Passwort finden, sondern nur einen String, der den richtigen Hash erzeugt :wink:
Ich vertraue jedoch Md5, es ist 100 mal besser, als das Passwort im Klartext zu speichern. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz