HTTPs 学习笔记

目录


HTTPS协议的简单理解

非专业解释,主要便于理解

流程描述

HTTPS的通信流程可以简单描述一下

可以认为服务器有两把钥匙,一把叫公钥 一把叫私钥(服务器)。
“公钥”的作用只有一个:让客户端对自己的信息加密。
1. 客户端发送请求。
2. 服务器返回证书。
3. 客户端对证书进行验证。(防止冒充服务器)
4. 客户端验证成功则进行第5步否则警告用户
5. 客户端会产生一个随机数并结合某种算法生成一个临时私钥
6. 客户端使用证书里面的公钥把临时私钥加密并传输给服务器
7. 服务器使用私钥解密客户端消息获取临时私钥
8. 客户端使用临时私钥加密并发送敏感信息(比如密码)
9. 服务器使用临时私钥解密并获取敏感信息


在上述过程中,所有的信息都是加密传输的。即使抓包也只是一堆看不懂的密文:没有拿到服务器的私钥那就没办法查看客户端与服务器的临时私钥,因为临时私钥是用公钥加密过的,只能用服务器的私钥解密。因此中间过程不可能下得了手。

客户端将这个随机生成的临时私钥用服务器的公钥加密发给服务器,服务器用自己的私钥解密,这时候服务器也就获取了临时私钥。

接下来的对话就不是非对称加密的方式了,而是使用的对称加密,服务器用临时私钥加密信息发给客户端,客户端也用临时私钥把信息解密。


一些HTTPs的知识点

  1. SSL/TLS协议
  2. 非对称加密
  3. 对称加密
  4. 单向散列函数
  5. 中间人攻击
  6. 域名劫持
  7. 签名
  8. 证书

关于HTTPs的好处

用了它后台就可以不必煞费苦心进行传输信息的加密了,省劲。

关于根证书

首先,一般系统会预置很多根证书,它们都是来自受信任的根证书颁发机构,并且全球也就那么几所机构而已。
受信任的证书颁发机构列表
其他网站如果需要使用HTTPs,那么只能向这些机构购买证书,
证书都有一个生效期以及失效期。

有时候使用机房的电脑上网总会提示证书警告,原因可能就是机房电脑的系统时间不对,要么还没到生效期要么就是过了失效期。
没有该CA机构的根证书,那么任何由这个机构颁发的证书都会无法通过
证书是可以自己生成,但是几乎所有的客户端都不信任你,想让客户端信任的话只能手动安装根证书才行

证书能不能伪造

关于证书能不能伪造的问题已经由一个很合理的描述:

数字证书里有CA的数字签名,签名是由证书内容的哈希摘要用CA的私钥加密的。用CA的公钥验证签名的合法性就可以验证证书的真假


参考资料

  1. 12306.cn 购票为什么要安装根证书?
  2. RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密?
  3. 私钥、公钥、数字签名、数字证书、HTTPS
  4. HTTPS必须在每次请求中都要先在SSL层进行握手传递秘钥吗?
  5. 聊聊HTTPS和SSL/TLS协议
  6. HTTPS 原理详解
  7. 浏览器如何验证HTTPS证书的合法性?
  8. HTTPS 服务器和客户端如何进行加密解密的?
  9. 公钥与私钥,HTTPS详解 (推荐看看)
  10. 国内CA机构沃通错误颁发GitHub域名SSL证书
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值