SSL/TLS的提出

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/83062915

一 场景分析

Alice在Bob的书店买书,有一天,Alice读到一本关于网络信息安全的数,书上说“互联网上传输的数据都是可以被窃听的”。Alice感到非常担心,自己在购买新书的时候输入的信用卡号会不会被窃听呢?

Alice看到Bob书店的网站下面写着一行字:“在以https:// 开头的网页中输入的信息将通过SSL/TLS发送以确保安全”。

的确,输入信用卡号的网页的URL是以http:// 开头的,而不是一般的http:// 。此外,在浏览这个网页时,Alice的Web浏览器上还显示一个小锁头的图标,看上去好像挺安全的。

但Alice心想,就算写着“通过SSL/TLS发送”我也不放心啊,到底在我的Web浏览器和Bob书店的网站之间都发生了哪些事呢?

当进行SSL/TLS通信时,Web浏览器上就会显示一个小锁头的图标。

二 客户端和服务器

首先,将Alice和Bob书店的通信过程整理成示意图

Alice和Bob书店之间的通信,实际上是Alice所使用的Web浏览器和Bob书店的Web服务器之间的通信。Web浏览器是Alice的计算机上运行的一个程序,而Web服务器则是Bob书店的计算机上运行的一个程序,它们都遵循一种叫HTTP的协议来进行通信。其中,Web浏览器称为HTTP客户端,Web服务器称为HTTP服务器。

当Alice点击网页上的链接或输入URL时,Web浏览器就通过网络向Web服务器发送一个“我要浏览这个网页”的请求。

Web服务器则将请求的网页内容发送给Web浏览器,以便对请求作出响应,服务器和客户端之间所进行的处理就是请求和响应的往返。HTTP可以认为是在HTTP客户端与HTTP服务器之间进行请求和响应的规范。

Alice向Bob书店发送信用卡号也是使用HTTP来完成的。

Alice输入信号卡号后按下提交按钮,这时客户端就会将信用卡号作为HTTP请求发送给服务器。服务器则会将“生成订单”的网页作为HTTP响应返回给客户端。

不过,如果直接发送请求的话,信用卡号就很可能被窃听。

三 用SSL/TLS承载HTTP

当Web浏览器发送信用卡号时候,信用卡号的数据会作为客户端请求发送给服务器。如果通信内容被窃听者所获取,窃听者就会得到信用卡号。

于是,我们可以用SSL或者TLS作为对通信进行加密的协议,然后在此之上承载HTTP。通过这两种协议进行叠加,我们就可以对HTTP的通信进行加密,从而防止窃听。通过SSL/TLS进行通信时,URL不是以http://开头,而是以https:// 开头。

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/83062915