【发布时间】: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