5

如何保护 HTTP 请求的一部分,比如他们的会话 ID?我知道您可以使用 HTTPS,但是您的服务器必须解密所有请求。只加密请求的所需部分不是很理想吗?

是否有任何框架或资源可以让您或告知您如何做到这一点?

4

2 回答 2

10

HTTPS 是正确使用的工具。解密数据包的计算量非常低。Google 在今年早些时候将整个 GMail 的默认设置更改为 HTTPS,他们报告称其服务器上用于 SSL 加密/解密的 CPU 负载约为 1%。

如果您只加密流的一部分,那么您仍然会遇到中间人攻击和重放攻击的问题。SSL 是防止这些问题的唯一方法。会话 ID 是否加密并不重要。如果中间人可以捕获它,他可以以加密形式重复使用它,服务器不会知道其中的区别。

这是一篇关于 Google 自 GMail 切换到 100% SSL 以来的经验的博客文章。

于 2010-11-11T00:20:25.450 回答
3

HTTPS 要么全有,要么全无。如果不是页面上的所有元素都使用 HTTPS 保护,那么用户通常会在左上角得到一个“破锁”。这是因为攻击者可以利用它来注入类似于 xss 的攻击并获取document.cookie值。

此外,如果使用会话 ID 发送 1 个请求,则攻击者可以获得该值并以您的身份进行身份验证。

于 2010-11-11T00:27:15.887 回答