2010-11-11 115 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个请求,则攻击者可以像您那样获取该值并进行身份验证。