HTTPS

HTTPS 是什么?

  • 是安全的超文本传输协议,基于HTTP开发,用于在客户端和服务器之间交流信息。
  • HTTPS 应用了SSL(安全套接字层)作为HTTP应用层的子层 (HTTP OVER SSL/TSL),SSL运行在TCP/IP层之上、应用层之下,为应用程序提供加密数据的安全通道
  • HTTPS使用端口443, HTTP使用端口80进行通信
  • HTTPS是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 ,HTTP是无状态的协议
  • HTTPS 与 HTTP 的安全性相比安全性提升了就是因为安全通信通道的建立

对称加密 与 非对称加密

【对称加密】

  • 对称加密简单的说就是双方都使用相同的key加密和解密。
  • 前提是双方要通信了才能知道这个相同的 key
  • 使用对称加密,客户端和服务端都需要保存大量的加密算法和对应的密钥,管理成本巨大且容易泄漏

【非对称加密】

  • 非对称加密就是使用不同的keys进行加密和解密,keys通常分为公钥和私钥

  • 非对称的含义相对于对称来说,就是你即使知道怎么加密的的方式,也不知道怎么解密,术语来讲的话,就是我们熟知的公钥和私钥,服务端将公钥发送给客户端,客户端使用公钥加密信息,服务端接受消息后使用私钥解密。

相比而言非对称加密相比对称加密的应用是比较广泛的,但是服务器端发送公钥时还需做一定的安全措施,确保这个公钥不会被别人篡改过,于是就需要公信的证明。

公信的证明

  1. 服务器把自己的公钥登录到 CA(certificate agent 代理证明机构)
  2. CA 会用自己的私钥给服务器的公钥加密生成签名并颁发证书(保护膜),证书中包- 含对公钥做的签名和服务端的公钥;
  3. 客户端拿到消息体后,会用浏览器内置的 CA 的公钥对用私钥做的签名进行验证,如果验证通过表示安全,否则表示不安全。

这个公信的过程是,服务器把公钥给到CA,CA用自己的私钥生成一个证书,证书包含这个服务器的公钥和对公钥做的签名,客户端拿到证书以后,利用浏览器内置的CA对这个证书验证,验证通过的话才进行通信,这样子安全信更加的高了

HTTPS 建立安全连接流程

  1. 客户端给出协议的版本号、一个客户端生成的随机数和客户端支持的加密算法;
  2. 服务端在客户端给出的加密算法列表中选出一种,并给出数字证书和一个服务端生成的额随机数;
  3. 客户端确认数字证书的有效性,然后生成一个新的随机数,并使用数字证书中的公钥加密这个随机数;
  4. 服务端使用私钥解密,获取客户端发来的随机数;
  5. 客户端和服务端根据约定的加密方法,使用之前的三个随机数,生成对话密钥,这个密钥会用来加密接下来的整个通信过程

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值