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?
:
Bearbeitet durch User
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.
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
Ok, danke euch. Dann werde ich wohl so gut es geht auf Firmwareupdates verzichten.
Habe folgendes Video zum Thema von STM32 Flash Optionen (Schreib- und Leseschutz) gemacht: https://youtu.be/IN_U7QsYQlc Gruss Mark
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.