Autor Beitrag
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 762
Erhaltene Danke: 127



BeitragVerfasst: Di 13.08.19 20:25 
Hallo miteinander,

ich möchte natürlich kein Passwort speichern, da ich weiß, dass man das nicht macht :wink: .
Der IT-Dienstleister unserer Firma scheint da aber anderer Meinung zu sein. Schlimm genug, dass wir aller 90 Tage das Passwort wechseln müssen und aller 180 Tage ein neues Browserzertifikat installieren müssen (aber darüber wollte ich gar nicht reden), aber seit neuestem kommt die Meldung:
Zitat:
"Ihr neues Passwort muss sich in mindestens 3 Zeichen von Ihrem alten Passwort unterscheiden".

Ich habe das natürlich prompt getestet und bei meinem neuen Passwort nur ein Zeichen geändert und bekam die Fehlermeldung, dass ich nicht genügend Zeichen geändert hätte.
Nun meine Frage: Kann man feststellen, wie viele Zeihen ich geändert habe, OHNE dass mein altes Passwort gespeichert wird?

ub60
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 13.08.19 21:33 
Nur um sicher zu gehen, dass ich das richtig verstehe: Du musst dabei ausschließlich das neue Passwort eingeben und nicht auch nochmal das alte Passwort?

Falls das so ist, kann ich mir nicht vorstellen, wie das ohne Speicherung des alten Passworts funktionieren soll.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Di 13.08.19 22:00 
So eine ähnliche Meldung kennt man ja schon von z.B. Microsoft. Bei denen reicht aber ein anderes Zeichen.
Eine der Anforderungen an einen Hash ist, dass jede Änderung ein scheinbar zufällig anderes Ergebnis liefert, wenn ein Passwort als Hash gespeichert wird, ist eine solche Fehlermeldung also gar nicht möglich.

Soll heißen: Microsoft speichert die Passwörter alle als Hash, euer Dienstleister wahrscheinlich nicht.

Eventuell kann man tricksen:
Vielleicht ist die Meldung nur Fake und sie können die Anzahl unterschiedlicher Zeichen nicht erkennen?
Vielleicht berechnen sie andere Kennwörter anhand üblicher Änderungen (Ausrufezeichen am Ende) voraus und speichern die auch, um das zu prüfen?
Für realistisch halte ich das aber nicht.


Eine halb OffTopic-Frage:
Wenn man Kennwörter in Klartext speichert, könnte man das mit der DSGVO vereinbar machen, oder muss man die als Hash speichern, schon allein, weil das Gesetz es vorschreibt?
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Mi 14.08.19 01:28 
Natürlich muß das alte Paßwort bekannt sein, um die Anzahl der Differenzen zu bestimmen. Permanent muß es wegen der Anmeldungen ohnehin gespeichert sein, wenn auch gewiß verschlüsselt.

Davon abgesehen, gibt es da m.E. ein logisches Problem, diese Anzahl zu bestimmen.

altes Beispielpaßwort: 12345

neues Beispielpaßwort: 123456 -> 1 Unterschied.

weiteres neues Beispielpaßwort: 012345 -> 1 Unterschied (wirklich?)

Gut, mogeln wir nicht mit verschiedengroßen Paßwörtern:

noch ein neues Beispielpaßwort: 51234 -> 1 Unterschied? Oder doch 5?

Noch verrückter: 54321 -> 4 Unterschiede? Oder doch nur 1 Unterschied?

Entscheidend ist nämlich vielmehr die Informationsmenge, die benötigt wird, um das alte in das neue Paßwort zu transformieren.

Kurzum, ich empfinde das Ansinnen des Programmierers als nicht gut durchdacht.

_________________
Ordnung ist das halbe Leben - und sie zu schaffen die andere Hälfte.
Tankard
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Administrator
Beiträge: 217
Erhaltene Danke: 96



BeitragVerfasst: Mi 14.08.19 02:18 
Hallo,

ich geb mal meinen Senf dazu.

1) Eine Passwortänderung macht nur dann Sinn, wenn das Passwort kompromittiert ist.
Hier gibt es einen schönen Artikel, der dir das auf Heise erklärt. Der ändere dein Passwort Tag ist gut gemeinter Unsinn

2) Man erhöht bei einem sicheren Passwort nicht die Sicherheit, wenn man es regelmäßig wechselt. Im Gegenteil, da Nutzer dazu neigen, immer einfachere Passwörter zu nehmen und diese sich dann an den Monitor heften. Weil wer kann sich schon Passwörter merken, wenn man die Wichtigen alle paar Tage ändern muss?

3) Die Sicherheit eines Passworts wird nur durch seine Länge und durch die Anzahl möglicher Zeichen bestimmt. Hier gilt natürlich je Länger und je mehr mögliche Zeichen um so besser. Hier geht es um die Entropie des Passworts. Es wird empfohlen für starke Passwörter eine Mindestlänge von 20 Zeichen zu nutzen.

Für die Leute die es interessiert, gibt es ein paar nette Folien von der Uni Weimar zum Thema Passwörter.


4) Passwörter sollte man nur im Notfall im Klartext speichern, wenn keine andere Möglichkeit besteht. Wir ja auch in PHP Skripten gemacht, damit diese sich z.B. an einer Datenbank anmelden können.

