A la luz de las recientes revelaciones sobre el monitoreo generalizado del gobierno de los datos almacenados por los proveedores de servicios en línea, los servicios de conocimiento cero están de moda.
Un servicio de conocimiento cero es aquel en el que todos los datos se almacenan cifrados con una clave que no se almacena en el servidor. El cifrado y el descifrado se realizan completamente en el lado del cliente, y el servidor nunca ve ni los datos de texto sin formato ni la clave. Como resultado, el proveedor de servicios no puede descifrar y proporcionar los datos a un tercero, incluso si así lo desea.
Para dar un ejemplo: SpiderOak se puede ver como una versión de Dropbox con conocimiento cero.
Como programadores, confiamos en gran medida y confiamos en algunos de nuestros datos más confidenciales, nuestro código, a una clase particular de proveedores de servicios en línea: proveedores de alojamiento de código (como Bitbucket, Assembla, etc.). Por supuesto, estoy hablando de repositorios privados aquí: el concepto de conocimiento cero no tiene sentido para los repositorios públicos.
Mis preguntas son:
¿Existen barreras tecnológicas para crear un servicio de alojamiento de código de conocimiento cero? Por ejemplo, ¿hay algo en los protocolos de red utilizados por los sistemas de control de versiones populares como SVN, Mercurial o Git que dificultaría (o imposibilitaría) implementar un esquema en el que los datos que se comunican entre el cliente y el servidor se cifran con una clave que el servidor no conoce?
¿Existe algún servicio de alojamiento de código de conocimiento cero en la actualidad?