【问题标题】:How can I access a TLS Session ID within an ASP.NET session? (To avoid BEAST cookie theft)如何在 ASP.NET 会话中访问 TLS 会话 ID? (为了避免 BEAST cookie 被盗)
【发布时间】:2011-10-23 01:26:11
【问题描述】:

This post 指的是一种通过使用 TLS 会话 ID 作为替代方案来避免 cookie 被盗的方法。

如何在 ASP.NET 中访问 TLS 会话 ID?

【问题讨论】:

  • 您可能想查看帖子的后续内容。提议的解决方案存在一些非常现实的挑战/缺点,恕我直言,这使其站不住脚。
  • 我很好奇使用 TLS 会话 ID 作为会话状态的密钥(甚至是第二次验证)的方法,在某些情况下可能不需要 cookie。关于代理和 SSL 加速会话,我认为它最好用作验证令牌。

标签: asp.net security cookies ssl isapi


【解决方案1】:

这对 cme​​ts 来说有点长,确实是答案:

查看已接受的答案,特别是此处的第一段:SSL and Load Balancing

nico 在您提供的链接中发布的内容仅适用于非常狭窄的用例......并且需要更改服务器。

他甚至在“缺点”部分列出了真正的问题。即:

TLS 会话 ID 必须在 TLS 和 HTTP 服务器端堆栈中公开 (包括任何集中器);

在那些被暴露之前,我不相信他们应该这样做,你将无法在 .Net 中访问它们。布鲁诺(在我链接的问题中)指出了完全相同的情况。如果您有负载平衡器、NAT 或其他设备(如 SSL 集中器),那么这些信息甚至永远不会到达您的 Web 服务器...

【讨论】:

  • 关于链接:没关系,如果会话 ID 更改,服务器会知道它是什么,并且可能(希望)通知我更改。我只是想探索使用 TLS SessionID 作为访问会话数据的两因素验证的想法
  • 关于缺点:我的解释是客户端和代理之间有2个会话ID,代理和服务器之间有另一个。是的,在这种情况下效果较差,但是在客户端和我的服务器之间使用 SSL 代理/加速器的范围有多大?
猜你喜欢
  • 1970-01-01
  • 2020-01-08
  • 1970-01-01
  • 2011-11-11
  • 1970-01-01
  • 2011-09-09
  • 1970-01-01
  • 2013-04-28
  • 2012-02-01
相关资源
最近更新 更多