Go Down

Topic: Arduino geeignet für Keyboard-Encryption? (Read 1 time) previous topic - next topic

mrueg

Hallo,

ich bin noch am Anfang, was Arduino angeht und bin gerade am recherchieren ob folgendes möglich ist:

Ich möchte auf Arduino aufbauend eine HID-Verschlüsselungslösung erstellen.

Folgendes habe ich mir dabei gedacht:

Das Arduinoboard wird mittels der auf ihm existierenden und eines noch hinzuzufügenden USB-to-Seriellsteckteils zwischen Tastatur und nichtvertrauenswürdigem Rechner gesteckt.
Auf das Board würde ich noch ein LCD-Shield stecken.
Der Nutzer tippt nun normal und unverschlüsselt, hierbei wird das Signal einfach durch das Board in Richtung PC geschleift.
Der Nutzer aktiviert mittels Button auf dem Board die Verschlüsselungsfunktionalität, er wird um Eingabe von Keymaterial gebeten.
Danach sieht er seine Klartexteingaben auf dem LCD-Shield während das Arduinoboard (vermutlich mittels RC4 verschlüsselt) die Krypotexte an den Rechner weitersendet.

Ggf. als Erweiterung könnte man noch einen SD-Schacht vorsehen, um dort GPG Publickeymaterial zu nutzen.


Da ich wie gesagt noch ziemlich wenig selbst mit Arduino gemacht habe, hoffe ich, dass mir hier jemand sagen kann, ob das funktionieren kann wie ich es mir vorstelle und wo mögliche Probleme liegen.

Danke schonmal im Voraus

- mrueg

Fat D

USB-Seriell-Adapter funktionieren nur in eine Richtung, und dann auch nur mit einem bestimmten Protokoll. Was du für die Verwendung einer USB-Tastatur am Arduino bräuchtest, wäre ein USB-Hostcontroller. Weiterhin wäre ein Mikrocontroller mit nativer USB-Unterstützung sinnvoll, um sich dem PC auch als eine echte Tastatur zu zeigen. Mit PS/2-Schnittstellen hätte man ersteres Problem behoben, aber auf der Rechnerseite ist PS/2 vielleicht nicht so sinnvoll, da die PS/2-Schnittstelle an solchen "nicht vertrauenswürdigen" Rechnern üblicherweise nicht für die Verwendung von Privatgeräten gedacht ist. Da würde sich also weiterhin ein Mikrocontroller mit nativem USB anbieten, zum Beispiel der ATmega32u4, wie er auf dem kommenden Arduino Leonardo, dem Teensy und dem Adafruit ATmega32u4-Breakoutboard installiert ist. Leonardo ist noch nicht draußen, aber natürlich voll mit Arduino 1.0 kompatibel, für Teensy und andere Umgebungen (wie das Ada-Board) gibt es Teensyduino.

uwefed

Ich sehe das Problem in der Rechenleistung und der Implementierung des Verschlüsselungsalogaritmus.
Des weiteren sehe ich keinen Sinn in dem ganzen Unterfangen. Was machst Du mit den verschlüsselten Texten? Hast Du schon daran gedacht daß Du sie zum korrigieren wieder entschlüsseln mußt.
Grüße Uwe

hammerhai

Hast wohl Angst vor'm Bundestrojaner ... :D

mrueg

Danke euch schon mal für die Antworten.

Ah mist, dass USB ja eine Master/Slave Architektur hat, habe ich verzockt. Schade, dass sich Firewire nicht durchgesetzt hat. ;)

Mit dem Arduino Leonardo könnte ich quasi einen USB-Host komplett nachbilden, dort die USB Tastatur als USB-Device anschließen und würde dann per USB-Seriell-Adapter, den ich aufstecke, den Rechner ansteuern, richtig?

Wenn ich mich richtig informiert habe, soll das Leonardo-Board noch dieses Jahr erscheinen, richtig?


Ein Usecase wäre z.B.

Ich möchte eine Mail schreiben und habe keinen Rechner bei. Ein Freund bietet mir seinen virenverseuchten Windowsrechner an. Ich packe also das Board zwischen Keyboard und Rechner. Nun gebe ich den Empfänger ein und habe zufällig seinen Public-Key auf meiner Speicherkarte dabei. Jetzt wird die Verschlüsselung mittels Schalter/Button/Hotkey aktiviert und ich wähle das passende Schlüsselmaterial von der SD Karte aus. Jetzt gebe ich den Body der Email ein und kann per LCD überprüfen ob der Text korrekt ist. Auf dem Bildschirm des eigentlichen PCs erscheint nur der Kryptotext. Der Empfänger der EMail kann das ganze dann wie gewohnt per GPG entschlüsseln.


Joa der Bundestrojaner sollte wohl im Idealfall keine Chance haben. ;D

Go Up