我最近一直在研究流行的Java安全框架(Spring Security和Apache Shiro)。我注意到这两个框架都支持缓存。 Apache Shiro甚至描述了它的模块:
缓存是Apache Shiro的API中的第一层公民,以确保这一点 安全运营仍然快速有效。
我的问题是:
答案 0 :(得分:1)
如果您将所有缓存在内存中,我认为它是安全的。问题是当ehcache将数据存储到磁盘并且某人也可以访问计算机时。
在生产中,没有人可以访问服务器。 (只有管理员/部署者等。但他们可以直接访问数据库,应用程序服务器,日志和其他(他们可以调试应用程序:))。但所有这些人都是可信的)
如果您在服务器端缓存 - 请执行此操作。
答案 1 :(得分:1)
当浏览器缓存通过https传输的内容时,它将以加密状态存储。密钥存储在内存中,并在浏览器关闭时删除缓存和密钥。主要威胁是间谍软件,间谍软件可能仍然可以通过读取浏览器的内存来访问用于加密的密钥。但它总比没有好。
服务器端的情况有所不同。攻击者如何访问缓存存储?如果机器受到损害,则无法存储密钥。除非Web服务器受到攻击,否则我会确保无法访问缓存。在这种情况下,我认为加密根本不起作用。