首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态AES256对称密钥与临时会话密钥的加密

静态AES256对称密钥与临时会话密钥的加密
EN

Cryptography用户
提问于 2018-08-12 05:33:28
回答 2查看 1K关注 0票数 2

对于黑客马拉松,我正在为医疗保健设计一个信息交换系统。医疗保健数据存储在不安全的系统上。尽管如此,我还是要确保这些数据的机密性、完整性和真实性。为了允许多个人访问相同的数据,我想使用像openPGP这样的系统(没有电子邮件/漏洞),其中我使用AES256对称密钥(CBC,PCKS5填充?)它使用每个授权用户的公钥用RSA-2048加密加密。

对称密钥的加密版本将与数据一起存储。随着时间的推移,新的文件将被添加到数据中,所以我不想在每个文件中创建一个对称密钥,因为撤销或授予对新用户的访问意味着每次我们这样做时都需要重新加密所有文件的对称密钥。

为了保证文件的完整性和真实性,我希望使用RSA 256-RSA授权用途之一的私钥对它们进行签名。公钥将存储在PKI上,但公钥有效性将在面对面的联系中得到验证。

我的问题是双重的。

  1. 与每次更改的会话密钥相比,使用静态对称密钥进行加密的风险是什么?是否纯粹的前向保密确保了如果一个会话密钥被泄露,其他数据仍然是安全的?或者还有其他不改变对称密钥的风险?
  2. 这种设置一般有多好/有多坏?在这个设置中,我忽略了其他问题吗?其他我应该用的算法?
EN

回答 2

Cryptography用户

回答已采纳

发布于 2018-08-12 18:05:48

与每次更改的会话密钥相比,使用静态对称密钥进行加密的风险是什么?

  1. 灵活的访问控制:使用会话键的一个重要原因是,调整访问控制更容易。在我看来,文件的访问并没有什么不同。只要情况仍然如此,就不需要直接使用不同的密钥来保护数据。但是,使用会话密钥,您可以制定不同的访问控制方案,而无需重新加密您的数据。
  2. 访问密钥:请记住,密钥管理与可访问性有很大关系。如果多个键都容易受到攻击,那么使用多个键是没有什么意义的。然而,病人的信息可以得到相对较大的信息。可能比解密大量数据所需的会话密钥更好地保护主密钥是可行的。
  3. 经营方式和经营方式的限制: CBC等经营模式确实有局限性。如果您要加密大量的数据,那么您可能会陷入麻烦,以防分组密码的输入重复,因为它会生成相同的密文块,这将泄漏信息给对手。
  4. 前向保密:您已经提到了前向安全性,其中会话密钥的泄漏不会损害使用其他会话密钥加密的数据的机密性。

您可以做的是用主密钥加密会话密钥。这可能不是更安全,但它确实允许您保持主密钥的安全,可能在一个更安全的系统或设备中。

您可以使用的另一个选项是使用密钥派生函数或从主键派生会话密钥的KDF。这样,操作模式的局限性就可以减少。您也可以使用任何类型的信息,而不是使用特定的IV。KDF还解决了前向保密的问题,因为您不能导出主密钥或给定会话密钥的任何其他密钥。这样,您就不必存储任何会话密钥;但是,您不会获得与包装(加密)会话密钥相同的灵活性。

这种设置一般有多好/有多坏?在这个设置中,我忽略了其他问题吗?

这是一个非常宽泛的问题。我不会考虑OpenPGP。这并不是因为协议不好,但它根本就没有为这种操作而设计。此外,它是一个相当老的协议,没有被更新,以支持最新的/最伟大的算法。更重要的是,我不认为分配密钥的PGP方法对主要用于医院的相当等级的设置是公平的。X.509可能更有意义。

RSA 2048不再被认为是安全的,它的安全强度约为112位。请参阅keylength.com,查看一些可比较的关键优势。将它与AES-256一起使用会给您和您的用户一种虚假的安全感。您可能需要使用椭圆曲线密码,最好是非对称的后量子密码算法来提供256位的安全性。毕竟,这可能需要长期安全。

关于算法,我认为您应该了解新的操作模式,例如AEAD操作模式。使用AES-CBC充满危险,我不认为CBC模式是最好的品种。

票数 3
EN

Cryptography用户

发布于 2018-08-15 23:09:13

代理重新加密(PRE)允许每个文件都有一个单独的会话密钥,而无需每次您想授予或撤销用户的访问权限时重新加密该密钥。您避免拥有一个系统范围的密钥,这样您就可以授予对单个文件的不同访问权限,并且不需要在整个系统中进行相同的访问。

我们有一篇关于我们如何做这个这里的论文。

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

https://crypto.stackexchange.com/questions/61450

复制
相关文章

相似问题

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