STM32 uC Code schützen, aber flash sektor beschreibbar

#5622680
Lesenswert?

Hi,

Ich möchte den Code auf einem STM32F4 vor dem Auslesen schützen, da ich 
aber noch 2 Sektoren des Flashes als Speicher brauche, muss ich diese 
noch beschreiben können. Kann ich also Sektorenweise die 
Zugriffsberechtigung erteilen? Wäre es theoretisch auch möglich, den 
Code zu updaten, wobei aber das .hex verschlüsselt wäre?
#5622858
Lesenswert?

Bert S. schrieb:
> Wäre es theoretisch auch möglich, den
> Code zu updaten, wobei aber das .hex verschlüsselt wäre?

Für sowas muss man dann den passenden Bootloader schreiben.

Habe ich mal für einen NRF52832 gemacht, weil die ANT+ Softdevices einen 
"geheimen" Code aus lizenztechnischem Grund benötigen. War relativ 
aufwändig und auch nicht grade klein für einen seriellen Bootloader.

Bert S. schrieb:
> Kann ich also Sektorenweise die
> Zugriffsberechtigung erteilen?

In der "Produktions" Version klemmt man alle externen 
Auslese-Funktionen des Flash ab, inklusive JTAG/SWD. Dann kann man den 
Chip nur noch von eigenem Code aus beschreiben - wo man die Adresse 
steuern kann.
#5623635
Lesenswert?

Die STM32 L4 (und F7) haben einen zusätzlichen Schutzmechanismus 
genannt "Proprietary code readout protection (PCROP)".

Dass man Firmware wirksam verschlüsseln kann, mag ich nicht glauben. Die 
CPU muss ja nach dem Reset irgendwie an den Schlüssel ran kommen. Die 
normale Read Out Protection ist sicher sicherer als selbstgebaute 
Verschlüsselung, aber gegen Profis hilft die auch nicht:
https://www.aisec.fraunhofer.de/en/FirmwareProtection.html

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren