Um den Prozess in die Produktion zu integrieren, bietet Segger ein vollständiges System an: Flasher Secure. Das Programmiersystem ist so aufgebaut, dass die Programmiergeräte in der Produktion über einen Feedback Channel mit einem vertrauenswürdigen Server kommunizieren. Dieser „Trusted Server“ ist dafür zuständig, die Signaturen zu erstellen und den Produktionsprozess zu überwachen. Die notwendigen Algorithmen, um die Authentifizierung der Hardware durch den Mikrocontroller auf Board Level durchführen zu können, gehören ebenso dazu. Somit ist sichergestellt, dass alle Schnittstellen sauber zusammenarbeiten.
Für maximale Transparenz der Produktionsdaten stellt der Trusted Server die jeweiligen Daten zur Ansicht über ein Webinterface bereit. Die Produktionsdaten lassen sich auch exportieren und in die Warenwirtschaft einpflegen.
Bei einer Ausweitung der Produktion wird im ersten Schritt nur die Hardware-Produktion ausgelagert. Die Aktivierung des Endgerätes durch Aufspielen der Firmware verbleibt dabei noch beim Auftraggeber. Wenn das Fertigungsvolumen eine bestimmte Menge überschreitet, ist der Punkt erreicht, wo der zweite Schritt nötig wird. Zusätzlich zur Hardware-Produktion wird auch die Programmierung ausgelagert. Dies ergibt allerdings nur Sinn, wenn die Programmierung dann vollständig beim Auftragsfertiger stattfindet. Selbst wenn nur wenige Daten beim Auftraggeber aufgespielt werden müssten, könnte dieser aus Effizienzgründen die komplette Programmierung direkt selbst durchführen.
Sollte eine vorbereitende Programmierung durch Dritte durchgeführt werden, die in der Regel als vertrauenswürdiger eingestuft werden als der Auftragsfertiger selbst, führt das zu einem unnötig hohen Aufwand. Abgesehen von den zunehmenden Qualitätsproblemen ist diese Variante auch wirtschaftlich fraglich. Denn eine zweistufige Programmierung erhöht die Produktionszeit vom Auftrag bis zur Fertigstellung, da hier das Gerät oder wenigstens Teile davon mitten in der Produktion zusätzlich transportiert werden müssen.
Das Produktionssystem Flasher Secure bietet daher die für die Auslagerung der Programmierung notwendigen Funktionen: Die Programmiergeräte können über das Internet mit Ihrem Trusted Server kommunizieren und sind damit nicht auf das lokale Netz beschränkt. Die Kommunikation findet dabei nach modernen Sicherheitsstandards statt. Die verwendeten Bibliotheken sind nach NIST validiert.
Der Trusted Server wird in einer abgesicherten Umgebung betrieben (Bild 2). Dieser Server kann beim Auftraggeber selbst stehen oder bei einem vertrauenswürdigen Partner. Selbstverständlich findet auch hier eine wechselseitige Authentifizierung statt, um damit verschiedene Angriffsszenarien auszuschließen. Die Kommunikation zwischen Server und Produktion ist insgesamt vergleichsweise gering, sodass sie parallel zur Programmierung stattfinden kann. Die gesamte Produktionszeit wird nur unwesentlich um die Dauer verlängert, die für das Schreiben der Signatur notwendig ist. Der Flasher Secure arbeitet mit vielen Mikrocontroller-Architekturen zusammen (Bild 3).
Der Autor
Dirk Akemann
ist seit acht Jahren bei den Embedded-Experten von Segger als Marketing Manager verantwortlich für technisches Marketing. Vor 2009 arbeitete er mehrere Jahre als Field Application Engineer, nachdem er als wissenschaftlicher Angestellter im Bereich Regelungstechnik und Mechatronik an der Universität Paderborn angestellt war.
info@segger.com