Forum: Mikrocontroller und Digitale Elektronik Verschlüsselung Daten uC - SocketServer (GPRS)


von Markus K. (Gast)


Lesenswert?

Hallo zusammen

Ich würde gerne eure Meinungen/Ideen zu meinem Projekt hören.
Ich sende Daten (ca. 16Bytes) von einem 8-Bit uC per GPRS an einen 
Socket Server.(ca. alle 200ms)
Nun soll zusätzlich noch GPS Daten gesendet werden. Diese aber nur ca. 
alle 2s einmal.
Welche Verschlüsselungsmethode würdet ihr verwenden? Die update Rate 
soll wenn möglich nicht verringert werden.
Es soll keine Hochsicherheits-Verschlüsselung sein. Halt in einem 
gesunden Verhältnis. (Ressourcen Verbrauch-Nutzen)
Tja schwierig oder? Hab auch gesehen das es GPRS Module gibt die SSL 
Socket fähig sind doch die Kosten auch mehr. :-(

Was für Ideen habt ihr so spontan?
Vielen Dank.
von Klaus T. (gauchi)


Lesenswert?

Je nach dem wie viel dein µC nebenher noch macht, sind 200 ms ja 
eigentlich völlig unkritisch, da kann man quasi beliebig viel Aufwand in 
die Verschlüsselung stecken. Ich meine, dass es schon fertige AES 
Implementierungen für Mikrocontroller gibt, das würde vermutlich den 
geringsten (Programmier-)Aufwand bedeuten.

Worüber ich mir noch Gedanken machen würde ist, wie zuverlässig deine 
Übertragung ist, denn wenn je nach Verschlüsselungsmodus musst du 
mehrere Nachrichten fehlerfrei empfangen um sie entschlüsseln zu können.
von Stefan O. (stefano)


Lesenswert?

Hallo,

Es gibt eine AppNote von Atmel (AVR231) zum Thema AES Bootloader welche 
auch Infos zur AVR spezifischen implemetierung hat.

Hier gibt's allgemeine Informationen und eine Implementierung von AES in 
C --> 
http://www.hoozi.com/posts/advanced-encryption-standard-aes-implementation-in-cc-with-comments/

Diese verwendet AES im ECB Modus. Blockgroesse ist immer 16 Byte, was 
fuer dich ja zu passen scheint.

LG Stefan
von Gerd E. (robberknight)


Lesenswert?

Wenn Du nen AVR verwendest schau mal hier:

http://www.das-labor.org/wiki/Crypto-avr-lib

Ich würde mir vorher überlegen wogegen Du schützen willst:

- Mitlesen der Daten
- Verändern der Daten bzw. Einfügen von zusätzlichen Daten
- Erneutes Senden bereits früher mal von Dir gesendeter Daten (Replay)

Danach richten sich dann die zu treffenden Maßnahmen und Algorithmen.
von Markus K (Gast)


Lesenswert?

Hallo zusammen.
Vielen Dank für eure Vorschläge und Links.
Hab auch noch weiter gegooglet und mich für AES entschieden.
Nutze diese Code für meine Zwecke. Falls mal jemand danach sucht.
http://cs.ucsb.edu/~koc/cs178/projects/JT/avr_aes.html

Wenn ich das richtig verstanden hab dann brauch ich noch Padding.
Dazu hat mir diese Seite geholfen:
http://www.di-mgt.com.au/cryptopad.html

Vielen Dank
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.