HTTPS协议原理

HTTPS协议原理

  • 一.前言-为何要有https协议
  • 二.加密与中间方劫持
    • 1.什么是加密
    • 2.为何要加密
    • 3.对称加密
      • 1.小例子
        • 2.好处和缺点
    • 4.非对称加密
    • 5.数据指纹/数据摘要
  • 三.站在设计者的角度提出方案
    • 1.只使用非对称加密 : 且只有server有密钥
    • 2.只使用非对称加密 : 且双方都有密钥
    • 3.非对称+对称 : client一个对称,server一对非对称
    • 4.如何解决中间人攻击问题
  • 四.CA证书
    • 1.介绍
    • 2.CA证书如何防止中间人攻击

一.前言-为何要有https协议

http协议在功能方面已经非常完善了,只不过安全性没有保障,因为数据都是明文传输的
get方法直接将数据以url参数的方式进行传递,post方法将数据以请求体的方式进行传递
虽然post比get安全那么一点,但是只要数据是明文传递的,那就一定不安全(隐私泄漏,数据被篡改等等安全问题)

所以大佬们在http协议之上引入了一个加密层,设计出了https协议

二.加密与中间方劫持

1.什么是加密

加密就是把 明文(要传输的信息)经过一系列变换,转换成密文
解密就是把 密文经过一系列变换,转换成明文

在这个加密和解密的过程中需要一些数据来辅助进行,这些数据被称为密钥

加密和解密涉及到密码学的范畴,我们只需要知道总是有很多方法对数据进行加密解密的,至于怎么加密和解密,有密码学的大佬负责研究

2.为何要加密

因为只要数据是明文传递的,那就一定不安全(隐私泄漏,数据被篡改等等安全问题)
在数据传输过程中,有中间方会进行劫持,窃取隐私信息或者篡改内容等等(至于中间方是谁? 技术既能向善又能向恶,都是被金钱蒙蔽了双眼…)
(想象一下,如果你在使用支付宝进行支付操作时,你的用户账号,密码和支付密码被中间方盗取了…当然这种情况现在不会发生了,因为有了https,人脸识别,指纹识别等等技术)

3.对称加密

对称加密是指:

加密和解密所用的密钥是相同的

特点: 加密解密计算量小,速度快

1.小例子

比如: 利用按位异或的可交换性和抵消性就可以搞一个对称加密
小明和小红要进行通信,它们都持有

你可能感兴趣的:(Linux网络编程,https,网络协议)