HTTPS演进

演进一: HTTP

HTTP明文传输不安全,任何人都可能从中截获请求、修改请求或伪造请求进行发送。

  • 没有用户验证
  • 不验证报文完整性

HTTPS演进_第1张图片

演进二:对称加密

对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥,作为私钥。

常见的对称加密算法:DES,AES,3DES等等。

HTTPS演进_第2张图片

演进三:非对称加密

非对称加密指的是:加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。私钥加密的信息,只有公钥才能解密。

常见的非对称加密算法:RSA,ECC

HTTPS演进_第3张图片

演进四:非对称加密协商对称加密Key,利用Key进行对称加密

总结一下以上的缺点:

  • HTTP明文传输,不安全!
  • 对称加密,Key固定,所有人都能拿到Key进行数据解密,不安全!
  • 非对称加密,Client向Server发送数据安全,Server向Client发送数据不安全!

综合以上:

  • 利用非对称加密,Client向Server发送数据安全的方式,达成Key值的协商
  • 利用Key,完成对称加密实现安全数据传输

HTTPS演进_第4张图片

演进五:对称加密 + 非对称加密 + CA

演进四问题:中间人问题!

CA又称为证书颁发机构,主要用于颁发数字证书,用一个无法篡改的数字证书来表明身份,防止数据在通讯过程中被篡改和窥探,数字证书通常分为以下几种:

  • 个人身份证书。
  • 企业或机构身份证书。
  • 支付网关证书。
  • 服务器证书。
  • 企业或机构代码签名证书。
  • 安全电子邮件证书。
  • 个人代码签名证书。

HTTPS演进_第5张图片

最终版本:对称加密 + 非对称加密 + hash + CA

  1. C -> S:支持的SSL版本、非对称加密算法、随机数1
  2. S->C:用SSL1.0版本、对称加密算法、随机数2、证书
  3. C:证书认证成功!
  4. C -> S:随机数3,hash(1、2) = xx
  5. S:xx == hash(1、2) 随机数1、2、3算数运算 = k
  6. S->C:hash(1、2、4) = zz
  7. C:hash(1、2、4) == zz 随机数1、2、3算数运算 = k

你可能感兴趣的:(HTTP,HTTPS演进)