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
Pascal schrieb:> Sind> diese auch nach Auslesen über avrdude am PC vor Cracking ein wenig> geschütztAVR 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).
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.
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!
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.
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.
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.
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.
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.
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.
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.