您当前的位置:首页 > 电脑百科 > 站长技术 > 网站

HTTPS是怎么保证网络通信安全的

时间:2019-09-09 11:48:18  来源:  作者:

导读:HTTP是一个优秀的通信协议,不过事物皆具有双面性,该协议也是有不足之处,大概有以下几点:

  • 使用明文传输,可能会被窃取不安全
  • 不验证通信方身份
  • 无法证明报文的完整性,证明不了报文是否被修改

一、HTTP不具备加密功能

HTTP协议本身是没有加密功能,所以无法对请求和响应等内容加密。HTTP报文均采用明文形式,数据包在网络间传输很容易就被人窃取,如使用抓包工具(Wireshark)等。在对数据包进行抓取后进行分析,由于报文是以明文形式传输,如果内容是关于如个人信息等重要隐私则可能会被他人获取后所利用,造成损失。

 

二、对内容进行加密

对内容加密是一种保护信息的好方法,HTTP是没有加密机制的,所以需要借助第三方来帮助实现加密。对内容加密的方式有很多如:

  • SHA安全散列算法
  • MD5信息-摘要算法
  • BASE64(BASE64Encoder、BASE64Decoder类)
  • RSA非对称加密算法
  • DES等

主要分为两大类,对称加密和非对称加密(对于加密这里就不做深入的讨论,感兴趣的朋友可以去查阅相关资料)。
 

三、只对内容进行加密的不足之处

  • 对于内容的加密并不能完全地保证信息的安全,因为即使对内容进行加密但数据包还是可以被窃取的,并且加密内容依然很有可能被解密出来。
  • HTTP协议通信中请求和响应是不会对通信方进行确认的,所以可能会遭遇身份伪装。如发送的服务器是否就是真的目标主机、响应是否返回到真实发出请求的客户端等。
  • 加密之后的报文虽然安全性提高了,但是还是证明不了报文内容是否被修改过。

所以只对内容加密并不完善,需要一种更加全面的安全解决方案,不仅保证内容安全也要保证通信的安全等多方面--HTTPS

三、什么是SSL和TSL?

在讨论HTTPS之前得先了解下SSL和TSL协议

相比较于不安全的HTTP,HTTPS是怎么保证网络通信安全的

 

  • SSL:安全套接层,位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。
  • TSL:安全层传输协议,用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。

SSL技术最初由网景公司主导开发,开发过SSL3.0之前的版本后来主导权转移到IETF。IETF以SSL为原型开发了TSL协议。当前主流版本是SSL3.0和TLS1.0。

四、HTTPS基础概念

HTTPS并不算是一个新协议,是将HTTP协议通信接口部分用SSL和TSL协议代替。如下图所示:

相比较于不安全的HTTP,HTTPS是怎么保证网络通信安全的

 

解析:从最初HTTP与TCP直接通信转变为HTTP先与SSL通信,之后SSL再与TCP通信。可以理解为HTTP加多了层SSL协议外套就变为了HTTPS。下面,通过一条公式来表达HTTPS:

HTTP + 加密 + 认证 + 完整性保护 = HTTPS

五、HTTPS是如何进行通信的?

概述:HTTPS通信过程结合了对称加密和非对称加密两种方法。HTTPS服务端在连接建立SSL通信时先会将自身的公钥发送给客户端。客户端拿到公钥后通过非对称加密与服务端协商数据传输通道的对称加密密钥。一旦双方协商出会话密钥,则后续的数据通讯就会一直使用基于该会话密钥的对称加密算法了。

相比较于不安全的HTTP,HTTPS是怎么保证网络通信安全的

 

具体流程

  1. 客户端发送报文开始SSL通信。
  2. 服务端可以进行SSL连接时就会发送应答报文给客户端。
  3. 接下来服务端发送Certificate报文(包含公开密钥证书)给客户端。
  4. 最后服务端发送通知报文通知客户端。
  5. 客户端先生成Pre-master secret随机密码,并以包含Pre-master secret且使用公钥加密的报文响应服务端。
  6. 客户端继续发送报文提示服务器说接下来的所有通信都采用Pre-master secret密钥加密。
  7. 客户端发送Finsh报文(该报文包含连接至今所有的整体校验值)
  8. 服务器也重复6 7步骤发送同样的报文,当Finsh报文交换结束后SSL连接算是建立完成。
  9. 接下来就是进行HTTP请求了,同时通信会受到SSL的保护。

