2010-06-24 13 views
5

Ich bin neu in der Webentwicklung. Darf ich die ursprünglichen Passwörter der Nutzer speichern? Ich weiß, dass es empfehlenswert ist, das Hash-Passwort mit einem Salz zu speichern, aber warum speichern wir nicht das ursprüngliche Passwort?Warum werden keine Originalpasswörter gespeichert?

Liegt es daran, dass die Datenbank leicht gehackt wird, so dass das Hashing Passwörter schützt? Gibt es noch andere Gründe? Wenn nicht, möchte ich das ursprüngliche Passwort speichern, wenn es legal ist.

+16

Ich werde nie ein Konto auf Ihrer Webseite ^^ thnx für die Erwähnung – Bas

+0

yep registrieren, ich denke, das ist es für diese Frage :) –

+4

Für welche Seite finden Sie diese Praxis umsetzen? Wir können wegbleiben :-) Du siehst !!! – Samiksha

Antwort

17

Die Rechtmäßigkeit hängt vom Land ab, in dem Sie leben. Aber es gibt auch Best Practices. Eine bewährte Methode besteht darin, die Kennwörter der Benutzer zu verschlüsseln. Wenn jemand in Ihre Datenbank einbricht, kann er auf diese Weise die lange Liste der Passwörter nicht abrufen und kann sie in eBay, Yahoo Mail und Google Mail testen. Benutzer verwenden in der Regel denselben Benutzernamen und dieselben Passwörter für viele Websites.

Wie Jon im Kommentar sagt, gibt es natürlich einen Unterschied zwischen Hashing und Verschlüsselung. Hashing ist ein einseitiger, datenschädigender Prozess, der eine Zeichenfolge mit beliebiger Länge als Eingabe verwendet und eine Zeichenfolge fester Länge ausgibt. Diese Zeichenfolge ist so definiert, dass das Ändern eines einzelnen Bits in der ursprünglichen Eingabe dazu führt, dass der Hashwert unterschiedlich ist. Wenn Sie einen Hash haben, ist es daher nicht möglich, den ursprünglichen Text zu rekonstruieren (d. H. Es ist nicht möglich, das Passwort wiederherzustellen).

Auf der anderen Seite, Verschlüsselung richtige Technik ist, wo Sie das Original-Passwort wiederherstellen kann, geheime Schlüssel zu wissen, Passwörter usw.

Normalerweise Sie Passwörter Hash, so dass sie nicht verschlüsseln: es nicht notwendig ist, und es ist komplexer einzurichten. Sie sollten das Passwort auch nicht wiederherstellen: Sie werden es nur neu generieren.

+5

Wählen Sie dieses und löschen Sie meine. An alle, die angeben, dass es legal ist, wäre ich sehr interessiert zu wissen, auf welcher Grundlage Sie das behaupten. Du musst _sehr_ gute Anwälte sein, um jedes Gesetz weltweit zu kennen. – paxdiablo

+4

Ich denke, es wäre es wert, den Unterschied zwischen Verschlüsselung und Hashing zu erklären, und wann man jeden verwenden sollte. Wenn Sie das Kennwort eines Benutzers wiederherstellen müssen, verwenden Sie die Verschlüsselung. Wenn nicht, wäre Hashing eine bessere Wahl. –

+0

@Jon: Ja das stimmt. Ich habe es bearbeitet und ein wenig ausgearbeitet. – Palantir

0

Ja, es ist vollkommen legal, obwohl absolut nicht empfohlen, Passwörter im Klartext zu speichern. Und es ist nicht so, dass Ihre tatsächliche Live-Datenbank kompromittiert werden könnte: Sogar eine Sicherungskopie kann gestohlen werden (ohne dass Sie es jemals merken).

Wenn Passwörter gestohlen werden, ist dies sehr schlecht für Ihre tatsächlichen Benutzer, da nur sehr wenige von ihnen tatsächlich unterschiedliche Passwörter für verschiedene Websites verwenden.

+2

