网易首页 > 网易号 > 正文 申请入驻

放假看小电影!一定要检查域名是不是 HTTPS ,不然......

0
分享至

点击上方“Java精选”,选择“设为星标”

别问别人为什么,多问自己凭什么!

下方留言必回,有问必答!

每天08:00更新文章,每天进步一点点...

看小电影还是浏览正常网站,一定要检查是不是 HTTPS 的,否则后果很严重!不信你看,最近看到一则消息,某员工因在上班时间上了1024网站,惨到试用期都没有过。。。。

细思极恐!!!!

为什么说 HTTPS 是安全的呢?下面先看看详细的 HTTPS 原理,看完你就理解了。

HTTP 协议

在谈论 HTTPS 协议之前,先来回顾一下 HTTP 协议的概念。

HTTP 协议介绍

HTTP 协议是一种基于文本的传输协议,它位于 OSI 网络模型中的应用层。

HTTP 协议是通过客户端和服务器的请求应答来进行通讯,目前协议由之前的 RFC 2616 拆分成立六个单独的协议说明(RFC 7230、RFC 7231、RFC 7232、RFC 7233、RFC 7234、RFC 7235),通讯报文如下:

请求

POST http://www.baidu.com HTTP/1.1
Host: www.baidu.com
Connection: keep-alive
Content-Length: 7
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36

wd=HTTP

响应

HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Thu, 14 Feb 2019 07:23:49 GMT
Transfer-Encoding: chunked

HTTP 中间人攻击

HTTP 协议使用起来确实非常的方便,但是它存在一个致命的缺点:不安全。

我们知道 HTTP 协议中的报文都是以明文的方式进行传输,不做任何加密,这样会导致什么问题呢?下面来举个例子:

小明在 JAVA 贴吧发帖,内容为我爱JAVA:

被中间人进行攻击,内容修改为我爱PHP

小明被群嘲

可以看到在 HTTP 传输过程中,中间人能看到并且修改 HTTP 通讯中所有的请求和响应内容,所以使用 HTTP 是非常的不安全的。

防止中间人攻击

这个时候可能就有人想到了,既然内容是明文那我使用对称加密的方式将报文加密这样中间人不就看不到明文了吗,于是如下改造:

双方约定加密方式

使用 AES 加密报文

这样看似中间人获取不到明文信息了,但其实在通讯过程中还是会以明文的方式暴露加密方式和秘钥,如果第一次通信被拦截到了,那么秘钥就会泄露给中间人,中间人仍然可以解密后续的通信:

在约定加密方式的时候由服务器生成一对公私钥,服务器将公钥返回给客户端,客户端本地生成一串秘钥(AES_KEY)用于对称加密,并通过服务器发送的公钥进行加密得到(AES_KEY_SECRET),之后返回给服务端,服务端通过私钥将客户端发送的AES_KEY_SECRET进行解密得到AEK_KEY,最后客户端和服务器通过AEK_KEY进行报文的加密通讯,改造如下:

可以看到这种情况下中间人是窃取不到用于AES加密的秘钥,所以对于后续的通讯是肯定无法进行解密了,那么这样做就是绝对安全了吗?

所谓道高一尺魔高一丈,中间人为了对应这种加密方法又想出了一个新的破解方案,既然拿不到AES_KEY,那我就把自己模拟成一个客户端和服务器端的结合体,在用户->中间人的过程中中间人模拟服务器的行为,这样可以拿到用户请求的明文,在中间人->服务器的过程中中间人模拟客户端行为,这样可以拿到服务器响应的明文,以此来进行中间人攻击:

这一次通信再次被中间人截获,中间人自己也伪造了一对公私钥,并将公钥发送给用户以此来窃取客户端生成的AES_KEY,在拿到AES_KEY之后就能轻松的进行解密了。

中间人这样为所欲为,就没有办法制裁下吗,当然有啊,接下来我们看看 HTTPS 是怎么解决通讯安全问题的。

HTTPS 协议HTTPS 简介

HTTPS 其实是SSL+HTTP的简称,当然现在SSL基本已经被TLS取代了,不过接下来我们还是统一以SSL作为简称,SSL协议其实不止是应用在HTTP协议上,还在应用在各种应用层协议上,例如:FTP、WebSocket。

