Forum: Mikrocontroller und Digitale Elektronik Encryption und STM32 firmware update (USB DFU)


von Mat. K. (matthias_kornfield)


Lesenswert?

Hi
ich benutze den USB DFU bootlader in meinen Projekten.
Der ist ja recht einfach:
https://www.youtube.com/watch?v=n_LDXOQHerU
Jetzt suche ich einen sehr einfachen Weg(Zeitaufwand) um meine Binary zu 
verschlüsseln. Besser irgendeine Verschlüsselung als gar keine.

über USB HS empfange ich immer 1024 bytes. Das heisst ich will auf der 
Basis encrypten.
Kommt euch da was?
Danke

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

AES mit festem Schlüssel im Bootloader? Der sollte natürlich gegen 
auslesen geschützt sein.

von Nicht Joachim B. (roehrmond)


Lesenswert?

Ist die Firmware denn so geheim, dass sie nicht mal in Binärform 
sichtbar sein darf? Oder könnte es sein, dass eigentlich Schutz gegen 
Manipulation gefordert war und jemand glaubt, das eine verschlüsselte 
Übertragung dazu die passende Lösung sei?

von Thomas Z. (usbman)


Lesenswert?

Ich habe in der Vergangenheit schon TEA (XTEA) verwendet.
https://de.wikipedia.org/wiki/Extended_Tiny_Encryption_Algorithm

Das ist einfach zu implementieren und anzuwenden. Den Schlüssel habe ich 
mir aus chip_id, chip_serialno und einer (geheimen) Konstante gebaut.

Das funktioniert ganz gut und verhindert zuverlässig, dass man den USB 
Datenstrom auswerten kann. Mitschneiden geht zwar, nur ist das Ergebnis 
unbrauchbar.

von Michi S. (mista_s)


Lesenswert?

Μαtthias W. schrieb:
> AES mit festem Schlüssel im Bootloader?
> Der sollte natürlich gegen auslesen geschützt sein.

Wenn er irgendwo im Flash liegt, dann ist er gegen Auslesen wohl 
automatisch genauso gut geschützt wie die entschlüsselte FW; das ist 
quasi per Definition dann auch gut genug.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Mein Bootloader (C2000) verwendet Galois/Counter mode (GCM). Ist auch 
"nur" eine Spielart von AES, hat aber den Vorteil, dass es zusätzlich 
ohne viel Aufwand den Bootloader signiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.