HTTPS笔记

前言

常常被问及HTTPS的S是什么,以前只是知道就是HTTP利用SSL进行加密的传输,并不知道细节,所以看了点视频看了点书,抛砖引玉,希望各位大佬不吝指教。

HTTP

HTTP是TCP/IP五层模型里面的应用层的其中一种协议,使用的SOCKET传输层协议是TCP协议。既然没有加密就是用的明文传输,和其他诸如TELNET、FTP等协议一样都不是很安全。
这个是参考资料:https://www.cnblogs.com/qishui/p/5428938.html

HTTPS

即为HTTP+SSL,SSL协议相当于在传输层和应用层中间加了一个保障。
下面主要讲几个概念,在SSL协议中会用到

对称加密

对称加密算法,利用密钥加密,同时进行解密
客户端传输的是密文
服务端传输的也是密文
但是服务端向所有人公开服务,因此公钥是公开的
所以数据一旦被偷窥或者中转就是不安全的

非对称加密

服务端持有私钥和公钥,分发给客户端公钥
客户端传输由公钥加密的密文,服务端使用私钥解密
服务端使用由私钥加密的密文,客户端使用公钥解密
但是服务端向所有人公开服务,因此公钥是公开的
因此偷窥者也可以解开服务端的密文
同时可以在本地篡改数据加密后传给服务端(只不过篡改服务端数据这个过程难度增加了),
但是理论上说客户端的数据难以解密(可以篡改,无法偷窥客户端),服务端的数据难以篡改(可以偷窥,无法篡改服务端)

对称加密和非对称加密结合

服务端持有私钥和公钥,分发给客户端公钥

首先使用非对称加密,客户端和服务端商议密钥及其他细节,比如说:
客户端生成随机数并使用公钥进行加密传输给服务端,服务端解密后得到随机数
但是商议过程比较复杂下面说。
确认之后,服务端和客户端使用随机数作为密钥进行对称加密传输

中间人问题

但是如果偷窥者作为代理人介入,偷窥者也存在自己伪造的公钥和私钥,并且知道加密、解密算法,且他也可以拿到服务端的公钥

那么他
作为客户端的服务端,可以向客户端发送伪造公钥,并获得服务端的随机数
并且他
作为服务端的客户端,可以向服务端发送伪造随机数,服务端也就使用这个随机数

密钥被窃取,这样他是可以拿到全部数据并加以篡改。

这个时候对称加密和结合型加密也就失效了。
这个就是中间人问题,是不是有点像汪家人?哦就是那个搞黑产的他。

如何避免中间人问题?

我们引入了第三方证书的概念,一般说的是CA证书
公钥交由CA统一保管,客户端直接使用证书获取公钥
一般来说CA公钥直接写死在操作系统,并把私钥授权给服务端

服务端向客户端发送证书,客户端使用对应的公钥。
如果中间人使用伪造证书(非CA证书),客户端就会提醒证书不安全,数据就停止传输,直到获得客户端的手动确认,数据才可以进行传输。
那么偷窥者的伪造公钥就不好用了,他也不知道CA私钥,无法解密客户端数据,无法获得随机数,则无法篡改也无法偷窥客户端和服务端数据。

HTTPS的技术细节

服务端使用HTTPS加密以后,除了服务端端口开启,额外启动SSL服务器在443端口

客户端在访问HTTPS打头的服务器时候,浏览器默认地向服务端的443端口发请求进行商议
(我们不能奢求每个人都是懂电脑的,比如我就不知道怎么修改客户端的SSL请求端口,因此不建议服务端修改443端口以免用户体验十分崩溃)
商议完成后得到密钥,即可使用对称加密算法回80端口做正常的服务

密钥商议过程

(不是特别准确,道听途说的,有什么不对可以指正)
一.
客服端向服务端发起请求(携带SSL版本、自己支持的加密算法列表)
服务端向客户端发送返回(携带携带SSL版本确认、自己挑选出的其中一个加密算法、一个HASH算法,以及其CA证书)
二.
客户端进行证书认证,之后的随机数都用HASH算法加密(其实这里的随机数依然是可偷窥的,因此以下省略HASH算法一步)
客服端向服务端发送使用非对称加密算法加密客户端生成的随机数1
服务端使用非对称解密算法获得随机数1并向客户端发送随机数2
三.
客户端对随机数1和随机数2进行计算得到随机数3,并传输随机数3
服务端对随机数1和随机数2进行计算得到随机数3,并校验随机数3
四.
服务端对随机数1、2、3进行计算得到随机数4,进行传输。
同时利用随机数1、2、3进行另一个计算得到key

客户端对随机数1、2、3进行计算得到随机数4,进行校验。
同时利用随机数1、2、3进行另一个计算得到key

SSL服务器的作用到此为止,END
这个key才是最终的随机数密钥,可以看到密钥不在网络层面进行传输

致谢

B站UP主free-coder的视频,我们的程序员又免费了,实在是太伟大了!
https://www.bilibili.com/video/BV1w4411m7GL
真的是愉快的一晚上,能够通过互联网学到更多的互联网知识,妥妥正循环,希望这种氛围能够无限套娃下去。
对了最近还看了一些关于telnet协议和RFC文档的资料,只想说想进步就要掉头发啊~~

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

推荐阅读更多精彩内容

  • 主要记录学习工作流程的笔记 资料 Http基础知识学习(四),了解HTTPS 通俗理解数字签名,数字证书和http...
    英勇青铜5阅读 1,732评论 0 7
  • HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数...
    zziazm阅读 364评论 0 2
  • 以下内容大部分是从网上搜索到的,个人认为好理解(大多数博客看的有点云里雾里),同时加入了部分自己的看法。 1、ht...
    hao_yu阅读 302评论 0 0
  • 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采...
    失忆的程序员阅读 165评论 0 2
  • Https笔记 还是为了面试才去了解的HTTPS,话说这么看起来面试真的能让人快速学习很多东西! 为什么要有HTT...
    CSU_IceLee阅读 208评论 0 0