HTTPS的安全性是如何保证的

HTTPS的安全性是如何保证的

  • 保证安全需要做到哪些点?
    • 1. 不能让第三方获取到明文消息
      • 1.1对称加密:指的就是加密和解密使用同一个秘钥
      • 1.2非对称加密:使用两个密钥:公钥和私钥,公钥可以任意分发而私钥保密
        • 1.2.1公钥和私钥的生成(RSA算法)(这只是其中一种算法)
        • 1.2.2非对称加密应用流程
    • 2. 保证接收方收到的消息传输过程中没有被修改
      • 2.1 摘要算法的作用
      • 2.2具体流程
    • 3. 确保接收到的消息是指定发送方发送过来的
      • 3.1问题描述
      • 3.2 认证流程
      • 3.3发送消息流程
  • 总结

保证安全需要做到哪些点?

1. 不能让第三方获取到明文消息

这一点可以有两种方式保证,对称加密和非对称加密。

1.1对称加密:指的就是加密和解密使用同一个秘钥

优点:算法公开、计算量小、加密速度快、加密效率高。
缺点:秘钥的管理和分发非常困难,不够安全。

1.2非对称加密:使用两个密钥:公钥和私钥,公钥可以任意分发而私钥保密

非对称加密要符合这三条性质:
①公钥和私钥都可作为加密或解密的一方。
②一方加密后,只有另一方可以解密,加密方不能解密。
③公钥不能推导出私钥,至少在数学理论上不能。

优点:安全性更高,公钥是公开的,秘钥是自己保存的,不需要将私钥给别人。
缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

1.2.1公钥和私钥的生成(RSA算法)(这只是其中一种算法)

HTTPS的安全性是如何保证的_第1张图片

1.2.2非对称加密应用流程

HTTPS的安全性是如何保证的_第2张图片

2. 保证接收方收到的消息传输过程中没有被修改

这点可以用摘要算法保证。

2.1 摘要算法的作用

虽然老王不能获取消息,但是老王可以拿到密文后修改密文,在发给小刘。这个时候就需要将消息先进行加密算法,然后将消息和摘要消息1用公钥加密发送给小刘,小刘收到后用私钥解密,然后再用相同的摘要算法算出摘要消息2,摘要消息1和2对比,相同的话就说明没有被篡改。

2.2具体流程

HTTPS的安全性是如何保证的_第3张图片
读者们是否有这样的疑问,如果加密算法被老王知道了,那不是也能修改?其实是不能的,因为老王是没有私钥的,他是不能解密出消息的,所以也就不能清楚的区分消息与摘要消息。

3. 确保接收到的消息是指定发送方发送过来的

这一点能用数字证书保证。

3.1问题描述

看了上面的消息传输方法,其实还不是很安全。在第二步小张收到的公钥其实是不能保证是小刘发过来的,也就是公钥有可能被替换掉。这个时候就需要数字证书了。
发送公钥的一方需要提前向CA(数字证书认证)机构认证数字证书。

3.2 认证流程

HTTPS的安全性是如何保证的_第4张图片

3.3发送消息流程

HTTPS的安全性是如何保证的_第5张图片

如果数字证书不正确,会有类似这样的提示

HTTPS的安全性是如何保证的_第6张图片

总结

  1. 非对称加密的方式实现信息的机密性,解决了窃听的风险。但实际HTTPS中非对称加密只是在连接建立初期用来生成对称加密秘钥的,生成之后双方用此秘钥进行对称加密传输消息,毕竟非对称加密开销太大。
  2. 摘要算法的方式来实现完整性,它能够为数据生成独一无二的「指纹」,指纹用于校验数据的完
    整性,解决了篡改的风险
  3. 将服务器公钥放入到数字证书中,解决了冒充的风险

你可能感兴趣的:(HTTP,https,安全,http)