http和https的内核

1.加密

​ 加密有两种:对称加密非对称加密

对称加密

  • 发送端通过f(x,k)=y,也就是发送端将信息x通过常量k经过一定的算法得到加密过后的y

  • 接收端通过f(y,k)=x,也即是通过得到的y和k通过一定的算法得到x。

    这种方式较为简单,k都是要放在传输的信息当中。比较容易破解

非对称加密

  • 也就是发送端和接收端都是通过不同的值来加密和解密的

  • 发送端通过f(x,a)=y,发送端通过a和一定的算法得到加密过后的y

  • 接收端通过f(y,b)=x,接收端通过b和一定的算法得到解密过后的x

    x只在接收方保存,如果要解密发送端发送的消息就只能由接收端解密。所以非对称加密较为安全

优缺点

非对称加密太过于简单,不安全。但加密和解密数据却非常的快

非对称加密比较安全,但加密和解密数据时非常的耗时。

https是结合了对称加密和非对称的优点形成的。

2.Http

​ http采用的是明文传输,当居心不轨的人截获了http请求时就可以直接看到传输的内容。比如登陆的一些账号密码等等,就直接泄露了。

3.Https

https的加密过程:

http和https的内核

Tips:

  • 证书颁发机构(CA, Certificate Authority)

过程描述:

  1. 首先客户端向服务端发送请求说我要和你进行会话

  2. 服务端收到请求向客户端发送服务端的公钥,公钥是经过GlobalSign Root CA签字认证的。

  3. 客户端收到服务端传来的公钥到CA处认证一下是否为哔哩哔哩的服务器的公钥

  4. 发现是哔哩哔哩的服务器后自己随机生成一个随机密钥用做以后传输信息加密使用,并将随机密钥使用哔哩哔哩的公钥加密再发送给哔哩哔哩的服务器。

  5. 哔哩哔哩的服务器使用自己的私钥解密刚刚接收到加密过的信息得到随机密钥

  6. 从此两台两端之间就使用刚刚生成的随机密钥进行对称加密传输信息

    此过程中先通过第三方签证机构认证服务器的真实性,再通过公钥加密随机生产的随机密钥由服务端解密,此过程确保了随机密钥的安全性。

    再通过随机密钥加密和解密信息,此过程利用了对称加密的加密解密速度快的优点达到安全与快速传输信息的目的

4.浏览器怎么通过CA知道对方是哔哩哔哩的服务器

流程图如下:

http和https的内核

  1. 哔哩哔哩服务器向CA请求想通过https访问,将公钥发给CA
  2. CA使用自己的私钥加密发送给哔哩哔哩服务器。
  3. 客户端拿到哔哩哔哩服务器经过CA私钥加密过后的文件询问CA的公钥用来解密发现确实是哔哩哔哩服务器所以就开始了生成随机密钥(回到上面的第4步)
上一篇:基于CFSSL工具创建CA证书


下一篇:Windows mitmproxy的配置和使用