Vergleich von Daten (Nicht nur deren größe)



  • Hi Leute,

    ich würde gerne einige Dateien (ca. 20) auf einem Server mit denen des Clients
    vergleichen um zu prüfen ob der Client die Daten manipuliert hat.
    (Ich denke ein reiner Vergleich der Dateigrößen reicht hier nicht aus.)
    Jetzt habe ich hier im Forum zwar gerade nach "Hash" gesucht, weil ich meinte
    mal gehört zu haben, dass das über die Hashwerte der Dateien ginge, wurde
    dadurch jedoch auch nicht wirklich schlauer.

    In meinem Kopf spielt sich das Konzept in etwa wie folgt ab:
    1. Der Client meldet sich beim Server an
    2. Der Server schickt dem Client die Keys seiner Daten.
    3. Der Client ermittelt die Key seiner Daten
    4. Der Client vergleicht diese miteinander
    5a. Der Client stellt fest das diese gleich sind und fährt fort
    5b. Der Client stellt fest das diese gleich sind und fährt fort

    Was meint Ihr zu diesem Ansatz?
    Wie sieht es Eurer Meinung nach um die Sicherheit der Daten aus?
    Wie würdet Ihr mir raten 3. zu realsieren?

    Danke im Voraus,
    Khadgar



  • Du musst eine Anwendung auf dem Server ausführen. Diese schickt dann wenn sie fertig ist den Hash weiter. Den vergleichst du. Ist auf jeden Fall sicherer als dem Programm vollen Zugriff auf den Server zum Vergleich zu geben (und schneller).



  • Da bei die Client prüft ob die Daten gleich sind, kann er auch fortfahren wenn
    die Daten nicht gleich sind. Es wäre besser der Client ermittelt seine Hashwerte und sendet diese an den Server, dieser vergleicht und nur bei gleichheit bekommt der Client access, anderfalls wird ihm der Zugang verweigert.

    Alternativ zu Hash-Werten reichen für solche Sachen auch CRC32-Checksummen über die Dateien aus, diese sind schneller in der Rechnung.



  • Ich würde sagen hashe die Daten auf dem Client!
    Warum?
    Sonst überträgst du die Hash Werte die er haben soll vom Server auf den Client also unsicher. Warum soll der Client wissen ob die Daten gut sind? Was der Client nicht weiß ist auch nicht in falschen Händen.

    cu InfoStudent


Anmelden zum Antworten