Forum: Mikrocontroller und Digitale Elektronik SD-Karten Verschlüsselungsmodul


von Ari (Gast)


Lesenswert?

Hallo,
die Datensicherheit gerade bei Kameras regt mich seit geraumer Zeit auf.
Ist die Kamera weg, kann der Dieb alle meine Bilder ansehen und ich kann 
nichts dagegen machen...

Ich möchte  in einen Adapter von Micro SD auf normale SD-Karte
 einen Atmel oder Pic µC installieren, auf dem ein Tool die Daten von 
der Kamera an die SD Karte auswertet und durch schleift und ab dem 
Zeitpunkt der Bilddatenübertragung die Daten asymetrisch verschlüsselt. 
Zu Hause kann würde ich dann in aller Ruhe die Daten entschlüsseln. 
Natürlich kann ich dann auf meiner Kamera die Bilder nicht mehr ansehen, 
aber das nehme ich in Kauf.

Ich habe recherchiert:
- Crypto Libs für Atmel kann ich nutzen
- SD Karte Lese/Schreib Lib muss ich eine verwenden die nicht den SPI 
Modus verwendet, ansonsten müsste ich die Daten von der Kamera zum µC 
abfangen auswerten und auf SPI "parsen"
- Als µC kann ich nur LowVoltage  Modelle verwenden, da ich sonst eine 
externe Spannungsversorgung brauche.

Meine Fragen:
-Sieht irgendjemand von euch in meinem Vorhaben Probleme die ich noch 
nicht erkannt habe?
Oder bekomme ich nicht ausgleichbare Timing Probleme bei der 
onTheFly-Verschlüsselung?
Theoretisch muss ich nur den nicht mal das ganze File sondern nur die 
JPG Daten ohne Header verschlüsseln (Ab "FF DA" SOS Start of Scan).

-Kann mir irgendwer eine SD-Karten Lib für den SD-Modus empfehlen?

von Stefan (Gast)


Lesenswert?

Ich bezweifle, dass Du einen AVR mit ausreichend RAM in so einem kleinen 
Gehäuse unterbringen kannst. Wenn das so einfach ginge, hätten das 
andere schon gemacht.

Wie soll das praktisch funktionieren? Wenn Du die Kamera verlierst, und 
ich finde sie, dann finde ich sie zusammen mit Speicherkarte und 
Verschlüsselungsmodul. Was hindert mich dan daran, die Kamera 
einzuschalten und mir die Bilder anzuschauen?

Der Klassiker wäre ja, das Modul mit einem Tastenfeld zu versehen, wo 
man ein Passwort eingeben muss. Oder einen Fingerabdruck Scanner. Oder 
einen Iris-Scanner. ABer all das wird wohl kaum gehen, ohne die Firmware 
der Kamera zu modifizieren.

Oder wie stellst Du Dir das vor?

von Ari (Gast)


Lesenswert?

Hallo,
danke für deine Kommentare.

Wenn du meine Speicherkarte und mein Verschlüsselungsmodul (verwende 
natürlich eine asymetrische Verschlüsselung) findest und selbst wenn du 
es schaffst meine Algo auszulesen fehlt dir mein private key um das Bild 
zu entschlüsseln

von Peter II (Gast)


Lesenswert?

Die Frage ist wie die Kamera reagiert, wenn sie die bilder nicht mehr 
sinnvoll lesen kann.

Auch das Erkennen der bilder kannst du nicht einfach an den paar bytes 
ausmachen, du must schon sicherstellen das du auf keinen Fall daten vom 
Dateisystem mit verschlüssst.

Aber das ein Atmel schnell genug ist würde ich stark bezweifeln. (außer 
wenn du die arm meinst). Dann die Kamera schreibt 2-3MByte in der 
sekunde weg.

Eventuell ist es sinnvoller eine Kamera zu kaufen, wo es opensource 
Firmware gibt, dort kannst du es "einfach" einprogrammieren.

von Jim M. (turboj)


Lesenswert?

> in einen Adapter von Micro SD auf normale SD-Karte
> einen Atmel oder Pic µC installieren, auf dem ein Tool die Daten von
> der Kamera an die SD Karte auswertet und durch schleift und ab dem
> Zeitpunkt der Bilddatenübertragung die Daten asymetrisch verschlüsselt.

