一个系统怎么可能是零知识的?

信息安全 加密 贮存
2021-08-12 16:57:48

我实际上对零知识存储系统很感兴趣。存储提供商声称他无法访问存储数据的那些系统。

据我所知,数据是使用对称加密系统加密的,例如 AES 或其他,但这些系统需要密钥才能运行。

那么钥匙怎么了?是否已存储?在哪里?如果用户从另一个位置连接,并且想要检索他的一个文件,他必须首先检索密钥。因此,如果存储提供者也存储了密钥,他就可以访问加密数据。这就像锁了一个箱子,箱子旁边的纸上有密码,然后声称你无法打开箱子。

那么这其中有缺陷吗?我完全误解了那些零知识系统吗?如果他们最终能够打开文件,他们中的一些人怎么能通过说“我们不知道我们在托管非法文件”来逃避正义?

2个回答

在对称(可逆)加密的最简单模型中,您只需要一个解密密钥——它可以像普通密码一样简单。

对于零知识的系统,必须在客户端的系统上进行加密,并且仅将加密的信息传递给存储提供商。通过这种方式,存储提供商在技术上存储了数据,但它无法访问明文(人类可读的未加密版本),因为它没有密钥。

请注意,在过去,我们使用简单的 FTP 和“受密码保护的 ZIP 文件”来执行此操作。

该系统的弱点在于,如果解密密钥只是一个普通密码,那么存储提供者(或任何拦截数据的人)可以轻松地暴力破解它并获得明文。

因此,为了使这个系统更加安全和健壮,通常使用公钥-私钥系统,同样,客户端的私钥始终留在客户端上,并且永远不会提供给存储提供商。根据定义,任何接受或可以访问解密密钥的存储提供者都不是零知识。

正如您所指出的,这可能很不方便 - 如果我将信息存储在提供商处并想在家中访问它,我必须自己管理密钥。为此存在许多工具,从“密钥环”到保护 USB 加密狗到带有 TPM 芯片的生物识别存储设备等。但是,是的,您必须随身携带密钥或将其存储在其他提供商的服务器上,所有潜在的危险和带来的不便。

了解这些系统的最简单方法就是将它们与带钥匙的保险箱进行比较。你把不想让任何人碰的东西放进去,然后锁上保险箱。您将保险箱交给存储公司,然后您就知道存储公司只能访问您的保险箱 - 而不是它的内容。如果您还让存储公司将密钥存储到保险箱,那么显然他们可以随时轻松访问它。

安全和隐私的代价往往是不便——有时是极大的不便。你只需要决定你所获得的是否值得你必须及时支付的价格和潜在的不安全感(如果你丢失了数据几乎永远消失的密钥,没有人可以为你找回它)。

BrianDHall 提供的答案是正确的,但我想围绕“零知识”的概念添加更多细节,因为它仅在删除存储提供商解密文件的能力的情况下才是正确的。

确实存在对此类系统的其他元攻击,并且可能由提供商与警察(或其他政府组织)合作发起,或者由直接访问服务器或客户端设备上的木马的攻击者发起。

特洛伊木马可以记录击键,从而暴露您的私人密码,从而使整个事情变得毫无意义。

如果您在这些提供商中的任何一个拥有帐户,您可能已经向他们提供了您的用户名、电子邮件地址、链接回您的信用卡信息。

然后考虑一旦您关闭帐户,提供商如何删除加密文件?他们可以做到这一点的唯一方法是将您的用户名链接到商店中的加密对象。所以现在元数据,例如文件的数量,可能用于存储它们的树结构,大小,创建和访问这些文件的日期和时间。

如果我是一家电影制片厂,并且想知道谁上传了电影,我可能会对其进行加密并将其上传到我自己的帐户,确定加密对象的大小,然后向提供商索取存储相同内容的人员名单大小对象,然后向所有这些用户发送一个看起来合法的线程,要求付款,看看谁咬人。

这一切都取决于具体的实现方式以及您对存储服务提供商的信任程度。