六、使用HTTPS是否很完美?

  • HTTPS比HTTP通信慢
  • 导致客户端和服务器负载增强
  • 购买证书需要开销

HTTPS由于除了TCP连接、HTTP请求响应之外还需要进行SSL通信所以效率会相对与HTTP慢。其次,客户端和服务端需要进行加密和解密处理,当访问量多时会相对于使用HTTP来说负载增强。另外,进行HTTPS通信需要购买证书,可能对于一些服务或小型网站来说并不划算。

六、HTTPS在哪些场景下应用比较合适?

综上HTTPS的特点,HTTPS适用于多像交易支付等对安全性要求很高的服务进行加密通信,包括一些会包含个人敏感信息的服务等。如果非敏感信息等则使用HTTP通信。

七、总结

HTTP是一个优秀的协议,但是由于其不支持加密等原因导致安全性比较差。提高安全性的方式有多种,如采用加密算法对内容进行加密等。HTTPS协议则提供了较为完善的方案。HTTPS不是一种新协议,是通过HTTP结合SSL/TSL实现了通信安全。但是HTTPS也有其缺点,所以要结合具体场景情况合理地使用才能发挥HTTPS的强大作用。

感谢您的阅读,如果喜欢本文欢迎关注和转发,本头条号将坚持原创,持续分享IT技术知识。对于文章内容有其他想法或意见建议等,欢迎提出共同讨论共同进步。