Vergiss es. Wenn der Hersteller der Kamera einen einigermassen 
geeigneten Controller Chip benutzt dann spricht der nicht SPI sondern 
das SD Protokoll.
Und Dein Micro ist die Karte - kann sich also grade nicht aussuchen ob 
er SPI oder SD sprechen will. Das bedeutet dass Du mindestens das 25 MHz 
SD Protokoll sprechen können musst, sonst kann die Kamera die Karte 
nicht verwenden.

Dafür brauchst Du schon einen Controller mit SD Schnittstelle, wie sie 
in den Karten selbst benutzt werden, oder einen FPGA.

von Ari (Gast)


Lesenswert?

Auch vielen Dank für deine Kritik.

Habe gerade zwei Tests gemacht mit einer uralt 8 MB Speicherkarte
die dementsprechend richtig langsam ist.

Habe eine aktuelle Casio Cam und eine 2 Jahre alte Nikon auf die Karte 
schreiben lassen. Die Schreibgeschwindigkeit ist zwar irrlangsam dennoch 
meckern die Kameras nicht. Ich vermute daher es gibt in der Cam einen 
Buffer der in Abhängigkeit der MÖGLICHEN Schreibgeschwindigkeit geleert 
wird. Selbst ein irrlangsam Tiny sollte beim richtigen Handling keine 
Probleme machen.

Bei meinem zweiten Test habe ich ein Bild das beide Cams anzeigen 
konnten
mit einem Hexeditor nur in dem richtigen "Datensegment" editiert. Also 
JPG Header etc. habe ich nicht angefasst!
Natürlich stellt die Kamera Schrott dar, da sie eine diskrete 
Transformation auf Datenschrott anwendet. Dennoch gibt es hierbei keine 
anderen Komplikationen.

Mein Resume:
1. langsam Tiny sollte beim richtigen Handling keine Probleme machen
2. Solange ich den JPG Header nicht anfasse und nur das "Datensegment" 
anfasse sollte ich auch keine Probleme bekommen

von Ari (Gast)


Lesenswert?

@  Jim Meba
Ok, ich gebe dir recht, über die Taktrate für SD war ich mir nicht im 
Klaren.

von Mike (Gast)


Lesenswert?

Im Prinzip ist das möglich. Auf jedenfall brauchst Du einen 
leistungsfähigen Controller mit echtem SD-Interface, z.B: ein LPC2378. 
Mit 8 bit Controllern geht das nicht. Die Spannungsversorgung ist nicht 
das Problem, alle diese Controller arbeiten wie die Karten mit 3.3V, man 
könnte daher den Controller direkt aus dem Kartenslot versorgen.


Warum asymmetrisch verschlüsseln? Asymmetrische Methoden, wie RSA sind 
für die direkte Datenverschlüsselung viel zu langsam, sie dienen nur dem 
Schlüsselaustausch.  Klassiche Algorithmen, wie z.B: AES arbeiten 
symmetrisch, damit wäre auch eine Entschlüsseln und damit ein Lesen von 
der Karte durch die Kamera möglich. Allerdings müsste man den Schlüssel 
irgendwie eingeben.

von Ari (Gast)


Lesenswert?

@ Mike:

Eine asymetrische Verschlüsselung habe ich vorgeschlagen um durch Lesen 
des Codes/Binaries eine inverse Verschlüsselung unmöglich zu machen.

Ein eingeben des Codes würde mir auf die Nerven gehen wenn ich schnell 
ein Bild machen will. Da nehme ich lieber in Kauf, dass ich die Bilder 
nicht sofort sehen kann.

von user (Gast)


Lesenswert?

Es gibt ja auch die Kobination:

1. Zufallszahl erzeugen und damit die Daten symetrisch verschlüsseln.
2. Diese Zufallszahl dann asymetrisch verschlüsseln.

Das ist das übliche vorgehen.

von Sam P. (Gast)


Lesenswert?

Ein leicht anderer Ansatz wäre es, die Daten nicht abzufangen, sondern 
nachträglich zu verschlüsseln, z.B. immer dann, wenn die Kamera 
abgeschaltet wird. Damit wird die Geschwindigkeit und das 
Zugriffsprotkoll unkritisch, dafür musst du für eine Stromversorgung 
sorgen, die nicht von dem On/Off-Schalter der Kamera abhängig ist.