Für fremde Nutzerpasswörter gibt es sonst sowas: Bussgeld


5) Wenn sich ein Benutzer an einem Webserver / Mailserver anmelden muss, besteht auf der Serverseite nicht die Notwendigkeit Passwörter im Klartext zu speicher. Hier kann der Dienstleister auch haftbar gemacht werden, da man ihm grobe Fahrlässigkeit vorwerfen kann. (siehe Link oben)


Aber nun zur eigentlichen Frage:

Man könnte in einem Array die benutzen Buchstaben ohne Angabe von Häufigkeit und Reihenfolge speichern, so könnte man die Differenz erkennen. Das macht die Sache aber auch nicht sicherer. Da ein Angreifer der Zugriff auf diesen Vektor bekommt das Passwort leicht erraten kann.

Sollte es sich um einen externen Web-, Mailserver handeln, kannst du mich gerne anschreiben, wenn ihr einen Providerwechsel anstreben wollt.

Für diesen Beitrag haben gedankt: ub60
icho2099
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 101
Erhaltene Danke: 12

WIN XP, WIN 7, WIN 10
Delphi 6 Prof, Delphi 2005, FPC
BeitragVerfasst: Mi 14.08.19 07:16 
wenn anstelle des Password jedes Zeichen als dessen Hash gespeichert wird, ggf etwas versalzen,
dann lassen sich die Änderungspositionen erkennen ohne das offene PW zu kennen.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 14.08.19 09:43 
Normalerweise wird dies auf zwei verschiedenen Wegen gemacht:
Die einfachste ist, dass man schlicht zur Änderung das alte Passwort noch einmal eingeben lässt und dann die Änderungen natürlich direkt untersuchen kann.
Ein weiterer Weg ist eine Analyse, bei der basierend auf dem neuen Kennwort diverse Mutationen des Kennworts gehasht und mit dem/den alten Kennwort/Kennwörtern verglichen werden, aber eben nur basierend auf dem Hash.

Zweiteren Weg erkennt man normalerweise daran, dass man ein chinesisches Zeichen im alten Kennwort nutzt (wenn das denn erlaubt ist) und dieses im neuen Kennwort weglässt. Denn diese Art der Analyse beschränkt sich normalerweise auf lateinische Zeichen, zumindest war es vor einiger Zeit so.

user profile iconicho2099 hat folgendes geschrieben Zum zitierten Posting springen:
wenn anstelle des Password jedes Zeichen als dessen Hash gespeichert wird, ggf etwas versalzen,
dann lassen sich die Änderungspositionen erkennen ohne das offene PW zu kennen.
Das würde das ganze besser angreifbar machen.
Anwender
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 62
Erhaltene Danke: 9



BeitragVerfasst: Mi 14.08.19 10:48 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Normalerweise wird dies auf zwei verschiedenen Wegen gemacht:
Die einfachste ist, dass man schlicht zur Änderung das alte Passwort noch einmal eingeben lässt und dann die Änderungen natürlich direkt untersuchen kann.
Ein weiterer Weg ist eine Analyse, bei der basierend auf dem neuen Kennwort diverse Mutationen des Kennworts gehasht und mit dem/den alten [...]



Die Diskussion über Passwortspeicherung und Bemängeln der Eigenschaften erinnert mich irgendwie an den alten Witz:


Bitte gib Dein Passwort ein.
> ananas

Entschuldigung, Dein Passwort ist zu kurz!
>geschaelte ananas

Entschuldigung, Dein Passwort muss mindestens 1 Zahl enthalten
> 1 geschaelte ananas

Entschuldigung, Dein Passwort darf keine Leerzeichen enthalten.
> 50verficktegeschaelteananas

Entschuldigung, Dein Passwort muss Grossbuchstaben enthalten.
> 50VERFICKTEgeschaelteananas

Entschuldigung, Dein Passwort darf nur Grossbuchstaben enthalten, die nicht aufeinanderfolgend sind.
> 50VerfickteGeschaelteAnanas DieIchDirInDenArschSchiebe, WennDuNichtEndlichDas VerficktePasswortNimmst!!!

Entschuldigung, Dein Passwort darf keine Satzzeiten enthalten.
> JetztWerdIchLangsamRichtigSauer 50VerfickteGeschaelteAnanas DieIchDirInDenArschSchiebe WennDuNichtEndlichDas VerficktePasswortNimmst

Entschuldigung, das Passwort ist schon in Benutzung. Wähle ein anderes!
> ...

_________________
neu hier

Für diesen Beitrag haben gedankt: ub60
ub60 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 762
Erhaltene Danke: 127



BeitragVerfasst: Mi 14.08.19 17:45 
Vielen Dank für Eure zahlreichen Antworten!

Natürlich stimme ich der Unsinnigkeit der permanenten Passwortänderung zu, ich sehe das genau so.

Durch Eure Nachfragen ist mir aber bewusst geworden, dass ich ja mein Passwort beim Einloggen eingeben muss, bevor ich die Aufforderung zum Ändern des Passworts erhalte. Somit ist auch geklärt, dass die "Experten" mein Passwort nicht auf Ihrer HD im Klartext speichern müssen.

Danke für die Denkanstöße!

ub60