首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Web应用程序会话中使用TLS会话Id的问题?

在Web应用程序会话中使用TLS会话Id的问题?
EN

Security用户
提问于 2015-02-20 18:45:44
回答 2查看 1K关注 0票数 4

Apache能够使用TLS会话ID而不是querystring中的会话cookie或JSESSIONID。我的网站到处都是HTTPS。

这似乎很有用,因为我不必担心会话cookie被盗,并且可以为不执行cookie的用户代理使用会话。

我对这里的会议劫持/固定有免疫力吗?

还有其他值得关注的问题吗?

EN

回答 2

Security用户

发布于 2015-02-21 23:31:58

SSL会话ID是明文的,对任何在网络上看到比特的人都是可见的。如果你担心劫持,这不是个好主意。

票数 2
EN

Security用户

发布于 2015-02-22 01:16:41

我想你指的是RFC 4507中指定的TLS会话ID

不,我不认为这能满足你的需要。TLS会话ID是服务器向客户端提供的票据,它将允许客户端在后一时间(即在现有会话停止后)恢复会话。这主要集中在TLS层,您可以将其看作应用程序层下面的一个层。TLS层完全是关于建立安全连接的,对您的应用程序级别一无所知。

当您第一次连接到启用了TLS的服务时,服务器和客户端之间有一个握手过程,用于建立安全连接。通过使用会话ID,可以减少后续连接中的握手过程--通过提供有效的会话ID,客户端实际上是在说“嘿,让我们重新连接,使用我们上次使用的加密密钥等等。服务器可能会说”嘿酷,让我们走“,或者它可能会说,”对不起,太长了,我们需要重新协商“。

由于这是应用程序下面的一个层,TLS会话ID不知道您是否通过应用程序进行身份验证,或者您的授权级别是什么。通常,这只会在TLS连接谈判和建立之后才会发生。不能将此信息添加到TLS会话ID,因为这是服务器端TLS层生成的加密值。这也意味着应用程序无法从TLS会话ID中确定用户凭据。

如果您的用户需要经过身份验证和授权,您确实需要在应用程序级别的会话或cookie中管理它,您需要能够验证它没有被修改,并且需要包括额外的保护,例如CSRF保护令牌,并且您需要在每个请求中验证所有这些。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/82174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档