Alla luce delle recenti rivelazioni sul monitoraggio diffuso da parte del governo dei dati archiviati dai fornitori di servizi online, i servizi di conoscenza zero sono di gran moda ora.
Un servizio a conoscenza zero è uno in cui tutti i dati vengono archiviati crittografati con una chiave che non è archiviata sul server. La crittografia e la decrittografia avvengono interamente sul lato client e il server non vede mai dati in chiaro o la chiave. Di conseguenza, il fornitore di servizi non è in grado di decodificare e fornire i dati a terzi, anche se lo desidera.
Per fare un esempio: SpiderOak può essere visualizzato come una versione a conoscenza zero di Dropbox.
In qualità di programmatori, facciamo affidamento su alcuni dei nostri dati più sensibili, il nostro codice, a una particolare classe di provider di servizi online: provider di hosting di codice (come Bitbucket, Assembla e così via). Naturalmente sto parlando di repository privati qui - il concetto di zero-knowledge non ha senso per i repository pubblici.
Le mie domande sono:
-
Esistono ostacoli tecnologici alla creazione di un servizio di hosting di codice a conoscenza zero? Ad esempio, esiste qualcosa sui protocolli di rete utilizzati dai sistemi di controllo delle versioni più diffusi come SVN, Mercurial o Git che renderebbero difficile (o impossibile) implementare uno schema in cui i dati comunicati tra il client e il server sono crittografati con una chiave che il server non conosce?
-
Esistono oggi servizi di hosting di codice a conoscenza zero?