2010-11-11 167 views
5

如何確保HTTP請求的部分安全,說他們的會話ID?我知道你可以使用HTTPS,但是你的服務器必須解密所有的請求。僅僅加密請求的必需部分不是理想的嗎?保護HTTP請求的部分內容?

有沒有任何框架或資源可以讓你或告訴你如何做到這一點?

回答

10

HTTPS是正確的使用工具。解密數據包的計算負載非常低。谷歌今年早些時候默認更改爲HTTPS,並且他們報告說他們的SSL加密/解密服務器上的CPU負載約爲1%。

如果你只加密部分流,那麼你仍然存在中間人攻擊和重放攻擊的問題。 SSL是防止這些問題的唯一方法。會話ID是否加密並不重要。如果一箇中間人可以捕獲它,他可以以加密的形式重用它,而服務器不會知道其中的差別。

Here's a blog post關於谷歌自GMail切換到100%SSL以來的經驗。

+0

[Google在線安全博客上的進一步閱讀](http://googleonlinesecurity.blogspot.com/2009/06/https-security-for-web-applications.html)。 – alex 2010-11-11 00:26:08

3

HTTPS是全部或沒有。如果並非頁面上的所有元素都使用HTTPS進行保護,則用戶通常會在左上角獲得「破解鎖定」。這是因爲攻擊者可以使用它來注入類似於xss的攻擊並獲取document.cookie值。

此外,如果使用會話ID發送1個請求,則攻擊者可以像您那樣獲取該值並進行身份驗證。