Sicherer Datenbankkontakt

timestamp

Mitglied Käsekuchen
Hi

ich schreibe gerade an einem Java 2D Spiel und habe da mal eine Frage zu der Kontaktaufnahme zu einer Datenbank. Wie kann ich das sicher(er) gestalten? Wenn ich es direkt über Java mache besteht die Gefahr das jemand das Programm de-assembliert (oder decompiliert, was auch immer man da jetzt sagt) und somit die Verbindungsdaten erhält. Sollte ich ein php Script anschieben, kann auch von diesem die Adresse ausgelesen werden und anschließend für gemeine Zwecke (schummeln etc) misbraucht werden. Gibt es eine sichere Methode soetwas zu verhindern?
 
Die Frage ist immer, wie stark schätzt Du den Mißbrauch ein? Mehrere Kodierungen und Dekodierungen inklusive kodierter Prüfsumme können helfen.. Wenn ein Datum erstmal durch 5-10 Funktionen geschoben wird, um an die Reindaten zu gelagen, geht jedem Menschen die Lust aus (in Anbetracht des Ergebnisses)

mfg chmee
 
Mir ist gerade noch eine andere Möglichkeit eingefallen, nur weiß ich nicht ob diese funktioniert:
Wäre es nicht möglich eine Serverdatei permanent auf dem Webserver laufen zu lassen (am besten auch geschrieben in Java) und diese dann mti dem Spiel (Client) anzuschieben? Oder besteht dann da auch das Problem, dass die Datei durch ein selbstgeschriebenes Programm von Dritten angeschoben werden kann? Wie könnte ich das zum Beispiel umgehen? Alles was ich brauche um die Serverdatei zu erreichen muss ja in meinem Programm irgendwie zu finden sein und ist somit auch auszulesen.

Da ich das Spiel gerne Multiplayer tauglich machen würde, wäre mir es schon wichtig dass die Accounts von Spielern nicht gehackt werden können. Und da kommt mir gerade die Idee: *trommelwirbel*

Ich schicke die Nutzerdaten (Login+Passwort) mit an die Serverdatei (ob jetzt c++ java oder am Ende doch php). Nur wenn diese mit dem jeweiligen Nutzer übereinstimmen wird das ganze auch ausgeführt. Das sollte meines Erachtens doch nicht zu knacken sein oder?
 
Naja, "Man in the Middle"/Virus/Trojaner/Backdoor liest Deine Sendungsdaten aus. Nee nee. In heutigen Zeiten müssen auch Daten verschlüsselt sein, wenn sie so wichtig sind. Ob man die Sache vereinfacht (zum Vorteil der Server/Client-Archtitektur), sei Dir und der Datenmenge überlassen. zB könnte man nach der Anmeldung per Username/Passwort daraus einen Salt/Hash bauen, der nur zB bis zum Ausloggen gültig ist und als Erweiterung/Key für die Verschlüsselung fungiert.

mfg chmee
 
Also angenommen ich speichere beim Einloggen des Users eines Zufällig generierten Key, wie etwa
Java:
String key = Benutzer+Timestamp+Passwort+Zufällige Buchstaben+Command;
Ich würde ihn dann jetzt also verschlüsseln, auf dem Server wieder entschlüsseln, splitten, auf Gültigkeit prüfen und dann verarbeiten? Soweit ich das jetzt sehe, müsste der potentielle Hacker dann einen String ala "sa12dKASdjh120asdl1j2do%12s§lslakjd" entschlüsseln und zuordnen.

Habe ich dich da jetzt richtig verstanden?
 
Zurück