参考资料整理了Https相关的东西,还没有涉及Http2,Http3。之后会继续学习补充。 从https的作用、证书、加密几个方面说
1.HTTPS解决了什么问题
- 问题:中间人攻击
- 攻击方式:
- 域名污染:在DNS解析域名IP的中间链点抢答,返回给你一个错误的IP地址
- APR欺骗:局域网的物理地址和广域网的IP地址,局域网里路由需要知道连接它的设备的物理地址。通过ARP的广播向所有设备查询IP地址的物理地址。就会产生APR欺骗
2.为什么使用HTTPS是应对中间人攻击的唯一方式
-
HTTPS连接和HTTP连接的区别。 HTTP是明文传递的,容易被攻击。
-
HTTPS作用:加密,完整,身份认证
-
HTTPS连接过程:服务器-->浏览器。浏览器确认证书正确。并检查证书中对应主机名是否正确。如果正确就可以加密数据进行通讯,双方收到后再解密。
https作用
加密
https过程涉及的加密类型
信息要用钥匙加密,钥匙要非对称密过,证明身份要加密签名
1.对称加密和非对称加密
- 对称:会话双方使用相同的加密解密方式,会话前需要先传递密钥,密钥容易被窃取
- 非对称:加密和解密的不一样,公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。公钥是公开的在证书中,密钥是不会传播的。RSA。加密解密简单,破解密钥很难。
- 公钥和私钥
- 一把私有的钥匙,仅有用户才拥有。
- 一把公开的钥匙,可公开发行配送,只要有要求即取得。
非对称加密
2. RSA非对称算法加密和解密
RSA算法
- https://www.cnblogs.com/shijingxiang/articles/4445272.html
- https://blog.csdn.net/fangqun663775/article/details/55189107
- M:需要发送的信息的ASCII码
- 加密:EM = M^e%N。公钥:(N,e)发送信息的所有人
- 解密:M = EM^d%N。私钥:(N,d)接收信息的那个用户
- 与数字签名的关系。公开钥匙密码学最显著的成就是实现了数字签名。
3.对称加密信息+非对称加密钥匙,实现浏览器信息加密
最常见加密手法
4.数字签名,证明身份
image.png
- 用私钥加密信息,确认发送方唯一身份 encrypted
- 目的:用来确认发送方的身份
- 方式:用私钥对信息进行加密,从而产生签名
- 认证签名:接收方用公钥能解密,则确认发送方身份
- 解密后组成部分:0001、fff填充位置、256位的sha哈希
- 对照对象:tbsCertificate的DER编码做哈希后生成的sha哈希值
- 加密:用公钥加密信息,发送给唯一接收方,确保信息机密
5.证书
证书
- 证书:服务器-->浏览器
-
一个证书的包:*.tmall.com、GlobalSign Org.、GlobalSign Root
-
为什么要购买证书?有权威机构认证,存在有效期。
-
三个证书之间形成信任链,互相担保。
image.png
- 依赖tmall依赖于GlobalSign Org.,GlobalSign Org.为tmall做担保
- GlobalSign Root为GlobalSign Org做担保,Root是国家权威机构颁发的,在浏览器或者操作系统中自带
- GlobalSign为tmall证书做签名,只要签名正确就说明tmall证书合法
-
tmall证书
证书内容
- tmall的证书里会指明它的上一级证书是什么。GlobalSign Org.
- 内容:签名encrypted、签名算法algorithmIdentifier、被签名的证书signedCertificate
- signedCertificate展开包括证书里国家/省份/城市/组织名称/有效期/证书的公钥subjectPublicKey
-
连接过程详解
image.png
抓包工具捕捉到的过程
ClientHello
Server Hello
Certificate
PublicKey
KeyExchange
思考问题
image.png
image.png
补充
- 局域网和广域网的概念。物理地址和IP地址的概念。
- 使用HTTPS是应对中间人攻击的唯一方式
- 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。
参考过的资料
- mp.weixin.qq.com/s/0KhB6xxNl…
- mp.weixin.qq.com/s/MvMyH1vTC…
- http启用阶段安全性 www.jianshu.com/p/caa80c7ad…
- HTTP重定向至HTTPS也就是将80端口重定向至443端口blog.csdn.net/u013571994/…
- blog.csdn.net/anningzhu/a…
- howhttps.works/
- blog.csdn.net/qq_33301113…
- www.cnblogs.com/ghjbk/p/673…
证书
program-think.blogspot.com/2010/02/int…