gpt4 book ai didi

java - 如何使用本身加密的私钥/密码来加密数据?

转载 作者:行者123 更新时间:2023-11-30 05:27:01 24 4
gpt4 key购买 nike

我想使用 Java 加密一些数据(一些简单的文本):

  • 我必须向应用程序运行所在的服务器提供一次编码 key /密码。
  • 然后应用程序可以使用之前存储的 key 自行加密数据。
  • 获得服务器访问权限的攻击者将无法获取存储的 key 。

换句话说,我希望我的应用程序能够自行加密一些数据,而不需要每次都需要 key ,并且我希望该 key 能够自行加密(不以纯文本形式存储),这样攻击者就无法得到它。

我可以使用哪些工具/技术来实现这一目标?

最佳答案

An attacker who would gain access to the server wouldn't be able to get the stored key

这通常是一个问题,主要是当数据旁边有加密 key 时。一旦 key 泄露,攻击者就无法解密数据。您的主要任务是首先阻止攻击者访问 key (我知道,这很容易说)。

似乎您只想将 key 保留在内存中,这在许多情况下可能是个好主意。解密时,最终 key 无论如何都需要在内存中。

I want this key to be encrypted itself (not stored in plain text)

然后您需要存储并维护一个加密 key 来加密第一个 key 。您也有同样的问题来保护两个 key 。

建议:

我经常看到使用外部服务来管理 key 或执行加密操作的解决方案( keystore 、 key 管理服务、HSM、TPM,..)。但是,如果攻击者获得完全应用程序级访问权限,他可能会使用相同的服务来解密数据。

但至少如果数据泄露(根据我的经验,备份或旧副本通常会泄露),这些服务将有助于使数据无法访问。

关于java - 如何使用本身加密的私钥/密码来加密数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58356369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com