Wenn du mehr Zeit sparen willst, verschlüsselst du nicht die gesamten 
Bilddaten sondern nur jedes n'te Byte. Damit erzeugst du bereits genug 
Müll, dass das Motiv nicht mehr rekonstruierbar ist. Wie groß "n" ist, 
hängt natürlich davon ab, wie viele halbwegs erkennbare Bildfragmente 
akzeptabel sind.

In dem Fall kannst du aber auch symmetrische Verschlüsselung einsetzen, 
denn wenn es dir nicht um Fotos von chinesischen Militäranlagen geht, 
sondern um deine Privatsphäre im Urlaub, wird sich wohl keiner die Mühe 
machen (geschweige denn das Know-How haben), deinen Key auszulesen und 
die Verschlüsselungsmethode zu reverse-engineeren. Bei entsprechend 
gesetzten Lockbits geht das nur noch mit sehr hohem Aufwand. Da wäre es 
wesentlich leichter, dir einen Trojaner unterzuschieben, der die Fotos 
auf deiner Festplatte irgendwo ins Internet schickt.

von El Patron B. (bastihh)


Lesenswert?

Bin ich der einzige der sich fragt, was Ari für Bilder mit seiner Cam 
macht, dass er eine Verschlüsselung für nötig hält?

von H.Joachim S. (crazyhorse)


Lesenswert?

Nö, biste nicht.

von Lukas T. (tapy)


Lesenswert?

Ich finde den Gedanken gut und die Frage nach dem Sinn überflüssig.
Hier wird so oft über Facebook etc. der Kopf geschüttelt, oder auch über 
unvorsichtige Handybesitzer und Festplattenverkäufer, die ihre Daten 
rumschleudern, dass es nur sinnvoll ist, bei einer Kamera die gleichen 
Maßstäbe anzusetzen.
Ganz abgesehen davon, dass einige offenbar nicht einmal das 
Eingangsposting komplett gelesen haben (von wegen "SPI wird schwierig" 
und so, das steht da alles bereits.) macht sich der TE tatsächlich mal 
die Mühe, etwas angesprochenes auszuprobieren (Uraltchip in neuer Kamera 
wegen eventueller Geschwindigkeitsproblematik).
Ich find' das echt prima und hoffe, das es am Ende funktioniert.

Meine persönliche Meinung ist, das es unnötig sein sollte, die Daten 
asymmetrisch zu verschlüsseln und vermutlich sogar reicht, die Farbwerte 
nach irgend einem Muster zu quirlen.

Es wird ja niemand ran gehen und die Daten auf Verdacht aufwändig 
rekonstruieren.

von Björn (Gast)


Lesenswert?

Ich kann mich meinem Vorredner nur anschließen.
Ich finde die Idee sehr gut!

von Marek N. (Gast)


Lesenswert?

Hi,

prinzipiell finde ich Datensicherheit auch gut, aber ich frage mich 
auch, was der TO für hochgeheime Bilder macht, die sofort verschlüsselt 
werden müssten?
Ich photographiere auch sehr viel, im Schnitt 3 bis 5 Tausend Photos pro 
Wochenende, aber wenn die Kamera oder die Speicherkarte weg ist, dann 
ist das höchstens nur ärgerlich bis teuer, aber nichts 
existenzbedrohendes und schon gar nichts, was man zwingend geheim halten 
sollte.

Also, was sind das bitte schön für Schmuddelbilder? ;-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ist es nicht einfacher, sich die Kamera nicht klauen zu lassen? Mir 
wurde die letzte (und einzige) Kamera etwa 1982 bei einem 
Wohnungseinbruch geklaut, insofern wäre das bei mir Herumdoktern an 
einem nicht existenten Symptom.

von Martin B. (martin_b35)


Lesenswert?

Und auch SD-Karten mit 4MB verwendeten schon das 4-Bit SD-Protokoll.

von Andy (Gast)


Lesenswert?

