我目前拥有自己的应用程序安全服务,该服务在我的企业中运行,并且 - 在很大程度上 - 满足业务需求.
我目前面临的问题是,该服务传统上(天真地)依赖于用户的源IP保持不变作为对抗会话劫持的对冲 - 企业中的Web应用程序不能直接向公众提供,并且它过去是完美的我可以要求用户的地址在给定的会话期间保持不变.
不幸的是,情况已不再如此,因此我不得不切换到不依赖源IP的解决方案.我更倾向于实现一个实际完成原始设计者意图的解决方案(即防止会话劫持).
到目前为止,我的研究已经出现了这个问题,其实质上是"用SSL会话密钥加密你的身份验证令牌哈希".
从表面上看,这似乎是一个完美的解决方案,但我仍然怀疑这个方案的实际实施是不切实际的,因为客户端和服务器可能在任何时候 - 有效地任意 - 选择重新协商SSL会话,从而更改密钥.
这是我想象的场景:
这是一个真正的问题,还是由于(至少可以说)对SSL的工作方式不太完美的理解,这是我的误解?