Die kurze Antwort ist, dass es eine Standardmethode gibt, die als Anwendungssignierung bezeichnet wird . Die längere Antwort ist etwas komplizierter.
In Bezug auf Ihre MD5-Hashing-Idee gibt es mindestens ein experimentelles Firefox-Plugin, das die Hashwerte heruntergeladener Dateien berechnet. Sie können sie dann manuell vergleichen. Alternativ bieten viele Sites Downloads von Textdateien mit den vorberechneten Hashes für ihre Software an. Sie können dann eine Prüfung mit erzwingen md5sum -c < hash filename >
. Das Problem bei all diesen Methoden ist, dass ein Angreifer die von Ihnen heruntergeladene Datei möglicherweise ersetzen kann, und er möglicherweise die auf der Website aufgeführten Hashes ändern kann.
Die Anwendungssignierung ist die offizielle Lösung für dieses Problem. Es verwendet Kryptografie- und Zertifizierungsstellen für öffentliche Schlüssel in ähnlicher Weise wie im SSL-Sicherheitsstandard für Websites. Sie erhalten ein digitales Zertifikat von einer Zertifizierungsstelle. Dieses Zertifikat kann von jedermann überprüft werden und stellt sicher, dass der Inhaber der ist, von dem er sagt, dass er es ist. Es kann auch dazu verwendet werden, ein Paket zu "unterschreiben", wodurch sichergestellt wird, dass das Paket vom Inhaber hergestellt wurde und nicht von anderen Personen als dem Inhaber verändert wurde.
Warum sehen wir diese Methoden nicht besser? Nun, sie sind bereits ziemlich gut angenommen und meistens unsichtbar, wenn sie funktionieren. Wichtige Betriebssysteme und Browser verwenden die Signaturen, wenn sie standardmäßig verfügbar sind. Darüber hinaus signieren große Linux-Distributionen die von ihnen bereitgestellten Softwarepakete und Updates mit diesen Methoden. Bei den kleineren Anbietern ist es jedoch unwahrscheinlich, dass sich eine große Akzeptanz ergibt.
Das Problem hier ist eine Mischung aus Hacker-Armut und Hacker-Stolz. Um eines dieser Zertifikate zu erhalten, müssen Sie eine hohe Geldsumme an eine der Zertifizierungsstellen zahlen. Wenn dies nicht der Fall ist, kann ein Programmierer immer noch seine eigenen Pakete signieren, ohne dass die CA dies tut. Auf diese Weise kann der Benutzer, der die Datei herunterlädt, sicher sein, dass nur der Inhaber des Zertifikats ein bestimmtes Paket berührt, das die Integritätsanforderung Ihrer Frage erfüllt.
Die Verwendung eines solchen "selbstsignierten" Zertifikats verringert das Vertrauen der Öffentlichkeit in Ihre Software, anstatt sie zu erhöhen. Wenn Sie sich selbst signieren, beschwert sich das Betriebssystem / der Browser laut, wenn Sie versuchen, das Paket zu öffnen. noch lauter als für eine völlig unsignierte Datei. Da der Browser oder das Betriebssystem dem Software-Ersteller nicht vertraut, sollten Sie ihm auch nicht vertrauen.
Daraus ergibt sich aus der Hacker-Klage, warum sollte jemand mehr auf eine gesichtslose multinationale Zertifizierungsstelle vertrauen als auf jemand anderen? Was haben sie jemals getan, um sich als zuverlässiger zu beweisen als alle anderen?
Die Zertifikatsausgabe läuft für viele Menschen auf Erpressung an: "Zahlen Sie uns, um Sie zu zertifizieren, oder Ihre Downloads werden ein Bürger zweiter Wahl". Aus diesem Grund wurde die Anwendungssignierung nur von den größten Playern übernommen.