<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hallo Sven,</p>
<p>danke für deine Fragen. Da du ja auch in shell bewandert bist,
können wir hier ein bisschen technischer in die Tiefe gehen. :)</p>
<p>Signaturen können alle Leute erstellen, deren öffentlicher
Schlüsselteil auf den Routern installiert ist. Diese Schlüssel
werden über das Paket falter-berlin-autoupdate-keys verteilt, dass
eine Abhängigkeit des autoupdaters ist. Die öffentlichen Schlüssel
kannst du im Repo einsehen[0].</p>
<p>Wahrscheinlich wird deine Anschlussfrage lauten, wer die
Berechtigung hat, dort einen Schlüssel abzulegen und die Updates
unterschreiben zu dürfen. Initial haben wir uns dazu im
Firmware-Chat auf Matrix verständigt. Dafür habe ich konkret
aktive Leute aus der Community angefragt, ob sie sich vorstellen
könnten, Schlüsselträgerin zu sein. Ein formales Verfahren ist
hierfür (noch) nicht vorgesehen. Aber die Leute, die aktuell einen
Schlüssel im Repo liegen haben, genießen mein Vertrauen und
wahrscheinlich auch das Vertrauen dessen, der den entsprechenden
PR approved hatte.<br>
</p>
<p>Eine Schlüsselträgerin soll mindestens ein Update manuell
durchgeführt und die korrekte Funktion des Routers überprüft
haben. Ist alles in Ordnung gewesen, unterschreibt sie das Update.</p>
<p>Der Autoupdater bietet hier auch die Möglichkeit, den Grad an
"Vertrauen" einzustellen, indem du z.B. die Mindestzahl an
gültigen Signaturen erhöhst.</p>
<p>Zu deiner zweiten Frage mit dem einzelnen Signierenden, der drei
unterschiedliche Signaturen erstellt:<br>
Falls die Signaturen von unterschiedlichen Schlüsseln stammen,
wäre das tatsächlich denkbar. Dreimal eine Signatur vom gleichen
Schlüssel auf dem Server abzulegen, ist technisch ausgeschlossen.
Sobald ein Schlüssel verwendet wurde, wird er kein zweites Mal
verwendet. Siehe hierzu den Code [1].<br>
</p>
<p>Ich hoffe, dass das deine Fragen zufriedenstellend beantwortet.
Wenn es noch weitere Fragen gibt, beantworte ich sie sehr gern.
Falls du auch Schlüsselträger werden möchtest, sage bescheid. Je
mehr Menschen die Firmware testen, desto besser wird sie. :)</p>
<p>Viele Grüße<br>
Martin<br>
</p>
<p>[0]
<a class="moz-txt-link-freetext" href="https://github.com/freifunk-berlin/falter-packages/tree/master/packages/falter-berlin-autoupdate/keys">https://github.com/freifunk-berlin/falter-packages/tree/master/packages/falter-berlin-autoupdate/keys</a><br>
[1]
<a class="moz-txt-link-freetext" href="https://github.com/freifunk-berlin/falter-packages/blob/549a5beaa0ed03d343cd6c55bb5f55113c046b0b/packages/falter-berlin-autoupdate/files/lib_autoupdate.sh#L196-L225">https://github.com/freifunk-berlin/falter-packages/blob/549a5beaa0ed03d343cd6c55bb5f55113c046b0b/packages/falter-berlin-autoupdate/files/lib_autoupdate.sh#L196-L225</a><br>
</p>
<p>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">Message: 6
Date: Mon, 6 Jun 2022 20:21:07 +0200
From: Sven Roederer
Eine Frage zu den Signaturen der "maschinenlesbare Datei":
Wer ist denn berechtigt, diese Signatur zu erstellen?
Kann ein einzelner Signierer einfach 3 verschiedene Signaturen erstellen?
Sven
On 27.05.22 19:21, Martin Hübner wrote:
</pre>
<blockquote type="cite" style="color: #007cff;">
<pre class="moz-quote-pre" wrap="">Liebe Freifunker:innen,
die neue Firmware-Version 1.2.2 enthält einen neuen Autoupdater, der
standardmäßig aktiviert ist. Da es jetzt schon ein paar Nachfragen wegen
mehr Infos dazu gab, schreibe ich hier mal ein paar Takte dazu zusammen.
== Schnack nicht so lange um den heißen Brei, ich will Code sehen! ==
Einmal bitte hier entlang:
<a class="moz-txt-link-freetext" href="https://github.com/freifunk-berlin/falter-packages/tree/master/packages/falter-berlin-autoupdate">https://github.com/freifunk-berlin/falter-packages/tree/master/packages/falter-berlin-autoupdate</a>
Da gibt es auch eine relativ kompakte Dokumentation. Die ist aber eher
etwas technisch angelegt. Weil das vielleicht nicht jede mag, gibt es
das in dieser Mail noch einmal etwas ausführlicher und in hoffentlich
verständlicher Sprache.
== Was macht ein Autoupdater? ==
Im Berliner Freifunknetz laufen rund 60% der Geräte mit einer Firmware,
die älter als 2 Jahre ist. Das ist ein Problem, weil veraltete Software
Sicherheitslücken enthalten kann und auch neuere Funktionen nicht
verfügbar sind.
Weil unsere Erfahrung ist, dass die meisten Nutzer keine Zeit haben, um
Updates einzuspielen, machen wir das jetzt automatisch. Der Autoupdater
ist standardmäßig eingeschaltet. Wenn man unbedingt möchte, kann man
diesen aber auch abschalten (was uns Firmware-Entwickler aber ein
bisschen traurig machen würde).
Insbesondere gibt es keine "Fernsteuerung". Die Router machen das von
sich selbst aus. Es gibt keine Möglichkeit für die Firmware-Entwickler
oder irgendwen sonst, den Router zu einem Update zu zwingen oder
sonstwie darauf zuzugreifen.
Die Freifunker:in hat die volle Kontrolle und kann das Autoupdate
jederzeit abschalten.
== Wie funktioniert ein automatisches Update? ==
Auf den Servern von Freifunk Berlin gibt es eine maschinenlesbare Datei,
die beschreibt, welche Falter-Version aktuell ist [1].
Jeder Router lädt täglich diese Datei und guckt, ob es eine neue Version
gibt. Diese Datei ist mit kryptografischen Schlüsseln von mindestens 3
Freifunker:innen abgesichert [2].
Das heißt, dass mindestens drei Personen sich die Datei angesehen haben
und dafür unterschreiben, dass das Update bei ihnen fehlerfrei
funktioniert hatte.
Wenn es nicht genügend Unterschriften gibt, oder die Unterschriften
nicht zu der Datei passen, wird das Update abgebrochen.
Ist alles in Ordnung, lädt der Router die neue Firmware herunter und
installiert sie anschließend selbstständig.
Beim Update werden alle bisherigen Einstellungen beibehalten.
== Kann etwas dabei schief gehen? ==
Manche Nutzende berichten davon, dass Updates bei ihnen nicht
funktioniert haben. Das kann je nach Situation ganz unterschiedliche
Gründe haben.
Wir Firmware-Entwickler:innen geben uns immer die beste Mühe, ein neues
Release auf Herz und Nieren zu testen. Allerdings können wir nicht jeden
Sonderfall abdecken.
Man sollte deshalb besonders vorsichtig sein, wenn man auf seinem Router
viele Abweichungen von den Standard-Einstellungen vorgenommen hat. Hier
kann es bei einem Update evtl zu Problemen kommen.
Es ist deshalb ratsam, sofort nach der Erst-(Neu)- Installation eine
Sicherungskopie vom Router zu machen. Dafür am Besten in der
Weboberfläche unter "System -> Backup/Update" gehen und dann auf den
Backup-Knopf drücken. Anschließend die Datei herunterladen und an einem
sicheren Ort abspeichern.
Ich hoffe, dass dies ein paar Fragen zum Autoupdater beantwortet hat.
Falls noch Fragen offen sind, könnt ihr gerne jederzeit auf diese Email
antworten, oder ihr besucht uns im Freifunk-Berlin Matrix-Raum [3].
Viele Grüße
Martin
[1] <a class="moz-txt-link-freetext" href="https://firmware.berlin.freifunk.net/stable/autoupdate.json">https://firmware.berlin.freifunk.net/stable/autoupdate.json</a>
[2] <a class="moz-txt-link-freetext" href="https://firmware.berlin.freifunk.net/stable/autoupdate.json.1.sig">https://firmware.berlin.freifunk.net/stable/autoupdate.json.1.sig</a>
[3]
<a class="moz-txt-link-freetext" href="https://matrix.to/#/!JcdPhlVzddbYXjpOVn:matrix.org?via=matrix.org&via=matrix.riotcat.org&via=matrix.fff.community">https://matrix.to/#/!JcdPhlVzddbYXjpOVn:matrix.org?via=matrix.org&via=matrix.riotcat.org&via=matrix.fff.community</a>
</pre>
</blockquote>
</blockquote>
<br>
</p>
</body>
</html>