Passwort
-
Hallo zusammen,
hab im Dialog ne Passwort-Abfrage programmiert. Das Passwort soll aber nur für eine gewisse Zeit gültig sein ( z.B. 1 Woche ), danach soll es nicht mehr akzeptiert werden. Nun frage ich mich wie ich das hinbekommen kann, dass der User auch wirklich mit dem " alten " Passwort nicht mehr reinkommt. Natürlich sollte es eine profesionelle Lösung sein und nicht u.a. bei Datumsumstellung im OS schon geknackt sein.
Hat jemand von euch eine Idee ?
Danke schön
-
Na die Frage ist ja wie sicher es ein muss?
Es gibt da sicher professionelle Lösungsmethoden, aber du könntest zum Beispiel das aktuelle Datum und die aktuelle Zeit bei der Passworterstellung und jeder Anmeldung speichern udn vergleichen. Die Vergleiche musst dzu dir dann überlegen. Datumsdifferenz nicht größer als max Passwortgültigkeit, nicht kleiner als Zeitpunkt der Passworterstellung,...
Dann könntest du so eine Art Timeout einbauen, so dass zum Beispiel nur eine Anmeldung pro Minute möglich ist. Sind zwar eifnache Lösungen, aber selbst bei manipulation der Systemzeit würde er sich irgendwann nach Ablauf der Zeit nicht merh anmelden können
-
Am einfachsten ist wirklich erstmal die Art mit dem Datum sichern. Wenn Entweder in einer Datei oder in der Registry.
Wie oneill5000 schon schrieb:
Wenn du es sicher machen willst, dann sicher das Datum von jeder Anmeldung und gleich das ab. Wenn dann jemand die Systemzeit umstellt und das Datum nicht mit dem letzten gespeicherten übereinstimmt, dann TILT. Um das Datum kommst du als inzige feste Größe net rum glaub ich. Gibt glaub ich die Windows-Zeit und die Systemzeit vom Bios. Oder du holst dir die Zeit von einem Externen Server (falls möglich), das setzt aber Winsockets voraus.
-
Uruk-h4j schrieb:
Gibt glaub ich die Windows-Zeit und die Systemzeit vom Bios.
Wenn du in Windows die Zeit einstellst, dann wird das im BIOS gespeichert. Das ist die Systemzeit. Zumindest war es früher (DOS, Win95) so, eine Änderung wäre mir neu. Ist ja auch logisch, wenn der Rechner aus ist, ist nur noch das BIOS aktiv und kann die Zeit weiterlaufen lassen...
-
Hmm.. gut zu wissen. Werds mir merken

-
Danke erstmal für eure Vorschläge,
zu oneill5000 und Uruk-h4j :
also war auch meine Idee mit der Sicherung des Datums auf eine externe Datei. Nur bei Überprüfung des Datums kann ja immer wieder auf das Datum zurückgestellt werden wo es mit dem Passwort lief, falls ein gewisses Datum nicht überschritten wurde und das Passwort komplett ungültig ist. Deswegen reichen die Überprüfungen zur Datumsdifferenz und Passworterstellung nicht aus. Die Dauer des gültigen Passworts soll sich auf einen Monat betragen und danach mit einem neuen Passwort wieder rum einen Monat usw...habt ihr noch andere Ideen ?
Danke
-
Naja wie gesagt sicher nicht nur das Datum wo das Passwort gültig ist sondern auch das Datum, wo man sich einloggt und wann das Password rein Rechnerisch ungültig wird. Mit dem ersten und dritten Datum hast du ja festgelegt, wann die 30 Tage rum sind für das gültige Passwort. Mit dem zweiten Datum legst du fest wann man sich zuletzt eingeloggt hat und kontrollierst ob das neue startdatum plausibel ist.
Wenn jetzt jemand das Datum umstellt muss du prüfen, ob da Datum plausibel ist. Wenn das Startdatum im Bereich des Kontrolldatums liegt -> Ungültig oder wenn halt der Monat rum ist. Wenn das Datum vor dem erstelldatum liegt dann auch -> Ungültig.
Wenn du das ganze noch sicherer machen willst, dann sicher das Datum nicht in klartext sonder verschlüssel es irgendwie oder schreib es in eine Versteckte Datei oder in der Registry unter einem unübersichtlichen pfad.
Evtl kannst du das Logbuch von Windows nutzen. Windows loggt ja alles mit, auch das Einschalten und Anmelden ans system. Vllt. kannst du das noch mit einbauen.
Einen anderen Weg seh ich nicht, bzw. fällt mir nicht ein.