Https 学习

180 阅读2分钟

1.传统http 的请求过程

image.png

2.https特点

  1. 保密 防泄密
  2. 完整 防篡改
  3. 真实 防假冒

Https = http + ssl

3.密码学

1. 对称

密钥有 : 加密和解密 功能

对称加密就是指,加密和解密使用同一个密钥的加密方式。

image.png

用户A 拿 文件file1 + 密钥 = 加密文件m1 用户B 拿 加密文件m1 + 密钥 = 文件file1

由于A B 都有秘钥,所以被盗用的可能性更高,一旦泄漏A B的数据都泄漏

2.非对称

image.png

定义:两个密钥:公开密钥(public key)和私有密钥(private key)

公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密

  1. 产生一对密钥
  2. 公钥:加密
  3. 私钥:解密
  4. 公钥一般保存在服务器,私钥在普通个人用户上,如ssh远程登录
  5. 由于私钥在个人,被盗用的基数减少
  6. 在https里,由于CA机构是大服务器(存放公钥),所以自己服务存放私钥。

效率比较(速度):

对称加密: 非对称加密 = 1: 1000

4.ssh验证流程

image.png

5.https 验证流程

  1. 服务器先生成私钥和公钥

  2. 服务器提交公钥到CA证书中心

  3. CA返回证书请求服务器

  4. 客户端开始与服务器https请求

  5. 服务器返回证书+公钥给客户端

  6. 客户端再请求CA中心,验证公钥与证书的有效性

  7. CA返回验证结果,如果验证有问题会有警告提示。

  8. 客户端生成随机key比如 100 ,并用公钥加密,加密后比如200 ,开始请求服务器

  9. 服务端拿到加密后的200,使用自己的私钥解密把200还原为100。

  10. 服务器使用100做对称的密钥,把明文数据加密后返回客户端(后面整个过程都是对称加密,加密的密钥就是随机key)

  11. 客户端用刚才的100解密出内容,同时如果再请求,也一样用100做加密请求服务器

  12. 服务器一样通过加密的对称密钥与客户端交互 image.png