cookie 应该过期吗?

信息安全 饼干
2021-08-24 00:26:21

假设我在博客上有一个帐户。我通过网络服务器规则在该博客的每个页面上使用 https,因此无法以明文形式访问该页面。我也在使用一台使用全盘加密的笔记本电脑,我是使用这台机器的人。此外,我为互联网上的每个站点都有 128 位自动生成的密码,并且每个密码都不同。我还将密码存储在加密的密钥环中,以防万一我需要它们,但通常我不会因为 cookie。这就是问题所在。大多数互联网站点(尤其是 WordPress 站点)都有关于 cookie 的奇怪政策。对于 WordPress,默认的 cookie 过期时间设置为 2 天。如果您选中“记住”选项,则为 14 天。

这是必要的吗?我的意思是,如果 cookie 没有设置过期时间会怎样?有没有办法以某种方式窃取它们?如果您对整个站点进行了加密,并且没有人可以访问您的计算机,您是否还应该担心通过 Internet 发送的 cookie?例如,在查看我的电子邮件时,谷歌从未向我询问密码。

1个回答

首先,您与被加密网站的连接并不一定意味着您的连接实际上是安全的。它当然有帮助,但加密的质量可能会有很大差异。您可能听说过POODLE以及FREAK像这样的错误和副作用可能意味着足够强大的攻击者可能能够破坏 SSL。这甚至不包括 CA 被破坏的可能性,就像Diginotar发生的那样当然,网站本身可能会受到威胁,一段 Javascript 会窃取您的 cookie 甚至您的凭据,就像突尼斯政府对 Facebook 所做的那样

所以假设攻击者有你的cookie。服务器实际上使用该 cookie 来了解您的身份,因为这是它知道这一点的唯一方法。IP 地址可以更改并且不够唯一。浏览器嗅探很复杂,并且在您执行修补 Chrome 之类的操作时可能会中断(可能是为了处理 TLS 中的错误)。硬件足迹很难获得,也不够独特。因此,唯一的方法是在您的计算机上保存一个小文件,告诉服务器您是谁。因此,如果有人知道该文件中的内容,他们可以使用该文件以您的身份登录。

你可以自己测试一下。打开您的开发控制台,在此网站上找到您的 cookie 列表,打开该网站的隐身标签并使用扩展程序编辑 cookie。刷新页面后,您无需输入凭据即可登录网站。几年前,有一个名为 Firesheep 的工具,它可以跟踪其他人在公共 wifi(比如星巴克)上建立的非 TLS 连接并冒充他们。即使是现在,您也可以花 100 欧元购买一种名为 Pineapple 的特殊工具,诱骗人们连接到您的 wifi 并窃取他们的数据。