Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Passwort sicher speichern

Moderationshinweis von herbivore (10.09.2006 - 15:32:45):

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!

Dux
myCSharp.de - Member



Dabei seit:
Beiträge: 128

Themenstarter:

Passwort sicher speichern

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
norman_timo
myCSharp.de - Member

Avatar #avatar-1775.jpeg


Dabei seit:
Beiträge: 4591
Herkunft: Wald-Michelbach (Odw)

beantworten | zitieren | melden

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!”
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Dux
myCSharp.de - Member



Dabei seit:
Beiträge: 128

Themenstarter:

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Dux
myCSharp.de - Member



Dabei seit:
Beiträge: 128

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Dux
myCSharp.de - Member



Dabei seit:
Beiträge: 128

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Lars Schmitt
myCSharp.de - Experte

Avatar #avatar-2240.jpg


Dabei seit:
Beiträge: 2335
Herkunft: Witten

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo tom-essen,
Zitat
... ggf. kann man sogar eine eigene Benutzerkontrolle implementieren ...
was allerdings das Problem nur verlagert, wenn der Proxy selbst wieder passwortgeschützt sein soll.

herbivore
private Nachricht | Beiträge des Benutzers