Unter welcher Gerichtsbarkeit genau behaupten Sie, dass dies legal ist? Sind Sie ein internationaler Anwalt (oder ein Anwalt aller Art)? – paxdiablo

0

Es ist legal nach dem Gesetz. Einige Unternehmen speichern das Passwort im Klartext, so dass es wiederherstellbar ist.

Aus Sicherheitsgründen ist dies jedoch eine schlechte Idee. Hin und wieder wird eine Firma gehackt und auf ihre Datenbank zugegriffen. In einigen Fällen werden dadurch die Kennwörter Tausender Benutzer angezeigt. Dies wird das Image Ihres Unternehmens stark beeinträchtigen und ist noch mehr ein Sicherheitsrisiko, wenn das Passwort nicht gehackt wird.

Wenn Sie möchten, dass das Kennwort wiederherstellbar ist, verschlüsseln Sie es zumindest so, dass es beim Zugriff auf die Datenbank nicht leicht zu sehen ist.

+1

Unter welcher Gerichtsbarkeit genau behaupten Sie, dass dies legal ist? Sind Sie ein internationaler Anwalt (oder ein Anwalt aller Art)? – paxdiablo

+0

"Einige Firmen tun dies" bedeutet nicht "und somit muss es legal sein". Es könnte auch bedeuten, dass "einige Unternehmen das Gesetz brechen". – Piskvor

1

Stellen Sie sich vor, wenn Facebook gehackt wurde, verschlüsselt es keines der Passwörter des Benutzers. Facebook selbst hat etwa 200 Millionen (?) Nutzer

Was wäre, wenn all die 200 Millionen Passwörter einer bösartigen Organisation zugespielt würden? Viele Benutzer verwenden dasselbe Passwort wie ihre E-Mails oder andere sensible Online-Dienste wie Bankbuchhaltung.

Facebook wäre nicht einmal sicher. Würden Sie dort ein Konto eröffnen?

+1

(1) Menschen, die an mehreren Standorten die gleichen Passwörter verwenden, sind Idioten. (2) Ich würde sowieso keinen Account bei Facebook registrieren. Nicht weil es unsicher ist, nur weil ich meine Freunde für die halte, mit denen ich gerne Zeit verbringe, nicht irgendein Clown am anderen Ende eines CAT5-Kabels :-) – paxdiablo

+0

@paxdiablo: (1) Du hast Recht, aber leider existieren sie und sollte berücksichtigt werden, wenn Sie sie speichern möchten. (2) Ich stimme hier zwei zu, aber ich kann auch die Leute verstehen, die Facebook nutzen wollen. Aber es ist immer noch kein Grund, zwei ein unverschlüsseltes Passwort zu speichern. – jigfox

+0

Nein, ich stimme dir zu @Wai und, da du nicht zu den Leuten gehörst, die angaben, dass es legal ist (ohne Rückendeckung), eine Verbesserung für dich. – paxdiablo

1

Ich weiß nicht, ob es legal ist, aber dennoch würde ich davon abraten mindestens drei Gründe:

  1. Dies ist nicht nur über Hacker auf Ihre Passwörter immer Zugang. Benutzer haben oft das gleiche Passwort für mehrere Konten (auch sollten sie nicht haben). Wer sagt also, dass wir Ihnen oder anderen Personen, die legalen Zugang zu diesen Daten haben, vertrauen können?
  2. Es spielt keine Rolle, wie sicher Ihr Server ist. Es gibt keine absolute Sicherheit für einen Server. Sie sollten berücksichtigen, dass es möglicherweise gehackt werden könnte. Und glaube nicht, dass es nie passieren wird. Hoffe auf das Beste, aber plane immer das Schlimmste!
  3. Ich würde jede einfache und billige Sicherheit nutzen, um nicht nur meine Daten, sondern auch die Daten der Benutzer zu sichern. Und die Methode, ein salt + hash zu verwenden, ist billig. Es kostet 2 Zeilen Code. Es
Verwandte Themen