XML-Datei gegen Manipulation schützen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • 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 Programm, welches XML-Dateien erzeugt und später auch wieder einliest. Diese XML-Dateien sollen dabei für jeden Anwender lesbar sein, wenn man die Datei mit einem Editor öffnet.
    Es sollte jedoch nicht möglich sein, einzelne Datein 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").
    Die XML-Dateien enthalten vor allem Messwerte, welche nicht verändert werden dürfen.

    Wie gehe ich da am besten vor 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 auslesbar bleiben.

    Ich würde mich sehr über eine schnelle Antwort freuen!
    Headbucket
  • Da du diese Datei in XML speicherst vermute ich, dass du keine Datenbank hast? Dadurch wird das ganze erschwert.
    Meine Idee spontan wäre jetzt, sobald du die XML erzeugst das Datum in einer anderen Datei abzuspeichern und beim einlesen dieser XML schaust du dann nach, ob das Datum noch stimmt. Da der Wert aber auch in einer Datei steht ist das nicht unbedingt sicher.
  • Ich arbeite mit Delphi.

    Ein weiteres Problem ist, dass die XML-Datei nicht unbedingt auf dem selben PC wieder eingelesen wird.
    Die XML-Datei wird mit einem Hauptprogramm, welches eine Messung durchführt, erzeugt. Danach soll die Datei auf jedem beliebigen PC entweder mit dem Hauptprogramm oder mit speziellen Viewern zu öffnen sein.

    Eine Datenbank habe ich nicht. Eine einfache Möglichkeit der Überprüfung wäre eventuell das Bilden einer Prüfsumme. 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. Mein Programm entschlüsselt dann 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.

    Vielen Dank schonmal für die Hilfe!
    Headbucket
  • Du könntest eine Prüfsumme berechnen und verschlüsselt in der XML-Datei speichern. Den Schlüssel hinterlegst Du im Programmcode.

    Damit wird das Problem von "Jemand muss die Prüfsumme passend zur Datei verändern" hin zu "Jemand muss das Programm decompilieren um an den Schlüssel zu kommen" verlagert. Viel sicherer geht es nicht, solange der Code auf nicht vertrauenswürdigen Rechnern ausgeführt wird und kein weiterer Aufwand (z.B. Einsatz Crypto-Chipkarten) getrieben wird.