BTW: Meinst du Schneider oder Sch[.]ei[.]er? Würde nämlich zu letzterem passen...
Vermutlich Sch
nei
[.]er
Ja, natürlich. Da ist wohl noch aus Versehen ein
d mit hineingerutscht
Göttlich!
Ok, wovor sollte man sich schützen wollen. Angenommen, man hat beschriebenes netzwerkfähiges Programm mit der Möglichkeit, verschiedene Zugangsdaten zu Servern zu speichern. Ferner angenommen, der User ist nicht bereit, die Passwörter der
einzelnen Accounts bei jedem Login neu einzugeben. Damit ist Fakt, die Passwörter müssen in irgendeiner Form reversibel verschlüsselt gespeichert werden (oder eben im Klartext, aber das blenden wir mal aus). Der Einsatzbereich des Programms ist nicht exakt abzugrenzen: Kann sowohl im privaten Kinderzimmer auf der Daddelkiste als auch im Unternehmen im Produktiveinsatz. Die Verbreitung des Programms lässt sich auch nicht abschätzen. Ich gehe zwar von einem eher kleinen Nutzerkreis aus aber man kann ja nie wissen.
Wer dürfte Interesse an den Logins haben? Im privaten Bereich fielen mir z.B. Mitschüler ein, Stichwort Cybermobbing usw. Dass die Jugend zum Teil schon geniale kryptografische Talente besitzt hat sich in der Vergangenheit ja mehrfach gezeigt. In Unternehmen fiele mir z.B. Industriespionage ein oder das Verteilen von Malware.
Die Tatsache dass die Passwörter reversibel verschlüsselt sein müssen bedingt die weitere Tatsache, dass das Programm belauscht und die Klartext-Passwörter mitgeschnitten werden können. Das trifft insbesondere auf unsichere Netzwerkprotokolle zu. Diese Möglichkeit halte ich für das wahrscheinlichste Angriffszenario. Demzufolge wäre der beste programmeigene Verschlüsselungs-Algo nichts wert. Darum sollte eine Verschleierungstaktik gegen zufälliges manuelles Lesen der Accountdateien ausreichen. Für alles weiterführende sind eigentlich externe Sicherungstechniken anzuraten. Denn wenn das eigene Netzwerk bzw. Rechner kompromittiert ist stehen die Daten sowieso direkt im Frontgraben.
Allerdings ist es der Reputation nicht gerade zuträglich, wenn das eigene Programm im Fall eines Datenlecks beim Kunden durch einen dilettantischen Verschlüsselungs-Algo wie XOR auffällt. Darum würde ich einen derzeit als sicher geltenden Algo verwenden. SHA256 und/oder AES scheinen das Mittel der Wahl zu sein. Fertige Implementierungen a la
DEC einzubinden kostet nicht viel Arbeit und man hat zumindest programmseitig alles getan was machbar war. Der Rest obliegt dem Anwender. Eben auch, ob er das hartkodierte Masterpasswort der Bequemlichkeit wegen einem händisch einzugebenden vorzieht.
So seh ich die Sache inzwischen.