[ninux-dev] R: ninuxoo share di share (was: Ninuxoo decentralizzato: gittato l'insktaller a prova di "utonto")

Alessandro Gubitosi gubi.ale at gotanotherway.com
Mon Nov 18 11:54:29 CET 2013


Figata! 
Sto con il telefonino e non ho modo di vedere bene il secondo link, in ogni caso credo proprio che faccia esattamente al caso riguardo a dei meccanismi che sto elaborando per evitare che qualcuno possa intrusare a sbafo in una nas: far fare "amicizia" solo ai nas...

In pratica quando un nas chiede ad un altro di usare le sue api (tipo una ricerca locale) questi deve fornire una token, che per essere abilitata deve prima far parte di una cerchia "trusted".
Il processo usa crittografia asimmetrica ed è po' complesso ma figo e per capirlo possiamo immaginarci 2 persone che conoscendosi si scambiano il numero di telefono: avviene che il primo dà il proprio numero all'altro, che gli rifà uno squillo per essere poi salvato.

Alla stessa maniera, i nas A e B:
- B invia una richiesta cifrata ad A, dentro la quale c'è la sua chiave RSA pubblica;
- A decifra la richiesta, marca B come "conoscente", e usa la sua chiave pubblica appena ricevuta per cifrare la propria di chiave pubblica (chiave pubblica di A cifrata con quella di B);
- a questo punto B deve usare la sua chiave privata per aprire il tutto, dopodiché marca A come trusted e gli rispedisce la sua chiave pubblica cifrata con la propria (chiave pubblica di B cifrata con quella di A);
- quando A rivede la sua chiave ritornare indietro aggiunge B alle sue cerchie, marcandolo come "trusted".

C'è da aggiungere che tutto il processo deve avvenire entro un minuto perché oltre alle chiavi si scambiano anche la data della prima richiesta, controllando il tempo rimanente ad ogni step e cifratura/decifratura, fino alla fine di tutto il processo.
Se il tempo scade bisogna reiniziare il ciclo daccapo.
Non l'ho ancora implementato però si può creare un log di tutti i passaggi.
In ultimo, la prima richiesta viene cifrata 2 volte con blowfish (nel primo livello c'è la variabile temporale che viene usata poi come chiave per il secondo - non è esattamente il massimo però serve giusto per non lasciare la richiesta in chiaro, tanto agli step successivi serviranno le chiavi private).
Comunque è tutto in via di documentazione qui: https://github.com/gubi/Ninuxoo-Semantic-Decentralized/wiki/Tokens-e-processo-di-scambio-chiavi-tra-device

Riagganciandomi al tuo script, il mio problema è che tutto questo sarebbe servito a poco se non si trovava poi la maniera di celare gli ip: l'alternativa sarebbe stata il solito server centrale.. 
Mi piacerebbe far innescare cicli a catena, del tipo nas che si sincronizzano da soli però il problema è sempre quello: il target delle richieste.
Dietro suggerimento di Arkanet si pensava di implementare il pgp, e una funzionalità del tipo "Quali sono i nas dei tuoi amici? Inviagli una richiesta di condivisione" poi keyserver, passphrase, ecc... e alla prima accettazione si innesca tutto il ciclo di scambio chiavi.
Tutto figo, se non ché si ritornava sul solito punto: di quale ip/share condivisa si tratta?
Clauz come Linus :D

Orca vacca quanto ho scritto, scusate l'ho fatto tutto di getto!

Gubi

-------- Messaggio originale --------
Da: Clauz <clauz at ninux.org> 
Data:  
A: ninux-dev at ml.ninux.org 
Oggetto: [ninux-dev] ninuxoo share di share (was: Ninuxoo decentralizzato: gittato l'insktaller a prova di "utonto") 
 
On 11/16/2013 05:49 PM, Saverio Proto wrote:
>> Siccome il crawler di ninuxoo trova tutti gli share che ci sono in giro
>> per la rete, si potrebbe utilizzare smbmount [*] per creare un
>> filesystem che contenga tutte le cartelle condivise e poi condividere a
>> sua volta tramite samba/ftp/http tutta questa meta-cartella. Sarebbe
>> piuttosto semplice e veloce da implementare ma il problema e' che in
>> questo modo centralizziamo un po' troppo...
> 
> IMHO cosi i dati viaggiano dalla macchina che shara in samba a quella
> che monta il sambafs per poi ripartire e andare al client che accede
> in HTTP. Fai fare ai dati un giro enorme.

Si', se lo fai solo sul ninuxoo centrale. Pero' ti potresti scaricare la
lista degli share trovati da ninuxoo e poi montarteli in locale
direttamente sul tuo computer o su un serverino a casa.

Sto provando questo script:
https://raw.github.com/ninuxorg/ninuxoo/master/scripts/ninuxoo_shares_update.sh
Che prende la lista degli share dall'URL:
http://ninuxoo.ninux.org/cgi-bin/shares.cgi

ciao,
Clauz




_______________________________________________
ninux-dev mailing list
ninux-dev at ml.ninux.org
http://ml.ninux.org/mailman/listinfo/ninux-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ml.ninux.org/pipermail/ninux-dev/attachments/20131118/f6466fd3/attachment-0001.html>


More information about the ninux-dev mailing list