Tags:HTTPS   点击:()  评论:()
声明:本站部分内容来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除,谢谢。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
概述最近在其中一台服务器碰到关于curl的报错:curl: (1) Protocol "https" not supported or disabled in libcurl,这里顺便记录下解决过程和思路~ 1、查看当前curl支持哪些协...【详细内容】
2020-06-26   HTTPS  点击:(2)  评论:(0)  加入收藏
大家都知道 HTTPS 比 HTTP 安全,也听说过与 HTTPS 协议相关的概念有 SSL 、非对称加密、 CA 证书等。但对于以下灵魂三拷问可能就答不上了: 为什么用了 HTTPS 就是安全的? HTTP...【详细内容】
2020-06-16   HTTPS  点击:(0)  评论:(0)  加入收藏
​一、设置CentOS7的yum源及EPEL yum源EPEL (Extra Packages for Enterprise Linux) 是由 Fedora Special Interest Group 为企业 Linux 创建、维护和管理的一个高质量附...【详细内容】
2020-06-08   HTTPS  点击:(25)  评论:(0)  加入收藏
引言最近上海连续下了一周雨,温度一夜之间回到解放前,穿夏装的我被冻得瑟瑟发抖,躲在家里哪也不想去。 在家百无聊赖的刷着网页,看到公众号后台的留言,有同学问我 HTTP 和 HTTPS...【详细内容】
2020-06-07   HTTPS  点击:(2)  评论:(0)  加入收藏
1 简介Nginx是一个非常强大和流行的高性能Web服务器。本文讲解Nginx如何整合https并将http重定向到https。https相关文章如下:(1)Springboot整合https原来这么简单(2)HTTPS之密钥...【详细内容】
2020-06-04   HTTPS  点击:(3)  评论:(0)  加入收藏
HTTP协议发展至今已经有二十多年的历史,整个发展的趋势主要是两个方向:效率和安全。效率方面,从HTTP1.0的一次请求一个连接,到HTTP1.1的连接复用,到SPDY/HTTP2的多路复用,到QUIC/HTTP3的基于UDP传输,在效率方面越来越高效。...【详细内容】
2020-05-27   HTTPS  点击:(5)  评论:(0)  加入收藏
这两天闲来无事,在网上看了一下,发现 HTTP 和 HTTPS 的区别很受关注,多位大牛做了很详细的阐述,非常深刻全面。但是小编还是发现一个问题,大牛们的描述太过于专业了,对于专业人士...【详细内容】
2020-05-20   HTTPS  点击:(1)  评论:(0)  加入收藏
简述本文主要介绍HTTPS以及SSL单向验证和双向验证。HTTPS介绍HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立安全信道,加密数据包。HTTPS...【详细内容】
2020-05-20   HTTPS  点击:(22)  评论:(0)  加入收藏
目标读者:理解HTTP协议,对称和非对称加密,想要了解HTTPS协议的工作原理...【详细内容】
2020-05-03   HTTPS  点击:(4)  评论:(0)  加入收藏
HTTPS简介HTTPS(Hyper Text Transfer Protocol Over Secure Socket Layer)是以安全为目标的HTTP通道。简单来说,通过HTTP协议访问的网站,在登陆和数据传输过程中所有信息都是没...【详细内容】
2020-04-24   HTTPS  点击:(5)  评论:(0)  加入收藏
作者:李银城链接: https://zhuanlan.zhihu.com/p/75461564本篇将讨论 HTTPS 的加解密原理,很多人都知道 RSA,以为 HTTPS=RSA,使用 RSA 加解密数据,实际上这是不对的。HTTPS 是使...【详细内容】
2020-04-21   HTTPS  点击:(1)  评论:(0)  加入收藏
对自己无知这件事本身的无知真的挺可怕认知偏差现象一直存在于我们每个人身上,谁也避免不掉,不过是有的人了解这件事儿,有的人不怎么知道而已,这就产生了「无知而不自知」的认知...【详细内容】
2020-04-18   HTTPS  点击:(5)  评论:(0)  加入收藏
整个 HTTPS 的演变跟流程细思极恐,有很多思想可以借鉴学习。我以后要离搞安全的朋友远一点。这篇将带你深入 HTTPS 加解密原理,希望看完能够有这些收获:· 明白 HTTPS...【详细内容】
2020-04-16   HTTPS  点击:(3)  评论:(0)  加入收藏
下面我们通过配置nginx来开启https访问1、ssl证书申请可以在阿里云上申请一个免费的需要在域名解析上加上解析值,阿里云会自动添加的。2、申请完后下载证书放到nginx上/usr/l...【详细内容】
2020-03-31   HTTPS  点击:(4)  评论:(0)  加入收藏
合格的web后端程序员,除搬砖技能,还必须会给各种web服务器启用Https,本文结合ASP.NET Core部署模型聊一聊启用Https的方式。温故知新目前常见的Http请求明文传输,请求可能被篡改...【详细内容】
2020-03-26   HTTPS  点击:(5)  评论:(0)  加入收藏
tomcat中的证书配置参数如下:<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150" SSLEnabled="true" scheme="https" secure="t...【详细内容】
2020-03-17   HTTPS  点击:(12)  评论:(0)  加入收藏
今天来给大家谈谈HTTPS 的 7 次握手以及 9 倍时延。HTTP 协议(Hypertext Transfer Protocol)已经成为互联网上最常用的应用层协议,然而其本身只是用于传输超文本的网络协议,不会...【详细内容】
2020-03-15   HTTPS  点击:(18)  评论:(0)  加入收藏
随着 HTTPS 建站的成本下降,现在大部分的网站都已经开始用上 HTTPS 协议。大家都知道 HTTPS 比 HTTP 安全,也听说过与 HTTPS 协议相关的概念有 SSL 、非对称加密、 CA 证书等...【详细内容】
2020-03-04   HTTPS  点击:(11)  评论:(0)  加入收藏
购买SSL证书要想使用https访问你的网址,首先得拥有颁发的SSL证书。我使用的是免费版,有效期为一年,过期后再重新申请。 申请SSL证书购买后,可在搜索框输入证书关键字进入到控...【详细内容】
2020-02-24   HTTPS  点击:(11)  评论:(0)  加入收藏
Http存在的问题上过网的朋友都知道,网络是非常不安全的。尤其是公共场所很多免费的wifi,或许只是攻击者的一个诱饵。还有大家平时喜欢用的万能钥匙,等等。那我们平时上网可能...【详细内容】
2020-02-23   HTTPS  点击:(17)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条