AVR Mikrocontroller im Nachhinein nochmal programmieren trotz gesetzter Lock-Bits

OP #6165166
Lesenswert?

Hallo Leute,

hätte eine Frage bezüglich der AVR Mikrocontroller.

Wie im Betreff schon steht, wollen wir die Mikrocontroller nachdem sie 
programmiert und gelockt wurden (durch die gesetzten Lock-Bits), 
eventuell wieder eine neue Software aufspielen.

Der Grund dafür ist folgender:

Wir verkaufen momentan mehrere eigene Komponenten, auf welcher ein 
Mikrocontroller bestückt ist mit einer entsprechende Software.

Oftmals kommt es vor, dass wir nach einigen Monaten wieder eine neue 
Software mit kleinen Anpassungen haben. Zwingend notwendig ist die neue 
Software für den Kunden nicht, aber bei Retouren oder Reparaturfällen, 
würden wir dem Kunden anbieten, gleich die neue Software aufzuspielen.

Der Mikrocontroller sollte jedoch gelockt sein, sodass der Endkunde 
keine eigene Software aufspielen kann oder unser Software ausliest.


Die Frage: Ist es nun möglich, wenn die Komponente zu uns zurück kommt 
(aus Gründen von Reparatur etc.), die neue Software aufzuspielen trotz 
gesetzter Lock-Bits? Wir benutzen den Programmer/Debugger Atmel ICE.


Danke im Voraus!
Gast #6165179
Lesenswert?

Bei den Atmegas kann man immer ein "Erase Chip" druchführen. Das setzt 
die Lockbits wieder auf 1 und man kann neu programmieren. Dann ist der 
Chip vorher halt leer und niemand kann das Programm einfach so auslesen. 
Was die Lock Bits nicht können, ist das löschen des IC sperren. Wer will 
kann also immer euren IC für was anderes verwenden. Wenn das ebenfalls 
nicht gewünscht ist, müsst ihr euch für einen anderen IC entscheiden.
#6165261
Lesenswert?

Axel S. schrieb:
> Nico S. schrieb:
>> Der Mikrocontroller sollte jedoch gelockt sein, sodass der Endkunde
>> keine eigene Software aufspielen kann oder unser Software ausliest.
>
> Bei einem AVR gibt es keine Kombination der Lockbits, die ein Chip Erase
> verhindern würde. Du kannst zwar das Auslesen der Firmware verhindern,
> nicht aber daß jemand den Chip löscht und etwas anderes aufspielt.

Und wer den Chip mit Säure aufätzt (der Chip bleibt dabei 
funktionsfähig) und mit einem gut fokussierten blauen Laserpointer an 
eine bestimmte Stelle leuchtet, der kann die Security Fuse löschen und 
Eure supergeheime, kostbare Software auslesen. AVRs sind halt 20 Jahre 
alte Technik, und so sonderlich gut gegen Manipulationen sind sie eben 
nicht geschützt.

fchk
Gast #6165301
Lesenswert?

Lock-Bits in den AVRs sind ein Ausleseschutz und kein 
Neuprogrammierschutz.

Nico S. schrieb:
> sodass der Endkunde keine eigene Software aufspielen

Mit einem Chiperase kann er das.

Schwieriger wird's für ihn, wenn Ihr einen Krypto-Bootlader zum Flashen 
verwendet und die RSTDISBL-Fuse setzt, dann ist die ISP-Schnittstelle 
erstmal lahmgelegt. Dann kommt der Kunde nicht mehr einfach dran.

Ihr kommt aber auch selber nicht mehr an die Fuses ran, falls da was 
ändern braucht.

Mit HV-Programmierung kann man auch diesen Schutz wieder aufheben, was 
ggf. ein Auslöten des µCs oder Auftrennen der ISP-Pins erfordert, falls 
die Resthardware die höhere Programmierspannung nicht mag.

Macht's also nicht unmöglich, nur schwieriger. Dem wiederum kann man 
begegnen, indem man den µC eingießt, der interessierte Kunde könnte dann 
versuchen den Verguss zu entfernen, usw., usf.

Es geht immer um Aufwand vs. Nutzen.
#6165496
Lesenswert?

Wolfgang schrieb:
> Nico S. schrieb:
>> Der Mikrocontroller sollte jedoch gelockt sein, sodass der Endkunde
>> keine eigene Software aufspielen kann
>
> Das wirst du nicht verhindern können

Verhindern nicht. Aber wenn man es erschweren will, dann hilft nur die 
ganze HW eingießen und Bootloader mit signierter Firmware.
hat zumindest den Vorteil, man erkennt eine Manipulation am Gerät. 
Wichtig für Support/Gewährleistungsanfragen.

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