【网络安全】HTTPS为什么比较安全

简介: 【网络安全】HTTPS为什么比较安全

HTTP和HTTPS简介

1. HTTP协议为什么是不安全的

http协议属于明文传输协议,交互过程以及数据传输都没有进行加密,通信双方也没有进行任何认证,通信过程非常容易遭遇劫持、监听、篡改,严重情况下,会造成恶意的流量劫持等问题,甚至造成个人隐私泄露(比如银行卡卡号和密码泄露)等严重的安全问题。

可以把http通信比喻成寄送信件一样,A给B寄信,信件在寄送过程中,会经过很多的邮递员之手,他们可以拆开信读取里面的内容(因为http是明文传输的)。A的信件里面的任何内容(包括各类账号和密码)都会被轻易窃取。除此之外,邮递员们还可以伪造或者修改信件的内容,导致B接收到的信件内容是假的。

比如常见的,在http通信过程中,“中间人”将广告链接嵌入到服务器发给用户的http报文里,导致用户界面出现很多不良链接; 或者是修改用户的请求头URL,导致用户的请求被劫持到另外一个网站,用户的请求永远到不了真正的服务器。这些都会导致用户得不到正确的服务,甚至是损失惨重。

2. HTTPS如何保证安全

我们都知道HTTPS是安全的HTTP,那么HTTPS是如何保证通信过程的安全的呢?

如果服务器给客户端的消息是密文的,只有服务器和客户端才能读懂,就可以保证数据的保密性。同时,在交换数据之前,验证一下对方的合法身份,就可以保证通信双方的安全。(和我们平时开发中RSA加签验签,加密解密的过程比较像)。HTTPS就是利用了类似的原理来保证通信的安全性。下面我们来看下具体的实现流程。

SSL协议

HTTPS实现安全通信的基础是SSL协议。

SSL:(Secure Socket Layer,安全套接字层),为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取。当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

SSL协议的主要功能

  • 认证用户和服务器,确保数据发送到正确的客户机和服务器;
  • 加密数据以防止数据中途被窃取;
  • 维护数据的完整性,确保数据在传输过程中不被改变。

下面我们就具体来 看看SSL协议是怎么来实现上面三个功能的。

SSL协议加密数据的原理

上面提到SSL协议会把通信的报文进行加密,那么服务器把数据加密后,客户端如何读懂这些数据呢?服务器必须要把加密的密钥(SSL中报文加密使用了对称加密技术,比如DES,3DES,AES等)告诉客户端,客户端才能利用对称密钥解开密文的内容。但是,服务器如果将这个对称密钥以明文的方式给客户端,还是会被中间人截获,中间人也会知道对称密钥,依然无法保证通信的保密性。但是,如果服务器以密文的方式将对称密钥发给客户端,客户端又如何解开这个密文,得到其中的对称密钥呢?下面请看SSL的骚操作。

用户和服务器的认证流程

  1. 中间人劫持

上面的加密流程似乎很完美,也的确能将报文加密传输,但是这种方式还是不能抵御"中间人接触"。三次握手或者客户端发起HTTP请求过程中,客户端的请求被中间人劫持,那么中间人就可以伪装成“假冒客户端”和服务器通信:

中间人在收到服务器发送给客户端的公钥(这里是“正确的公钥”)后,并没有发给客户端,而是中间人将自己的公钥(这里中间人也会有一对公钥和私钥,这里称呼为“伪造公钥”)发给客户端。之后,客户端把对称密钥用这个“伪造公钥”加密后,发送过程中经过了中间人,中间人就可以用自己的私钥解密数据并拿到对称密钥,此时中间人再把对称密钥用“正确的公钥”加密发回给服务器。此时,客户端、中间人、服务器都拥有了一样的对称密钥,后续客户端和服务器的所有加密数据,中间人都可以通过对称密钥解密出来。

为了解决此问题,我们引入了数字证书的概念。服务器首先生成公私钥,将公钥提供给相关机构(CA),CA将公钥放入数字证书并将数字证书颁布给服务器,此时服务器就不是简单的把公钥给客户端,而是给客户端一个数字证书,数字证书中加入了一些数字签名的机制,保证了数字证书一定是服务器给客户端的。中间人发送的伪造证书,不能够获得CA的认证,此时,客户端和服务器就知道通信被劫持了

  1. CA证书简介

数字证书就是通过数字签名实现的数字化的证书,证书颁发时会包括证书的内容和证书的签名。我们验证证书是否被篡改的方法是:通过对证书的内容加签名,然后将获得的签名和随证书一同发布的签名做对比,如果两者一致那么证书没有被篡改。

数字证书也有很多的签发机构,不同的签发机构签发的证书,用途也是不一样的,比如iOS开发中,使用到的ipa文件签名证书,需要到苹果申请。而在Web访问中为了防止Web内容在网络中安全传输,需要用到的SSL证书则需要向几家公认的机构签发。这些签发机构统称为CA(Certificate Authority)。

