【发布时间】:2011-04-21 17:00:07
【问题描述】:
我想使用 HTTPS 来保护我的客户端和服务器之间的通信。第一个加密通信将用于验证用户身份 - 即检查他/她的用户名和密码。
在服务器成功检查用户凭据后,我想开始在后续请求中获取一些数据。但是服务器如何确定后续请求是由用户发送的,其凭据已被检查?
由于 TCP 连接可能在登录和后续 HTTPS 请求之间关闭,(我认为)这意味着 SSL 上下文必须由服务器释放,因此对于新的 GET 请求,必须建立新的 TCP 连接并且必须进行新的 SSL(TLS) 握手(即双方必须交换新的加密共享密码等)
为此,我认为服务器需要在初始身份验证请求的 200 OK 响应中向客户端发送一些随机生成的随机数(在一定时间内有效),我将在每个后续请求中包含这些随机数,因此服务器将能够根据这个随机生成的 nonce 检测请求背后的用户名,并检查该用户是否已经登录。我的理解是否正确?
非常感谢您的回复 BR 不锈钢
【问题讨论】:
标签: authentication ssl https client-server network-protocols