2009-10-11 64 views
1

我之前問過這個問題,但沒有把它說得很對。我正在使用RESTful原則來構建一個使用傳輸認證/加密和消息級安全性的安全Web應用程序。SSL的非透明代理緩存

消息級安全性本質上是獨立於客戶端的(儘管仍然是加密的),因此這允許將各個消息緩存或存儲在中間服務器上,而沒有暴露私人數據的重大風險。

傳輸級安全需要使用TLS客戶端驗證來驗證兩個端點。這種情況類似於具有消息發起的中央主機,並且在客戶端所在的每個分支處緩存。我希望使用TLS和各個X509證書來保護客戶端 - >緩存和高速緩存 - >主機連接。因此,客戶端將知道它正在與代理交談,並且大型機會知道它正在與代理交談,而不是直接與客戶交談。

有沒有這樣做的使用HTTP標準,而不是通過一些破解?基本上,我希望客戶端嘗試訪問大型機URI,知道它必須通過代理,並使用帶有代理的TLS(代理具有自己的證書),然後爲代理代表客戶端繼續連接到大型機(每個都有自己的證書)。代理可以緩存大型機返回的數據,並使用該代理,而不必每次都連接到大型機。

有沒有人知道代理/緩存軟件或方法,將允許這?

回答

0

這是否會在serverfault.com上獲得更多回復,因爲它本質上是一個服務器軟件/配置問題,而不是本身的編程問題?

0

基本上,它聽起來像你想要一個標準的SSL反向代理與緩存。您可以在不使用配置爲反向代理的Apache + mod_cache編寫任何代碼的情況下執行此操作。

踢球者是信息安全。只有當你的請求100%可緩存時,它纔會工作,僅僅基於路徑/查詢字符串,並且它們是「客戶端唯一的」(例如QS中的客戶端ID)。有些事告訴我,其中一個或兩個都不是真的。這對於在ASP.NET中構建或通過擴展mod_cache(基本上只是標準響應緩存,由客戶端證書指紋分發)來說是相當微不足道的。