Also ich habe an sowas schon für Sata rumgefeilt. Fazit:
Asymmetrisch kannst du das Dateiverschlüsselung nur nehmen, wenn du pro 
MB Speicherzeit dir 30 min Zeit nimmst (x86-CPU+ 3000Mhz Takt). Bei 
einer modernen Cam wie EOS 7D sind das mal locker 12h - bis zum nächsten 
Bild-ready.
Symmetrische Verschlüsselung ist das, was du paktisch nutzen kannst - 
wenn du entweder eine Superschnelle CPU (und nein, die gesamte 
32bit-ARM- Riege + alle 8+16bitter kannst du vergessen!), eine CPU mit 
Hardware-crypto-Zusatz (c.B. Via C1) oder gleich einen Hardwaecrypter 
nimmst (FPGA).
Auch den Weg der Jpeg -File-Erkennung ist Unsinn- ws wenn der Bildinhalt 
sowas enthält...
Sinnvoller ist es, die Kommando/Daten- übertragung mitzulesen und 
umzubauen.
Alle Kommandos wie Write Block, Read Block werden im Klartext 
durchgereicht, nur die zu schreibenden Daten werden verschlüsselt.
die Frage ist: wie kommt der Schlüssel da rein, und wie kannst du ihn im 
richtigen Moment deaktivieren.
das Ganze wird aber spätestens an der Größe scheitern, wenn du nicht 
entsprechende Chip-Dies bekommst.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Die Frage ist, wo Dir die Camera geklaut wird.
Wenn Du sie umgehängt hast? Im Auto/Hotel? Zuhause?

In den letzen beiden Fällen hilft es bereits, die Karte rauszunehmen und 
woanders zu lagern. Für Schnappschüsse ist dann eine kleine Billigkarte 
drin.

Du kannst auch direkt nach der Fotosession die Bilder auf ein Notebook 
überspielen (das hat dann eine Festplattenverschlüsselung).

Richtig gute Kameras können statt auf Karte auch direkt auf ein 
angeschlossenes Notebook speichern.

von W.S. (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Ist es nicht einfacher, sich die Kamera nicht klauen zu lassen?

Logo. Noch einfacher ist es, seine Bilder regelmäßig auf den PC und dort 
auf ein anderes Speichermedium zu übertragen. Dann bleiben von seinen 
Aufnahmen im Mittel gar keine bis einige wenige zum Klauen in der 
Knipse.

Mal ne Frage: Wozu das Ganze eigentlich? Echte 007-Agenten machen sowas 
sicherlich ganz anders und wer als blutiger Amateur was knipst, wofür er 
hinterdrein rote Ohren kriegt, hat eher ein mentales Problem.

Was mich neulich erstaunt hat, waren die Webcam-Aufnahmen des Meteoriten 
aus Russland. Die Leute fahren dort offenbar alle mit gezückter Webcam 
herum um sich später besser vor dem Kadi streiten zu können - oder?

W.S.

von Verwirrter Anfänger (Gast)


Lesenswert?

W.S. schrieb:
> Die Leute fahren dort offenbar alle mit gezückter Webcam
> herum um sich später besser vor dem Kadi streiten zu können - oder?

Die Erklärungen die ich bisher immer gehört hab waren:

a) Wenn man in einem Unfall kommt, gewinnt die Person mit besseren 
Beziehungen, wenn man keine guten Beweise hat

b) Versicherungsbetrug ist relativ häufig, mit Fußgängern die versuchen 
sich absichtlich anfahren zu lassen und Autos die an der Ample mal 
schnell den Rückwärtsgang einlegen.

von Chris (Gast)


Lesenswert?

Nimm eine Canon Kamera, implementiere die Verschlüsselung in Lua und die
Sache ist gemacht, die Frage ist nur, wie machst du es, die Kamera zu 
entsperren, machbar wäre ein Phonemisches Password.

von Andreas B. (andreasb)


Lesenswert?

Chris schrieb:
> Nimm eine Canon Kamera, implementiere die Verschlüsselung in Lua und die
> Sache ist gemacht, die Frage ist nur, wie machst du es, die Kamera zu
> entsperren, machbar wäre ein Phonemisches Password.

Was Chris meint ist: http://chdk.wikia.com/wiki/CHDK

Obwohl ich auch am Sinn zweifle finde ich so etwas durchaus 
interessant;-)

Hast du schon mal daran gedacht die Bilder garnicht auf der Kamera zu 
speichern?

http://www.eye.fi/
=> Direkt auf ein Verschlüsseltes Gerät Streamen.

Oder die Kamera per USB mit deinem (Verschlüsselten) Android Tablet / 
Phone Verbinden und alle Bilder direkt speichern.
(gphoto2 anschauen)


Aber ich hätte noch einen Vorschlag, der 100%ig sicher verhindert, dass 
dir die Bilder geklaut werden: einfach keine Bilder machen=)


mfg Andreas

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.