java - JVM 是否可以选择自动加密其内存?

标签 java linux security assembly jvm

就像Windows上的大多数加壳器(PE加密器)一样,为了保护 secret ,它们可能会在运行时加密整个进程内存。

想知道 jvm 是否有我们可以选择的内存加密选项?

只是想如果有人转储了整个 JVM 内存,他就可以获得一些有关文本的 secret 信息,甚至 vi 或 grep 也可以进行这种文本搜索。

最佳答案

JVM 不会为您加密其内存,但它支持加密,并且您可以显式执行此操作。

一些常见的技术是;

  • 不要将 key 在内存中存储的时间超过所需的时间。根据需要从安全服务检索 key 。
  • 在不需要 secret 数据时立即覆盖它,而不是等待 GC 稍后清理内存。
  • 使用硬件加密设备,例如USB 笔驱动器。这样 key 就永远不会在内存中。

注意:如果您加密内存,您还需要在内存中拥有解密内存的 key ,因此您所做的只是在该过程中添加一个步骤。

关于java - JVM 是否可以选择自动加密其内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53701185/

相关文章:

linux - GitLab : You are not allowed to access master! 将 gitlab 移动到另一台服务器后

c - 通过/proc/mounts 监控挂载点变化

java - jdk.serialFilter 不能用于限制 Java 中 TreeMap 的深度(防止通过 Java 进行 DoS 攻击)

java - 如何指定我想要的 UTF-8 版本(在 Java 中)?

java - 如何使用 spring boot 和嵌入式 tomcat 禁用 TLSv1.0?

linux - 递归 md5sum 在 Windows 和 Linux 上有所不同

javascript - 在 src URL 中没有协议(protocol)的脚本会出什么问题?

security - 如何从命令行向 Hadoop 进行身份验证?删除 `ls: SIMPLE authentication is not enabled` 错误

java - 这个正则表达式有什么问题?

java - 重启设备后如何使用bootreciever设置壁纸? (安卓, eclipse )