Laden...

Passwort sicher speichern

Erstellt von Dux vor 17 Jahren Letzter Beitrag vor 13 Jahren 20.483 Views
Information von herbivore vor 17 Jahren

Dies ist ein Thread, auf den aus der FAQ verwiesen wird. Bitte keine weitere Diskussion, sondern nur wichtige Ergänzungen und diese bitte knapp und präzise. Vielen Dank!

D
Dux Themenstarter:in
128 Beiträge seit 2004
vor 17 Jahren
Passwort sicher speichern

Hallo,

es gab ja schon genug Themen, wie man Passwörter verschlüsselt speichert usw. Aber es war immer die Rede davon, dass von diesen Methoden eigentlich keine sicher ist, da beispielsweise die Verschlüsselungsroutine und die dazu gehörigen Keys ganz einfach mit einem Decompiler dekompiliert werden können.

Wäre es eine Möglichkeit, diese Verschlüsselungsroutinen in eine externe MFC-dll auszulagern? Oder kann man die auch einfach wiederherstellen?

Irgendeine sichere Methode MUSS es doch geben, es kann ja nicht sein, dass man mit C#-Programmen sowas nicht realisieren kann.

Grüße,
Dux

4.506 Beiträge seit 2004
vor 17 Jahren

Hallo Dux,

eine sichere Methode ist es, Passwörter mit z.B. MD5 oder SHA zu verschlüsseln, und dann abzuspeichern.

Allerdings kann man sie dann nicht mehr entschlüsseln. Was aber meiner Meinung nach bei Passwörtern eher ein Vor- als ein Nachteil ist.

So kann auch kein "Admin" die Passwörter anderer Benutzer rekonstruieren.

Bei einem PW-Vergleich nimmst Du einfach die Eingabe des Users, und Verschlüsselst diese nach dem selbigen Verfahren. Kommt das selbe zum Gespeicherten raus, so war die Eingabe korrekt.

Bei Verlust des Passwortes, muss der Admin ein neues beliebiges Passwort vergeben, und dann das alte Überschreiben...

Gruß
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Dux,

wäre schön, wenn wir das Thema eingrenzen könnten. Muss das Passwort entschlüsselbar sein? Oder reicht das, was norman_timo beschreibt?

Hallo norman_timo,

wirklich sicher ist MD5/SHA nur mit Salt. 🙂

herbivore

D
Dux Themenstarter:in
128 Beiträge seit 2004
vor 17 Jahren

Leider reicht es nicht so, wie timo es beschreibt.

Zur Situation:
Ich hab ein Datenbankpasswort, das nicht geändert wird. Jeder Client greift auf diese Datenbank zu. Ein Client soll aber nicht das Passwort der Datenbank herausfinden, sondern nur ausschließlich mit meinem Programm auf die Datenbank zugreifen können.

Gibt es dafür eine Lösung?

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Dux,

es gibt Datenbanken, bei denen kann man Programme unabhängig von Usern berechtigen. Das ist genau das, was du brauchst. Siehe Logik für DB-Pwd.

herbivore

D
Dux Themenstarter:in
128 Beiträge seit 2004
vor 17 Jahren

Das hört sich gut an. Nur das Problem ist, dass diese Datenbank bereits besteht und eine Access-Datenbank ist. Sie ist auch schon mit Daten gefüllt und sollte wenn möglich nicht verändert werden.
Darum müsste ich das evtl. über mein Programm lösen, wobei wir wieder am Anfang wären 🙁

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Dux,

... und m.E. auch am Anfang bleiben. Ich denke, dann musst du dich mit der Sicherheit zufrieden geben, die du erreicht hast. Passwort verschlsseln. Fertig.

Zum Trost: Absolute Sicherheit gibt es es ohnehin nicht und nirgends.

herbivore

D
Dux Themenstarter:in
128 Beiträge seit 2004
vor 17 Jahren

Hm, das ist doch sehr schade...

Dann werd ichs mal versuchen, die Verschlüsselungsroutine in eine native-dll einzulagern.
Trotzdem vielen Dank für die Antworten! Das mit der anderen Datenbankmethode ist auf jeden Fall auch mal für spätere Projekte gut zu wissen.

Grüße,
Dux

2.223 Beiträge seit 2005
vor 14 Jahren

Hallo Ihrs,

ich weiß der Beitrag ist schon älter, nur in diesem Zusammenhang sollte man auch
diese Möglichkeit
Verschlüsseln von Konfigurationsinformationen mithilfe der geschützten Konfiguration
nennen

Herzliche Grüße
BlackCoin

1.820 Beiträge seit 2005
vor 13 Jahren

Hallo!

Eine weitere Alternativen für Datenbankpasswörter:
Wenn es um eine abgegrenzte Benutzergruppe geht (z.B. im Intranet) kann man ggf. auch einen Proxy-Server erstellen, welcher Abfragen entgegen nimmt, an die DB weiterreicht und das Ergebnis zurücksendet. Dann ist das Passwort nur dem Proxy-Server bekannt, ggf. kann man sogar eine eigene Benutzerkontrolle implementieren, wenn die zugrunde liegende DB das nicht bietet.

Nobody is perfect. I'm sad, i'm not nobody 🙁

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo tom-essen,

... ggf. kann man sogar eine eigene Benutzerkontrolle implementieren ...

was allerdings das Problem nur verlagert, wenn der Proxy selbst wieder passwortgeschützt sein soll.

herbivore