AW: Visual Basic 2008 Verschlüsselung - Sicherheit?
Das mit dem sicheren Speichern ist so eine Sache. Du kannst eben nur sehr wenig "sicher" speichern. Deswegen basiert sowas schon oftmals auf berechnungen, die eben nciht einfach ausgelesen werden können. Aber so tief in der computerkryptografie bin ich auch nicht drin
[/QUOTE]
Man kann gar nichts sicher speichern, wenn denn einer da ist, und es wirklich drauf anlegt....
Daher sind ja auch alle guten Verschlüsselungen Quelloffen. Selbst mit bekanntem Verfahren ist es halt nicht möglich das Verfahren zu knacken, weil einem Teile unbekannt sind.
Ist richtig so.
Es gibt also keine sichere Variante?
Jaein. Wenn du nie auf die Daten zugreifst, dann schon, wenn dus machst, machste auch das Tor auf für Angriffe, über den RAM etc.
Weil wenn jemand den Hash hat, kann es sich doch auch einfach ein Programm programmieren, das mit der gleichen methode wie meins funktioniert?
Nein kann man nicht, da man zwar das Ergebnis hat, aber nicht die HASH-Funktion. Der Trick dabei ist es ja, das in dein Programm etwas eingegeben wird, das etwas obskures damit macht, und dann einen HASH-Wert ausrechnet, und wenn der dann mit dem gespeicherten übereinstimmt, dann wird erst frei gegeben. Den gespeicherten HAsh-Wert zu ändern führt nur zu einem: Keiner kann mehr drauf zugreifen
Du musst halt alles innerhalb deines Programms erledigen. Das schützt dich aber nicht gegen Reverse-Engineering. Also dem rückübersetzen deines Binären Programms in menschlich lesbaren Code. Du musst also innerhalb deines Codes also Funktionen einbinden, womit dein Parsing nicht vorhersagbar wird, bzw. du musst den Teil deines Codes mehrfach kapseln. Das Problem dabei ist, jeder Kann da mit genug Aufwand sich durch ackern, da dein Programm ja wissen muss, wie es an seine eigenen Daten ran kommt...
Du kannst natürlich die entschlüsselung des Programmcodes vom Schlüssel selbst abhängig machen. Dann musste halt dein Programm schon mit einem nicht im Programm enthaltenen Schlüssel ausliefern, der dann halt geändert werden muss durch den Nutzer. DAS wäre dann ziemlich sicher, schützt gegen auslesen aus dem RAM aber noch immer nichts.... Um das Problem wirste auch nicht rum kommen, so lange du keine externe Hardware dafür verwendest.
Erst damit kannste ein sicheres System aufbauen.
Das wird aber ziemlich sicher über deine Möglichkeiten gehen
Allein das selbstverschlüsseln der Programmdaten stell ich mir äußerst komplex vor