Forum: Mikrocontroller und Digitale Elektronik AVR Mikrocontroller Sicherheit


von Pascal (Gast)


Lesenswert?

Hi,

ich habe mir die Frage gestellt, inwiefern bereits AVR Mikrocontroller 
zum Ver- und Entschlüsseln von Daten, die z.B. im EEPROM abgespeichert 
werden, fähig sind.
Theoretisch wäre sicherlich alles möglich, mir geht es aber um die 
praktische Anwendung (dass es mit z.B. 20 MHz nicht viele Stunden 
dauert, AES ist ja extrem komplex).
Bzw. welche Algorithmen gibt es bereits für AVR Mikrocontroller? Sind 
diese auch nach Auslesen über avrdude am PC vor Cracking ein wenig 
geschützt (der PC mit mehreren GHz und Kernen ist ja deutlich schneller 
als ein Single-Core 20MHz SoC)?
Und wie verbessert man allgemein die Sicherheit (dass z.B. nicht über 
ISP einfach der Speicher des EEPROM manipuliert werden kann oder 
Schadcode den richtigen im Flash überschreibt)?

Wahrscheinlich gilt hier wieder "physical access is full access"...

Pascal

von Frank K. (fchk)


Lesenswert?


von Jim M. (turboj)


Lesenswert?

Pascal schrieb:
> Sind
> diese auch nach Auslesen über avrdude am PC vor Cracking ein wenig
> geschützt

AVR kennt "Lock Bits", mit denen man das Auslesen verhindern kann.

Das verhindert das Auslesen mit zwar nicht völlig - aber es ist dann in 
den meisten Fällen "teuer genug", d.h. für Angreifer unwirtschaftlich.

Pascal schrieb:
> oder
> Schadcode den richtigen im Flash überschreibt

Wird bei AVR schwierig, da IIRC nur der Bootloader im Application Flash 
schreiben darf.

Mit Programmiergerät müsste er den Flash vorher komplett löschen, was je 
nach EESAVE Fuse auch das EEPROM säubert.

Wenn Dir das nicht ausreicht müsstest Du über andere µC Architektur 
nachdenken, z.B. kann man den LPC176x von NXP so komplett verrammeln 
dass man ihn bei Fehlern auslöten und ersetzen müsste (CRP3).

von Sebastian S. (amateur)


Lesenswert?

Also Staatsgeheimnisse oder milliardenschwere Patente würde ich diesen 
Teilen nicht anvertrauen.

Darüber hinaus sollen die Schlüsselmöglichkeiten ausreichend sein.

Ich gehe davon aus, dass Du den µP nicht irgendwo in der Pampa liegen 
hast, sondern Vorort in irgend einem Gerät und Du hauptsächlich die 
Kommunikation schützen willst.
Übrigens: Sollten Dir die eingebauten Möglichkeiten nicht gefallen, 
kannst Du ja auf den Eigenbau zurückgreifen. Ob der dann aber besser 
ist, ist diskussionswürdig.

von Pascal (Gast)


Lesenswert?

Jim M. schrieb:
> Wenn Dir das nicht ausreicht müsstest Du über andere µC Architektur
> nachdenken, z.B. kann man den LPC176x von NXP so komplett verrammeln
> dass man ihn bei Fehlern auslöten und ersetzen müsste (CRP3).

Ich denke dass AVRs schon ausreichen. Ich will ja keine 
Staatsgeheimnisse speichern/übermitteln, sondern nur soweit gehen, dass 
nicht alles transparent und direkt mitlesbar ist.

Frank K. schrieb:
> Lies das:
> https://www.cl.cam.ac.uk/~sps32/mcu_lock.html

Sehr interessant. Der alte Artikel hat heute immer noch eine praktische 
Anwendbarkeit.

Sebastian S. schrieb:
> Darüber hinaus sollen die Schlüsselmöglichkeiten ausreichend sein.

Danke für die Antworten!

von Jim M. (turboj)


Lesenswert?

Pascal schrieb:
> nur soweit gehen, dass
> nicht alles transparent und direkt mitlesbar ist.

Dann gäbe es µCs mit eingebautem AES in Hardware. Beispielsweise alle 
Bluetooth LE-fähigen µCs, oder z.B. Silabs EFM32 wenn es stromsparend 
sein soll.

AVRs sind da aber AFAIK nicht dabei.

von Stefan F. (Gast)


Lesenswert?

Ich glaube, der Verschlüsselungs-Algorithmus ist dabei nicht einmal der 
spannendste Punkt, sondern die Frage, wie man mit dem zugehörigen 
Schlüssel umgeht.

von Norbert T. (atos)


Lesenswert?

