https比http安全的原因总结

只谈情不闲聊 提交于 2019-11-28 17:25:50

http存在哪些问题:
1.不对通信方做确认
2.无法保证信息传输的安全(无法确认完整度且是明文),说明不能保证完整度,数据就有可能被修改

https的处理(SSL层处理):

  • 1 通过数字证书保证服务器安全
  • 2 加密

数字证书的验证:
1.客户端访问,服务端将公钥证书发送过来客户端
2.此时客户端开始验证证书
验证细节:

  • 服务器的运营人员向第三方机构CA提交公钥、组织信息、个人信息(域名)等信息并申请认证;
  • CA通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否合法,是否拥有域名的所有权等;
  • 如信息审核通过,CA会向申请者签发认证文件-证书。证书包含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构
    CA的信息、有效时间、证书序列号等信息的明文,同时包含一个签名。其中签名的产生算法:首先,使用散列函数计算公开的明文信息的信息摘要,然后,采用
    CA的私钥对信息摘要进行加密,密文即签名;
  • 客户端 Client 向服务器 Server 发出请求时,Server 返回证书文件;
  • 客户端 Client 读取证书中的相关的明文信息,采用相同的散列函数计算得到信息摘要,然后,利用对应
    CA的公钥解密签名数据,对比证书的信息摘要,如果一致,则可以确认证书的合法性,即服务器的公开密钥是值得信赖的。
  • 客户端还会验证证书相关的域名信息、有效时间等信息; 客户端会内置信任CA的证书信息(包含公钥),如果CA不被信任,则找不到对应
    CA的证书,证书也会被判定非法。

一句话总结:客户端会用本地公钥去验证server端发送的证书的合法性.

2.会话加密

  • 这里client端用伪随机函数生成器生成对称密钥,然后用公钥加密,发给server端
  • server端通过私钥解密,获取对称密钥
  • 后续就用对称秘钥去相互交流了.

这里用到的算法,伪随机函数生成,hash散列,不对称加密(RSA)算法,对称加密(如 AES)算法.

引用文章:

https://blog.csdn.net/howgod/article/details/89596638

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!