Überprüfen der Signatur
Damit sichergestellt ist, dass die heruntergeladene Freifunk-Firmware auch wirklich die ist, welche wir erstellt und zum Download angeboten haben, sollten unbedingt die Hash-Werte (d.h. ein eindeutiger Fingerabdruck) der Firmware-Dateien und die korrekte Signatur der von uns bereitgestellten Hash-Wert-Datei geprüft werden. Dieses ist vermutlich der schwierigste Teil der Installation und wird von Einzelnen gelegentlich übergangen, getreu der Kölschen Lebensweisheit "Et hät noch immer joot jejange". Darauf sollte man sich aber in heutigen Zeiten nicht verlassen.
Die Datei mit den Hash-Werten ist mit unserem GPG-Schlüssel signiert. Der heimliche Austausch einer Freifunk-Firmware und des entsprechenden Hash-Wertes ist also nicht möglich, da die Signatur nur bei unveränderter Hash-Wert-Datei gültig bleibt. Unser öffentliche GPG-Schlüssel ist auf gängigen Keyservern hinterlegt.
Wer sich mit GPG noch nicht auskennt, kann sich z.B. unter www.gnupg.org aufschlauen.
Unseren GPG-Schlüssel bekommt man z.B. unter Linux/Unix von der Kommandozeile aus so:
# gpg --keyserver pgp.mit.edu --recv-key '0FA27C6E4'
Nach dem Download der beiden Dateien
prüft man dann einfach die Signatur mit
$ gpg --verify SHA256SUMS.sign gpg: Signature made Wed 27 Aug 2014 10:40:01 PM CEST using RSA key ID FA27C6E4 gpg: Good signature from "Freifunk-KBU Release Signing Key (Used by jenkins.kbu.freifunk.net) <info@kbu.freifunk.net>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: E3B3 AF2B 6B54 149B 9313 4EC0 E782 EAC7 FA27 C6E4
Die Signatur ist also korrekt. Den Fingerprint prüft man am besten einmal offline bei unseren regelmäßigen Treffen.
Dann kann man selbst den Hash-Wert der heruntergeladenen Firmware (hier am Beispiel des Routers TL WR841n mit der Hardware-Version 9) berechnen
$ sha256sum ff-kbu-tl-wr841n-v9-1.2.1b.bin 2a3df4ea2e10cc9697a80fa0db7cf962fca052ec5d669779ae79e0345da16b30 ff-kbu-tl-wr841n-v9-1.2.1b.bin
und mit dem Hash-Wert in der signierten und zuvor korrekt verifizierten Datei vergleichen:
$ grep ff-kbu-tl-wr841n-v9-1.2.1b.bin SHA256SUMS 2a3df4ea2e10cc9697a80fa0db7cf962fca052ec5d669779ae79e0345da16b30 ./ff-kbu-tl-wr841n-v9-1.2.1b.bin 2a3df4ea2e10cc9697a80fa0db7cf962fca052ec5d669779ae79e0345da16b30 ./untested/barrier_breaker/ff-kbu-tl-wr841n-v9-1.2.1b.bin
Damit ist die heruntergeladenen Datei auch genau die, die wir für Freifunk erstellt und angeboten haben. Unter der Voraussetzung, dass uns niemand den privaten GPG-Schlüssel entwendet und das Passwort zur Sicherung des privaten Schlüssels geknackt hat. Letzteres ist sehr sehr unwahrscheinlich.