鉴于最近有关政府对在线服务提供商存储的数据进行广泛监视的启示,零知识服务现在非常流行。
零知识服务是其中所有数据都以未存储在服务器上的密钥加密存储的服务。加密和解密完全在客户端进行,并且服务器永远不会看到纯文本数据或密钥。结果,服务提供商无法解密,也无法将数据提供给第三方。
举个例子:SpiderOak可以被视为Dropbox的零知识版本。
作为程序员,我们高度依赖于我们最敏感的数据(我们的代码),并将它们信任特定种类的在线服务提供商:代码托管提供商(如Bitbucket,Assembla等)。我当然在这里谈论私有存储库-零知识的概念对于公共存储库没有意义。
我的问题是:
创建零知识代码托管服务是否存在任何技术障碍?例如,关于流行的版本控制系统(例如SVN,Mercurial或Git)使用的网络协议是否存在某些问题,这将使(或不可能)实现一种方案,其中使用服务器不知道的密钥?
当今是否存在零知识代码托管服务?