Laden...

Mehrere Passwörter sicher sichern

Erstellt von wikki11 vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.714 Views
W
wikki11 Themenstarter:in
3 Beiträge seit 2015
vor 8 Jahren
Mehrere Passwörter sicher sichern

Hallo liebes Forum 😃,

ich habe irgendwie einen "Denkfehler" und hoffe das ihr mir mal ein paar Anstöße liefern könnt 😛

Ich bin dabei eine Software zu schreiben, diese soll die Anmeldeinformationen abfragen und sicher abspeichern. Der Benutzer gibt dabei das Passwort EINMAL beim Anlegen eines Objekts ein. Zukünftig soll das Programm dieses Passwort automatisch nutzen, quasi so etwas wie "Anmeldedaten merken". Da es mehrere Objekte geben wird, sollen die Passwörter verschlüsselt in eine XML Datei.

Meine erste Idee war nun die XML Datei mittels z.B. SHA zu sichern und mit einem Masterpasswort zu arbeiten (welches dann zum Abgleichen dient) welches vom Benutzer beim Programmstart eingegeben werden muss. Ist das sicher genug?
Oder sollte man besser jedes einzelne Passwort verschlüsseln und verschlüsselt in die Datei schreiben? Dabei wüsste ich aber nicht wie es entschlüsseln soll ohne das irgendwas im Programmcode hinterlegt wird das Rückschlüsse auf das PW zulässt. . .

Ich hoffe Ihr könnt mir hier helfen, vielen Dank schon mal!

6.911 Beiträge seit 2009
vor 8 Jahren

Hallo wikki11, willkommen im Forum,

Passwörter brauchen nicht mehr entschlüsselt werden, wenn die Benutzereingabe wie das Passwort verschlüsselt/gehasht wird und dann kann ein Vergleich mit diesem Hash erfolgen anstatt im Klartext.

Zudem werden Passwörter nicht einfach so verschlüsselt, sondern vorher noch "gesalzen". Siehe Forumssuche nach salted hash
Somit kannst du auch jedes einzelne Passwort - entsprechend gesichtert - in die Datei speichern.

Unabhängig davon hast du auch "fertige" Kennwortlösungen in Betracht gezogen?

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

16.825 Beiträge seit 2008
vor 8 Jahren

Sowas nennt man salzen von Passwörtern. => Salting.
Immer, wenn man etwas entschlüsseln will, braucht man den entsprechenden Key. Und es gibt immer eine Stelle, wo dieser Key liegt und es gibt immer einen Moment im System, an dem das Passwort unverschlüsselt im Speicher liegt.

Passwörter, wenn man sie nicht an ein anderes System weitergeben muss, sollte man aber via gesalzenem One-Way-Hash erstellen (zB Benutzerverwaltung).
Wenn man die Authentifizierung übergeben muss stellt sich die Frage, ob nicht das andere System dies übernimmt und man anschließend mit einem Token arbeitet (siehe OAuth2 Prinzip).
Auch Active Directory unterstützt dieses in einer Form.

W
wikki11 Themenstarter:in
3 Beiträge seit 2015
vor 8 Jahren

Vielen Dank, ihr seid echt super schnell 😃

Ich glaube ich muss noch ein wenig genauer werden. Die gespeicherten-Login Daten sind die Anmeldeinformationen für eine Remotedesktopverbindung die gestartet werden soll.

Mit einweg Hashes komme ich da leider nicht weiter, ich brauch das PW 1:1 so wieder wie ich es abspeicher...

U
135 Beiträge seit 2009
vor 8 Jahren

Du willst vermutlich ein Tool ähnlich wie Royal TS schreiben?

Royal TS handhabt es so, dass die Kennwörter entweder unverschlüsselt im Config-File abgespeichert werden - oder das Config-File verschlüsselt wird. Dann musst Du beim Start der Software (bzw. beim Laden des Config-Files) ein Kennwort eingeben.

6.911 Beiträge seit 2009
vor 8 Jahren

Hallo wikki11,

..dann ist der Weg mittels Masterpasswort schon der passende. Mozilla-Produkte handhaben das auch so.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

W
wikki11 Themenstarter:in
3 Beiträge seit 2015
vor 8 Jahren

Vielen Dank nochmal, ihr seid Spitze!
Also quasi genau so wie ich es mit der XML vor hatte, nur eben in der Config-Datei.
Ich denke, sofern nicht noch ein Einwand oder eine bessere Lösung kommt, werde ich das mit dem Masterpasswort übernehmen.

6.911 Beiträge seit 2009
vor 8 Jahren

Hallo wikki11,

welche Config-Datei meinst du hier?
In die app.config würde ich das nicht schreiben, sondern wenn schon in eine extra (XML-) Datei.

Ich würde eine passende .net-Datenstruktur (z.B. Dictionary<K,V>) nehmen, dort die Passwörter gesichert nach Zielverbindung (beim Remoteverbindung) ablegen und diese binär serialisieren und womöglich noch eine seltsamen Dateinamen (security by obscurity) nehmen.

XML ist schon wieder lesbar und da klick man gleich einmal rein, bei komischen ".dat" od. ohne Dateiname ist es (für den normalen User) schon anders.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"