[FoLUG] how i did it: numero 1 del 2007-01-16

ivan i.f-ml01@darthxiong.net
Mar 16 Gen 2007 11:19:15 CET


ciao a tutti. 

negli ultimi tempi il traffico in ml si e' alleggerito, vuol dire che
incontrate sempre meno problemi, ma forse anche che si sta perdendo il
gusto per gli aspetti un po' piu' oscuri e per le possibilita' estreme
di unix

ho quindi deciso di aprire una sorta di giornalino interno, non per i
problemi irrisolti, ma per le soluzioni che ciascuno ha trovato ad un
suo problema, un "how i did it" [1] 

se l' iniziativa prende piede, con almeno un post alla settimana, ogni
tanto si potra' anche fare una classifica delle soluzioni piu' eleganti,
astruse o efficaci, con premio alla fine dell' anno :)

in fondo c'e' anche una sezione Q&A, ed una Q only. menzioni speciali
anche per le risposte piu' esaurienti :)


======== how i did it numero 0001 ========

problema: 
backup certi, su mezzi terzi, con i propri dati mantenuti segreti e 
integri, di file grossi ( partizioni crittografate, per esempio )

soluzione: 
spaccare il file, rinominare i pezzi in modo che dal nome non se ne possa
dedurre l' ordine di ricostruzione, spargere il tutto in giro per il 
mondo su diversi supporti. e naturalmente ricostruire il file originale!

come l' ho fatto: 
due shell script, il primo (splitandcrypt.sh) spacca il file in blocchi 
di grandezza a scelta, cripta i pezzi con chiavi casuali, salva su file 
l' associazione file-chiave e l' ordine di ricostruzione dei file
questo file di chiavi va cifrato e conservato a parte !!!
il secondo ( decryptandjoin.sh) prende i pezzi, il file in chiaro delle 
associazioni, e ricostruisce il file originale. 
spero leggiate tutto fino alla fine, ad un certo punto c'e' una
sorpresina ;)


domande con risposta:
Q: perche' ?
R: perche' no ? 

Q: se uno dei file si corrompe ? o lo perdo ?
R: trattandosi di crittografia, perdi tutto. di' un po', MICA TI
AFFIDERAI AD UN SOLO BACKUP, VERO ?

Q: e io dovrei scrivere una password per tutti i pezzi ?
R: no, le password sono scelte dal generatore di casualita' (
/dev/random o /dev/urandom, a scelta ) e pgp viene usato in batch mode,
cioe' fa tutto in automatico. tutte chiavi diverse e casuali.

Q: che strumenti servono ? 
R: niente che non sia di default in tutte le distro. forse a "uuid" e
"uuencode" bisogna fare attenzione

Q: tu dove metti i pezzi ?
R: su un paio di account su gmail

Q: non e' pericoloso ?
R: si. un po'. l' ho usato per cifrare i pezzi di una partizione
crittografata con loop aes ( algoritmo twofish con 64 chiavi diverse ),
quindi due livelli diversi di cifratura. che si divertano a forzare pgp
e twofish e a ricostruire i pezzi

Q: altri posti ?
R: mettere partizioni cifrate su cd o dvd e' un' operazione delicata e
potenzialmente fallace. i file pgp non soffrono di questo problema.
mettere tutto in un solo posto ti toglie un po' di sicurezza, ma hai
sempre il fatto che, senza il file delle chiavi, non hai idea dell' 
ordine dei pezzi, finche' non li hai decrittati

Q: e il file con le associazioni file-chiavi ? 
R: quello e' da conservare in un posto diverso. in quattro posti diversi. 
e crittografato. e se lo stampi, pulisci o sovrascrivi il buffer della
stampante

Q: e per cancellare le tracce dei file in chiaro ?
R: usi shred. se stai lavorando su un fs journaled potrebbe non
funzionare, quindi occhio quando si usa la crittografia

Q: quei due script sono a prova di errore ?
R: no. sono script molto grezzi. manca il controllo degli errori, la
lettura di parametri da cli, eccetera. se hai voglia, migliorali. sono
solo un POC

Q: ma davvero il file ricostruito e' uguale all' originale ?
R: usa md5sum per esserne sicuro

Q: non sarebbe una bella miglioria, se lo facesse in automatico ? 
R: si. implementala


domande la cui risposta e' lasciata per esercizio al lettore:
Q: cosa e' uuid ?
Q: che differenza c'e' fra /dev/random e /dev/urandom ?
Q: sapevi che pgp si puo' usare anche in modo automatico ( batch ) ?
Q: ho inserito un errore alla linea 26 di splitandcrypt.sh. che errore
e' ? quante probabilita' ha di impattare sul risultato ( suppergiu' ) ?
Q: si potrebbe ricostruire l' ordine dei pezzi senza il file delle
associazioni ?
Q: perche' uso la crittografia a chiave simmetrica ?


le risposte sul numero bis di questa rubrica

saluti a tutti

/======== how i did it numero 0001 ========


[1] http://www.frankensteinjunior.it/film_trama.asp 

-- 
  (@_ Ivan Fabris, S. Sofia (FC,it) PowerPC e Debian GNU/linux SID _*)
  //\         www.folug.org    pgp key @ www.keyserver.net         /\\
  V_/_                  lunga vita e prosperita'                  _\_V

-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        splitandcrypt.sh
Tipo:        application/x-sh
Dimensione:  1039 bytes
Descrizione: non disponibile
Url:         http://lists.linux.it/pipermail/folug/attachments/20070116/28750bb7/splitandcrypt.sh
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        decriptandjoin.sh
Tipo:        application/x-sh
Dimensione:  200 bytes
Descrizione: non disponibile
Url:         http://lists.linux.it/pipermail/folug/attachments/20070116/28750bb7/decriptandjoin.sh


Maggiori informazioni sulla lista FoLUG