您现在的位置是:首页 > 技术笔记 > 密码学密码学

SSL/TLS

冰山2019-03-17【密码学】人已围观

简介1.SSL/TLS
1.1客户端与服务器
1.2 用SSL/TLS承载HTTP
1.3 HTTPS
1.3.1 HTTP和HTTPS
1.3.2 HTTPS优缺点

1.SSL/TLS


前几篇文章对称加密、非对称加密、单向散列函数、消息认证码、数字签名、证书有了简单的介绍,那么这些算法究竟要如何应用呢?这里就要说到了SSL/TLS了,什么是SSL,什么是TLS呢?官话说SSL是安全套接层(secure sockets layer),TLS是SSL的继任者,叫传输层安全(transport layer security)。说白点,就是在明文的上层和TCP层之间加上一层加密,这样就保证上层信息传输的安全。

SSL/TLS是世界上应用最广泛的密码通信方法。比如说,当在网上商城中输入信用卡账号和密码时,我们的Web浏览器就会使用SSL/TLS进行密码通信。使用SSL/TLS可以对通信对象进行认证,还可以确保通信内容的机密性。

SSL/TLS中综合运用了之前所说的对称密码、消息认证码、公钥密码、数字签名等密码技术。严格来说,SSL(Secure Socket Layer)与TLS(Transport Layer Security)是不同的,TLS相当于是SSL的后续版本。不过,大多是SSL和TLS两者兼备的,因此除具体介绍通信协议的部分以外,都统一写作SSL/TLS。
 

1.1客户端与服务器


这次让我们以Bob书店和Alice为例,Bob书店是Alice经常光顾的一家网店,因为在Bob书店她可以搜索到新出版的图书,还可以通过信用卡快速完成支付,购买的书还能快递到家,真的很方便。

有一天,Alice 读了一本关于网络信息安全的书,书上说“互联网上传输的数据都是可以被窃听的"。Alice感到非常担心,自己在购买新书的时候输人的信用卡号会不会被窃听呢?Alice看到Bob书店的网站下面写着一行字:“在以https://开头的网页中输人的信息将通过SSL/TLS发送以确保安全"。

的确,输人信用卡号的网页的URL是以 https:// 开头的,而不是一般的 http://。此外.在浏览这个网页时,Alice的web浏览器上还会显示一个小锁头的图标,看上去好像挺安全的。不知道细心的朋友有没有发现本博客最开始的时候是以http://开头的,后来经过部署部署证书之后,现在是以https:// 开头的,这说明网站信息在服务器与用户之间的传输进行了加密保护。

但Alice心想,就算写着“通过SSL/TLS发送”我也不放心啊。

到底在我的Web浏览器和Bob书店的网站之间都发生了哪些事呢?下面就让我们来看一下Alice的Web浏览器(客户端)和Bob书店的网站(服务器)进行HTTP通信的过程。



Alice和Bob书店之间的通信,实际上是Alice所使用的Web浏览器和Bob书店的Web服务器之间的通信。Web浏览器是Alice的计算机上运行的一个程序,而web服务器则是在Bob书店的计算机上运行的一个程序,它们都遵循一种叫作HTTP(Hyper Text Transfer Protocol, 超文本传输协议)的协议(protocol)来进行通信。其中,Web浏览器称为HTTP客户端,Web服务器称为HTTP服务器。

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

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

Alice向Bob书店发送信用卡号也是使用HTTP来完成的。Alice输人信用卡号之后按下提交按钮,这时客户端(Web浏览器)就会将信用卡号作为HTTP请求发送给服务器。服务器则会将“生成订单"的网页作为HTTP响应返回给客户端。


不使用SSL/TLS发送信用卡号的情形:



这时候很有可能有盗窃者进行截取盗密,如:Wireshark
 

1.2 用SSL/TLS承载HTTP


如HTTP协议是明文传输,加上SSL层之后,就有了雅称HTTPS。它存在的唯一目的就是保证上层通讯安全的一套机制。

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

于是,我们可以用SSL(Secure Socket Layer)或者TLS(Transport Layer Security)作为对通信进行加密的协议,然后在此之上承載HTTP(下图)。通过将两种协议进行叠加,我们就可以对HTTP的通信(请求和响应)进行加密,从而防止窃听。通过SSL/TLS进行通信时,URL不是以http://开头,而是以https://开头。

 1/3    1 2 3 下一页 尾页

  • 微信扫一扫~
  • 支付宝扫一扫~

很赞哦! ()

上一篇:证书

下一篇:返回列表

文章评论

本站推荐