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

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

0
分享至

看小电影还是浏览正常网站,一定要检查是不是 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 是非常的不安全的。更多渗透技术:https://www.yoodb.com/

防止中间人攻击

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

双方约定加密方式

使用 AES 加密报文

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

那么对于这种情况,我们肯定就会考虑能不能将秘钥进行加密不让中间人看到呢?答案是有的,采用非对称加密,我们可以通过 RSA 算法来实现。这个步骤实际操作也是比较简单的,在码匠笔记订阅号后台回复HTTPS就可以查看搭建HTTPS服务视频。

在约定加密方式的时候由服务器生成一对公私钥,服务器将公钥返回给客户端,客户端本地生成一串秘钥(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 证书的安全性呢。免费SSL证书领取方式:https://www.yoodb.com/

权威认证机构

在 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

公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!

最近有很多人问,有没有读者交流群!加入方式很简单,公众号Java精选,回复“加群”,即可入群!

(微信小程序):3000+道面试题,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计等,在线随时刷题!

特别推荐:专注分享最前沿的技术与资讯,为弯道超车做好准备及各种开源项目与高效率软件的公众号,「大咖笔记」,专注挖掘好东西,非常值得大家关注。点击下方公众号卡片关注

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

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

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.

相关推荐
热点推荐
生命斗士!官方:埃里克森当选丹麦1-1斯洛文尼亚全场最佳

生命斗士!官方:埃里克森当选丹麦1-1斯洛文尼亚全场最佳

直播吧
2024-06-17 02:06:28
贝克汉姆社媒:伟大的逆转战斗到最后一刻

贝克汉姆社媒:伟大的逆转战斗到最后一刻

直播吧
2024-06-16 20:25:32
获全场最佳!西班牙中场技术出众却毫无名气,主帅:名字耽误了他

获全场最佳!西班牙中场技术出众却毫无名气,主帅:名字耽误了他

星耀国际足坛
2024-06-16 11:36:04
“中国技术不如日本?”中国高铁一公里1万度电,日本只要43度?

“中国技术不如日本?”中国高铁一公里1万度电,日本只要43度?

番茄说史聊
2024-06-15 22:01:17
头部主播也卖不动了,抖音有点慌

头部主播也卖不动了,抖音有点慌

品牌营销官
2024-06-14 19:32:38
理想汽车车友汕头活动多车追尾 组织者:突遭大雨,车距较近,致5车追尾

理想汽车车友汕头活动多车追尾 组织者:突遭大雨,车距较近,致5车追尾

红星新闻
2024-06-16 19:16:10
22岁小伙雇45岁保姆后,整天不出门在家过二人世界

22岁小伙雇45岁保姆后,整天不出门在家过二人世界

牛城王小帅
2024-06-12 13:48:47
能否破格录取姜萍?浙大、港中大回应

能否破格录取姜萍?浙大、港中大回应

新民晚报
2024-06-16 09:53:22
欧洲杯一夜2纪录!16岁巨星起飞:6秒狂奔40米,4人拦不住

欧洲杯一夜2纪录!16岁巨星起飞:6秒狂奔40米,4人拦不住

叶青足球世界
2024-06-16 02:21:19
普京透露:近70万俄罗斯军人参与特别军事行动

普京透露:近70万俄罗斯军人参与特别军事行动

参考消息
2024-06-15 12:26:07
网友:孙兴慜到底说了啥?王大雷调侃回复:他说他对不起中国人民

网友:孙兴慜到底说了啥?王大雷调侃回复:他说他对不起中国人民

直播吧
2024-06-16 12:48:07
吉达联合主席:我们14亿欧报价梅西,他竟然因家人想去美国而拒绝

吉达联合主席:我们14亿欧报价梅西,他竟然因家人想去美国而拒绝

直播吧
2024-06-16 19:00:08
7换1!史诗级交易方案!杜兰特重回雷霆,携手亚历山大冲冠

7换1!史诗级交易方案!杜兰特重回雷霆,携手亚历山大冲冠

鬼魅突破上篮
2024-06-16 16:48:19
美军要炸沉这艘大舰!

美军要炸沉这艘大舰!

新民晚报
2024-06-14 08:49:31
《玫瑰的故事》播出一半后才发现,刘亦菲根本不是天选的“玫瑰”

《玫瑰的故事》播出一半后才发现,刘亦菲根本不是天选的“玫瑰”

兰子记
2024-06-15 20:36:41
俄乌冲突要结束了?拜登突然宣布爆炸消息!中方给出震撼回应!

俄乌冲突要结束了?拜登突然宣布爆炸消息!中方给出震撼回应!

趣说世界哈
2024-06-17 00:58:49
经济形势有多严峻?3个现象席卷中国各地,预示苦日子已开始?

经济形势有多严峻?3个现象席卷中国各地,预示苦日子已开始?

山丘楼评
2024-06-07 11:45:11
总决赛G5票价出炉!均价2213美元创纪录 38分惨败后大赚一笔

总决赛G5票价出炉!均价2213美元创纪录 38分惨败后大赚一笔

罗说NBA
2024-06-16 05:56:09
母女情深!凯特暖心安慰9岁夏洛特,公主也在尽力支持生病的妈妈

母女情深!凯特暖心安慰9岁夏洛特,公主也在尽力支持生病的妈妈

译言
2024-06-16 10:37:22
12国拒绝签署乌克兰和平峰会公报,引发全球关注

12国拒绝签署乌克兰和平峰会公报,引发全球关注

亡海中的彼岸花
2024-06-17 00:10:03
2024-06-17 02:30:44
Java精选
Java精选
一场永远也演不完的戏
1551文章数 3855关注度
往期回顾 全部

科技要闻

iPhone 16会杀死大模型APP吗?

头条要闻

南方医院回应教师因救人迟到:教学差错是最轻档处理

头条要闻

南方医院回应教师因救人迟到:教学差错是最轻档处理

体育要闻

没人永远年轻 但青春如此无敌还是离谱了些

娱乐要闻

上影节红毯:倪妮好松弛,娜扎吸睛

财经要闻

打断妻子多根肋骨 上市公司创始人被公诉

汽车要闻

售17.68万-21.68万元 极狐阿尔法S5正式上市

态度原创

亲子
房产
艺术
健康
公开课

亲子要闻

玩这个游戏的都是勇士

房产要闻

万华对面!海口今年首宗超百亩宅地,重磅挂出!

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

晚餐不吃or吃七分饱,哪种更减肥?

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版