Security 如何验证云存储提供商是否真的;零知识“;?

Security 如何验证云存储提供商是否真的;零知识“;?,security,encryption,cloud,Security,Encryption,Cloud,注意:对于一个特定的示例,我将使用,但我有兴趣将这个问题更广泛地应用于任何“私有”存储或消息服务 SpiderOak声称自己是一个“零知识”云存储平台,这意味着您存储的任何数据在上传之前都会在您的计算机上进行加密,使用SpiderOak无权访问的加密密钥。但是,要使用该服务,您必须下载并安装SpiderOak的应用程序二进制文件(未提供源代码),并授予该应用程序对您的加密密钥的访问权限,以便它能够执行加密 在不检查源代码的情况下,是否可以验证应用程序没有做可疑的事情?我所说的“可疑”是指:将用户

注意:对于一个特定的示例,我将使用,但我有兴趣将这个问题更广泛地应用于任何“私有”存储或消息服务

SpiderOak声称自己是一个“零知识”云存储平台,这意味着您存储的任何数据在上传之前都会在您的计算机上进行加密,使用SpiderOak无权访问的加密密钥。但是,要使用该服务,您必须下载并安装SpiderOak的应用程序二进制文件(未提供源代码),并授予该应用程序对您的加密密钥的访问权限,以便它能够执行加密

在不检查源代码的情况下,是否可以验证应用程序没有做可疑的事情?我所说的“可疑”是指:将用户密钥上传到服务器, 从用户计算机收集个人信息或元数据等。。。应用程序作者如何证明他们的应用程序没有做这些事情


更新:我想如果没有源代码或反编译(这其实是一回事,只是一种非常迂回的获取方式),就无法保证应用程序是安全的

你可以使用代理,比如,或者更低级别的网络分析工具,在使用应用程序时监视网络流量。这将允许您查看是否存在超出您预期的流量(即获取元数据)或包含您不想发送的数据(即您的密钥)


如果您没有看到任何让您产生怀疑的流量,但您仍然不信任该应用程序,您可以尝试通过运行二进制文件,然后深入挖掘生成的源代码。请注意,反编译器远不是完美的,它们的输出可能是迟钝的(充其量),因此这将是一项非常劳动密集的工作

你当然可以尝试对其进行反向工程。在Wireshark/Fiddler上你可能会得到更好的答案,这是一种证明应用程序确实做了错事的方法,但它不会证明相反。此外,如果应用程序在上传之前对收集的内容进行加密,则很难确定有效负载是否合法。