Daten/Passwörter/Keys auf einem raspberry im lokalen WLAN schützen

  • Guten Abend zusammen,


    hier die Ergebnisse aus meinen aktuellen Versuchen, ein paar Feinarbeiten sind aber noch notwendig, das Prinzip an sich würde funktionieren:


    Zuerst lege ich auf dem 2.ten pi einen verschlüsselten Container an:

    Code
    $ apt-get install cryptsetup
    $ mkdir /home/user/tresor
    $ dd if=/dev/zero bs=1M count=5 of=/home/user/tresor/container.luks
    $ cryptsetup --verify-passphrase -v luksFormat /home/user/tresor/container.luks
    
    --> Container anschließend öffnen und z.B. mit ext4 formatieren --> anschließend mit Keys befüllen

    Im nächsten Step installiere ich auf dem pi0-safe ebenfalls das cryptsetup und lege ein RAM-Laufwerk an:

    Code
    $ apt-get install cryptsetup
    $ mkdir /home/safe/ram-disk
    $ nano /etc/fstab        --> am Ende einfügen:     tmpfs /home/safe/ram-disk tmpfs nodev,nosuid,size=50M 0 0
    $ reboot

    Nun hole ich mir den Container vom 2.ten pi auf den pi0-safe und öffne den verschlüsselten Container:

    Code
    $ scp -P 2296 user@192.168.178.XX:/home/user/tresor/container.luks /home/safe/ram-disk
    $ cryptsetup luksOpen /home/safe/ram-disk/container.luks c01
    $ mount /dev/mapper/c01 /home/safe/ram-disk

    Somit kann ich den Container downloaden und entschlüsseln und auf die keys zugreifen. Solange der pi Strom hat, sind die Daten darauf aufgrund der o.g. Sicherungsmaßnahmen recht gut geschützt. Sobald die Stromzufuhr unterbrochen wird, wird das ram-disk geleert. Ein paar kleinere Optimierungen habe ich noch auf meiner todo-liste, das Grundprinzip funktioniert und ist in meinen Augen auch praktikabel. Werde mir daraus ein kleines Skript erstellen um das ganze so weit wie möglich zu automatisieren.


    Wenn ich Daten ändere, werde ich das auf dem 2.ten pi durchführen und mir den container neu ziehen. Somit vermeide ich einen Datenverlust bei einer Stromunterbrechung des pi0-safe.


    Über Anregungen, Ideen, Feedback oder auch sachliche Kritik freue ich mich immer.


    Grüße M.

    Edited once, last by Micky ().

  • Als Schluesseltresor würde sich ein Arduino Nano eignen, der per USB angeschlossen wird. Wichtig ist ein eigenes tastenfeld oder ein Nummernpad, welches nur am Arduino angeschlossen ist. Dort gibt man dann ein Passwort bzw. Code ein. Dieser kann vom angeschlossenen Rechner (Raspi) nicht gesehen werden. Erst wenn der richtig ist, wird der Schluessel freigegeben (z.B. als String über USB) Hier kann man auch eine Serie von Einmalschluesseln realisieren, welche jeweils ausgegeben wird, und dann schliesslich den LUKS Kontainer auf dem raspi öffnet. Das ist etwas sicherer gegen Ausspähen via Hack aus der Ferne. Somit ist der (Master-)Schlüssel sicher, im Sinne von, er verlässt den Arduino nie.

    Bis zum unmounten des LUKS Containers ist dann aber alles für einen Vorüberziehenden lesbar...