Https安全原理讲解

这个知识点我觉得特有意思,来记录一下。

首先讲一下Http为什么不安全?我们用下面这个例子来打个比方。

假设你坐在一个教室里,你现在非常想把某个信息传递给教室里的另一个人,一般来说,会选择,传纸条。传纸条这个比喻其实非常正确,这就是互联网的一个基础协议 TCP/IP 协议基本的工作模式。而通常,HTTP 协议的数据是使用 TCP/IP 协议进行发送的。HTTP 指的是你在纸条上写明你要传送的目的地是哪个同学的坐位,然后再是要传递的内容。途径的同学拿到纸条后根据纸条上显示的地址依次传过去就好了。这样要面临的第一个问题就是:途径的同学可以完全知道你写了什么。

这就是为啥Http不安全,途径的位置都可以知道你要发送的内容。

所以我们要对信息进行加密,简单介绍下三种常见的加密方式:

1.对称加密 : 加密和解密数据使用同一个密钥。这种加密方式的优点是速度很快,常见对称加密的算法有 AES;
2.非对称加密: 加密和解密使用不同的密钥,叫公钥和私钥。数据用公钥加密后必须用私钥解密,数据用私钥加密后必须用公钥解密。一般来说私钥自己保留好,把公钥公开给别人,让别人拿自己的公钥加密数据后发给自己,这样只有自己才能解密。 这种加密方式的特点是速度慢,CUP 开销大,常见非对称加密算法有 RSA;
3.Hash: hash 是把任意长度数据经过处理变成一个长度固定唯一的字符串,但任何人拿到这个字符串无法反向解密成原始数据(解开你就是密码学专家了),Hash 常用来验证数据的完整性。常见 Hash 算法有 MD5(已经不安全了)、SHA1、SHA256.

有一种办法是把纸条的信息对称加密。我们来具体化这个场景,小邬要把这个纸条经过小王传给小只,前面说http不安全,就是小王会通过以下4种方式来干扰到小邬。

1.收到小邬的纸条后扔掉纸条。但这样做小邬收不到回应下课会去单独问小只,事情就败露了
2.偷窥纸条的内容,然后举报给老师
3.收到小邬的纸条后,小王立即给小邬发一个回复纸条:“我不喜欢你,我喜欢小王”。同时小王给小只发一个纸条:“我是小邬,你长的真丑,嘿嘿”
4.正常帮小邬和小只投递纸。但复印一份小邬的纸条,过两天小王把这个纸条发给了班里的其他女生小花。

可以看出来这个小王吧,是非常腹黑的。ok,那我们就把纸条的信息对称加密。但是小只不知道这个加密的秘钥,无法解开。如果把秘钥写在纸条里,那么小王就知道了,没有意义。这样不行,换种思路。

小只可以生成一对公钥和私钥,把公钥公开给班里所有的同学,这样小邬就能得到公钥。如果小邬够聪明的话,他得到公钥后会生成一个对称加密AES的密钥,然后用小只的公钥把 AES 密钥加密(AES 密钥长度很短加密几乎不需要时间),然后把加密后的密钥发给小只。小只收到后用私钥解密,得到小邬的对称加密密钥,然后就可以用这个只有他们俩知道的对称密钥加密数据进行交流。

完美。但仔细一想可能有这么几个问题。既然非对称加密可以那么安全,为什么我们不直接用它来加密信息,而是去加密对称加密的密钥呢?

这是因为非对称加密的密码对生成和加密的消耗时间比较长,为了节省双方的计算时间,通常只用它来交换密钥,而非直接用来传输数据。

自以为天衣无缝,但这种真的安全吗?实际上不安全。见下:

小只公开秘钥的时候,小邬正巧拉肚子不在。等小邬回来的时候,问小王,小只的公钥是多少。小王腹黑,告诉小邬自己生成的假公钥。这样等小邬通过这个假公钥来对AES秘钥加密的时候,小王就可以解开这个秘钥,从而解开信息。而小只却解不开。

小只知道后不行,得找班长给自己做信用背书,正好前两天班长在班里通知了自己的公钥。于是小只找到班长,做了一个证书,证书上有自己的名字、学号、公钥、公证人班长的名字,同时把这些信息通过 Hash (SHA256)处理后请求班长用自己的私钥进行加密(为什么用 Hash 处理?因为东西太多非对称加密很费时),也放到证书上。于是小只再次把证书通报给班里所有的同学。

小邬这次得到了证书,发现上面的公证人是班长,于是先用班长的公钥对证书上被班长私钥加密后的字段进行解密,得到元素数据的 Hash。 再对元素数据进行 Hash和刚刚解密的 Hash 进行比对。如果比对成功表示证书上的信息无误,且是由班长担保的。这时候小谷确信证书上的公钥就是小美的。任何人因为没有班长的私钥都无法伪造证书。

还是有一个问题如何判断班长的公钥是他本人的呢?如果有人伪造班长的公钥以及证书,那跟上面的情况一样,信息被泄露。

这个时候他发现班长的证书上有班主任的担保(班主任的公钥做了签名),班主任的证书上有校长的担保,而小邬是有校长的的公钥的,就印在学生证上。

终于,小邬把信息安全的传出去了。

故事完了。故事中 小邬是浏览器,小只是服务器,小王是坏蛋,班长是 CA 机构,班主任是上级 CA,校长是根 CA 服务器。当一个网站要使用 https 时先需在一些国际认证的 CA 机构填写网站信息申请证书,而这些 CA机构往往还有上层 CA,最终有一个根 CA。一般来说浏览器都会内置根 CA 和一些顶级 CA 的证书,但需要验证的时候会通过 CA 链逐级验证。

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