Alla luce delle recenti rivelazioni sul diffuso monitoraggio da parte del governo dei dati archiviati dai fornitori di servizi online, i servizi a conoscenza zero sono di gran moda ora.
Un servizio a conoscenza zero è uno in cui tutti i dati sono archiviati crittografati con una chiave che non è memorizzata sul server. La crittografia e la decrittografia avvengono interamente sul lato client e il server non vede mai né i dati in chiaro né la chiave. Di conseguenza, il fornitore di servizi non è in grado di decrittografare e fornire i dati a terzi, anche se lo desiderasse.
Per fare un esempio: SpiderOak può essere visualizzato come una versione a conoscenza zero di Dropbox.
Come programmatori, facciamo molto affidamento e affidiamo alcuni dei nostri dati più sensibili - il nostro codice - a una particolare classe di fornitori di servizi online: fornitori di hosting di codice (come Bitbucket, Assembla e così via). Sto ovviamente parlando di repository privati qui - il concetto di conoscenza zero 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, c'è qualcosa nei protocolli di rete utilizzati dai sistemi di controllo versione popolari come SVN, Mercurial o Git che renderebbe difficile (o impossibile) implementare uno schema in cui i dati che vengono comunicati tra il client e il server sono crittografati con una chiave che il server non conosce?
Esistono attualmente servizi di hosting di codice a conoscenza zero?