【发布时间】:2011-07-25 20:19:48
【问题描述】:
我编写的软件可以处理各种敏感信息,例如电子邮件地址、密码和信用卡号。
当我们遇到内存问题时,最好让应用程序编写一个堆转储。问题是,如果线程恰好在该区域中工作,堆转储可能包含纯文本形式的敏感信息......当我们费尽心思在其他地方加密它时,我们真的不希望将这些信息写入磁盘。
有没有办法解决这个问题,比如让 JVM 写一个加密转储?
【问题讨论】:
-
哇,我有兴趣看看是否有解决方案——这既昂贵又蹩脚,但要加密对象中的所有内容
-
任何具有 root 访问权限的人都可以获取转储和/或修改应用程序。所以,我看不出加密任何东西的理由。您可以使用任何 java 进程的 jmap 获取堆转储。
-
您可以与任何可能查看堆转储的人签署 NDA 和安全协议...只是想在这里集思广益。
标签: java encryption passwords heap-memory