zoukankan      html  css  js  c++  java
  • Http和HTTPS

    Http和HTTPS

    Tags: 面试


    1. 为什么需要Https

    1.1 Http协议的缺点

    • 通信使用明文传输,内容可能会被窃听。
    • 不验证通信方的身份,有可能遭遇跨站请求伪造。
    • 无法证明报文的完整性,有可能发生报文被修改的状况。

    1.2 Https如何解决上述问题。

    Https是在Http的基础之上加入加密处理,认证机制和完整性保护的。即Http+加密+认证+通信保护=Https

    • 通过加密可以防止明文传输的时候密码等关键信息被窃取。
    • 通过认证确保通信方的身份,防止出现跨站点的请求伪造攻击。
    • 通过完整性保护,确保在信息的传输过程中没有遭到信息篡改的状况。

    1.3 实现方案

    Https并不是一种新的协议,只是http通信接口部分使用ssl/tls协议代替而已。通常http是直接和tcp进行通信确保在不收到外部干扰的情况下,保证信息的完整性接收。但是Http协议是在httptcp之间加入了ssl/tls。让http先和ssl/tls进行通信,然后ssl/tls再去和tcp进行通信。在中间的ssl/tls的过程中对传输的信息进行加密,认证,保护。 去防止上面讲到的Http的缺点。

    其实所谓的Https就是在Http和TCP之间加了一个SSL。


    2. SSL/TLS是什么

    SSL是(Secure Sockets Layer)的缩写,中文成为安全套接层。这个是网景公司(NetScape网景浏览器?)设计的。

    为何要发明SSL这个协议?以为之前的HTTP协议是明文的,存在很多缺点具体的看上面。发明这个协议就是为了解决上述问题。

    SSL/TLS协议的基本思路就是采用公钥加密,也就是说,客户端向服务端索要公钥,然后用公钥加密信息,服务器收到密文之后,用自己的私钥解密。但是这里存在两个问题:

    1. 如何保证公钥不被篡改
    2. 公钥加密,私钥解密计算量太大,比较耗费时间如何减少耗用的时间。

    解决方案

    1. 将公钥放在数字证书当中,只要证书是可信的,那么公钥就一定是可信的。
    2. 每一次对话(Session),客户端和服务端都生成一次对话秘钥,又变成了对称加密,且对称加密的秘钥泄露的风险会大大降低。

    这种搭配使用可以延伸到GC,Redis锁。

  • 相关阅读:
    第6 章 : 应用编排与管理:Deployment
    第5 章 : 应用编排与管理:核心原理
    第4 章 : 理解 Pod 和容器设计模式
    第3 章 : Kubernetes 核心概念
    第2 章 : 容器基本概念
    第1 章 : 第一堂“云原生”课
    阿里云原生技术公开课程-讲师记录及视频链接
    Shell中的(),{}几种语法用法-单独总结
    折腾kubernetes各种问题汇总-<1>
    Kubernetes中Deployment部署故障排除
  • 原文地址:https://www.cnblogs.com/A-FM/p/11810649.html
Copyright © 2011-2022 走看看