Signieren von Firmware

Beim Signieren von Firmware handelt es sich um einen Vorgang, bei dem die Firmware mit einer digitalen Signatur versehen wird. Der Einsatzzweck dieser Signatur beschränkt sich aktuell auf die Überprüfung, ob die Firmware bzw. nachladbare Teile davon (=AVM-Plugins) aus einer vertrauenswürdigen Quelle stammen und damit geflasht bzw. nachgeladen und eingebunden werden dürfen. In Bezug auf die Firmware ist dieser Mechanismus erst seit Fritz!OS-6.5x von AVM scharf geschaltet. Seit dieser Version kann über das Standard-Web-Interface von AVM nur noch eine aus einer vertrauenswürdigen und zum Flash-Zeitpunkt der auf der Box laufenden Firmware bekannten Quelle geflasht werden.

Um zu verstehen, was der letzte Satz konkret bedeutet, sei kurz auf die Grundprinzipien des digitalen Signierens eingegangen (für tiefgehende Informationen sei auf zahlreiche Artikeln im Internet verwiesen, z.B. auf diesen Wikipedia-Artikel).

Im Rahmen des digitalen Signierens sind im wesentlichen folgende Schritte/Sachverhalte von Bedeutung:

Für unseren Anwendungsfall bedeutet es nun folgendes:

Ein (digital signiertes) Firmware-Image wird also dann als “aus einer vertrauenswürdigen Quelle stammend” eingestuft, wenn der öffentliche Schlüssel dieser Quelle der auf der Box laufenden Firmware bekannt ist und der Signatur-Prüfungsvorgang bestanden wird.

Der private, der geheime Schlüssel, mit dem AVM die Original-Images signiert, liegt uns aus verständlichen Gründen nicht vor (und wenn dies auch anders wäre, müssten wir auch noch das Passwort dazu kennen). Damit bleibt uns nichts anderes übrig, als es zu versuchen, ein selbstsigniertes Image zu erzeugen und die auf der Box laufende Firmware dazu zu zwingen dieses zu akzeptieren. Dabei sind folgende Hürden zu überwinden:

Diese zweite Aufgabe ist streng genommen nicht ganz trivial. Es ist geplant, einen eigenen Artikel zu diesem Thema zu verfassen. An dieser Stelle seien stichwortartig mögliche Lösungen angedeutet:

Konkrete Anwendung in Freetz

Durch das Aktivieren dieser Optionen wird folgendes bewirkt: