Login Daten abspeichern

12/15/2016 01:16 Numb-Ex#1
Nabend allerseits.
Ich habe in meinem derzeitigen Program vor, ein Loginmodul einzubauen.
Nun stellt sich allerdings mir die Frage, wie kann ich die Daten am besten Verwalten? Da ich die daten ja nicht hardcoded ins Program integrieren kann.
Meine Idee wäre es jetzt diese im Programm zu einem Hash umzuwandeln, wobei der Hash aus BSP Loginname+PC Name besteht. Und dieser in einer Textdatei abspeichere.
Oder ist diese Variante auch relativ unsicher?
Bzw hat jemand einen besseren Vorschlag?
mfg
12/15/2016 09:22 florian0#2
Ein Hash ist Einwegverfahren. Den Klartext aus einem Hash zu generieren ist (in der Theorie) nicht möglich.

Für einen Login brauchst du in der Regel Klartext-Passwörter. Wenn du einen Hash speicherst, nimmst du für den Login logischerweise diesen Hash. Das heißt im Umkehrschluss, auf der Serverseite brauchst du ebenfalls nur die Hashes, an die Klartexte kommst du ja nicht mehr.
Im Endeffekt hast du hier also keine weitere Sicherheit. Der Hash ist nun dein Klartext, sieht nur nicht mehr wie Klartext aus.

Beim Passwort wird das ganze noch viel lustiger. Angenommen du speicherst auch das Passwort gehasht auf den Client ... dann musst du ja auf Serverseite garnicht mehr hashen oder? Bäm, System kaputt. Auch wenn keiner die Klartextpasswörter kennt, die muss er jetzt auch nicht mehr kennen. Er kann sich ja einfach mit dem Hash authentizifieren.
Wenn man den Hash von einem User klaut, naja, klingt jetzt nicht so kritisch. Aber im Endeffekt hast du jetzt eine Datenbank voller Klartextpasswörter ... wenn die jemand in die Finger bekommt, braucht er sich nicht mal die Mühe zu machen die Hashes zu knacken.

Besser wäre eine klassische Verschlüsselung mit einem individuellen Schlüssel pro Computer. Hier ist die Verschlüsselung natürlich nur solange sicher, wie man den Schlüssel nicht kennt. Ist auch nicht perfekt, aber besser.
12/15/2016 09:24 Devsome#3
Wenn du später das Programm vermarkten willst (verkaufen) dann wäre es am besten die Online zu speichern. Dann kannst du mit deinem Programm eine Abfrage an einen Webserver machen entweder bekommst du dann eine Antwort "Alle Daten stimmen" oder einfach nur eine 1 und 0 zurück.
12/15/2016 09:27 aj1987#4
Es wäre wohl auch noch als Alternative besser die Datensätze in die Registry zu schreiben. Du kannst wie ja bereits erwehnt, die Login-Daten mit einem Schlüssel verschlüsseln der sich aus PC-Daten zusammenfasst.
12/20/2016 18:57 AssaulT_#5
Quote:
Originally Posted by aj1987 View Post
Es wäre wohl auch noch als Alternative besser die Datensätze in die Registry zu schreiben. Du kannst wie ja bereits erwehnt, die Login-Daten mit einem Schlüssel verschlüsseln der sich aus PC-Daten zusammenfasst.
Die Windows-Registry ist ein obsoletes und überholtes Konzept, welches man hervorragend umgehen kann. Ich würde keinem dazu raten, Userdaten dort abzulegen.