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

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   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1. 前言本文主要讲解如何在Linux上使用tinyproxy搭建HTTP/HTTPS代理器。tinyproxy是一个HTTP/HTTPS代理。它是轻量级的、快速的、非常容易配置的,而且是一个开源的代理服务。...【详细内容】
2021-12-08  Tags: HTTPS  点击:(18)  评论:(0)  加入收藏
由于https 使用了 TLS/SSL 加密条件,我们无法直接在wireshark的中读取到数据内容,我们先看一下正常的http包的内容。可以直接读取到http的header 和body。 但如果是https 则不...【详细内容】
2021-12-01  Tags: HTTPS  点击:(31)  评论:(0)  加入收藏
这段时间毕竟也是 “金九银十” 的面试的黄金季节,阿粉当然也想去面试,但是因为自身受限,所以只能采访一下出去面试的同学们都问了什么内容,其中有一个,阿粉觉得有必要给大家分享...【详细内容】
2021-11-05  Tags: HTTPS  点击:(45)  评论:(0)  加入收藏
自互联网出现以来,超文本传输协议http协议被广泛用于在Web浏览器和网站服务器之间传递信息,但随着互联网的发展,另一种协议——https出现,并与http一同服务于这个互联...【详细内容】
2021-10-20  Tags: HTTPS  点击:(44)  评论:(0)  加入收藏
背景最近做微信小程序开发比较多,大家知道线上微信小程序为了安全起见,要求后端通信协议必须是HTTPS,这就要求需要安装证书。为了测试预发布线上环境,特地买了个最便宜的域名,为...【详细内容】
2021-09-14  Tags: HTTPS  点击:(125)  评论:(0)  加入收藏
随着互联网安全越来越被重视,几乎所有的大网站都已经默认启用了https协议,浏览器输入http网址也会自动跳转到https,比如百度、腾讯、搜狗、谷歌等等。简单来说就是https协议数...【详细内容】
2021-09-06  Tags: HTTPS  点击:(76)  评论:(0)  加入收藏
为什么要优化 Ngin HTTPS 延迟Nginx 常作为最常见的服务器,常被用作负载均衡 (Load Balancer)、反向代理 (Reverse Proxy),以及网关 (Gateway) 等等。一个配置得当的 Nginx 服...【详细内容】
2021-08-11  Tags: HTTPS  点击:(53)  评论:(0)  加入收藏
我们日常用https访问网站的时候,和网站交互的数据是加密的,所用的协议就是SSL/TLS。所以即使我们截获了这些数据包,我们也不能看到加密的内容。比如我们随便打开百度的网址,用wi...【详细内容】
2021-07-16  Tags: HTTPS  点击:(127)  评论:(0)  加入收藏
1. 实验说明:前面的章节我们已经简单学习了windows server2019上如何搭建web服务器的,有的同学可能在上网的过程中会发现有些域名是使用的http访问而有的域名则是使用https加...【详细内容】
2021-07-07  Tags: HTTPS  点击:(147)  评论:(0)  加入收藏
说明最近项目上遇到一些https的问题,需要在tomcat里面测试一下如何开启https协议访问网站,在网上查了一些资料,自己也试了很多次,终于成功搞定了,下面跟大家分享一下我的一点经验...【详细内容】
2021-04-20  Tags: HTTPS  点击:(162)  评论:(0)  加入收藏
▌简易百科推荐
今天我们来聊一下北京地区的《ICP经营许可证》有多好办,现在的互联网上提供的商机越来越多,增值电信业务十分火爆,企业通过互联网突破地域的限制,把公司产品卖到更远的地方,同时...【详细内容】
2021-12-17  梦想理应飞翔Yy    Tags:《ICP经营许可证》   点击:(12)  评论:(0)  加入收藏
转自: https://blog.kermsite.com/p/blog-intro/由于格式问题,部分链接、表格可能会失效,若失效请访问原文此专题将详细介绍如何从零开始搭建一个个人博客。Dec 01, 2021阅读时...【详细内容】
2021-12-17  LaLiLi    Tags:个人博客   点击:(7)  评论:(0)  加入收藏
SP证是第二类增值电信业务经营许可证的简称。分为全网SP证和地网SP证。申请经营许可证是在工信部申请,全网SP经营许可证的有效期是5年,全网SP许可证在工信部办理全网SP续期,地...【详细内容】
2021-11-01  s陳述    Tags:sp证书   点击:(39)  评论:(0)  加入收藏
现在还有许多人不知道EDI许可证是什么东西今天我就来给大家讲解一下.EDI许可证就是一种增值电信业务经营许可证。是针对在线数据处理和交易处理业务需求的专业资格证书。 《...【详细内容】
2021-10-28  soberXx    Tags:edi许可证   点击:(75)  评论:(0)  加入收藏
元素的化学概念,如周期表中的化学元素,一切物质都是由元素构成的。对程序员而言,网站建设制作就是代码构成网站。企业网站设计者也收集了各种各样的元素,但并非所有元素都需要运...【详细内容】
2021-10-26  南宁云尚网络    Tags:企业网站   点击:(40)  评论:(0)  加入收藏
在运营网站的过程中,有一件不可忽略的事情。那就是网站上线之前需要完成 ICP 备案。说到这里,很多朋友就提出疑问了~· 什么是 ICP 备案呢?· ICP 备案需要哪些材...【详细内容】
2021-10-22  启测云    Tags:ICP备案   点击:(46)  评论:(0)  加入收藏
最近有朋友问我,我公司有外资就不能申请ICP许可证了么?外资的定义是什么?其实是可以的,但有一个特定条件必须满足,外资公司是指公司有外资股东,比如香港、加拿大、美国、韩国等等,...【详细内容】
2021-10-21  小白速看Z    Tags:ICP   点击:(51)  评论:(0)  加入收藏
自互联网出现以来,超文本传输协议http协议被广泛用于在Web浏览器和网站服务器之间传递信息,但随着互联网的发展,另一种协议——https出现,并与http一同服务于这个互联...【详细内容】
2021-10-20  我是FEIYA    Tags:https   点击:(44)  评论:(0)  加入收藏
Grafana Loki 是一个日志聚合工具,它是功能齐全的日志堆栈的核心。图片来自 包图网先看看结果有多轻量吧: Loki 是一个为有效保存日志数据而优化的数据存储。日志数据的高效索...【详细内容】
2021-09-14    51CTO  Tags:Loki日志   点击:(97)  评论:(0)  加入收藏
背景最近做微信小程序开发比较多,大家知道线上微信小程序为了安全起见,要求后端通信协议必须是HTTPS,这就要求需要安装证书。为了测试预发布线上环境,特地买了个最便宜的域名,为...【详细内容】
2021-09-14  小李子说程序    Tags:HTTPS证书   点击:(125)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条