PHP OpenSSL für Benutzerzugriff für Webseite

Eagle-PsyX-

Commander
Registriert
Juni 2006
Beiträge
2.057
Hey,

ich hätte mal eine theoretische und keine praktische Frage.

An einem Projekt setze ich auf relative hohe Sicherheitsstandards und bedenke dabei MySQL aes_encrypt() und OpenSSL RSA einzusetzen. Für die Entschlüsselung der inviduellen Benutzerdaten in der MySQL Tabelle müsste die private.key genutzt werden, die seinerseits nur über eine Passphrase zugänglich ist. Soweit so gut.

Das Problem wofür ich gerne Meinungen oder Vorschläge sehen würde ist, wie oder ob man damit umgehen kann wenn ein Benutzer sein Passwort/Passphrase vergessen hat. Folglich könnte man die Daten in der Datenbank nicht mehr entschlüsseln und diese wären "verloren". Ist zwar gut und sicher aber irgendwie auch seeehr blöd wenn man mal sein Passwort vergessen hätte.

Wie würdet ihr das umsetzen oder das Risiko eingehen? Ich meine das ist ja weniger meine Schuld wenn man sein Passwort vergessen hat und die Passphrase ändern geht ja auch ;-)
 
Du gibst dem Benutzer eine Möglichkeit die Passphrase oder Key oder was auch immer auszudrucken und in den Safe legen. Der Nutzer kann dies annehmen oder eben auch nicht. Seine Entscheidung.
Ist das Gleiche was z.B. auch GPG macht. Wenn es wirklich sichere Veschlüsselung ist, liegt es immer rein in der Verantwortung des Benutzers diese richtig zu nutzen, weil der "Anbieter" nicht helfen kann bei Schlüsselverlust, selbst wenn er es wollte.

"Ausdrucken" ist hier wirklich die beste Lösung weil der Zugang dann nicht irgendwo digital gespeichert ist. Einen 4096 Bit Key einzutippen ist nervig aber man macht das ja auch so gut wie nie. Und es soll auch nervig sein :)
 
Wäre es vernünftig über ein Cookie (HTTPS; secureflag = true) ein zufälligen Hash abzulegen, mit dem das Passwort für die private.key Datei in einer verschüsselten Variable in der Session abgelegt wird solange der Benutzer online ist? Somit sollte im Falle eines Servereinbruchs (Sessiondateien) ohne das beim Benutzer temporär abgelegte Hashwert kein Auslesen des Zugangs möglich sein. Richtig?
 
Solange der Benutzer online ist, bleibt das Passwort aber zugänglich, egal welche Faxen du veranstaltest es zu schützen.
Denn solange dein Server in der Lage ist die Nutzerdaten zu entschlüsseln, ist es potentiell auch der Einbrecher.
Dagegen hilft dann nur noch clientseitige Verschlüsselung.
 
Hm theoretisch ja praktisch schwierig. Da der Benutzt das fehlende Stückchen (Cookie) besitzt um die Daten zu entschlüsseln. Immerhin wäre es nicht möglich alle Daten gleichzeitig "zu klauen" sondern nur der aktuellen aktiven Benutzer.
 
An einem Projekt setze ich auf relative hohe Sicherheitsstandards und bedenke dabei [...] OpenSSL [...] einzusetzen.
OpenSSL ist so die allerschlechteste Wahl dafür. Bei denen wird alle 5 Minuten ein neuer katastrophaler Bug entdeckt. Der Code ist unles- und unwartbar.
Nimm irgendetwas anderes. Bitte. Es gibt GnuTLS. Es gibt LibreSSL. Etwas besseres als OpenSSL findest du überall.
 
Zurück
Oben