首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加密主密钥是如何工作的?

加密主密钥是如何工作的?
EN

Security用户
提问于 2016-04-27 08:39:21
回答 2查看 6.7K关注 0票数 4

显然,“安全”云加密服务BoxCryptor支持加密文件的主密钥

解密您组织中任何成员可以访问的每个文件。

如何在实践中安全地实现“主密钥”,而不是特定于BoxCryptor?每个文件会被加密两次吗?一次用用户密钥加密,一次用主密钥加密?或者是否有某种方式对文件进行加密,使两个密钥中的任何一个,但只有这两个密钥才能解密该文件?除非加密两次,我看不出这是怎么可能的。

EN

回答 2

Security用户

发布于 2016-04-27 11:51:35

关于Boxcryptor,每个用户都有自己的RSA密钥对,在设备上本地生成,私钥用所谓的密码密钥加密。密码密钥是从用户密码中使用PBKDF2-SHA 512派生的。加密的私钥和公钥存储在Boxcryptor的服务器上,用于Boxcryptor帐户,或者存储在本地帐户的本地密钥文件中。

主密钥是单独的RSA密钥对,私钥也是用密码加密的。为了为用户“激活”主密钥,他的密码密钥用公共主密钥加密,加密的密码密钥随后存储在Boxcryptor的服务器上。

当公司需要访问用户的文件时,它可以使用私有主密钥解密用户的密码密钥,然后使用密码密钥解密用户的私钥。

您可以在官方技术概述:https://www.boxcryptor.com/en/technical-overview#anc05中了解更多有关此问题的信息。

票数 3
EN

Security用户

发布于 2016-04-27 11:31:51

我实现它的方式可能类似于许多具有加密能力的存储提供程序的实现方式。

生成随机密钥对称并用于对数据进行加密。然后对对称密钥的两个副本进行加密,一个使用用户非对称公钥,另一个使用主非对称公钥。只有私钥才能解密文件解密密钥,从而解密数据。

出于法律原因,存储提供者有可能用自己的密钥加密第三份副本,以便在收到搜查令的情况下对数据进行解密。如果需要这样的系统,我会使用一个每个帐户的授权公钥,从一个从种子产生的私钥。私钥不再被存储,需要大量的计算能力才能使用确定性过程(比如1000亿次哈希迭代和4G内存)从种子中重新生成私钥。然后,该种子将以与加密密钥相同的方式安全地存储。

然而,BoxCryptor不同于云存储提供商,它们是云加密提供程序。他们这样做意味着对称密钥是由您生成的,他们只管理公钥,以便其他用户可以访问该文件。这意味着他们永远不会看到私钥或文件密钥,而且他们也无法访问加密的数据。然后将加密的文件传递给实际的存储提供者,后者通常会看到明文,可以访问文件密钥,并能够向执法部门提供解密。

像BoxCryptor这样的提供者也可以存储私钥的加密副本(我相信他们会这样做),它被下载到客户端并使用密码解密。BoxCryptor还可以使用其他密钥(例如组密钥和其他用户的密钥)加密文件密钥,这样他们也可以访问该文件。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/121664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档