【问题标题】:Storing persistent encryption keys存储永久加密密钥
【发布时间】:2014-11-13 19:22:58
【问题描述】:

存储在我们数据库中的敏感信息是加密存储的。

我的应用程序需要一个全局 AES 256 加密密钥。我的老板建议使用存储在用于我们 SSL 的证书中的相同密钥。请注意,此应用程序与 SSL 无关。

我想知道这是否是个好主意?也许我们应该在数据库或 Java 后端代码本身中存储一个单独的密钥?

我听说 SSL 使用多种加密方法,所以 SSL 使用的密钥可能与我们使用的加密方式(始终为 AES 256)不兼容?

帮助赞赏

【问题讨论】:

  • SSL 证书不包含对称密钥。它包含一个公钥。这些通常是 RSA 密钥,范围从 1024 到 4096 位;它们都不适合需要 256 位种子密钥和 256 位初始化向量的 AES256 实现。这是因为 SSL 证书用于验证服务器并通过 非对称加密 提供通信方式,而 AES 是对称的。

标签: java encryption jce


【解决方案1】:

尝试将其存储在 JCEKS 密钥库中。密钥库可用于存储密钥。请注意,您需要使用相对强的密码来保护它。自动访问密钥很棘手。

了解如何管理密钥称为密钥管理,是整本书的主题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 2011-01-03
    • 2011-11-05
    • 1970-01-01
    • 2021-05-06
    相关资源
    最近更新 更多