曲径通幽论坛
标题:
https 工作流程
[打印本页]
作者:
beyes
时间:
2012-8-30 12:18
标题:
https 工作流程
一些网站为了安全起见,会要求我们采用 https 的安全链路来连接网页服务器,下面简单说明 https 协议的工作流程。
1. 首先客户端向网站服务器发送 https 连接请求。
2. 接着网站服务器将其公钥传递给客户端(网站服务器事先需要准备好一组密钥,分别是公钥和私钥)。
3. 客户端收到服务器送来的公钥后,随机生成一个会话密钥(称之为会话密钥(Session Key)),接着使用公钥来加密该密会话密钥,完后发送给服务器端。
4. 服务器端使用私钥解开被加密的会话密钥。于是,这个会话密钥只有该客户端和服务器所拥有。
5. 以后客户端和服务器端之间的通讯就用会话密钥进行对称加密。
关于对称加密和非对称加密的概念可参考:《
对称加密与非对称加密
》
关于公钥和私钥的概念可参考:《
公钥与私钥
》
从上面的流程来看,客户端以及 Web 服务器间所传输的数据似乎已经得到了安全保证,但是事实并非如此,以上结构仍然相对脆弱,关键一点是没有确认所连接的 WEB 服务器就是我们需要访问的对象。比如某个钓鱼网站冒充了我们所要访问的网站,它不但高仿了整个正规网站的界面,而且还采用了书写相似度极高的域名,甚至进一步来说,我们主机上的 hosts 文件还遭到了恶意篡改。这样,即使我们能够保证客户端和服务器之间传输的数据都是经过加密的,但仍然无济于事。
因此,解决这个问题,https 网站还需要使用网站安全证书。比如我们访问铁道部的 12306.cn 时,需要安装证书才能继续购票,这样做就是唯一确定我们访问的确确实实是 12306.cn 而不是别的网站。关于证书的话题,内容也比较多,在此就不展开了。只要知道,https 需要两个重要的内容:第一是使用数字证书确定唯一身份;第二使用上面所述协议加密传输内容而保证数据安全。
注意,上面所举的 12306.cn 证书一例,并不能严格代表一个正规且正式的基于 https 商业网站所采取的做法。因为 12306 的根证书,不太友好的说是自己给自己发着玩的。你要用它,你就信任它,只能如此。在另外的文章里会详谈到为何如此。
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/)
Powered by Discuz! X3.2