其实SSL协议大致就和上一节非对称加密的性质一样,握手的过程中主要也是为了交换秘钥,然后再通讯过程中使用对称加密进行通讯,大概流程如下:

这里我只是画了个示意图,其实真正的 SSL 握手会比这个复杂的多,但是性质还是差不多,而且我们这里需要关注的重点在于 HTTPS 是如何防止中间人攻击的。

通过上图可以观察到,服务器是通过 SSL 证书来传递公钥,客户端会对 SSL 证书进行验证,其中证书认证体系就是确保SSL安全的关键,接下来我们就来讲解下CA 认证体系,看看它是如何防止中间人攻击的。

CA 认证体系

上一节我们看到客户端需要对服务器返回的 SSL 证书进行校验,那么客户端是如何校验服务器 SSL 证书的安全性呢。

权威认证机构

在 CA 认证体系中,所有的证书都是由权威机构来颁发,而权威机构的 CA 证书都是已经在操作系统中内置的,我们把这些证书称之为CA根证书:

签发证书

我们的应用服务器如果想要使用 SSL 的话,需要通过权威认证机构来签发CA证书,我们将服务器生成的公钥和站点相关信息发送给CA签发机构,再由CA签发机构通过服务器发送的相关信息用CA签发机构进行加签,由此得到我们应用服务器的证书,证书会对应的生成证书内容的签名,并将该签名使用CA签发机构的私钥进行加密得到证书指纹,并且与上级证书生成关系链。

这里我们把百度的证书下载下来看看:

可以看到百度是受信于GlobalSign G2,同样的GlobalSign G2是受信于GlobalSign R1,当客户端(浏览器)做证书校验时,会一级一级的向上做检查,直到最后的根证书,如果没有问题说明服务器证书是可以被信任的。

如何验证服务器证书

那么客户端(浏览器)又是如何对服务器证书做校验的呢,首先会通过层级关系找到上级证书,通过上级证书里的公钥来对服务器的证书指纹进行解密得到签名(sign1),再通过签名算法算出服务器证书的签名(sign2),通过对比sign1和sign2,如果相等就说明证书是没有被篡改也不是伪造的。

这里有趣的是,证书校验用的 RSA 是通过私钥加密证书签名,公钥解密来巧妙的验证证书有效性。

这样通过证书的认证体系,我们就可以避免了中间人窃取AES_KEY从而发起拦截和修改 HTTP 通讯的报文。

总结

首先先通过对 HTTP 中间人攻击的来了解到 HTTP 为什么是不安全的,然后再从安全攻防的技术演变一直到 HTTPS 的原理概括,希望能让大家对 HTTPS 有个更深刻的了解。

作者:mokeyWie segmentfault.com/a/1190000023936425

精品资料,超赞福利!

- 小程序,3000+ 道面试题在线刷,最新、最全 Java 面试题!

期往精选 点击标题可跳转

文章有帮助的话,在看,转发吧!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
抖音网红表妹李KK塌房,彻底玩完

抖音网红表妹李KK塌房,彻底玩完

新浪财经
2026-06-23 00:08:03
表面老艺术家,私下贪财又好色,这几位晚节不保一点都不冤

表面老艺术家,私下贪财又好色,这几位晚节不保一点都不冤

梦史
2026-06-20 17:12:58
为什么小区里翻垃圾桶的人越来越多?真的很“赚钱”?

为什么小区里翻垃圾桶的人越来越多?真的很“赚钱”?

复转这些年
2026-06-22 15:44:30
信号释放!赴日团队游即将重启,多家旅行社开放报名

信号释放!赴日团队游即将重启,多家旅行社开放报名

颤抖的熊猫
2026-06-19 13:57:09
艾草不能挂一整年!记住这个日子一定要取下

艾草不能挂一整年!记住这个日子一定要取下

喵咪文化
2026-06-21 08:22:39
叶剑英为毛主席守灵时,假借见外宾突然离开,私下和一人秘密见面

叶剑英为毛主席守灵时,假借见外宾突然离开,私下和一人秘密见面

炽史
2026-05-22 09:35:37
奇诚庸:日韩之间的差距太大了,现在和日本队比赛并不容易

