身份认证有个很简单而安全的方案,但是目前不适合大多数用户,因为还是需要在浏览器上动手脚的。
可以让服务器要求客户端提供标明自己身份的数字证书。
注册时,用户向服务器一次性地提交自己的公有证书。
登录时,用户用密码解密私有证书,然后用它签署一个服务器提供的有时效的令牌,传送给服务器。服务器根据数字签名获取证书ID,然后找到用户证书。再用用户证书验证上述签名。通过之后可以建立安全连接。
不知道SSL/TLS能否(向上层应用程序)提供这些功能。
另外如果,如果额外要求用户证书经过第三方签署,这样可以实现实名制= =