À luz de revelações recentes sobre o amplo monitoramento governamental de dados armazenados por provedores de serviços on-line, os serviços de conhecimento zero estão na moda agora.
Um serviço de conhecimento zero é aquele em que todos os dados são armazenados criptografados com uma chave que não é armazenada no servidor. A criptografia e descriptografia acontecem inteiramente no lado do cliente, e o servidor nunca vê os dados de texto sem formatação ou a chave. Como resultado, o provedor de serviços não pode descriptografar e fornecer os dados a terceiros, mesmo que deseje.
Para dar um exemplo: SpiderOak pode ser visto como uma versão de conhecimento zero do Dropbox.
Como programadores, confiamos bastante e confiamos em alguns de nossos dados mais confidenciais - nosso código - a uma classe específica de provedores de serviços online: provedores de hospedagem de código (como Bitbucket, Assembla etc.). É claro que estou falando de repositórios privados aqui - o conceito de conhecimento zero não faz sentido para repositórios públicos.
Minhas perguntas são:
Existem barreiras tecnológicas para criar um serviço de hospedagem de código de conhecimento zero? Por exemplo, existe algo nos protocolos de rede usados por sistemas de controle de versão populares como SVN, Mercurial ou Git que dificultariam (ou impossibilitassem) implementar um esquema no qual os dados que estão sendo comunicados entre o cliente e o servidor são criptografados com uma chave que o servidor não sabe?
Existe algum serviço de hospedagem de código de conhecimento zero hoje em dia?