Announcement

Collapse
No announcement yet.

XML-Datei gegen Manipulation schützen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XML-Datei gegen Manipulation schützen

    Hallo zusammen,

    ich habe folgende Frage: Ist es möglich eine XML Datei gegen Manipulation zu schützen?

    Folgender Hintergrund:
    Ich habe ein Hauptprogramm, welches Messwerte in einer XML-Dateie speichert. Diese XML-Dateie sollen dann auf verschiedenen Systemen mit dem Hauptprogramm und speziellen Viewern lesbar sein. Außerdem soll ich die Messwerte auch lesen könne, wenn ich die XML-Datei mit einem Editor öffne.
    Es sollte jedoch nicht möglich sein, einzelne Daten innerhalb der XML-Datei zu ändern. Entweder soll das Ändern an sich verhindert werden oder es soll beim Einlesen der Datei ein Fehler kommen ("Datei wurde verändert").

    Meine Idee:
    Man bildet eine Prüfsumme mit den gespeicherten Daten. Doch, wenn ich die Prüfsumme mit in der XML Speicher, kann sie ja ebenso verändert werden. Oder ich speicher die Prüfsumme in der XML-Datei und verschlüssel diesen Teil der XML-Datei, sodass die Prüfsumme nicht lesbar ist. Mein Programm entschlüsselt dann beim öffnen der XML-Datei die Prüfsumme und berechnet, ob sie stimmt.

    Wäre das eventuelle eine praktikable Lösung? Mit Verschlüsselungen in XML habe ich noch nichts gemacht.

    Wie würdet ihr am besten vorgehen bzw. unter welchen Stichwörtern kann ich mich selbst zu diesem Thema informieren?
    Nach einer Recherche habe ich nur Verschlüsselungen usw. gefunden. Die Daten sollen ja aber weiterhin lesbar bleiben.

    Ich würde mich sehr über Antworten freuen!
    Headbucket

  • #2
    Die Anforderungen wirst du alle so nicht erfüllt bekommen. Du hast die Probleme und Möglichkeiten schon beschrieben. Des Weiteren kann kein Editor feststellen, ob die Datei geändert wurde und demzufolge auch nicht anzeigen, "die Datei wurde verändert". Der sinnvollste Weg erscheint schon die Nutzung einer Prüfsumme, die dein Programm prüft. Wenn der Aufbau der Prüfsumme nicht bekannt ist, ist erstmal das manipulieren der Prüfsumme schwierig
    Christian

    Comment


    • #3
      Ergänze einen salted Hash zu der XML-Datei. Solange der Angreifer diesen Salt nicht aus der Exe so einfach rauslesen kann ist das vermutlich hin/ausreichend geschützt.
      Einen 100%tigen Schutz gibt es nie, solange die Dateien auf dem PC des Users liegen.

      Comment


      • #4
        Signieren wäre das Stichwort und Signieren von XML ist natürlich standardisiert.
        Der Standard ist hier aber vermutlich ein Kanonen auf Spatzen Ding und ich würde ebenfalls das simple Hashen vorziehen. Mußt dir nur überlegen wie du denn Salt geheim hälst.

        Comment


        • #5
          Warum nicht einfach zwei Versionen erstellen? Eine verschlüsselte und eine normale und ggf. zippen oder sowas. Dann kann jeder das original XML lesen/bearbeiten, zur Auswertung in Deinem Programm wird aber die verschlüsselte Version herangezogen (die dann hoffentlich save ist). Das Problem mit dem Schlüssel zum Verschlüsseln bliebt natürlich weiterhin bestehen. Kommt natürlich auch etwas auf die Größe der Datei an.

          Comment


          • #6
            Vielen Dank für die vielen Antworten!
            Dann werde ich die betreffenden Daten hashen und einen Knoten in der XML-Datei hinzufügen, wo der Hashwert abgelegt wird. Es ist nicht mit großen Angriffen zu rechnen, da es sich ja nicht um Bankdaten oder ähnliches handelt.
            Somit wäre eine die Lösung mit zwei Dateien etwas zu viel des guten. Zumal täglich sehr viele dieser XML-Dateien erstellt werden. Doppelt so viele Dateien hätte da einen enormen Mehraufwand.

            Dann bedanke ich mich schonmal und werde mich gegebenenfalls nochmal melden, wenn ich bei der Implementierung bin :-). Vllt gibt es da ja dann noch das ein oder andere Problem.

            Gruß
            Headbucket

            Comment

            Working...
            X