美文网首页
HTTP与HTTPS的理解

HTTP与HTTPS的理解

作者: 特大碗牛肉面 | 来源:发表于2018-10-07 16:41 被阅读0次

    HTTP的概念:

    HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。

    HTTP的缺点:

    通信使用明文,内容可能会被窃听;
    不验证通信方的身份,因此有可能遭遇伪装;
    传输过程进过多节点的时候容易被拦截篡改(HTTP无需证书,所以客户端无法判断异常);

    HTPPS的概念:

    HTTPS并不是一种新的协议,简单来说就是一个加强版的HTTP,运行在SSL或者TLS层上(TLS:Transport Layer Security),HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密(多节点过程中篡改,客户端会报异常)。

    HTTPS实现原理:

    • 对称加密:

    加密和解密使用同一个密钥,而且需要在网络上传输密钥和密文(不安全);

    • 非对称加密:

    加密和解密使用不同的密钥,分别称为公钥和私钥; 我们可以用公钥对数据进行加密,但是必须用私钥才能解密. 在网络上只需要传送公钥,私钥保存在服务端用于解密公钥加密后的密文。但是非对称加密消耗CPU资源非常大,效率很低,严重影响HTTPS的性能和速度.因此非对称加密也不是HTTPS的理想选择;

    • 哈希算法(不是加密)

    指把数据通过某种公开的算法变成固定长度的hash值,这个过程可以使用密钥也可以不使用,这种加密算法是不可逆的,也就是说不能从加密后的hash值解密还原成明文,因此,这种算法通常用于验证数据是否被篡改和数据是否一致。因为同样的明文加密后得到是相同的hash值。

    数字证书:

    公钥就是被包含在数字证书中;数字证书通常来说是由受信任的数字证书颁发机构CA,在验证服务器身份后颁发, 证书中包含了一个密钥对(密钥和公钥)和所有者的识别信息。数字证书被放到服务端,具有服务器身份验证和数据传输加密功能。除了CA机构颁发的证书以外,还有非CA机构颁发的证书和自签名证书;

    • 非CA机构即是不受细心人的机构颁发的证书,理所当然的证书是不受信任的;
    • 自签名证书,就是自己给自己颁发的证书,当然自签名证书也是不受信任的;

    HTTPS的缺点:

    • HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;
    • HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
    • SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。
    • SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。
    • HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。(HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。)

    HTTPS的加密方式:

    客户端使用对称加密生产密钥对传输数据进行加密,然后使用非对称加密的公钥再对Key进行解密(性能不错而且安全)

    相关文章

      网友评论

          本文标题:HTTP与HTTPS的理解

          本文链接:https://www.haomeiwen.com/subject/opclaftx.html