数字证书的一般功能如下:

  • 身份授权:确保浏览器访问的网站是经过CA验证的可信任的网站。
  • 分发公钥:每个数字证书都包含了注册者生成的公钥(验证确保是合法的,非伪造的公钥)。在SSL握手时会通过certificate消息传输给客户端。
  • 验证证书合法性:客户端接收到数字证书后,会对证书合法性进行验证。只有验证通过后的证书,才能够进行后续通信过程。

TLS

TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。

TLS 1.0是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本,可以理解为SSL 3.1,它是写入了 RFC 的。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面。

我们可以简单地将TLS理解为SSL的加强版本。

参考

相关文章
|
1天前
|
安全
手机kali终端,集成安全集成工具----使用arpspoof工具给电脑断网------断网,网络攻击手段
手机kali终端,集成安全集成工具----使用arpspoof工具给电脑断网------断网,网络攻击手段
|
3天前
|
安全 网络协议 算法
Android网络基础面试题之HTTPS的工作流程和原理
HTTPS简述 HTTPS基于TCP 443端口,通过CA证书确保服务器身份,使用DH算法协商对称密钥进行加密通信。流程包括TCP握手、证书验证(公钥解密,哈希对比)和数据加密传输(随机数加密,预主密钥,对称加密)。特点是安全但慢,易受特定攻击,且依赖可信的CA。每次请求可能复用Session ID以减少握手。
13 2
|
2天前
|
机器学习/深度学习 安全 网络安全
云计算与网络安全:技术融合下的安全挑战与对策
在数字化浪潮的推动下,云计算服务已成为企业和个人存储、处理数据的优选方案。然而,随着云服务的普及,网络安全问题也愈发凸显。本文将深入探讨云计算环境下的网络安全挑战,并基于最新的科学研究和统计数据,分析信息安全领域的应对策略。文章旨在为读者提供一套科学严谨、数据支撑的安全框架,以保障云计算环境中的数据安全。
|
8天前
|
SQL 安全 算法
数字堡垒的守护者:网络安全与信息安全的当代挑战
【6月更文挑战第21天】在数字化浪潮汹涌推进的今天,网络安全与信息安全的重要性日益凸显。本文将深入探讨网络空间中不断涌现的安全威胁、漏洞及其防御机制,包括加密技术的应用和安全意识的培养。我们将从黑客攻击手段的演变谈起,分析当前流行的加密技术如何保护数据不被窃取,并强调个人与企业应如何提升安全意识,以共同构筑一道坚不可摧的数字堡垒。
|
3天前
|
安全 网络安全 数据安全/隐私保护
深入解析HTTPS:安全机制全方位剖析
深入解析HTTPS:安全机制全方位剖析
|
3天前
|
存储 安全 数据安全/隐私保护
智能家居安全:如何保护你的智能设备免受网络攻击
在数字化浪潮的推动下,智能家居逐渐成为现代生活的新宠。然而,随着设备联网的增加,安全问题也日益凸显。本文将探讨智能家居面临的网络安全挑战,并提供一系列实用的防护措施,帮助用户构建一个更加安全的智能家居环境。从基础的网络设置到高级的数据加密技术,我们将一一解析,确保您的智能生活既便捷又安全。
11 0
|
3天前
|
SQL 安全 网络安全
数字时代的守护者:网络安全与信息安全的前沿探索
【6月更文挑战第25天】在数字化浪潮席卷全球的今日,信息安全和网络安全已成为维护社会稳定、保护个人隐私的重要基石。本文将深入探讨网络安全漏洞的成因与影响,解析加密技术在信息保护中的关键作用,并强调安全意识的重要性。通过分析最新的网络攻击案例和防御策略,旨在为读者提供一套实用的网络安全知识体系,增强个人和组织在数字世界中的防护能力。
|
3天前
|
存储 安全 网络安全
云计算与网络安全的博弈:云服务的安全挑战与应对策略
【6月更文挑战第25天】本文深入探讨了云计算技术在提供便利性与灵活性的同时,所面临的网络安全威胁。文章分析了云服务中常见的安全风险和攻击类型,并提出了相应的防御措施。通过案例分析,本文旨在为读者提供一个关于如何在享受云计算带来的便利的同时,确保数据安全和业务连续性的综合视角。
|
4天前
|
安全 物联网 5G
网络防线的守护者:深入探究网络安全漏洞与加密技术
在数字时代,网络安全已成为维护信息安全的关键战场。本文将带领读者穿越网络防御的迷宫,探索安全漏洞的成因、影响及应对策略,并深度解析加密技术如何为数据穿上坚不可摧的铠甲。通过提升公众的安全意识,我们共同构筑一道更稳固的信息保护墙。
7 0
|
5天前
|
存储 安全 网络安全
云计算与网络安全:构建安全可信的数字世界
随着云计算技术的快速发展,网络安全问题日益突出。本文将深入探讨云服务、网络安全和信息安全等技术领域,旨在为构建安全可信的数字世界提供一些思路和解决方案。
10 0

热门文章

最新文章