奇诚庸:日韩之间的差距太大了,现在和日本队比赛并不容易

懂球帝
2026-06-22 11:17:17
上海银行向潮汕大佬追债的金额增至130亿,钱没追回、债也还没完

上海银行向潮汕大佬追债的金额增至130亿,钱没追回、债也还没完

湘财Plus
2026-06-22 11:42:13
个税汇算6月30日结束,个人不补税7月1日起将付滞纳金:每日万分之五

个税汇算6月30日结束,个人不补税7月1日起将付滞纳金:每日万分之五

极目新闻
2026-06-22 21:42:28
中国空间站启动二次扩容升级

中国空间站启动二次扩容升级

新京报
2026-06-22 16:46:43
俄罗斯让中国心凉?真正可怕的不是西方围堵,而是我们低估了自己

俄罗斯让中国心凉?真正可怕的不是西方围堵,而是我们低估了自己

旧史新谭
2026-06-22 13:09:54
G7晚宴上,高市早苗对特朗普忍无可忍,两人竟当众爆发激烈争吵

G7晚宴上,高市早苗对特朗普忍无可忍,两人竟当众爆发激烈争吵

知鉴明史
2026-06-21 23:29:49
56岁出轨女人自述:我与他偷偷来往多年,但丈夫一直没有发现

56岁出轨女人自述:我与他偷偷来往多年,但丈夫一直没有发现

千秋历史
2026-05-27 19:44:17
口交、肛交等进入式性服务是卖淫行为吗?最高院定调了!

口交、肛交等进入式性服务是卖淫行为吗?最高院定调了!

黯泉
2026-06-02 11:54:54
生育大局已定!2026年新生人口变化曝光:年轻人不生,根本不是懒

生育大局已定!2026年新生人口变化曝光:年轻人不生,根本不是懒

离离言几许
2026-06-18 22:49:16
美军能打赢解放军吗?俄媒:两军差距巨大,除兵员之外全是劣势

美军能打赢解放军吗?俄媒:两军差距巨大,除兵员之外全是劣势

启迪你的思维
2026-06-20 22:15:43
车险理赔员下班猝死出租屋未获工伤认定,凌晨还在聊工作:“有案子先滴一下,我好抢”

车险理赔员下班猝死出租屋未获工伤认定,凌晨还在聊工作:“有案子先滴一下,我好抢”

潇湘晨报
2026-06-22 14:07:20
中方是否会重开驻立陶宛使馆?外交部:望立方尽早回到一个中国原则上来

中方是否会重开驻立陶宛使馆?外交部:望立方尽早回到一个中国原则上来

澎湃新闻
2026-06-22 15:26:31
一架专机直飞北京,开启5天行程 菲律宾这下是不明白也得明白了

一架专机直飞北京,开启5天行程 菲律宾这下是不明白也得明白了

绝对军评
2026-06-22 08:12:25
【公告精选】603288,拟以10亿元—20亿元回购!

【公告精选】603288,拟以10亿元—20亿元回购!

证券时报e公司
2026-06-23 00:19:07
2026-06-23 00:44:49
Java精选
Java精选
一场永远也演不完的戏
1795文章数 3859关注度
往期回顾 全部

科技要闻

马云与阿里巴巴众高管下田插秧

头条要闻

媒体:中国"两箭齐发"反制美国 不卖了也不买了

头条要闻

媒体:中国"两箭齐发"反制美国 不卖了也不买了

体育要闻

法国球星祝中国队下届世界杯取得好成绩

娱乐要闻

陪睡陪玩是皮毛,向佐揭内娱暗规则

财经要闻

前美联储主席格林斯潘去世 享年100岁

汽车要闻

华为智驾ADS限时优惠月底结束 7月1日前下订立省3000元

态度原创

游戏
本地
艺术
公开课
军事航空

老司机落泪!爆料称《GTA6》没有"特殊工作者"

本地新闻

吃一次广东龙舟饭,才懂什么是豪华盛宴

艺术要闻

光设计就刷屏!南京“绿洲大厦”,层层像梯田!

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

东风-17发射状态首次公开 多车齐射场面硬核

无障碍浏览 进入关怀版