Passwort sicher ablegen

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Passwort sicher ablegen

Beitrag von pfid »

Hallöchen,

ich Frage mich gerade, wie man in seinem Programm die Zugangsdaten eines Users sicher ablegen kann. Ich möchte den User bei erstmaliger Verwendung danach fragen, die Daten dann anschließend aber irgendo abspeichern.

Gibts dafür ein Standardvorgehen? Die Daten sollen natürlich keinesfalls irgendwo in Plaintext für jeden ersichtlich rumliegen. Alles was mir mit Verschlüsselung einfällt scheitert daran, dass das Programm opensource ist, und damit wieder jeder die Möglichkeit hätte, den Speicherort und die Verschlüsselung in Erfahrung zu bringen.
Einfach nur hashen und hardcoded abgleichen geht nicht, da es Zugangsdaten zu einem externen System sind, die nicht als Hash verwendet werden können.

Was ist denn da so der common way?
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Hi,

eine Möglicchkeit wäre sicher der Crypto-Hash ( also md5 oder so)
aber der ist ja leider nicht eindeutig. Allerdings mit der "noch 3 Versuche" Version wird es schwer den zu knacken.

Ist nicht die Lösung aber eine einfache Möglichkeit.
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

Nein, das geht wie gesagt nicht. Mein Widget soll die Zugangsdaten zu einem externen System in plaintext weitergeben, und da der Hash nicht umkehrbar ist, bringt mir das nichts.
Zuletzt geändert von pfid am 2. November 2009 11:09, insgesamt 1-mal geändert.
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Kann man nicht per SQL irgendwie so ne Passwort spalte macehn? Ich habe da glaub mal wasgelesen aber ich bin mir nicht mehr sicher.

Das wird aber verdammt schwierig nen OS Code mit Crypt zu basteln wo keiner sehen kann wie du es gecryptet hast....
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Bei OS hilft dir eh nur assynchrone verschluesselung /hashes ... alles andere iss ja scho per logik dann rueckverfolgbar.

wenn ich das richtig verstehe, baust du ein programm, was dir ne GUI zur verfuegung stellt zu irgend einem dienst wo du nen Passwort in plaintext zur verfuegung stellen musst ? DIe passwoerter hat der user an anderer Stelle festgelegt , bzw der dienst muss auch ohne deine GUI gehen ?

Wenn dein Prog aufn Desktop laeuft, hasst eh nur die chance das password auf nem sicheren Ort zu cachen .... User verzeichnis / registry im CurrentUser Zweig ... etc. Natuerlich nur optional und mit entsprechenden hinweis fuer den User.

Läuft dein programm irgnedwo aufn server, wuerd ich komplett die finger von lassen .... und nur 1:1 eingegebene passwoerter speichern und nix cashen ....

Ciao ...
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

Ist richtig was du vermutet hast. Das Programm/Widget würde wohl lokal laufen; es ist eine Schnittstelle zu Google Calendar. Ich werd mir mal anschauen wie Firefox das macht, mit den vom User eingegebenen Passwörtern. Wie ich auch schon auf ner anderen Seite gelesen habe, reicht es mir auch "ausreichend sicher" zu sein. Ich schreibe ja keine militärische Hochsicherheitsapplikation, ich dachte nur es gäbe irgendein gängiges Vorgehen was ich implementiere, bevor ich das Zeug plaintext ins User-home lege... :)
arj
Beiträge: 45
Registriert: 1. Juni 2009 13:51
Wohnort: Ihringen

Beitrag von arj »

Nun, meistens wird ein Masterpasswort genutzt, dass der Benutzer eingeben muss. Bei Dir fällt das natürlich weg. Denn dann könntest Du gleich direkt nach dem Passwort fragen.

Die Passwörter entweder im Klartext ablegen, oder mit einem Standardpasswort verschlüsseln (Triple-DES o.ä.). Zweiteres verhindert, dass nicht-Programmierer/Informatiker das Passwort ohne Hilfstools auslesen können. Andere Möglichkeit gibt es meines Wissens nicht.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

richtig, der Firefox macht sowas wie ne sammelmappe fuer passwoerter. der legt die die Mappe synchron verschluesselt irgendwo ab dann. Der Vorteil ist auch gleich der Nachteil:
Du kannst dir viele passwoerter durch ein Masterpasswort ersetzen. Die sicherheit steigt oder faellt mit der sicherheit der Mappe. Und die mappe hat "nur" synchrone verschluesselung. Einzig das passwort wiederum fuer die mappe kann und wird der browser assynchron hashen ....

Prinzipiell kannst du sowas auch machen ... dein benoetigtes Passwort synchron gegen einen Hash eines anderen passwortes verschluesseln. Dein User muss dann allerdings nur einmal das benoetigte passwort, sowei ein zugriffspasswort angeben, danach immer nur mit dem zugriffspasswort arbeiten ....
Ob es das den aufwand wert ist, keine ahnung ....
Normal hat der user aber private bereiche, wo nur er drauf lesen kann, und der admin (home verzeichnis).
ist der admin nicht vertrauenswuerdig kommt kann man noch extern was bauen ... usbstick oder speicherkarte ....
meist genuegt das fuer einfache dinge. Ich denk nicht das man ein kalender passwort so verschluesseln muss, das der user keinerlei komfort mehr bekommt ....

Ciao ...
Antworten