2016-06-05 25 views
6

Ich möchte eine Art Dateiprüfsumme (wie SHA-256-Hash oder irgendetwas anderes) wissen, wenn ich die Datei vom HTTP-Server herunterlade. Es könnte als einer der HTTP-Response-Header übertragen werden.Prüfsumme im HTTP-Antwort-Header - warum nicht?

Http etag ist etwas Ähnliches, aber es wird nur zum Ungültigmachen des Browser-Caches verwendet und von dem, was ich bemerkt habe, berechnet jede Seite es auf andere Weise und es sieht nicht wie irgendein Hash aus, den ich kenne.

Einige Software-Download-Sites bieten verschiedene Dateiprüfsummen als separate Dateien zum Download (z. B. die neuesten Ubuntu 16.04 SHA1-Hashes: http://releases.ubuntu.com/16.04/SHA1SUMS). Ist es nicht einfacher, sie einfach in den HTTP-Response-Header aufzunehmen und den Browser zu zwingen, sie zu berechnen, wenn der Download endet (und den Benutzer nicht dazu zwingen, dies manuell zu tun).

Ich denke, dass das gesamte HTTP-basierte Internet funktioniert, weil wir das TCP-Protokoll verwenden, das zuverlässig ist und sicherstellt, dass empfangene Bytes genau so sind, wie vom Server gesendet. Aber wenn TCP so "cool" ist, warum überprüfen wir die Datei-Hashes manuell (siehe Beispiel für Ubuntu)? Und viele Dinge können beim Dateidownload fehlschlagen (Beschädigung der Client-/Server-Festplatte, Dateiänderungen auf der Serverseite usw.). Und wenn ich mich nicht irre, könnte alles einfach fixiert werden, indem Dateihash bei Download-Start vorbei ...

Antwort

0

die Hashes auf ubuntu.com und ähnlichen Websites gibt es für zwei Zwecke:

  • Überprüfung der Integrität der Datei (ja, hypothetisch könnte der Browser das für Sie überprüfen)
  • überprüfen Sie die Korrektheit der Datei, um Manipulationen zu vermeiden (zB könnte ein Angreifer Ihre Download - Anfrage abfangen und Ihnen eine schädliche Datei bereitstellen https Browser-Seite, das wäre nicht für Daten im Ruhezustand, z. B. eine externe USB-Festplatte, und Sie möchten überprüfen, ob es korrekt ist, indem Sie die Hashes vergleichen)
+1

Die Frage ist, warum die Prüfsumme nicht in der gleichen HTTP-Antwort wie die Daten geliefert wird. – CodeCaster

+0

Der Teil über SHA1SUMS in der Frage impliziert, dass wir einfach diese Art von Dateien entfernen konnten, was mich dazu brachte, über Sicherheit zu sprechen. Wahrscheinlich hätte ich stattdessen einfach einen Kommentar schreiben sollen: - / –