Https协议 + “中间人攻击”原理概述

引导问题
1.为什么使用Https是安全的?
2.Https的底层原理如何实现?
3.使用Https是绝对安全的吗?

Https实现原理

Https协议在内容传输上使用的加密是“对称加密”,而“非对称加密”只作用于证书验证阶段。
Https的整体实现过程分为“证书验证”和“数据传输”两个阶段,过程如下所示:
image

证书验证阶段
1.浏览器发起Https请求;
2.服务器端返回Https证书;
3.浏览器客户端验证证书是否合法,若不合法则提示警告

数据传输阶段
4.当证书验证合法后,在客户端本地生成随机数;
5.通过公钥加密随机数,并将加密后的随机数传输到服务端;
6.服务端通过私钥对接收到的加密随机数进行解密操作;
7.服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密操作后再进行内容传输。

为什么数据传输是用对称加密?

首先,非对称加密的加密效率是非常低的,而http的应用场景通常存在着端与端之间的大量数据交互,从效率来说是无法接受的;
其次,在Https场景中只有服务端保存了私钥,而一对公私钥只能实现单向的加解密(即服务端无法使用私钥对传回浏览器客户端的数据进行加密,只能用于解密),所以Https中内容传输加密采取的是对称加密,而不是非对称加密(此处随机数则是对称加密的介体,即客户端和服务器端所拥有的随机数都是一致的,能够进行双向加解密)。

为什么需要CA认证机构颁发证书?

Http协议被认为不安全是因为传输过程容易被监听者勾线监听、伪造服务器,而Https协议主要就是解决网络传输的安全性问题。
首先,我们假设不存在认证机构,任何人都可以制作证书,这存在的风险便是经典的“中间人攻击”问题。具体过程如下:

image
“中间人攻击”原理

1.客户端请求被劫持(如DNS劫持等),所有的客户端请求均被转发至中间人的服务器;
2.中间人服务器返回中间人伪造的“伪证书”(包含伪公钥);
3.客户端创建随机数,通过中间人证书的伪公钥对随机数进行加密后传输给中间人,然后凭随机数构造对称加密算法对要进行传输的数据内容进行对称加密后传输;
4.中间人因为拥有客户端生成的随机数,从而能够通过对称加密算法进行数据内容解密;
5.中间人再以“伪客户端”的身份向正规的服务端发起请求;
6.因为中间人与服务器之间的通信过程是合法的,正规服务端通过建立的安全通道返回加密后的数据内容;
7.中间人凭借与正规服务器建立的对称加密算法进行数据内容解密;
8.中间人再通过与客户端建立的对称加密算法对正规服务器返回的数据内容进行加密传输;
9.客户端通过中间人建立的对称加密算法对返回的数据内容进行解密;

由于缺少对证书的真伪性验证,所有客户端即使发起了Https请求,但客户端完全不知道自己发送的请求已经被第三方拦截,导致其中传输的数据内容被中间人窃取。

浏览器如何确保CA证书的合法性
  1. 证书包含的主要信息:
    • 颁发机构信息
    • 公钥
    • 公司信息
    • 域名
    • 有效期
    • 指纹
    • 等等
  2. 证书的合法性依据
    首先,权威机构是需要通过认证的。其次证书的可信性基于信任制,CA认证机构需要对其颁发的证书进行信用担保,只要是CA认证机构颁发的证书,我们就认为是合法的。CA认证机构会对证书申请人的信息进行审核的。
  3. 浏览器如何验证证书的合法性?
    浏览器发起https请求时,服务器会返回网站的SSL证书,浏览器需要对证书做以下验证:
    • 验证域名、有效期等信息是否正确;
    • 判断证书来源是否合法。每份签发证书都可以根据验证链查找到对应的根证书,操作系统、浏览器会在本地存储权威机构的根证书,利用本地根证书可以对对应机构签发的证书进行来源验证;
    • 判断证书是否被篡改。需要与CA服务器进行对比校验;
    • 判断证书是否已被吊销。通过CRL(Certificate Revocation List 证书注销列表) 和 OCSP(Online Certificate Status Protocol 在线证书状态协议)实现,其中OCSP可用于第3步中以减少与CA服务器的交互,提高验证效率。

以上任意一步都同时满足的情况下,浏览器才认为证书是合法的。

只有认证机构可以生产证书吗?

如果需要浏览器不提示安全风险,那只能通过认证机构签发的证书。但浏览器通常只是会提示安全风险,并不会限制网站的访问,所有从技术上来说,谁都可以生产证书,只要有证书就能够完成网站的https传输。

客户端的本地随机数被窃取了怎么办?

其实https并不包含对随机数的安全保证,https保证的只是数据传输过程安全,而随机数存储于本地,本地的安全属于另一安全范畴,应对的措施有安装杀毒软件、反木马、浏览器升级修复漏洞等。(这也反映了Https协议并不是绝对的安全的)

使用Https被抓包了会怎样?

由于Https的数据是加密,常规下抓包工具代理请求后抓到的包内容是加密状态的,无法直接查看。
但是,浏览器只会提示安全风险,如果用户授权仍然继续访问网站,完成请求。那么,只有客户端是我们自己的终端,我们授权的情况下,便能够建立中间人网络,而抓包工具作为中间人的代理。

通常, HTTPS 抓包工具的使用方法是会生成一个证书,用户需要手动把证书安装到客户端中,然后终端发起的所有请求通过该证书完成与抓包工具的交互,然后抓包工具再转发请求到服务器,最后把服务器返回的结果在控制台输出后再返回给终端,从而完成整个请求的闭环。

即是,HTTPS 只防止用户在不知情的情况下通信被监听,如果用户主动授信,是可以构建“中间人”网络,代理软件可以对传输内容进行解密。

转载 JopenC大神的分享,方便自己理解查看,原文地址如下:
原文链接:https://blog.csdn.net/Jop_qq/java/article/details/104362064

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268