Francesco Runci
PhD | Security Researcher | Cyber Observer | IT Security | Programmer | Drone Pilot

CryptoBox


Quante volte abbiamo perso una pendrive con documenti importanti all’interno?
Quante volte ci siamo chiesti come inserire una password per l’accesso ai nostri file in un pendrive?
Oggi a tutto questo la risposta c’è, ed è Cryptopuck
Cryptopuck non è altro che un “semplice” esempio di come trasformare un raspberry in una cryptobox. Partendo da semplici concetti e dall’intenzione di creare una piattaforma di cryptaggio “on the fly”, cryptopuck fa al caso nostro.
Vi rimando alla pagina del progetto per ulteriori dettagli, su hackster.io
Andiamo al caso nostro:

  1. Installato la ISO 2017-09-07-raspbian-stretch-lite sulla nostra scheda SD.
  2. sudo apt-get update --fix-missing
  3. sudo apt-get install python3-pip
  4. pip3 install pycrypto
  5. pip3 install pyinotify
  6. pip3 install RPi.GPIO
  7. sudo apt-get install python3-udiskie

Abbiamo modificato le policy del file di udisk tramite:

  1. sudo nano /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy

Cambiando:<allow_any>auth_admin</allow_any><allow_inactive>auth_admin</allow_inactive>
in: <allow_any>yes</allow_any><allow_inactive>yes</allow_inactive>
Ho installato il generatore di numeri random:

  1. sudo apt-get install rng-tools

Ho modificato il file rng-tool aggiungendo a fine riga o modificando togliendo il cancellato:

  1. sudo nano /etc/default/rng-tools
  2. HRNGDEVICE=/dev/hwrng

All’avvio del raspberry devono essere eseguiti questi comandi per eseguire il crypt dei file su USB.

  • sudo nano /etc/rc.local
  1. su pi -c ‘/usr/bin/udiskie –no-notify –no-file-manager &’
  2. su pi -c ‘/bin/mkdir -p /media/pi’
  3. su pi -c ‘/usr/bin/python3 /home/pi/cryptopuck/cryptopuck.py –mountpoint=/media/pi/ –public-key=/home/pi/cryptopuck/key.public >> /home/pi/cryptopuck.log 2>&1 &’

A questo punto scaricate il reposity su /home/pi attraverso il comando git clone. (vi ricordo che il repository si trova su https://github.com/platisd/cryptopuck
Generate le chiavi pubbliche e private tramite: python3 generate_keys.py
(Ricordatevi di eliminare la chiave privata – key.private – dal vostro raspberry questa in caso di perdita della box potrà essere utilizzate per decrittografare tutti i file. Il mio consiglio è quello di fare una copia sicura ed eliminarla dalla box)
Bene il gioco è fatto. Adesso se inserirete un pendrive sulla vostra raspberry contenente dei file non appena accedente il giocattolino questo crypterà tutto il contenuto della vostra pendrive.
E adesso per decryptare??? state tranquilli… vi posto il comando che dovrete fare per tornare alla situazione di partenza:
python3 decrypt.py --source=/path/to/your/drive/ --destination=/path/to/your/drive/ --private-key=/path/to/your/key.private

Al prossimo articolo. Stay tuned.

Share

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *