为什么你的客户刚点进网站就关掉了?问题可能不是你的产品,而是浏览器地址栏这行刺眼的不安全三个字。现在的用户极其注重隐私,当你的网站还在用 http 不 安全协议, chrome 浏览器会直接标记你为不安全网站。 这不仅流失客户,更可怕的是,黑客能在公共 wifi 下轻易窃取你客户的密码、银行卡信息。作为企业主, 这个法律风险你担得起吗?给你的网站穿上防弹衣,其实只需要一张 s l 证书,它有两个立竿见影的效果,第一,把 h t t p 变成 h t t p s, 带上一把安全锁。第二,让访客看到企业认证信息,信任度立刻提升百分之三百。
粉丝372获赞974

大家好,这个视频我们来聊聊 h t t p 安全 h t t p 以及 s s l h t t p 是 hypertext transfer protocol 的 缩写,也就是抄文本传输协议。它可以说是目前 世界上使用最广泛的协议之一。 http 主要用于在互联网上访问网页,当你在浏览器中输入一个网址,比如 google 点 com 时,通常会看到浏览器在地址前自动补上 http 冒号。斜杠斜杠 这表示你现在是通过 http 协议来获取网页内容的。在标准 http 协议中,所有数据都是以铭文形式传输的。也就是说,你的计算机与 web 服务器之间 交换的所有信息,包括你在网站上输入的任何文本,都会直接通过公共互联网进行传输。由于这些信息是以明文形式传输的,任何想获取它的人,比如黑客都有可能对其进行窃取。当然,在一般情况下,这未必是一个大问题。 比如你只是浏览普通网页,没有输入密码、信用卡等敏感信息时,风险相对较低。但一旦你在网页中填写了个人敏感数据,例如姓名、地址、电话号码、密码或是信用卡信息, 这些敏感数据就会从你的计算机出发,经过公共互联网,最终传输到对应的 web 服务器。在这个传输过程中,你的数据实际上是暴露在风险之中的,因为互联网链路上的任意一个环节都可能被黑客监听,从而截获正在传输的信息。 也就是说,当这些个人数据在网络中流动时,攻击者完全有机会将其窃取下来,比如姓名、电话号码、地址,甚至是信用卡号等敏感内容,从安全角度看,这显然是一个严重的问题。这就是 h t t p s。 出现的原因。 h t t p s 是 secure hypertext transfer protocol 的 缩写,也就是安全超文本传输协议。它可以理解为带有安全能力的 h t t p。 h t p s 会对通过 h t t p 传输的数据进行加密处理, 从而确保计算机和服务器之间在互联网中传输的数据是安全的。经过加密后,这些数据会被转换为无法被直接获取的数据,是安全的。经过加密后,这些数据会被转换为无法被直接读取的内容。它的实现方式 是通过加密算法对正在传输的数据进行扰乱和加密。例如,当你访问一个需要输入个人信息的网站时,比如填写密码或信用卡号,你就能看到 网址中的 h t t p 后面会多出一个 s。 这个 s 表示当前使用的是安全超文本传输协议,也就是 h t p s。 它说明这是一个安全的网站,数据在传输过程中会受到保护。 除了网址中会多出这个 s 之外,很多浏览器还会在地址栏显示一个小锁图标,用来标识当前连接。正在使用安全超文本传输协议 h t t p s。 在 使用安全 h t t p 的 情况下,所有数据, 包括你输入的任何内容,都不会再以铭文形式发送。相反,这些数据在传输时会被加密为无法直接读取的形式。因此,即使黑客尝试窃取你的信息,他所获取到的也只是一段无法理解的数据。由于这些数据已经经过加密处理, 攻击者无法轻易破解并还原出原始内容。安全 h t t p 通常通过两类安全协议中的一种来保护数据,其中之一就是 ssl。 ssl 是 secure sockets layer 的 缩写,也就是安全套接字层。它是一种用于保障安全 h t t p。 通信的协议。 ssl 的 基本工作流程大致是这样的,当一台计算机尝试连接到一个起用了 ssl 的 网站时,计算机上的浏览器会首先要求该网站证明自身的身份,随后 web 服务器会将自己的 ssl 证书副本 发送给这台计算机。 s s l。 证书是一种小型数字证书,用于验证某个网站的身份。简单来说,它的作用就是让你的计算机知道你正在访问的网站是可信的。接下来, 浏览器会检查自己是否信任这张证书,如果证书被信任,它就会向 web 服务器发送一条确认消息,随后 web 服务器也会返回相应的确认信息,这样 s s l。 绘画就可以继续建立。完成这些步骤之后, 你的计算机与 web 服务器之间就可以开始进行加密数据的交换。安全 http 还可以基于另一种安全协议来实现,这种协议叫做 tls。 tls 是 transport layer security 的 缩写,也就是传输层安全协议。 它是目前行业中更新也更主流的加密协议标准,可以看作是 ssl 的 后继版本,并在其基础上发展而来。和 ssl 一 样, tos 同样具备对客户端和服务器进行身份认证的能力,同时还能对传输的数据进行加密。 还需要指出的是,现在很多网站都会默认使用安全 http, 也就是 http 不 管是否真的会传输敏感数据,这在很大程度上和 google 有 关。 因为如果网站没有使用 ssl 保护, google 现在会将其标记为不安全。除此之外, 如果一个网站没有起用 ssl 保护, google 还会在搜索排名中对它产生不利影响。所以现在你访问大多数主流网站时,都会发现它们使用的是安全 http, 而不是普通 http。 这个视频就到这里,欢迎在评论区留下你对本期视频的反馈,我们下个视频再见。最后,如果您觉得视频对您有帮助,欢迎关注和分享,以获取更多计算机硬核知识。

为什么在普通 http 协议上发起登录操作基本等于直接泄露密码呢?为什么同样的网站,别人打开没有广告,而你打开却弹出广告呢?为什么说 https 是 当今互联网的安全基石呢?今天一个视频彻底搞懂 https 是 如何保护你的数据安全的。 大家好,这里是胖张聊开发一个热爱分享的程序员频道,希望我的分享能够帮助到你。今天主要分享的话题是 https 的 相关内容,可以根据你感兴趣的章节点击进度条直接进行查看。 互联网上的不同接入设备是通过不同区域位置的路由节点连接在一起的,例如网关、路由器、交换机等各类设备。当我们通过 http 协议 将豹纹发送给某台服务器的时候,是需要依靠中间节点帮助我们转发这些豹纹才能到达目标服务器的。而普通 http 协议下,豹纹是明文传输的,也就是说 中间的所有节点都是可以读取我们的豹纹内容的,这就是普通 http 协议不安全的主要因素之一。所以我们这里的密码信息其实已经等于泄露出去了。 中间的任何节点都存在不可信任的情况,例如餐厅里的免费 wifi 路由器或者小区宽带的交换机设备等等。我们把这种行为称作中间人攻击,而单纯窃听我们报文数据的攻击方式称作被动攻击。 与被动攻击相反的还有另外一种中间人攻击方式。当服务器开始发送响应豹纹给我们的时候,豹纹也同样会经过这些节点的转发。但是我们并不能确认服务器豹纹数据是否完整,有没有被篡改过?也就是说, 我们并不知道这中间传递信息的人有没有说假话。当豹纹数据到达某个恶意节点,它完全可以在这段 html 中加入恶意代码,再转发给下一个节点。这也就是为什么说同一个网页,别人看到的 可能没有任何问题,而我们却看到了恶意的弹出广告。这可能就是某个中间节点把豹纹篡改过。我们将这类中间人篡改数据的攻击方式称作主动攻击,无法防止来往数据被篡改, 也是普通 http 协议不安全的主要因素之一。普通 http 协议还无法确认目标通信者的身份有没有被伪造。我们在本地访问的域名实际上会被 dns 服务器解析成 ip 地址, 这样才能在底层建立 tcp ip 连接。比如这里原本正确的访问路径可能是这样的,因为 dns 解析返回的是正确的 ip 地址。但是这里可能由于网关被植入恶意程序篡改 dns, 结果到一个错误的 ip 地址上, 比如黑客的钓鱼网站。因此,普通 h t t p。 协议没办法确认目标身份有没有被伪造,也是另一个不安全的主要因素。 h t t p s。 简单来说就是 h t t p skill, 也就是安全的 h t t p。 最早是依赖于网警公司开发的 s s l。 协议,所以也可以理解为 h t t p over s s l。 后来交由 i e t f 进行了标准化,诞生了 t l s。 协议。 所以当今的 h t t p s。 本质上是 h t t p over t l s。 早在上个世纪末九十年代 网警浏览器统治互联网世界的时代,就已经发现普通 h t t p。 协议的安全隐患,于是着手开发 s s l。 协议,希望来解决这些问题。 s s l。 一 点零由于缺陷并没有投入实际使用,直到 s s l。 二点零才陷入到网警浏览器当中,于一九九五年三月正式发布。但二点零也存在诸多安全缺陷, 促使网景公司致力于三点零的开发工作。 s s l。 三点零的设计思路基本沿用到今天。当然,同时期的微软和网景在浏览器领域激烈竞争,作为竞争的一部分,微软决定在 ie 浏览器当中开发 s s l。 二点零的修改版本。 p c t。 协议 只应用在 i e 和 i i s。 当中,整个互联网业内不愿意看到两家公司各自维护自己的协议,最终促成两家公司达成共识,将协议交由 i e t f。 进行标准化。出于妥协,协议更名为 t l s t l s。 一 点零,本质就是 s s l。 三点一。 我们都知道 http 协议是基于 tcp ip 协议层之上的, https 本质上只是在 http 和 tcp ip 之间建立了一层 ssl tls 协议层。这样的好处是开发者并不需要关心 ssl tls 协议层的适配, 仍然只关注于 http 协议的实现。 ssl tls 协议层只专注于它自己的工作, 起到一个承上启下的作用,比如安全握手、密钥交换、证书交换、安全绘画管理、豹纹加密解密等工作。 http 把铭文豹纹交给 ssl tls 协议进行加密,转为密文之后再交给 tcp ip 协议, 将数据包发送到目标主机。另外一边,目标主机的 tcp ip 协议将密文报文交给 ssl tls 协议层进行解密,将铭文报文再交给 http 层,这样在层次上就有效地实现了解偶。 ssl tls 协议会使用两种加密方式,既对称加密和非对称加密, 整个 http 通信只应用他们各自优点的部分,比如说对称加密的高性能非对称加密的安全分发密钥机制。下面我们来介绍两种加密方式的特点,以及 ssl tls 协议 是如何把两种加密方式混合使用的。我们先来介绍对称加密铭文配合上特定的密钥,经过特定算法计算产生密文, 而将密文配合上同一把密钥就能解开得到铭文。对称加密就如其字面意思,加密和解密都是使用同一把密钥,而且对称加密相较于非对称加密计算速度更快。 但是对称加密也有一个比较麻烦的问题,就是没有办法直接通过公开网络安全的分发密钥。比如 a 想和 b 进行加密通信,但是 b 并不知道密钥是多少,如何安全的把密钥发送给 b 呢?中间连接的网络假设是不被信任的, 且数据包可以被窃听,毕竟对称加密的特点就是只要拥有密钥的任何人都可以解开密文的内容。我们再来介绍非对称加密, 顾名思义,非对称加密就是加密和解密,并不是使用同一把密钥,因此非对称加密的密钥是成对生成的,一把是公钥,一把是私钥。公钥可以随意分发,而私钥必须严格保管,不能泄露 铭文,加上公钥经过算法进行加密得到密文, 而密文加上私钥,经过算法进行解密得到铭文, 非对称加密的计算速度较慢,对 cpu 的 计算赋值也要求更高。非对称加密算法最大的特点就在于它的公钥是可以随意公开分发的,任何人都可以用这把公钥对明文进行加密,得到密文, 再把密文发送给拥有私钥的人,因为只要私钥不被泄露,那么就只有它可以进行解密,从而得到铭文。 s s l t l s 协议同时使用了对称和非对称加密,可以理解为混合加密方式。当客户端和 web 服务器需要建立 http 加密通信之前, web 服务器会先把非对称加密的公告发送给客户端, 客户端再临时生成一个对称加密的密钥,并使用刚才的公钥对其进行加密,再把加密后的对称密钥发送给 web 服务器,这样就解决了如何安全分发对称加密密钥的问题。 web 服务器使用私钥进行解密,就得到了和客户端一样的对称加密密钥,这样就成功的建立起了 http 的 加密通信, 后续的豹纹都可以使用性能更好的对称加密来安全传输了。当然以上只是简要概述,实际流程会更加复杂,而且随着 t l s 版本的不同,季节差异也有所不同。但是大体的思路是这样的, 刚才我们说过, https 在 正式加密通信之前需要完成一系列的密钥交换,安全验证的环节,我们称之为 ssl tls 握手必须要完成握手的每个环节之后才能成功开始进行加密通信。 后续我会介绍握手的四个阶段,阶段一,加密方式的协商告知 t l s 版本可支持的加密算法等等。阶段二,证书校验、公钥分发、协商加密的额外信息等等。阶段三,密钥生成、密钥交换等等。 阶段四,互相验证之前信息的完整性,并为切换加密通信做准备,之后使用抓爆利器 word shock 来帮助进行分析。 首先是阶段一,也就是客户端与服务器协商加密方式,一定是先由客户端发起发送 client hello 消息。 version 是 客户端支持的最佳 t l s 协议版本。 cipher suite 是 客户端支持的所有加密算法。 session id 是 用来做绘画恢复管理的,如果为空 则表示第一次连接。当然,这里最重要的要数这个 random。 客户端生成的随机数,我们暂且称其为 client random, 后面生成密钥的步骤需要用到它。接着是我们协商的第二步,服务器接收到刚才的 client hello 之后,响应发送 sever hello 消息, 最终确定 t l s 版本。选定一个加密算法以及另一个由服务器生成的随机数,我们暂且称其为 server random。 同样的,后面生成密钥也需要用到它,这样客户端和服务器就完成了协商,尤其是算法的选定,还有彼此交换两个随机数。 现在我们进入到了阶段二,服务器会将由 c a 机构颁发的证书链发送给客户端。通常而言,大多数证书都采用 x 点五零九证书格式。当我们访问 http 网站的时候, 点击浏览器地址栏上就可以看到相关的证书信息。在 r s a 算法下,证书链中还会携带非对称加密的公钥,也是下一阶段安全分发密钥的关键。客户端在获得证书链中所有的信息后会较验证书,例如证书有没有过期,证书上的域名与 实际访问的是否一致,当验证的各类信息都准确无误时,才会进行下一步。 server key exchange 用于交换特定加密算法的额外信息,具体的数据内容根据算法不同而有所区别。 server hello down 告诉客户端,服务器已将所有预计握手的消息都发送完毕了,等待客户端发送后续消息。 现在我们来到客户端的阶段三,首先客户端会临时生成一个域主密钥,并使用前面服务器发送的公钥进行非对称加密。 这里的 click key exchange 主要就是用于将加密后的域主密钥发送给服务器。刚才我们已经把加密后的域主密钥发送给服务器了,现在开始生成后续加密通信的对称密钥,需要使用刚才生成的域主密钥与我们前面阶段一时客户端和服务器互相发送的两个随机数, 也就是 clyt hello random, pasiva hello random。 通过以上三个随机数就能产生最终的对称密钥。之后通过 change cipher spec 告诉服务器已生成加密密钥,即将切换到加密同行。 现在我们来到客户端的阶段四,也就是这里的 encrypted handshake message 或者是 finished, 将握手阶段的全部消息的哈希值进行对称加密发送给服务器,等待服务器自己解密并比对哈希值是否相同。 现在我们回到服务器的阶段三,刚才我们接收到了客户端发来的已加密的域主密钥,使用服务器自己的私钥进行 解密,得到铭文的域主密钥。同样的,和之前客户端一样的方式,使用域主密钥与我们前面阶段一时客户端和服务器互相发送的两个随机数结合产生最终的对称密钥。之后同样通过 change cipher 告诉客户端已生成加密密钥,即将切换到加密同行。 现在我们来到服务器的阶段四,也同样是 encrypted handshake message 或者 finished, 将握手阶段的全部消息的哈希值 进行对称加密发送给客户端,等待客户端自己解密并比对哈希值是否相同。阶段三、四在流程上会稍微有些复杂,尤其是阶段四两边彼此做解密和完整性较验,一 方面验证各自生成的对称密钥能否解开对方的密问,另一方面是最终确认前面所有握手消息两边是否完整,有没有被篡改过。中间任何一个环节失败,就意味着建立 h t t p s 通信失败。

说的啥?就是帮我解决一个问题。嗯,我现在项目是 h t p s 的, 就是加了证书的,然后有一个页面是不是有一个系统是 http 的, 现在要欠到 我这个 http s 的 系统里有没有啥解决办法? 没有,我我完全都不熟这个。所以你你有查到有什么方式吗?查到啥方式?嗯,反正就是无解的。 要么你升级都包装成 sds, 要么你走代理。走代理又不行。走代理他还会 就是通过消息机制吗?往回发出去还是因为得到的消息地址还是原地址?代理不行, 然后页面的 csp 啊,控制也不行,就是不让访问。没招啊, 我还真的没有遇到过哎。就是非得要用那个 http 吗?你自己能哦,包装好像也。包装也白扯,非得用吗?就是那个 http 不是 你们自己开发的,是第三方的。 对呀,那也改不了,也没法让人家改不是让人改也行,人也能改,你改呗。但是呢,现在他接的系统太多了啊, 你要是他改成 h t p s 的, 所有其他的 h t p 的, 哎。 哎啊啊,什么啊,他升级没问题啊,影响不大 哦,就人家那不行啊啊。三百米路口直行啊啊。三百米路口直行,所以此处违法人数较多。他为什么不能申?就是 http 欠 https 没问题,就是你那个 https 必须是有,就是浏览器可信证书的 才行,你要自签证书的,那肯定是不行的,所以让他申, 那他生的话就是之前跟他对接的那些也没问题啊。那些要改个网址吧,前方四百米,在第二个改一下配置或者改一下什么东西吧。进入天城街直行,通过第一个红绿灯路口, 大家有没有什么好一点的解决方案?哈哈,欢迎给答疑解惑一下,非常感谢,比个心,哈哈哈。

什么是 http 协议?这一期我们把它一次讲清楚,如果你暂时没时间看完,可以先收藏,等有空再慢慢理解。 http 的 全称是超文本传输安全协议,从本质上来说,它是由 http 和 toos 两部分组成的,也可以简单理解为在 http 的 基础上加了一层 toos 加密, 它的核心目标是让数据传输变得更安全,包括数据加密、身份认证以及数据完整性校验,从而弥补 http 在 安全方面的不足。 要理解 http 的 意义,我们先看 http 存在的三个核心问题。第一,铭文传输。 http 在 传输数据时是没有加密的,比如账号密码、支付信息、浏览记录等,都可能在网络中被中间设备如路由器或运营商节点直接获取,存在被窃听的风险。 第二,缺乏身份认证。 http 无法验证服务器的真实身份,你以为访问的是官网,实际上可能连接到了一个伪造的钓鱼网站,用户很难分辨。 第三,数据容易被篡改。 http 不 具备完整性校验机制,中间节点可以修改传输内容,用户却很难察觉。 http 的 出现就是为了解决这三大问题,让数据以加密形式传输,防止被窃听,确保你连接的是可信服务器,同时保证数据在传输过程中不被篡改。 htps 的 安全能力全部来自 tls 协议, http 负责数据传输,而 tls 负责安全保障。 tls 的 全称是 transport layer security 传输层安全协议,它的作用是在传输层为数据提供加密、身份认证和完整性校验,确保数据在发送和接收过程中既安全又可靠。补充一点背景, tls 的 前身是 ssl secure socket layer, 最初由网警公司开发,后来由 ietf 接手并升级为 tls, 所以 我们常说的 ssl tls。 本质上 tls 是 ssl 的 升级版本,目前主流使用的都是 tls, ssl 已经逐步被淘汰。 接下来,我们理解 http 的 核心需要掌握三个基础加密概念。第一个是对称加密,它使用同一个密钥进行加密和解密。优点是速度快、效率高,适合传输大量数据,比如网页内容或文件。但问题在于,密钥需要在通信双方之间传递, 一旦被拦截就会失去安全性。第二个是非对称加密,它使用一对密钥,公钥和私钥,公钥可以公开,私钥由服务器保管,用公钥加密的数据只有对应的私钥才能解密。 优点是密钥传输安全,但缺点是性能较低,不适合大规模数据加密。第三个是哈希算法,它可以把任意长度的数据转换成固定长度的摘钥值,比如 sha 两百五十六, 不论输入多大,输出长度固定。哈希有两个特点,不可逆,以及对数据变化非常敏感,哪怕原始数据只改动一点点,深层的哈希值也会完全不同。因此它常用于数据完整性校验。 t o s 的 核心设计思路就是把这三种技术结合起来,用非对称加密安全地交换密钥, 用对称加密高效的传输数据,用哈希算法保证数据没有被篡改。这也是 http 能同时兼顾安全性和性能的关键。 最后再澄清几个常见误区,第一个, http 是 绝对安全吗?并不是,它可以防止绝大多数攻击,比如窃听、篡改、中间人攻击。 但如果证书机构被攻破、证书被伪造或者服务器私要泄露,仍然可能出现安全问题,不过这种情况非常少见。 第二个,只有电商或支付网站才需要 http 吗?也不是,现在几乎所有网站都建议使用 http, 不 仅能保护用户隐私,还对搜索引擎排名有帮助。 第三个, http 会明显变慢吗?一般不会,首次连接时会有握手过程,大约增加几十到几百毫秒的延迟,但用户通常感知不到。 而且现在很多 cdn 和云服务商都提供 http 加速性能影响已经很小。总结一下, http 是 在 http 基础上加入 tos 安全层的协议, 它通过加密认证和校验机制,让数据传输更加安全可靠。如今的互联网已经基本全面进入 http 时代,而 tos 是 其中最核心的技术。

大家好,今天分享的是 njinx 的 http 跳转 https 实战演练,本次实战中的配置,这里分享给大家,有需要的截图保存。我们在 njinx 配置完成 https 之后,需要手动在浏览器中输入 https, 可以看到不输入 https 默认访问非四四三端口。 但是实际生活中 http 跳转 https 都是自动跳转,在访问网站时,我们并没有直接在浏览器中输入 https, 例如我们访问百度网站,自动跳转到 https 协议。 接下来我们开始实战操作,按 drinks 实现 http 跳转 https 跳转方式有两种,非 分别为 return 和 rewrite, 但是在实际生产环境中,建议使用 rewrite 指令。这里分别给大家进行演示。首先采用 return 指令命令,在 location 中定义规则 判断协议,如果是 http, 返回新的 https 的 url, 配置完成后检查语法,然后重启 nginx, 重新用浏览器访问 http 协议页面,发现页面直接跳转到 https 协议, 并且 h t t p 返回码为三零一。接下来演示 rewrite 指令,同样在在 location 中定义规则判断协议,如果是 h t t p 返回新的 u r l 给用户。配置完成后检查于 语法,然后重启 n jinx, 重新用浏览器访问 h t t p 协议页面, http 返回码为三零一,并且类型为 redirect。 至此, unjinx 的 http 跳转 https 实战演练完毕。如果你觉得对你有用,欢迎点赞加关注和收藏,后续我会继续为大家分享 linux 以及云计算相关方面的知识点。

h t p 跟 h t p s 的 安装差异是什么?我们简单理解就是 h t p 是 明文程序,就是我们客户端跟服务端服务器通信的时候,你们会发现就是我们通过 arp 攻击啊,或者中间缓解,例如像 i d s 是 吧?设备监控你们抓到的整个数据包是不是明文的?明文的话你是可以看到别人账号密码这些信息都可以看到, 那么其实简单,我们简单总结就是 h t p 就是 什么明文程序, h t p s 就 不一样了, h t p s 它是在 h t p s 之下啊,还有这个什么 t l s 这个加密层, 这样的话就保证了我们数据在在传输过程中的一个有三个特性的一个明显改变,就是一个是保密性,就是数据是加密的还有完整性,你串改这个数据绝对不行啊, 这就破坏掉了。另外就是身份验证,有了这三个特性的一个加入,你会发现整个安全安全系数得到了一个明显的体现。现在目前来讲所有的站点几乎都是 https, 我 们以前是 http, http 嘛? http 现在目前来讲就是浏览器一打开它就提示不安全,是吧?建议大家还是都使用 http 吧。

h t t p 和 http 到底差在哪?今天五分钟讲透核心区别,以及为啥现在全用 http。 先讲官方定义, http 全称超文本传输协议,是互联网最基础的传输规则,负责把网页、图片、视频从服务器送到你的浏览器。它的本质是一套明文对话规则,就像你在大街上喊悄悄话,路过的人全能听清楚。 htps 则是 http 的 安全升级版,全称超文本传输安全协议,核心是在 http 和 tcp 之间架了一层 ssl 斜杠 tls 加密外衣,相当于给数据套了个铁箱子,只有拿到钥匙的人才能打开。 打个生活化的比方, http 就 像寄明信片,路上所有人都能偷看内容。 http 则是密封加密快递只有收件人能拆封读信息。 一句话总结核心差异, http 明文传数据,无加密, http 加了 ssl 斜杠 tls 加密层,全程保护数据不被窃取。 这里拆解加密的核心逻辑。 http 用了混合加密方案,结合对称加密和非对称加密,先跟你类比这两种加密, 对称加密等于共享密码锁,俩人用同一个密码开箱子,速度快,但密码易被偷。非对称加密等于快递柜公私钥存件码所有人能用,私钥是取件码,只有你能开。 为啥要混合用对称加密?速度快,适合传大文件,但密码不能明文传。非对称加密能安全传密码,但速度慢,不适合传大量数据。 所以 h t t p s。 握手,用非对称加密交换对称密钥,之后用对称加密传所有数据,兼顾安全和速度。 还有个关键角色, ca 证书机构,它相当于网络世界的公证处,给服务器发数字身份证,证明服务器是真的,不是钓鱼站。你浏览器地址栏的小锁就是验证过 ca 证书的标志。 接下来讲 http 的 四步流程,我拆成普通人能懂的版本。第一步,客户端打招呼,你开 http 网站时,浏览器给服务器发消息,我支持这些加密算法来握手,类比,你到快递站说寄加密件。 第二步,服务器亮身份,服务器回应,浏览器发自己的 c a 数字证书,并选好一套加密算法类比快递站拿出营业执照说就用这个安全锁。 第三步,客户端验身份,浏览器验证 c a 证书真实性,确认是真服务器后生成随机对称密,要用服务器公钥加密,发过去类比,你生成密码,用存件码锁好给他。 第四步,服务器确认,服务器用私钥解密,拿密钥给浏览器发确认消息之后,所有数据用这个密钥加密。类比快递站用取件码打开,拿到密码之后都用这个锁传件。 而 http 的 流程就简单粗暴,直接明文请求到明文响应,就像你大街上喊,把东西给我,路过的人全能听到内容,很容易被黑客劫获数据。 举个中间人攻击的例子,你连了商场的免费 wifi, 黑客就能劫获 http 数据,偷你的某宝密码支付验证码,但 https 的 加密数据,黑客拿到的全是乱码,读不懂。 接下来讲两者的应用边界。 http 的 适用场景极少完全公开的静态内容,比如老的公告网站或者内部局域网的资源,不需要保密的场景才用它。 但现在浏览器会给 http 网站标红,不安全警告非常显眼。 h t t p s。 则是必用场景,只要涉及敏感数据传输,登录账号、输入密码、支付下单、填身份证号,必须用 h t t p s。 不 然数据必被偷。 现在电商、网银、社交软件全都是 http, 这是安全底线。还有搜索引擎的权重差异,谷歌、百度等搜索引擎会给 http 网站更高的排名,因为更安全,用户体验更好。 最后讲三个硬核冷知识,一、 http 懒端口是八零, https 标端口是四四三,访问时端口号可以省略,比如 http 冒号斜杠、斜杠 x x x 等价于冒号八零 二、免费 s s l。 证书普及了,以前 http 证书要花钱买,现在有 let's encrypt 等机构能免费申请九十天有效期,证书到期自动续期,小网站也能用。 三点 aes 二五六加密有多安全? http 常用 aes 二五六对称加密, 密钥是两百五十六位二金之数,相当于二的二百五十六次方种,可能黑客要破解地花宇宙年龄的时间。 四点, https 也有漏洞,如果 ca 证书被伪造,或者你点了信任,不安全证书还是可能被中间人攻击,但这种情况极其罕见。 总结一下今天的知识点, http 是 明文传输协议,不安全。 https 是 加了 ssl 斜杠 tls 的 加密版,用混合加密,兼顾安全和速度。 ca 证书解决身份伪造问题,现在所有涉及敏感数据的场景必须用 https, 这是互联网安全基础。 如果你逛 http 网站还要输密码,赶紧关掉,大概率是钓鱼战。好了,本期内容就到这里,有疑问欢迎在评论区留言,我们下期见。