Configuration 如何处理独立应用程序的密码或凭据?
假设您有一个独立应用程序(在我的例子中是一个Java应用程序),并且该应用程序有一个配置文件(在我的例子中是一个XML文件),您可以在其中存储需要连接的一组数据库的凭据(用户和密码) 一切都很好,但现在您发现(或者您的应用程序像我一样被赋予了新的要求),您必须将此应用程序放在不同的服务器上,并且由于安全和/或法规遵从性方面的考虑,无法在配置文件中拥有这些凭据。 我正在考虑使用托管在应用程序服务器(WAS服务器)中的数据源,但我认为这可能会导致性能低下,可能这不是最好的方法,因为我是从独立应用程序连接的 我也在考虑使用某种加密,但我希望事情尽可能简单 你会怎么处理这个案子?您将把这些凭证放在哪里,或者保护它们不被泄露?或者在这种情况下,您将如何连接到数据库 我正在考虑使用托管在应用程序服务器(WAS服务器)中的数据源,但我认为这可能会导致性能低下,而且这可能不是最好的方法,因为我是从独立的应用程序连接的 相反,这些数据源通常是连接池数据源,它应该只是提高数据库连接性能,因为连接是每个saldo最昂贵的任务 您是否对其进行了测试/基准测试 我也在考虑使用一些 有点加密,但我想 让事情尽可能简单 请看下面的图片。这个概念相当简单,在对文件进行(反)序列化之前,使用从用户密码派生的密钥对XML流进行加密/解密 我只是在猜测您的安全性/法规遵从性需要考虑什么,但肯定需要考虑一些事情:Configuration 如何处理独立应用程序的密码或凭据?,configuration,password-protection,Configuration,Password Protection,假设您有一个独立应用程序(在我的例子中是一个Java应用程序),并且该应用程序有一个配置文件(在我的例子中是一个XML文件),您可以在其中存储需要连接的一组数据库的凭据(用户和密码) 一切都很好,但现在您发现(或者您的应用程序像我一样被赋予了新的要求),您必须将此应用程序放在不同的服务器上,并且由于安全和/或法规遵从性方面的考虑,无法在配置文件中拥有这些凭据。 我正在考虑使用托管在应用程序服务器(WAS服务器)中的数据源,但我认为这可能会导致性能低下,可能这不是最好的方法,因为我是从独立应用程序
虽然这可能有些过分,但我强烈建议大家看看布鲁斯·施奈尔(Bruce Schneier)的作品。它为加密领域提供了一个很好的视角。如果您的独立应用程序在大型企业或企业中运行,那么他们很可能使用或LDAP作为密码
您可能想考虑使用LDAP,或者在您的应用程序中为企业LDAP提供钩子。
我还没有测试或基准测试,但我的观点是,除了使用数据源之外,我还想知道这种情况下还有什么其他方法可以考虑。实际上,我现在的实现已经使用了数据源,正如你刚才提到的,这是一个不错的方法,但也许还有其他方法值得考虑。