DeaD_EyE hat geschrieben: Montag 4. April 2022, 13:14
Ich versuche gerade den Zusammenhang zwischen Security und einem Punktestand im Spiel zu finden. Es gibt keinen.
Der TO : "ich möchte von meinem Spiel die Punkteanzeige verschlüsselt in einer Textdatei abspeichern“, verschlüsselt ist erstmal Security! Bei nähere Betrachtung kommt man zu dem Schluss, eigentlich würde es reichen die Punkteanzeige zu signieren, denn der Wert soll ja nur gegen Manipulation gesichert sein, er ist nicht geheim!
Dann nach kommt die Frage, womit Signieren und die Antwort gar nicht, denn der Schlüssel zum Signieren muss auf dem System sein, bildlich gesprochen neben den Daten die er Signieren soll. Ergo macht eine Signatur auch keinen Sinn. Wie @__backjack__, festgestellt hat, es ist security by obscurity und eigentlich kann man hier aufhören.
Wenn man jedoch fragt, was will der TO erreichen und die Aussage "einigermaßen manipulationssicher", als Antwort nimmt, dann kann man jetzt so deuten, Manipulation ist nicht ausgeschlossen, sondern nur etwas aufwändiger ist.
Um die Manipulation, aufwändig zu machen sollten:
a.) die Punktestände nicht in Klartext gespeichert werden.
b.) die Manipulation der Punkte durch eine Checksumme erschwert werden.
Das Kriterium a kann man durch ein Xor mit einer zweiten Zahl erreichen, deine Variante mit der MAC Adresse gefällt mir ganz gut, hat aber den Nachteil das die Punktestände nicht Portable sind und das sie sich relativ zueinander nicht ändern. Ob das ein Problem ist, muss der TO selbst entscheiden. Das Kriterium b kann man durch eine Checksumme über a erreichen (welche spielt erstmal keine Rolle) nun muss jemand der Manipulation will, zwei Zahlen aufeinander abstimmen.
Letzten Endes hat @Sirus3, jedenfalls recht mit der Behauptung, ein Cheater kann einfach denn Code aus dem Python extrahieren und jeden wert erzeugen. Dennoch wenn das Programm jetzt zum Beispiel, in einer anderen Sprache geschrieben wäre (C++, Rust, Golang) irgendwas das Kompiliert wird, könnte man Argumentieren, Ziel erreicht! Ein Entwickler mit Debugg Fähigkeiten kann immer noch Manipulieren, jemand der einfach nur eine Datei mit einem Editor ändern will, ist aber raus.
Alles in allen finde ich, dass man an dem Wunsch "ich möchte von meinem Spiel die Punkteanzeige verschlüsselt in einer Textdatei abspeichern" schön üben kann, eine Security Betrachtung zu machen.