Forum: Mikrocontroller und Digitale Elektronik USB Cd-Rom emulieren


von fop (Gast)


Lesenswert?

Hallo,
ich möchte für PCs Daten vor Überschreiben geschützt bereit stellen. 
Dazu finde ich das Konzept von z.B. UMTS-Modems recht passend, ein 
Cd-Rom mit eingelegter Cd zu emulieren.
Jetzt grüble ich über die Umsetzung. Es gibt wohl USB-Sticks, die sich 
entsprechend umkonfigurieren lassen. Aber wo gibt es die Software zum 
Konfigurieren und wie stelle ich sicher, dass ich USB-Sticks mit dem 
passenden Controller-Chip bekomme ?
Plan B : selber etwas mit einem Mikrocontroller und viel Flash 
zusammenbauen. Aber was sollte man da nehmen, damit die Datenrate nicht 
auf unterirdischem Niveau rumkleckert ?

von georg (Gast)


Lesenswert?

fop schrieb:
> ich möchte für PCs Daten vor Überschreiben geschützt bereit stellen.

Das ist genau genommen ein Widerspruch in sich: wenn du die Daten 
draufschreiben kannst, kann man sie auch ändern. Eine emulierte CD ist 
eben nur emuliert, und der Schreibschutz ist ein Wunsch, an den sich 
niemand halten muss.

Du kannst also normal Daten schreiben und den Schreibschutz setzen, ist 
nicht viel anders. Nur eine CD-R ist wirklich nur einmal beschreibbar.

Falls es wirklich wichtig ist, überleg dir eine Sicherung gegen 
Veränderung, z.B. Prüfsummen, MD5 o.ä.

Georg

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

georg schrieb:
> Das ist genau genommen ein Widerspruch in sich: wenn du die Daten
> draufschreiben kannst, kann man sie auch ändern. Eine emulierte CD ist
> eben nur emuliert, und der Schreibschutz ist ein Wunsch, an den sich
> niemand halten muss.

Naja, sofern die Daten, die das emulierte CD-Laufwerk 'rausrückt, nicht 
in einem vom PC aus sichtbaren Flashbereich liegen, sondern nur in der 
Firmware des Controllers, dann ist das, was Du sagst, zwar prinzipiell 
immer noch zutreffend, setzt aber voraus, daß die Controllerfirmware 
verändert werden kann.

Das aber dürfte für die meisten Anwendungen vollkommen ausreichend 
sicher sein.


Die Aufgabenstellung lässt sich mit einem USB-Device-Fähigen µC und 
einem an diesen angeschlossenen ausreichend großen Flashspeicher 
umsetzen.

Im Prinzip genügt dafür ein ATmega32U4 mit einem angeschlossenen 
Flashspeicher. Sofern man physische Manipulation der Hardware 
ausschließen kann, kann der Flashspeicher auch eine Micro-SD-Karte sein.

Dann muss auch kein CD-Laufwerk emuliert werden, sondern die SD-Karte 
kann 1:1 an den Host durchgereicht werden, nur jeder Schreibzugriff wird 
abgefangen und dem Host gegenüber zusätzlich die Information über 
gesetzten Schreibschutz mitgeteilt.


Wenn man einen SD-Karten-Leser mit funktionierender Auswertung des 
Schreibschutzschiebers verwendet, genügt sogar so etwas; die Dinger gibt 
es auch im USB-Stick-Gehäuse. Um (einfache) physisische Manipulationen 
auszuschließen, kann das Ding ja verklebt werden.

von Jim M. (turboj)


Lesenswert?

fop schrieb:
> Plan B : selber etwas mit einem Mikrocontroller und viel Flash
> zusammenbauen. Aber was sollte man da nehmen, damit die Datenrate nicht
> auf unterirdischem Niveau rumkleckert ?

Es gibt Mikrocontroller mit USB2.0 High speed, z.B. bei LPC43xx oder 
LPC18xx von NXP. Die Daten würde ich von einer SD Karte lesen. Deren 
eigener Schreibschutz ist ja ein schlechter Witz, daher muss der µC 
filtern.

Ich betrachte die Möglichkeit des Schreibens auf den vom Hersteller 
gelieferten Software-Stick aber eher als Feature denn als Problem.

von Jim M. (turboj)


Lesenswert?

Rufus Τ. F. schrieb:
> Im Prinzip genügt dafür ein ATmega32U4 mit einem angeschlossenen
> Flashspeicher. Sofern man physische Manipulation der Hardware
> ausschließen kann, kann der Flashspeicher auch eine Micro-SD-Karte sein.

Das ist aber - sorry - arschlahm. Heutzutage sind Software Installer 
>100MB eher die Regel als die Ausnahme, und da will der Anwender nicht 
minutenlang waren bis da mal Daten eigeträufelt kommen.

Übrigens macht auch das OS neuerdings Probeleme, denn bei .exe wird 
zuerst mal die Signatur geprüft - wofür sie zu 100% eingelesen werden 
muss. Das dauert mit <=1MByte/sec dann gefühlt ewig.

High-speed fähige µCs sind allerdings größer und teurer - und dann ist 
auch das Layouten aufwändiger.

von Dr. Sommer (Gast)


Lesenswert?

SD-Karten haben auch einen integrierten Schreibschutz (neben dem 
Schalter). Es gibt nur kaum Software um den zu Setzen - mit einem 
eigenen Controller aber kein Problem.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jim M. schrieb:
> Das ist aber - sorry - arschlahm.

Klar. Aber das sind echte CDs auch - vielleicht erinnert sich noch 
jemand an CD-Laufwerke mit einfacher Geschwindigkeit?

Ja, das sind 150 kByte/sec. Autobahn!

von fop (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Wenn man einen SD-Karten-Leser mit funktionierender Auswertung des
> Schreibschutzschiebers verwendet, genügt sogar so etwas; die Dinger gibt
> es auch im USB-Stick-Gehäuse. Um (einfache) physisische Manipulationen
> auszuschließen, kann das Ding ja verklebt werden.

Wenn ich so einen SD auf USB Adapter verwende, stellt sich mir die Frage 
:
Wer bewerkstelligt den Schreibschutz ?
Das IC im Adapter oder der Treiber auf dem PC ?

Wobei selbst letzteres für meinen momentanes Szenario genügen dürfte.

Oder gibt es gar beides ? Wenn ja, wie erkenne ich zu welcher Gruppe ein 
Adapter gehört. Am Besten natürlich noch vor dem Kauf.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

fop schrieb:
> Wer bewerkstelligt den Schreibschutz ?
> Das IC im Adapter oder der Treiber auf dem PC ?

Das IC im Adapter, wenn dessen Programmierer nicht gerade völlig neben
der Spur war.

von Olaf (Gast)


Lesenswert?

> ich möchte für PCs Daten vor Überschreiben geschützt bereit stellen.

Hoer auf zu basteln und kauf dir einfach ein IODD-2541.

Das kann alles was du willst und ist rattenschnell.

Olaf

von Paranoy (Gast)


Lesenswert?

Thema Hardware-Schreibschutz
Unter https://www.vkldata.com
und speziell "Hardware mit Schreibschutz",
sollte etwas passendes zu finden sein.

Umbau von USB-Sticks, Emulatoren und Write-Protect Adapter...

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.