2012-03-20 172 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將數據存儲到磁盤,並且有人也可以訪問機器。

在生產上沒有人可以訪問服務器。 (只有管理員/部署者等,但他們可以直接訪問數據庫,應用程序服務器,日誌和其他(他們可以調試應用程序:))。但所有人都信任)

如果你緩存在服務器端 - 做到這一點。