2012-03-20 122 views
2

最近我一直在研究流行的Java安全框架(Spring Security和Apache Shiro)。我注意到这两个框架都支持缓存。 阿帕奇四郎甚至形容它的模块:缓存安全信息安全吗?

缓存是在Apache中Shiro的API一个一线的公民,以确保 安全操作保持快速,高效。

我的问题是:

  • 它是安全的缓存安全信息,例如的Ehcache?
  • 这是一种流行的方法吗?
  • 当谈到安全性时,我们应该考虑效率吗?
  • 为什么冒险?

回答

1

当浏览器缓存通过https传输的内容时,它以加密状态存储。密钥存储在内存中,当浏览器关闭时,缓存和密钥将被删除。主要的威胁是间谍软件,间谍软件可能仍然可以通过浏览器的内存访问用于加密的密钥。但它比没有好。

事情在服务器端有点不同。攻击者应该如何访问缓存存储?如果机器受到威胁,则无法存储密钥。我会确保缓存不能被访问,除非Web服务器被攻破。在这种情况下,我认为加密不会有任何帮助。

+0

我的问题是关于服务器端,因为我提到了Java安全框架。 – 2012-03-21 15:25:42

+0

@Maciej Ziarko ...那被覆盖了。我以浏览器为例。 – rook 2012-03-21 15:26:43

+0

这就是为什么我upvoted你的答案:-) – 2012-03-21 15:27:41

1

如果你缓存所有在内存中我认为这是安全的。问题在于ehcache将数据存储到磁盘,并且有人也可以访问机器。

在生产上没有人可以访问服务器。 (只有管理员/部署者等,但他们可以直接访问数据库,应用程序服务器,日志和其他(他们可以调试应用程序:))。但所有人都信任)

如果你缓存在服务器端 - 做到这一点。