计算机网络基础之HTTP与HTTPS

HTTP与HTTPS介绍

HTTP协议:早期专门传输超文本数据html,随着协议发展多元化,不限制数据格式
但是由于HTTPS协议是以明文方式发送内容,不提供任何方式的数据加密,如果恶意方截取中间的传输报文,就可以直接获取其中的信息,所以为了解决HTTP协议的安全问题,就需要使用另一种协议–HTTPS
HTTPS协议: https就是http加密之后的协议,在HTTP协议的基础上,加入了SSL/TLS协议,SSL/TLS依靠证书验证服务器的身份,对其之间的通信进行加密
所以HTTPS协议作用有两个:1.建立通信安全通道 2.确认网站的真实性

HTTP与HTTPS区别

  • HTTP超文本传输协议,信息是明文,HTTPS是加密传输协议,比HTTP安全
  • 由于HTTP与HTTPS连接方式不同,HTTP为80,HTTPS为443

HTTP流程

因为HTTP由请求和响应构成,所以永远都是客户端向服务端发起响应,服务端回应响应
1.地址解析(DNS)
2.封装HTTP请求数据包
3.封装TCP包建立TCP连接
4.客户端发送请求命令
5.服务端进行响应
6.服务端关闭TCP连接

HTTPS加密的过程

对称加密算法 / 非对称加密算法

对称加密算法:通信双方使用相同的加密方式进行解密,加密与解密的算法是相同的
非对称加密算法:加密与解密使用的算法不同

对称加密与非对称加密的优缺点:
对称加密算法:使用时间长了,很容易破解,而且存在很多隐患,但是解密速度比较快
非对称加密算法
优点:

  • 非对称加密采用公有密钥和私有密钥的方式,解决了http中消息保密性的问题,而且使得私有密钥泄露的风险降低
  • 由于使用公钥加密的消息只能由对应的私钥才能解开,所以较大程度上保证了消息的来源性和消息的准确完整
    缺点:
  • 与对称加密相比较的话,非对称加密的性能可能会慢上百倍,消耗大量资源
  • 由于非对称加密中公钥是公开的,当中间人拿到公钥时,将客户端的公钥替换为自己的,这样服务器收到的公钥就不是客户端的,无法判断公钥来源的正确性
  • 中间人还可以替换客户端发送的信息,将其改变,再使用客户端的公钥加密发给服务器,服务器就会收到错误的信息

SSL加密

SSL加密:即使用了对称加密也使用了非对称加密
服务端产生一个公钥和一个私钥,通信的时候将公钥传递给对方,对方使用公钥对数据进行加密,收到数据后,使用私钥对加密后的数据进行解密得到原始数据
因此ssl加密集合了对称加密和非对称加密两种方式:使用对称加密保护协商对称加密算法的过程,实际通信使用协商的加密通信

ssl加密通信过程
1.在通信前,服务器将公钥传递给对方
2.客户端使用公钥对自己支持的对称加密算法和一个随机数进行加密,传递给服务器
3.服务器收到这个加密后的数据,使用私钥进行解密,得到客户端支持的对称加密算法和一个随机数,也给客户端响应一个随机数
4.双方通过这两个随机数和支持的加密算法计算的到一个对称加密算法
5.后续通信则使用这个协商的对称加密算法完成

但是SSL加密通信虽然保证了加密后的数据不容易被破解,但是公钥的传输过程中无法保证其安全性(当公钥被劫持,此时无法保证传输的安全性),也就是说SSL加密也存在安全问题

CA证书

由于非对称加密可能会导致的安全问题,所以此时就需要CA证书来保证安全性
CA证书中包含的信息 :证书颁发机构信息,自己的身份信息,公钥信息等信息
通信双方在通信的时候,首先不应该是数据加解密,而是应该先去认证跟我通信的这一方是否为真正通信的一方,通信方身份认证就是通过签名证书实现验证,并且这个签名证书必须是权威机构颁发的
相当于一个公司产生了私钥和公钥之后,拿着公钥去权威机构生成证书
通信之前将这个证书发送给对方,既可以进行身份验证也可以传递公钥信息,保证了公钥传输的安全性

CA证书保护的是对称算法协商的过程

  • 客户端知道的数据:客户端的加密算法和随机数
  • 服务端收到后使用私钥解密,得到算法和随机数
  • 随机数是只有客户端和服务端知道的
  • 只有拿到双方的信息才能计算得到解密方法

签名证书流程
1.公司生成公钥和私钥,拿着公钥去权威机构颁发证书
2.在通信前,先传递证书给对方,进行身份验证,并且传递公钥信息
3.身份验证无误后,就可以进行ssl加密流程

在这里插入图片描述

HTTPS缺点

  • SSL证书需要购买,功能越强大费用越高
  • HTTPS连接缓存不如HTTP高效,流量成本高
  • HTTPS连接服务器占用资源较高
  • SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,使用IPV4无法支撑
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值