https详解

Https是以安全为目标的http协议在传输层和应用层之间加入了SSL/TLS安全协议使得报文能够加密传输,使用了混合加密来保证数据的安全性,消息摘要来保证数据的完整性,以及使用CA(数字证书认证机构) 来保证服务器网站没有被冒充。

1.混合加密

http传输的信息是以明文的形式进行传输非常的不安全存在很多风险
1.被窃听的风险,窃取传输的信息内容
2.被篡改的风险,修改传输的信息
3.被冒充的风险,窃取到传输的信息将其修改并且替换成钓鱼网站

HTTPS则对明文进行的加密,传输的是密文
加密算法:对称加密和非对称加密
HTTPS则使用的是混合加密,即两种加密方式都有

2.消息摘要

在传输数据的时候对明文进行摘要,然后将明文和摘要一起使用密匙加密再传输,当服务器收到密文进行解密得到明文和摘要然后将明文再使用相同的摘要算法进行摘要然后比对就可以判断数据的完整性

3.CA证书

使用数字证书,服务器先将公匙注册到CA机构,CA机构使用私钥进行加密生成数字认证证书 证书中包含有服务器的公匙和网站域名等信息。这样可以防止访问的网站被冒充从而窃取信息出现安全问题


SSL/TLS协议流程:

  1. 客户端向服务器端请求服务器公匙
  2. 客户端和服务器协商产生密钥
  3. 双方采用密钥进行加密通信
    前两个阶段是SSL/TLS协议通信的建立阶段,也就是握手阶段

SSL/TLS的四次握手:

1.第一次握手:
(1)客户端发送一个Client Hello的报文请求加密通信,报文中有客户端产生的随机数(Client Random),客户端支持的密码套件列表,客户端支持的SSL/TSL协议版本号
2.第二次握手:
(1)服务器发送一个Server Hello的报文响应,确认SSL/TSL的版本号,确认使用的密码套件列表,服务器生成的随机数(Server Random)
(2)Server Certificate报文,包含服务器使用的数字证书
(3)ServerHelloDone报文,表示服务器响应结束,初级握手阶段结束

客户端得到了数字证书之后,会使用CA机构的公钥进行解密(CA机构的公匙一把都预先存放在浏览器和操作系统中),得到服务器的公钥以及服务器网站的域名等信息

3.第三次握手:
(1)客户端发送Client Key Exchange 的报文,包含一个经过服务器公钥加密的随机数(Pre-Master Key)
(2)再发送一个Change Cipher Spec报文通知加密通信算法改变,之后都改变为会话密钥进行加密通信
(3)最后发送一个Finshed报文表示客户端的握手阶段结束,并且将之前发送的所有内容数据做个摘要以供服务器校验
4.第四次握手
(1)服务器发送一个Change Cipher Spec报文通知加密通信算法改变,变为使用会话密钥进行加密通信
(2)最后发送一个Finshed报文,表示服务器握手阶段结束,并且将之前发送的数据内容做个摘要以供客户端校验

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值