赞
踩
由于HTTP协议在网络传输中是明文传输的,那么当传输一些机密的文件或着对钱的操作时,就会有泄密的风险,从而引入HTTPS来保证数据在网络传输中的安全。
HTTPS 协议是 HyperText Transfer Protocol Secure(超文本传输安全协议) 的缩写,是一种通过计算机网络进行安全通信的传输协议。
HTTP 本身是不安全的,因为传输的数据未经加密,可能会被窃听或篡改,为了解决这个问题,引入了 HTTPS,即在 HTTP 上加入 SSL/TLS 协议,为数据传输提供了加密和身份验证。
HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包,HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。
HTTP 的 URL 是由 http:// 起始与默认使用端口 80,而 HTTPS 的 URL 则是由 https:// 起始与默认使用端口443。
我们将网络中要传输的还未加密的数据称为“明文”,称加密的工具为“密钥”,被加密后的数据称为“密文”。
在发送端传输数据之前,使用密钥对数据进行加密,当加密后的数据到接收端时,接收端再使用密钥对密文进行解密,拿到信息。
解密算法主要是分为对称加密和非对称加密
非对称加密的安全性更高一些。
对称加密就是加密和解密使用同一把密钥:
这时,就会出现一个问题,每个服务器是给多个客户端服务的,一旦客户端的数量过多,那么服务器负载就会严重,此时又引入下面的做法:
每次在客户端和服务器进行通信时,客户端跟服务器要先约定好密钥,再进行通信,这样做就不必再服务器存入每一个客户端的密钥了。
这时,又又有一个问题,在客户端和服务器在沟通使用哪个密钥时,被黑客窃取到信息,那该怎么办呢?这时就引入了非对称加密
非对称加密就是加密和解密使用的密钥不是同一把。一个叫“公钥”,一个叫“私钥”,公钥和私钥之前是配对的,但是这个加密解密的过程非常慢,所以一不使用非对称加密,只是在协商密钥时使用。
这里的流程如下:
但这个过程还是存在风险,这就是中间人攻击要讲解的内容了。
如上
黑客面对客户端时,就充当服务器的角色
面对服务器时,就充当客户端的角色。
兵来将挡水来土掩,那么这个问题又该如何解决呢?
这时引入了证书
服务端在使⽤HTTPS前,需要向CA机构申领⼀份数字证书,数字证书⾥含有证书申请者信息、公钥信息等。服务器把证书传输给浏览器,浏览器从证书⾥获取公钥就⾏了,证书就如⾝份证,证明服务端公钥的权威性
这个证书实际上是一个结构化的字符串,包含如下信息:
这其中的数字签名是这些信息中最重要的一个。
数字签名是怎样得来的呢?
有了证书后,客户端和服务器的通信过程又发生了一些变动。
如何对证书进行检验呢???
以上就是本文所有内容,如果对你有帮助的话,点赞收藏支持一下吧!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。