TrueCrypt und Luks Plugin für die 7025/800/8000

  • Viel Spass beim TrueCrypt und Luks Testen und Euch Allen ein Prosit 2009 !


    Hi !


    Nachdem ich mir versprochen habe über die Feiertage meinen Vorsatz treu zu bleiben und fürs enigma2 nichts zu machen bis endlich meine 8k da ist, musste ich mir mit den diversen Filesystemen halt ein anderes Gebiet zum Forschen suchen.


    Leider war das nicht so ergiebig wie ich dachte (die laufen einfach wenn man sich alles zusammensucht - praktisch ohne Gegenwehr), es ist eigentlich nur mehr die Frage nach einen encrypteten Filesystem über geblieben, und dabei ist am Schluss halt erst wieder ein kleines Plugin zum Testen rausgekommen.


    Nachdem ja eigentlich die ganzen Voraussetzungen (fuse, crypt libs,..) schon im OE sind und auch zu funktionieren scheinen (wie ich in den letzten Tagen eben an den Tests mit den anderen Filesystemen herausgefunden habe) bin ich halt hergegangen und habe mal das TrueCrypt und jetzt auch das Luks auf der Dreambox zum Laufen gebracht.


    Jetzt stellt sich halt die Frage wie man TrueTrypt oder Luks auf einer Dreambox überhaupt sinnvol benutzen kann ?


    Erstellen und Mounten von verschlüsselten USB sticks, USB Harddisken, CF Karten oder ein verschlüsselter Bereich auf der interne Harddisk, ist zwar nett und auch im Plugin schon enthalten - aber nicht gerade der grosse Mehrwert - oder ?


    Auch wenn man damit schon 'geheime' Daten über USB Stick austauschen kann, oder 'gewissen' Filme verstecken.


    Aber wie soll man darauf zugreifen - Passwörter nur mit der Fernbedienung eingeben ist irgendwie doof (und 8-12 stellige PINSs eigentlich auch, aber irgend etwas musste ich mal implementieren).


    Keyfiles ohne die man in der Box die devices nicht öffnen kann - sind wir wirklich so paranoid ?


    Insofern sind jetzt Eure Wünsche, und Verbesserungsvorschläge gefragt !


    Bitte daher das TrueCrypt oder das Luks Plugin aus dem Anhang testen und Feedback zu geben.


    Und ja, man kann natürlich auch in ein verschlüsseltes Containerfile wenn es gemountet ist hin aufnehmen, auf der 7025 frisst das TrueCrypt dann aber rund 50% der CPU, ob man damit dann schafft live aufnehmen und vieleicht gleichzeitig verzögert anzusehen musst Ihr selbst rausfinden (nur aufnehmen geht definitiv - und Timeshift hat dort eh nichts zu suchen), und ich denke auf 800/8000 wird das noch besser gehen weil diese mehr CPU/Memory haben.


    TrueCrypt und Luks sind zwar dafür geschrieben en- und decryption on the fly zu machen, aber die CPU der Dreamboxen sind leider nicht ideal dafür geeignet, um Verschlüsselungsalgorithem abzuarbeiten (wie wir ja leider von den Video Komprimierungsalgorithmen wissen die teilweise ähnlich aufgebaut sind, bzw. ähnliche Anforderungen an die Rechenleistung haben)


    Insofern ist das dann auch eine Art Elchtest für die Dreamboxen.


    Ausserdem ist der Linux Kernel den DMM verwendet eigentlich schon zu alt weswegen TrueCrypt auch immer brav eine Warnung ausgibt, und es daher auch Eure Testaufgabe ist rauszufinden ob man wirklich durch heavy IO auf das entcryptd device die Dreambox zum hängen bringen kann. Das Luks ist da etwas genügsamer und beklagt sich nicht.


    Es ist also 2009 noch viel zu tun, zu testen und zu überlegen, ob und wie es gehen könnte das TrueCrypt oder Luks auf der Dreambox unter enigma2 nutzbar zu machen !


    Die nötigen ipk Kits zum testen wie üblich auf /tmp FTPen und dann mit BP oder manual install installieren intelnet:


    ipkg install /tmp/*.ipk


    Wenn Ihr Luks UND TrueCrypt gleichzeitig testen wollt müsst Ihr ipkg install -force-overwrite benutzen weil teilweise die gleichen libs in den ipks stecken (normal wird man ja nur ein Verschlüsselungssystem benutzen und dann ist es egal)


    Das Plugin installiert sich je nachdem was es als device vorfindet auf das Barry Allen Device, CF, USB oder die Harddisk (in dieser Reihenfolge).


    Wenn Ihr auf einem dieser devices vorher dort ein TrueCrypt oder Luks directory anlegt wird das genommen.


    Das Plugin funktioniert auch in einer Multiboot Umgebung (es wird dann auf /media/ba landen), allerdings muss man es wenn man es in mehreren Images verwenden will auch merhmals installieren - vieleicht gibt es ja images die absichtlich keinen TrueCrypt oder Luks support haben sollen.


    Wenn Ihr das default device auf der Hardddisk ausprobieren wollt, macht es zuerst mal mit der Default Größe von 4GB, ausser Ihr habt eine Menge Zeit zum initialisieren, weil schneller als rund 2MB/sec wird das container file bei mir nicht erstellt.


    Das TrueCrypt Filesystem wird dabei in einem hidden.ts File im movie folder der Harddisk 'versteckt' beim Luks heist es luks.ts


    Wenn man dieses default device mit dem TrueCrypt Plugin mountet hat man das verschlüsselte Filesystem auf /media/hdd/movie/hidden gemountet, beim Luks dann auf /media/hdd/movie/luks


    Einfach dort mit 2xVideotaste hinbrowsen und eine Bookmark setzen dann kann man dorthin relativ einfach aufnehmen und von dort abspielen.


    Das geht aber halt nur nach PIN Eingabe im Plugin für das manuelle mounten mit dem TrueCrypt oder Luks Plugin, insofern kann man auch keine Aufnahmen aus dem Deepstandby dorthin machen, normaler Standby geht natürlich. Und wenn man es unmountet ist es halt wieder weg.

    Wenn man den Pin nicht weis und das keyfile beim TrueCrypt nicht hat sind die daten auch auf Dauer weg ! Daher auch brav die Sicherungsfunktion für das keyfile im Plugin benutzen und ggf. auch auf den PC FTPen falls man einen USB stick oder eine CF Karte dort mit TrueCrypt mounten will braucht man es sowieso.


    Und Aufpassen, wenn das TrueCrypt oder Luks device nicht gemountet wird dann wird dort natürlich ins directory normal aufgenommen wie in jedes andere subdirectory auch.


    Und keine Angst, die Harddisk wird nicht erased, sondern jeweils nur das TrueCrypt oder Luks Container File, bei USB Stick/Hardddisk und CF Karte wird aber immer das ganze device genommen und daher beim encrypten dieses auch formatiert. Und wenn Ihr auf der Harddisk einen wirklich großen Container machen wollt müsst Ihr halt geduld haben, man kann dabei dem container file im telnet beim wachsen zusehen mit:


    ls -alh /media/hdd/movie/hidden.ts
    oder:
    ls -alh /media/hdd/movie/luks.ts.


    Beim Luks was ich auch schon faul und habe den FAT support im Moment nicht imlementiert, und auch die verwendung von Keyfiles ist dort noch nicht dabei. Mit dem cryptsetup binary kann man das aber alles auch von hand selber machen.


    LG
    gutemine


    EDIT: Luks Plugin und die dafür nötigen ipks sind jetzt in meiner ersten reply hier imThread damit wir nicht durcheinander kommen.

  • Hi,


    das nenn ich doch mal ne coole Idee :), hätte nie gedacht, dass sowas auch auf der Dream laufen kann.


    Hätte da sogar schon ein paar (theoretische) Einsatzbereiche, aber jetzt heissts erstmal :gutenmorgen:



    Grüße

  • doch das geht :)


    Wenn du den USB Stick oder die CF Karte mit dem Plugin als FAT machst, dann kannst du es sogar am PC unter Windows mit dem TrueCrypt client auch mounten (natürlich nur wenn du den PIN weist und das keyfile rüberkopierst)


    Der Kit ist nun gepostet, du kannst es also jetzt selber rausfinden


    Und natürlich kann man für eigene Spezialitäten auch das truecrypt binary direkt aufrufen und verwenden, das Enigma2 Plugin ist ja nur dafür da, das es auch für den Normaluser mit der Fernbedienung zu benutzen geht.


    truecrypt -h


    Und schon weist du mehr.


    LG
    gutemine


    EDIT: Im Anhang sind das Luks Plugin selber und die ipk kits die für das Luks als Voraussetzung nötig sind, stammen alle von dreamboxupdate.com, bzw. in einem Image mit Softwareupdate sollten sie sogar automatisch runtergeladen werden wenn Ihr den Luks kit installiert. Diesmal war ich faul und habe die kernel module nur für die 7025 als ipk gepostet, für die anderen boxen schaut einfach auf http://www.dreamboxupdate.com dort kann man die runterladen.


    Die fuse sachen vom Anfang des Posts die das TrueCrypt benötigt braucht man für Luks NICHT, FAT geht jetzt auch, dafür muss man allerdings die ganz neuen dosfstools 2.11 vom Anfang des Threads runterladen, die 2.10 geht damit NCHT !

  • Hi,


    noch kurz ein ganz kleiner Zwischenbericht, hab mal am PC ein Archiv erstellt, mit FAT formatiert und konnte es auf der DB mounten :), dann Inhalt geändert, wieder ausgehangen und am PC geöffnet - tada läuft.


    War nur ein kurzer Test, hab die Sachen auch über die Konsole probiert, jetzt muss ich ich leider abmelden, es stehen die letzten Prüfungen an und da lass ich die Box lieber in Ruhe :face_with_rolling_eyes:


    Grüße

  • Luks ist jetzt auch als Plugin zum testen verfügbar.


    Am Windows PC ist TrueCrypt halt hübscher zu verwenden..


    Und das TrueCrypt oder Luks Enigma2 Plugin benutzt derzeit auch nur einen Bruchteil der möglichen Features.


    Wenn Ihr davon mehr ausprobieren wollt kann man die Default Parameter am Anfang des truecrypt.sh oder des luks.sh files editieren (um andere Encryption Formate auszuprobieren, oder das default container file auf der harddisk wo anders hin zu legen oder anders zu benennen,...)


    Jetzt testet das Plugin aber bitte erstmals mal durch wie es ist und dann sehen wir weiter. Weil im Moment interessieren mich und andere wohl eher ob es überhaupt stabil und praktikabel ist ein verschlüsseltes Filesystem auf der Dreambox zu haben und darauf aufzunehmen und Filme von dort abzuspielen - weil ohne das ist es nur eine Spielerei.


    Interessant ist halt auch ob das manuelle mounten/unmounten mit PIN überhaupt praktikabel ist. Wobei automatisch auch ginge, aber dann muss man das passwort wo hinschreiben oder auf ein weiteres device tun - womit wir wieder bei der Paranoia sind


    LG
    gutemine

    16 Mal editiert, zuletzt von gutemine ()

  • Man könnte den key auch auf ein externes device (usb stick oder flashkarte) schreiben. Der würde dann so quasi als "schlüssel" dienen. Wenn der sick steckt kann man die hd mounten, ohne gehts nicht. Wenn aber jemand an den stick kommt, dann hat er alt auch den schlüssel. Aber das ist ja in der realität auch so, jeder tresor, jede türe, alles bringt man mit dem richtigen schlüssel auf wenn man ihn hat :)

  • na ja mal sehen wer sich noch sowas wünscht, fehlt nur noch das Ihr auch den security chip der Dream verwenden wollt damit es nur auf Eurer eigenen Box zugreifbar ist.


    Womit wir wieder bei der Paranoia sind ...


    LG
    gutemine

  • Das war ja nur eine idee, kein wunsch :winking_face:
    Mit luks geht das einfach, man kann den parameter "--key-file /media/usb/mein.key" anfügen. Dann wird der key dort gesucht.
    Bei truecrypt weiss ich leider nicht ob sowas möglich ist.
    Aber wie gesagt, das war nur so eine idee die mir durch den kopf ging :)

  • na ja wenn Ihr unbedingt auch noch Luks wollt gebt mir Zeit bis heute abend, das cryptsetup binary habe ich ja, aber das wieder in ein shellscript und Plugin einpacken dauert halt ein bischen.


    TrueCrypt hat im Plugin übrigens auch ein tc.key file, die Passphrase/PIN musst du aber trotzdem wissen und eingeben.


    Und hat schon wer aufnahmen und abspielen vom auf der Harddisk versteckten default device getestet, weil das ist eigentlich der interessantere teil dachte ich ?


    LG
    gutemine

    3 Mal editiert, zuletzt von gutemine ()

  • Das Luks Plugin und die dafür nötigen ipks sind jetzt in der 2 Reply hier im thread.


    Das cryptsetup binary kann man natürlich auch direkt benutzen wenn das Plugin installiert ist, für die die wissen wie das geht :)


    Das Luks Plugin selber benutzt man im Prinzip genauso wie das TrueCrypt Plugin, also am Anfang des Threads nachlesen.


    Viel Spass beim Testen !


    LG
    gutemine


    PS: the Raven - jetzt solltest du aber auch den Bedankomat benutzen :)

    5 Mal editiert, zuletzt von gutemine ()

  • Hi !


    Ich habe Euch jetzt noch eine aktualisierte Version vom TrueCrypt Plugin gemacht, das sind aber primär nur Tippfehler beseitigt und der dsofstools kit 2.11 (der vom neuen Luks Plugin benötig wird) ist dort auch gepostet.


    Das Luk Plugin ist jetzt auch mit einerneuen version verfügbar, diese kann jetzt auch so wie TrueCrypt auch verschlüsselte FAT devices erstellen, womit der Datenaustausch mit PCs leichter wird.


    Im Luks kit ist jetzt auch für die Paranoiker das wipe binary dabei, ist aber im shellscript disabelt da recht langsam.


    Und nochmals, wenn Ihr beide Kits gleichzeitig testen wollt diese mit


    ipkg install -force /tmp/*.ipk zu installieren, da beide teilweise die selben mount binaries (das mount der busybox wäre überfordert) und cryptolibs beinhalten.


    Und nicht versehentlich auch die vorherigen kits vom TrueCrypt und/oder Luks Plugin auf /tmp haben wenn installiert wird, sonst ruiniert Ihr Euch die ipkg status database udn könnt neu flashen !


    Viel Spass beim Testen !


    LG
    gutemine

    Einmal editiert, zuletzt von gutemine ()

  • Kann man damit nur die hdd bzw. usb verschlüsseln?
    oder lässt sich damit auch ein "böser" Ordner in einen verschlüsselten Container auslagern?
    Wie müsste ich dabei vorgehen? Toll wär natürlich, wenn man zum mounten das Passwort mit der Fernbedienung oder Dreamtastatur eingeben könnte.


    Ist die Verschlüsselung auf der Dream im Falle einer Hausdurchsuchung auch mit einer der folgenden Methoden angreifbar?
    http://citp.princeton.edu/memory/

  • Die stellen das als riesen sicherheistlücke hin, aber irgendwie versteh ich das nicht. Die methode funktioniert nur wenn der container geöffnet ist (und dadurch das PW im ram). Aber warum dann so umständlich, man kann ja gleich die daten weg kopieren :face_with_rolling_eyes:
    Und irgend wann endet es wirklich in paranoia. :)

  • Zitat

    Original von Stephan84
    Kann man damit nur die hdd bzw. usb verschlüsseln?
    oder lässt sich damit auch ein "böser" Ordner in einen verschlüsselten Container auslagern?
    Wie müsste ich dabei vorgehen? Toll wär natürlich, wenn man zum mounten das Passwort mit der Fernbedienung oder Dreamtastatur eingeben könnte.


    Ist die Verschlüsselung auf der Dream im Falle einer Hausdurchsuchung auch mit einer der folgenden Methoden angreifbar?
    http://citp.princeton.edu/memory/


    Die Plugins erlauben nicht die ganze HDD zu verschlüsseln (das macht nur Ärger mit DMM beim supporten)


    Du kannst auf der HDD aber ein container file anlegen (eigentlich beliebig gross, nur im Plugin werden halt standardmässig nur 4-64GB angeboten - wobei bei letzterem musst du es schon die Nacht durchlaufen lassen bis das verschlüsselte File fertig ist). USB sticks und USB Harddisken sofern auf /media/usb gemountet können die Plugins komplett verschlüsseln (bietet sich also für gewisse filme ideal an) und auch CF karten die auf /media/cf gemountet sind.


    Wenn Ihr noch mehr devices braucht kann man das schon noch einbauen, im Prinzip ist das Plugin mal eine Version zum testen.


    Und du kannst mit den default parametern im shell script deine Wunschverschlüsselung einstellen, ob die Regierung dafür einen Schlüssel hat weis wohl nur die Regierung :)


    Ich habe halt jetzt mal nur 8-12 stelllige PINS im Plugin implementiert die man mit der Fernbedienung eingeben kann, wenn man das shellscript im telnet verwendet kasst du jetzt schon jedes Password übergeben.


    xxx.sh mount password /media/usb (oder /media/cf oder default für den harddisk container)


    statt xxx halt truecrypt oder luks


    Und wenn du gewisse directory stat von /var auf /usr auf /media/usb verlinkest und das erst mit dem Plugin gemountet werden muss kannst du dich sicherer fühlen - womit wir aber wieder bei der Paranoia sind.


    PS: Und der durchschnittliche Polizist denkt sicher nicht dran das in deinem SATReceiver eine Harddisk drinnen ist geschweige den das da was verschlüsseltes drauf sein könnte.


    LG
    gutemine

    5 Mal editiert, zuletzt von gutemine ()

  • Hi !


    Kommen noch Testinputs oder Wünsche von Eurer Seite, weil wenn nicht lass ich die Plugins mal so wie sie sind ?


    LG
    gutemine

    Einmal editiert, zuletzt von gutemine ()

  • schade das ich jetzt erst davon mitbekommen hatte. Hatte letzte woche noch urlaub und die kids waren krank... konnte also nix anderes machen als vor der kiste zu hocken.


    Definitiv werde ich das testen und berichten

  • lass dir zeit - die ganze Filesysteme für die Dreambox zum laufen bringen Geschichte (es gibt ja auch xfs, reiserfs, ftpfs,...Threads) als eigene Threads ist ja nur als zeitvertreib entstanden beim warten auf die 8000, insofern ist Input jederzeit willkommen. Die verschlüsselten Filesystem sind da irgendwie der krönenede Abschlus gewesen - das einzige was mir noch in der Sammlung fehlt wäre das advanced Filesystem von DEC - das wäre eine echte bereicherung für die Dreambox, aber das ist noch nicht lange genug open source und benötigt aktuellere kernel.


    LG
    gutemine

    Einmal editiert, zuletzt von gutemine ()

  • ich würde noch interessant finden, wenn man (ich denke wird nur bei der 8000er leistungsmässig funzen) seine divx sammlung direkt ohne vlc-streaming abspielen könnte. Natürlich von einer extern gemounteten Truecrypt Hdd.

  • na ja manche divx gehen auf der 8000er ja schon, insofern probier es halt aus - wenn du eine 8k hast :)


    Du musst dir nur klar sein das das on the fly decrypten schon ordentlich CPU frisst (spiel mal ein ts fiel von einem encrypted device ab), und das divx codieren dann auch nochmals, insofern stosst du da schnel lan die Grenzen des Möglichen was die hardware hergibt - vieleicht hast du glück und jedes davon läuft auf einem der Cores der 8k (dann wäre es nicht viel schlimmer als wenn es einzeln passiert), aber das muss man eben erst testen, und die Format abspielprobleme gehören dann aber nicht hier her, weil das mit dem filesystem nichts zu tun hat.


    Und wirklich unterstützen mag ich es auch nicht wenn Ihr DivX von zweifehlafter Herkunft mit Copyrightsverletzungen habt die Ihr lieber auf verschlüsselten Disken lassen wollt.


    LG
    gutemine