如何安全地存储会话 ID

Juz*_*oco 4 cryptography sessionid

我是一名学习密码学的学生。在网上搜索后,我仍然无法找到我的问题的答案。我想知道如何安全地存储电子商务网站的会话 ID。如果可以的话,怎么可能呢?请用通俗易懂的语言解释一下。期待您的有用答案。

干杯

Pau*_*mer 6

会话 ID 通常只是在客户端和服务器之间传递的随机(不透明)标识符。服务器使用标识符在数据库中查找状态信息(例如当前购物车内容)。

实际上,您必须相信客户端会保护会话 ID,因为一旦您将其发送给他们,它就变成了静态令牌——再多的加密技术也无法解决任何人都可以提供会话 ID,然后冒充用户。

您可以采取一些措施来缓解问题:

  1. 确保您使用“足够安全”的随机生成器来构建令牌

  2. 确保令牌的传输尽可能安全,防止窃听或客户端盗窃(例如使用 SSL、httponly 和安全 cookie 标志)

  3. 为令牌提供合理的超时时间,并要求用户使用刷新令牌或重新登录等定期请求新令牌。

人们对如何实际工作进行了很多思考 - 查看 OAuth2 / OpenID Connect 协议。

  • MDN 在此讨论中采取中立观点:https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies,您可能想从“Cookies were Onceused...”开始阅读。正如我所说,一个和平的意见。但也有人有强烈的意见,并声称只有 cookie 是安全的:https://dev.to/rdegges/please-stop-using-local-storage-1i04 但是一旦你开始阅读评论部分,你就会发现看到几乎所有支持 cookie 的理由都被最小化了,这使得 cookie 也同样不安全。- 您可以将其总结为:“Cookie 曾经被使用过<句号>”。 (2认同)