使用HTTP发送的敏感身份验证cookie

时间:2017-05-15 16:23:05

标签: http authentication cookies https

假设有一个网站,在认证后设置浏览器cookie。此cookie足以验证用户身份,因此如果我将其转移到另一台计算机的浏览器,该网站会认为此浏览器已通过身份验证。

网站使用HTTPS进行所有通信,但以下情况除外。每当用户向http://domain.tld/发送请求并被重定向时,感知cookie将在第一个请求中使用HTTP(非安全)发送。

使用纯文本发送密钥后使用HTTPS似乎很奇怪。这是安全问题,还是我不能正确理解这一点?

1 个答案:

答案 0 :(得分:0)

敏感Cookie需要Secure属性保护。否则,很容易被主动网络攻击者截获。根据{{​​3}}:

  

Secure属性将cookie的范围限制为“安全”通道(其中“安全”由用户代理定义)。当cookie具有Secure属性时,仅当请求通过安全通道(通常是HTTP over Transport Layer Security(TLS)

)传输时,用户代理才会在HTTP请求中包含cookie。

这样,敏感的身份验证cookie将不会在非HTTPS请求中发送,从而使其保密。示例Set-Cookie语句为:

Set-Cookie: SID=31d4d96e407aad42; Path=/; Secure; HttpOnly

但是,请注意Secure属性仅保护cookie的机密性,而不是完整性:

  

尽管看起来对保护活跃网络攻击者的cookie非常有用,但Secure属性仅保护cookie的机密性。活动网络攻击者可以从不安全的通道覆盖安全cookie,从而破坏其完整性。