Ich habe heute eine Frage von meinem Vorgesetzten erhalten, in der ich gefragt werde, was als akzeptables Design für die Authentifizierung einer Webformularanwendung angesehen wird, insbesondere in Bezug auf die Art vieler gängiger Browser, Kennwort für Ihre typischen Benutzername-Kennwort-Anmeldefelder zu speichern .
Mir fällt es schwer, eine Antwort zu finden, die ich für akzeptabel halte. Angesichts der peinlichen Sicherheitslücken von Sony möchte ich wirklich vorsichtig sein, auch wenn die Daten, die auf Personen gespeichert werden, eine geringere Empfindlichkeit aufweisen. Wir speichern keine Sozialversicherungsnummern oder Adressen, jedoch Telefonnummern, E-Mail-Adressen und ein Foto eines Besuchers.
Er befürchtet, dass sich ein Benutzer das Passwort einfach an einem öffentlichen Terminal merken und dann einfach auf dieses Terminal springen kann, um unbefugt Daten anzuzeigen oder zu ändern. Ich bin mir jedoch ziemlich sicher, dass zumindest auf Windows-Arbeitsstationen der Browser das Kennwort nicht für alle Windows-Benutzerkonten "merkt".
Darüber hinaus implementiere ich eine Einwegkennwortverschlüsselung auf der Serverseite (verschlüsseltes Kennwort in der Datenbank speichern, vom Benutzer eingegebenes Kennwort auf dem Server verschlüsseln, mit verschlüsselter Zeichenfolge aus der Datenbank vergleichen). Es gibt keine unmittelbaren Pläne, eine SSL-Verschlüsselung einzubauen, dies ist jedoch immer noch eine Option.
Gibt es bei diesem Ansatz größere Sicherheitslücken? Haben Sie bessere Vorschläge?