Entwickler-Ecke

IO, XML und Registry - Password Manager


_BoB_ - Di 22.06.10 13:36
Titel: Password Manager
Hallo zusammen,

Wir sollen für den Informatikunterricht einen Password Manager in C# entwickeln.

Es gibt ein Masterpassword, um auf die Passwörter zugreifen zu können.

Die Passwörter, wie auch das Masterpasswort, müssen ja irgendwo gespeichert werden.

Dies bringt mich zu meinen Fragen:

Ich habe mir gedacht die Passwörter in einer verschlüsselten Datei zu speichern.

~ Ist das sicher genug / konform?
Wenn ja, wie kann ich dies realisieren?

~ Wie kann ich dann einen Ver- und Entschlüsselungsalgorythmus anwenden?



Hoffe ihr könnt mir helfen.

Grüße

_BoB_ :P


And-Wolf - Di 22.06.10 16:06

Hallo,

eigentlich speichert man Passwörter nicht.

Grundsätzlich.

Soviel dazu.

Nun stellt sich mit sicherheit die Frage.
Aber ich kann doch Passwort eingeben udn habe Zugriff.

Eigentlich speichert man sogenannte "Hash" Werte.

Und genau das solltest du mit deinem "Masterpasswort" machen.

Wenn du nach c# und verschlüsselung googelst findest du aber schon eine Menge.
Ich denke es ist unnötig noch was dazu zu schreiben da dort alles steht ;)

Gruß
Andreas


_BoB_ - Di 22.06.10 21:09

Gut ok.

Werde das jetzt mit einer Datenbank realisieren.

Das mit den Hashes war mir klar (komme vom PHP bereich), deshalb hab ich auch mal nach einer md5 Methode gesucht, aber auf anhieb nichts gefunden.
Werde dort meine Arbeit weiterführen.

Danke und Grüße
_BoB_


Flitzs - Di 22.06.10 21:21

user profile iconAnd-Wolf hat folgendes geschrieben Zum zitierten Posting springen:

Eigentlich speichert man sogenannte "Hash" Werte.


Macht zwar Sinn aber nur dann, wenn ich Zugangsdaten speichern will (Benutzername + Passwort zum Login in mein Programm).
Doch wenn ich richtig verstehe, soll das eher eine Art Passwort-Safe werden.

Daher würde ich empfehlen, eine Datebank/Speicher-Datei aufzubauen und dann entweder die bereits verfügbaren Verschlüsselungsmechanismen der Datenbanksysteme verwenden oder die Datei selbst mittels AES/Blowfish/Triple-DES (AES [http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndael.aspx] ist im .NET Framework schon implementiert, wie es mit den anderen aussieht weiß ich nicht) verschlüsseln und dafür als Key das Passwort des Benutzers / einen Hash davon verwenden.

mfg Flitzs