Die meisten XMEGAs unterstützen AES hardwareseitig, die 
AES-Implementierung in Software ist NICHT kompliziert, der Sinn für AES 
war u. a. "Speziell für den Einsatz in Smartcards sollen geringe 
Ressourcen erforderlich sein (kurze Codelänge, niedriger 
Speicherbedarf)." Suche nach AES in der Wikipedia. Es gibt mehrere 
Application Notes von Atmel wie auch Codebeispiele für AES für MCs, die 
AES hardwareseitig nicht unterstützen, also für alle ATmegas, Tinys usw. 
Auch für Bootloader.

von Bernd K. (prof7bit)


Lesenswert?

AVR auslesen kostet 700€. Gibt russische Dienstleister dafür die das 
professionell anbieten - für Backupzwecke - falls Du die Sourcen 
verloren hast *hust.

Also kann man ganz einfach ausrechnen wieviel die dort untergebrachten 
Daten maximal wert sein dürfen bzw was das unberechtigte Auslesen eines 
Exemplars bei Dir für einen Schaden anrichten würde.

Zum Beispiel um kostenlos ins Freibad zu kommen wird kaum einer 700€ 
investieren nur um das Drehkreuz zu hacken aber wenn er einen Dongle 
findet mit nem AVR drin in dem ein Bitcoin-Schlüssel steckt der 
Verfügung über eine vierstellige Eurosumme autorisiert dann eventuell 
schon eher.

: Bearbeitet durch User
von Nase (Gast)


Lesenswert?


von Peter D. (peda)


Lesenswert?

Pascal schrieb:
> Theoretisch wäre sicherlich alles möglich, mir geht es aber um die
> praktische Anwendung (dass es mit z.B. 20 MHz nicht viele Stunden
> dauert, AES ist ja extrem komplex).

Woher hast Du die "vielen Stunden" und für welche Datenmenge?
Um viele GByte durchzuschleusen, ist der AVR nicht zu empfehlen.

von c-hater (Gast)


Lesenswert?

Bernd K. schrieb:

> Zum Beispiel um kostenlos ins Freibad zu kommen wird kaum einer 700€
> investieren nur um das Drehkreuz zu hacken

Nicht alles, was hinkt, ist eine Vergleich.

Na klar würde man mit genügend krimineller Energie die 700€ investieren, 
wenn ein fetter Gewinn lockt. Wenn man z.B. sicher wäre, dass die 
Technik gerade neu installiert wurde und der Betreiber wohl frühestens 
in zehn Jahren wieder hier investieren wird. Wenn du dann noch ein 
vierköpfige Familie hast, kann sich der Einsatz sehr gut rechnen, zumal 
das Risiko, erwischt zu werden, eher gering sein dürfte und die Straftat 
Leistungserschleichung vergleichsweise harmlos sanktioniert wird.

Ganz ähnlich ist die Situation beim Klau irgendwelcher µC-Firmware. Du 
kannst davon ausgehen, dass dem Beklauten lange Zeit nicht mal auffällt, 
dass ihm was fehlt, vielleicht bekommt er es sogar niemals mit.
Und falls doch, stehen die Chancen sehr hoch, dass er darauf verzichtet, 
gegen die Täter in Fernost, Russland oder sonstwo juristisch vorzugehen. 
Maximal würde er gegen die Importeure vorgehen, die das Zeug ein seinem 
Heimatmarkt in Umlauf bringen, was denen allerdings auch kaum weh tut. 
Wenn es wirklich nach viel Zeit und eingesetztem Geld zu irgendwelchen 
Sanktionen kommt, wird der Laden einfach zugemacht und der nächste 
übernimmt den Job des Imports und Vertriebs der Fakes.
Das geht so weiter, bis entweder der Beklaute aufgibt oder mit der 
Lösung an sich kein Geld mehr zu machen ist. Wobei die Fakes dann noch 
eine Weile weiter laufen, denn für die kann sich dank der geringeren 
Kosten die Sache auch bei schwindenden Stückzahlen noch eine ganze Weile 
länger lohnen.

von Jim M. (turboj)


Lesenswert?

c-hater schrieb:
> Wenn du dann noch ein
> vierköpfige Familie hast, kann sich der Einsatz sehr gut rechnen,

Schlechtes Beispiel: Mit 700 EUR gibt es normalerweise Saisonkarten für 
etliche Jahre, rechnet sich also eher nicht.

Genauso ist es bei Firmware: Reverse-Engineering mit komplettem 
neuerfinden der Firmware kann billiger sein als das "Aufmachen" eines 
gelockten µC.

Andererseits kann man für µCs Umgehungsmöglichkeiten finden, z.B. Power 
glitching. YMMV.

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.