密码学是广泛采用的技术,以确保机密性.不考虑实施缺陷,它有一个关键点:秘密密钥存储.如果秘密密钥被盗,整个系统将被盗用.
编辑:
让我指出上下文使问题不那么宽泛:
>这里一个java web应用程序被解决
更具体地说,它是使用弹簧框架版本3
> spring security 3.1用于保护应用程序
>一个mysql5数据库是可用的
>应用服务器是tomcat6或tomcat7
>服务器机器不在我的控制之下
也许这些问题可能集中在这种情况下,但正如所指出的那样,秘密密钥存储的问题横跨于所采用的技术.然而,一些图书馆可能提供可以以某种方式促进工作的特殊功能.
一个明确的一点是,必须在安全性和实际操作的需要之间找到权衡.要完成分析,显然所需的安全级别取决于要保护的信息的价值.翻转我们的头脑来执行超级安全的策略(要求非常多的努力)是保密的客户的鞋子是毫无意义的.
在这里,我必须确保一个电子邮件密码(将存储在数据库中).我认为这个信息平均至关重要.
我在这里寻找,是合理努力的最好的解决方案.
所以问题很清楚:你在哪里存储这些信息?
>你将它存储在数据库中吗?所以应该加密,这需要另一个键(你在哪里存储第二个键?)
>你将它存储在.war包中吗?如何防止未经授权的访问来源?
>你采取不同的策略吗?
您的策略的动机将不胜感激.
谢谢