https比http安全的原因总结

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值