3

场景是这样的:有一个桌面 Java 应用程序在随机计算机上运行,​​不受开发人员的控制。该应用程序连接到安装在同一台计算机上的 MySQL 服务器。

有没有办法让本地用户的数据库登录凭据安全?

我可以想象,作为具有客户端和数据库的本地 PC 的管理员,要求完全安全可能是徒劳的,因为凭据需要在系统的某个位置。我想知道在桌面应用程序中硬编码密码是否是最好的选择。我知道这是一个很大的禁忌,但在这种情况下有更好的选择吗?

4

2 回答 2

1

有没有办法让本地用户的数据库登录凭据安全?

最简洁的答案是不。

无论您做什么1,本地用户都可以访问用户名和密码(或任何其他形式的凭据),前提是他/她具有技能和动机。


1 - 即使是可信平台模块方法也不是完全安全的。IIRC,有人使用电子显微镜成功破解了 TPM 安全性。虽然这在正常情况下不是一种实际的攻击,但另一方面是在大多数环境中,在 TPM 上构建一个从用户手中夺取机器控制权的系统是不可接受的。

于 2012-12-11T02:22:23.283 回答
1

您可以将它们保存在对称加密文件中,并将密钥硬编码到应用程序中。这至少是在能够更改密码和对懒惰的本地修补匠有一些基本保护之间的妥协。

于 2012-12-11T02:25:07.870 回答