2009-08-11 5 views
0

Wie würden Sie das tun?genug mit Prüfsumme

Sie senden Dateien, die viele Zeilen enthält. Jede Zeile ist ein Datensatz aus der Datenbank.

Alle Dateien werden zu einer Datei gepackt. Ist es genug, eine Prüfsumme mit dieser Datei zu senden, um sicherzustellen, dass die andere Seite alle Datensätze erhalten hat und keine davon verschwunden ist?

Antwort

2

Eine Prüfsumme würde sich ändern, wenn der Inhalt der Datei fehlerhaft ist oder fehlt. Durch den Vergleich der Prüfsummen kann der Empfänger also sicher sein, dass die Dateien vollständig und nicht beschädigt empfangen wurden. Schließlich ist das der ganze Zweck der Prüfsumme.

Wenn Sie Angst vor Angreifern haben, würde ich die Prüfsumme nicht mit den Dateien senden, da ein Angreifer sowohl die Datei als auch die Prüfsumme abfangen, die Datei ändern, die Prüfsumme ändern kann, damit die Änderungen gültig erscheinen und senden die Datei auf dem Weg.

Wie andere Plakate gesagt haben, enthalten die großen Verpackungsformate jedoch eine eingebaute Prüfsumme zur Validierung der Inhalte.

1

Wenn es gezippt wird, senden Sie nur eine Datei. Wenn die ZIP-Datei nicht ordnungsgemäß empfangen wird, können Sie sie nicht öffnen. Intern gepackte Archive verwalten ihre eigenen Prüfsummen, um die Datenintegrität sicherzustellen.

+0

Prüfsummen haben jedoch den zusätzlichen Vorteil, dass sie jederzeit verwendet werden können. Ich könnte entpacken, den Inhalt ändern und mit demselben Komprimierungsalgorithmus neu komprimieren, und die Datei wäre in Ordnung. Die Prüfsumme würde mich wissen lassen, dass sich die Dinge geändert haben. Es bietet eine weitere Validierungsebene. –

+0

Angenommen, der 'Mittelsmann' hat die Prüfsumme ebenfalls nicht abgefangen und aktualisiert, um die Änderungen widerzuspiegeln. – Indy9000

+0

Ich sollte meinen Beitrag aktualisieren. Im Allgemeinen senden Sie die Prüfsumme NICHT mit der Datei, sondern stellen sie für die Verwendung zur Verfügung. –

2

In den meisten Packungsformaten (gzip, zip, ...) ist normalerweise eine integrierte Prüfsumme vorhanden. Daher ist es nicht notwendig, eine hinzuzufügen, wenn Sie nur überprüfen möchten, ob die Datei während der Übertragung beschädigt wurde.

+0

Wie ich zu Indeeras Antwort gesagt habe, kann eine Prüfsumme verwendet werden, um den Inhalt ständig zu überprüfen, was einen zusätzlichen Vorteil für die Prüfsumme bietet, die von den Verpackungsformaten erzeugt wird. –

+0

Wahr. Ich habe nicht über den Sicherheitsaspekt nachgedacht. Wenn Sie jedoch die Dateiintegrität durch Prüfsummen erzwingen möchten, benötigen Sie eine zuverlässige Quelle für diese. Soweit ich weiß, werden Prüfsummen verwendet, um eine Datei als echt zu validieren, wo immer sie herkommt, normalerweise indem sie die Datei gegen eine Prüfsumme prüft, die Sie von einer legitimen Quelle erhalten haben. Wenn Sie die Prüfsummen zusammen mit den Dateien senden, was würde einen Angreifer daran hindern, Dateien zu extrahieren, zu modifizieren, ihre Prüfsumme neu zu berechnen und alles zurückzuschreiben? Es sei denn, Sie verwenden natürlich einen obskuren Prüfsummenalgorithmus ... – christopheml

1

Es hängt davon ab, gegen welche Art von "verschwinden" Sie sich schützen möchten. Wenn es nur zufällige Fehler sind, ist eine Prüfsumme in Ordnung. Auf der anderen Seite, wenn es ein böswilliger Angreifer ist, der bewusst Platten löscht, dann ist eine Prüfsumme nicht ausreichend und Sie brauchen einen MAC.

+1

Eine Prüfsumme würde immer noch vor einem böswilligen Angreifer schützen, der Datensätze entfernt, da jede Änderung an der ZIP die Prüfsumme ändern würde. –

+2

Checksummen schützen nicht vor bösartigen Agenten - es ist trivial für den Angreifer, entweder einen der verbleibenden Datensätze so zu ändern, dass die Prüfsumme abläuft - oder sie einfach zu ersetzen (da er über denselben Kanal übertragen wird). – caf