Rückwandlung in IML und Passwortschutz

Operator_Jon

Erfahrenes Mitglied
Hallo Leute!

Ich bin recht neu in .NET und habe jetzt mit VB.NET angefangen und komme ursprünglich von VB-6.

Ich habe vor ein Programm zu schreiben, welches mit einer MYSQL-DB kommuniziert. Alles kein Problem so weit. Nun habe ich mir überlegt, die Zugangsdaten in einer verschlüsselten Textdatei abzulegen, also mit der Streamverschlüsselung.

Jetzt habe ich aber in einem Buch gelesen, dass sich die .NET Anwendungen sehr leicht in IML-Code zurückwandeln lassen und da würde doch theoretisch das Passwort das zum verschlüsseln verwandt wurde sichtbar.

Meine Frage also:
Ist das so oder irre ich mich da, bzw. habe den IML-Code falsch verstanden?
Falls ich mich nicht irre, wie kann man das verhindern..?

Lieben Gruß

Jonny
 
Naja, MSIL ist die Basis für alle darauf aufsetzenden .NET Sprachen ;-) Und ja, wenn du ein Passwort innerhalb deiner Anwendung ablegst, dann ist es meist auch zu finden. Stellt sich eben nur die Frage, was genau du sichern willst bzw. wie wichtig deine Anwendung ist :) In den meisten Fällen reicht etwas einfaches.

Sonst kannst du immer noch hergehen und deine Anwendungs-Konfigurationsdatei (app.config) mit .NET-Hilfsmitteln zu verschlüsseln.
 
Naja, ich hätte halt schon gerne, das niemand einfach die MYSQL-Daten von meinem Server herausbekommen kann... Aber das ginge ja dann, denn er könnte die Datei in der ich das abgelegt habe einfach mit dem Passwort aus dem Code wieder entschlüsseln.

Ich denke wie sensibel die Daten sind macht da nix, denn mit Zugangsdaten zu nem Server kann man dann doch ne Menge unsinn anstellen!!

Also hab ich das dann richtig verstanden das man die app.config anders verschlüsseln kann als normale Dateien? Denn eigentlich muss man ja im Quellcode doch wieder ein PW angeben um sie zu entschlüsseln, oder?

Okay, ich denke jetzt einfach mal nicht das das einer meiner Kunden versuchen würde, aber das ist ja generell auch ein großes Sicherheitsproblem und da frage ich mich einfach ob man die Lücke irgendwie stopfen kann...?
 
Du kannst alle Dateien so verschlüsseln.

Aber bevor du das Thema angehst noch eine andere Überlegung:

Der Datenbankserver sollte eigentlich nicht nach außen hin offen sein. Besser wäre es, würdest du ein Web Service entwickeln, welches dir die Möglichkeit des Datenbank-Zugriffes nach erfolgreicher Anmeldung zur Verfügung stellt.

Dein Kunden müssten sich lediglich mit Benutzer und Passwort anmelden. Diese werden also manuell eingegeben und haben grundsätzlich mit der Datenbank wenig zu tun (nur die Informationen sind dort gespeichert). Benutzer und Passwort für die Datenbank sind beim Web Service hinterlegt. Darauf sollte niemand kommen, sofern der Server entsprechend abgesichert ist.

Wenn das keine Option für dich ist, dann suche im via deiner bevorzugten Suchmaschine einfach mal nach app.config und Verschlüsselung. Sollte auch hier im Forum einiges zu finden sein.
 
Okay, aber über die Web-Lösung habe ich ja dann aus dem Programm heraus keinen direkten Zugriff auf die DB, oder gibt es da eine Möglichkeit?

Also das mit dem Login usw. hört sich gut an und ist auch generell kein Problem, aber eben die Verbindung zum Server und der Datenabruf, sollte der dann über ein Wrapper-Script auf dem Server erfolgen?


(Ich lese deine Antwort gerade noch einmal durch, sprichst du von einem ASP.NET Script auf dem Server, welches dann die DB-Verbindung als quasi Schnittstelle zwischen Server und Programm herstellt? Also zum Beispiel ein Dataset zur Verfügung stellt und die Queries weiterleitet?)

Danke :)
 
Zuletzt bearbeitet:
Fast.
Ein WebService stellt Dienste zur Verfügung. Gleichzeitig realisiert hier in deinem Fall den Zugriff zum DB Server (alternativ kannst du das auch in eine extra Komponente kapseln).
Die Dienste die dein WebService zur Verfügung stellt, können ganz unterschiedlicher Art sein. Da du noch nicht mehr gesagt hast, kann ich darauf nicht speziell eingehen. Wichtig dabei ist jedoch, dass die Anwendung, welche den WebService nutzt keinen direkten Zugriff zum DB Server bekommt. Der WebService stellt Klassen und Methoden zur Verfügung, die dies realisieren.

http://msdn.microsoft.com/de-de/library/aa289507.aspx
 

Neue Beiträge

Zurück