Ein kleines Unternehmen versucht, die Fertigung an eine kleine Fabrik eines Drittanbieters auszulagern. Die Produkte sind elektronische Verbrauchergeräte und benötigen keine spezielle Zertifizierung außer CE und FCC Klasse B (obwohl ich nicht glaube, dass dies für das Problem relevant ist).
Die Fabrik muss dem Unternehmen für jedes hergestellte Gerät eine bestimmte feste Lizenzgebühr zahlen.
Um die Lizenzgebühren einziehen zu können, muss das Unternehmen zuverlässig feststellen können, wie viele Geräte in einem bestimmten Zeitraum hergestellt wurden.
Auf hergestellten Geräten wird nicht-triviale Firmware ausgeführt, die vom Unternehmen bereitgestellt wird.
Die Geräte sind außerdem mit einem trivialen Custom-Bootloader ausgestattet.
Geräte haben keine eigene Kommunikationsmöglichkeit mit dem Unternehmen (keine Verbindung zum Internet, Mobilfunknetz etc.).
Jedes hergestellte Gerät durchläuft ein bestimmtes automatisiertes Testverfahren, bei dem das Gerät an einen PC angeschlossen wird, auf dem eine vom Unternehmen entwickelte Spezialsoftware läuft. Diese Software flasht auch die Firmware.
Die Mikrocontroller des Geräts haben eine weltweit eindeutige 96/128-Bit-ID. Eigentlich sind die Mikrocontroller STM32F0, STM32F1, STM32F4 und LPC11C24, falls das hilft.
Geplante Stückzahlen sind insgesamt bis zu 500 Geräte monatlich.
Der Versand von Hardware zwischen dem Unternehmen und der Fabrik ist nicht möglich.
Die Fabrik ist ein legales und einigermaßen ehrliches Geschäft, sie werden keine großen Anstrengungen unternehmen, um den Prozess zu ihrem Vorteil auszunutzen.
Anzahl der hergestellten Geräte entspricht der Anzahl der verkauften Geräte; Die Menge an fehlerhaften Produkten ist vernachlässigbar.
Eine der ersten Lösungen, die mir in den Sinn kommt, ist, die oben erwähnte Testsoftware so zu erweitern, dass sie dem folgenden Algorithmus folgt:
Dies scheint dem Unternehmen die erforderlichen Daten zu liefern.
Die Nachteile liegen auf der Hand: Die Anwendung kann auf vielfältige Weise gepatcht werden, der Host-PC kann die Anfragen an einen Server eines Drittanbieters umleiten, die Fabrik kann die Testanwendung vollständig ignorieren und stattdessen ihre eigene Alternative implementieren usw. Ganz zu schweigen davon Die Produktion wird eingestellt, wenn die Web-API des Unternehmens ausfällt, obwohl dies heutzutage kein häufiges Problem sein sollte.
Welche Lösungsansätze gibt es in der Branche?
Kann eine zuverlässigere Lösung mit OTP-Speicher implementiert werden (einige der aufgeführten MCUs haben ihn, andere Produkte können mit einem dedizierten OTP-Chip ausgestattet werden, obwohl dies aus Kostengründen unerwünscht ist).
Abgesehen von OTP/Kryptografie, gibt es eine offensichtliche Möglichkeit, die beschriebene Lösung zu verbessern, die mir fehlt?
Stellen Sie der Herstellerfirma eine feste Anzahl vorprogrammierter Mikrocontroller zur Verfügung. Viele Erst- und Drittvertriebe bieten einen Programmierdienst an. Da die Firmware nicht trivial ist, könnte die Fabrik kein Produkt mehr produzieren als die Chips, die sie haben.
Passant
Pavel Kirienko
Irgendein Hardware-Typ
Irgendein Hardware-Typ
Irgendein Hardware-Typ
Spehro Pefhany
Bageletas