为了一个 HTTPS,浏览器操碎了心···

嵌入式资讯精选 2021-10-11 11:38

我是一个浏览器,每到夜深人静的时候,主人就打开我开始学习。

为了不让别人看到浏览记录,主人选择了“无痕模式”。

但网络中总是有很多坏人,他们通过抓包截获我和服务器的通信,主人干了什么,请求了什么数据全被他们知道了!

光窃听也就罢了,他们还经常篡改内容,在网页里面插入诱人的小广告,真是太坏了!

为了保护主人的隐私还他一个干净的上网环境,我决定对通信加密!

第一版:直接简单加密

加密嘛,很简单,把原来要发送的数据加密处理后再发给服务器就行了。

为了安全,密钥当然不能固定,每一次通信都要随机生成。

不过接下来我犯难了,我该怎么把这个秘钥告诉服务器呢,服务器没有秘钥就解不了密,也就不知道我在请求什么资源了。

也不能直接弄个字段告诉服务器密钥,那样别人也能拿到,就跟没加密一样了。

我左思右想,灵机一动,决定把密钥放在数据的开头几个字节藏起来,只要私下服务器约定好,他用这前几个字节作为密钥解密,就能解开我发送的数据了。

你还别说,这办法还真好使,我跟服务器开始秘密通信起来。

后来,找我使用这种办法通信的服务器变得越来越多。

再后来这事就在圈子里传开了,大家都知道数据的前几个字节是密钥了,谁都能解密了。

看来这个办法不行,我得重新思考加密方法了。

第二版:非对称加密

服务器告诉我,我们之前用的那种加密算法叫对称加密算法,也就是加密和解密使用的同一个秘钥。

还有一种叫非对称加密算法,这种算法有两个秘钥,一个公开的叫公钥,一个私藏的叫私钥。

最关键的是,公钥加密后只能用私钥解开,反过来也一样。

只要在正式的数据传输前,服务器把他的公钥告诉我,我后面用它加密数据就行了,就算被别人抓包,他也解不开,因为只有拥有私钥的服务器才能解开。

不得不说,这非对称加密真是个好东西啊!

不过这样一来只能单程加密,服务器能解密我发的,但他发给我的,我却解不了,也不能让他用私钥加密,我用公钥解密,因为公钥是公开的,谁收到都能解,不安全。

没办法,我也弄了一对儿秘钥,通信之前我们双方都交换一下彼此的公钥,这样就可以双向加解密了!

虽然是有点麻烦,但为了数据安全,忍了吧!

第三版:非对称与对称加密结合

但我忍了没几天就忍不住了。

这个非对称加密算法好是好,就是加解密太费时间了,导致我渲染一个网页要花很久时间,卡的不行。

我打算去跟服务器商量一下办法,没想到服务器比我更头疼,他要服务很多浏览器,每一个都这么加解密,把他累的够呛。

于是我们决定,还是用原来的对称加密算法,这样快得多。但是一开始的时候可以用非对称加密算法来传输后面要用的秘钥,把两种算法的优势结合起来。

这一来,我只需要把后面要用到的秘钥,通过服务器公钥加密后发给他就行了,我省去了不少事儿。

第四版:秘钥计算

有一天,服务器告诉我,我们现在的秘钥就是一个随机数,而随机数并不是真正随机的,可能被预测出来,所以我们得提升这个秘钥的安全性。

一个随机数不够,那就多弄几个!

一端容易被猜出来,那就两端一起生成!

我们决定各自生成一个随机数发给对方,我再额外加密传输一个随机数给服务器,这一来,咱们双方都有3个随机数了,然后双方都用这三个随机数计算出真正的秘钥,这可比一个单纯的随机数要安全得多了。

不过为了验证双方计算出来的秘钥是一样的,我们在正式数据传输前,需要先来测试一下,现在的流程变成了这个样子:

我们的这一方案很快得到了大家的认可,圈子里的浏览器和服务器们纷纷用上了这套方案。

第五版:数字证书

原以为这个方案已经万无一失了,没想到我和服务器的通信还是泄露了···

原来有个家伙冒充服务器跟我通信,然后又冒充我跟服务器通信,把我的请求进行了转发,我们俩都被蒙在鼓里,这就是中间人攻击

看来还缺乏一个认证机制!我得知道和我通信的是不是真的服务器。

经过大家的商量,圈子里的服务器们推选了一个德高望重的前辈做公证人,让这公证人准备一对非对称加密的密钥,并在圈子里公开了公钥,所有人都得把他的公钥记下来。

服务器得去公证人这里先登记,把自己的公钥、名字等等信息报上去,公证人拿到这些信息后,计算一个Hash值,然后再用公证人的私钥把Hash值进行加密,加密后的结果就是数字签名

证书的签发

最后,公证人把登记的信息和这个数字签名合在一起,封装了一个新的文件发给服务器,登记就完成了,而这个新的文件就是数字证书

服务器拿到证书后,可要好生保管,因为通信的时候,服务器须要将他们的证书发给我们浏览器验证。

证书的验证

我们浏览器拿到证书后,把证书里面的信息也计算一遍Hash,再用提前记录好的公证人的公钥把证书里的数字签名进行解密,得到公证人计算的Hash,两个一对比,就知道这证书是不是公证人签发的,以及有没有被篡改过了!

只有验证成功才能继续后面的流程,要不然就是冒充的!

这一下总算解决了中间人冒充的问题,除非中间人偷到了公证人的私钥,否则他是没办法伪造出一个证书来的。

非对称加密除了加密数据,还能用来验证身份,真是YYDS!

第六版:信任链

我们这加密方案一传十,十传百,很快就传遍了整个互联网,想要使用这套方案的服务器越来越多,毕竟,谁都不希望自己的网站被人插入小广告。

可原来的那个公证人有些忙不过来了,于是,大家开始推选更多的公证人,公证人开始多了起来,不仅多了起来,而且还形成了产业链。

原来的公证人变成了一代目,一代目可以给新的公证人签发证书,新的公证人就变成了二代目,还有三代目,搞得跟传销似的。

原来只有一个公证人的时候,大家直接保存他的公钥就行了。现在公证人越来越多,我们没办法保存所有的公证人的公钥了,就算能保存得下,但有新的公证人出现的时候我们也做不到实时更新。

于是,大家约定,让所有的一代目公证人自己给自己签发一个证书,叫做根证书,并安装在我们的操作系统中。

以后在验证网站服务器的证书时,就得先去验证证书的签发者,然后再继续验证上一级签发者,直到验证最终的签发者是不是在根证书列表中。

只要最终的签发者在系统的根证书列表中,那这条链上签署的证书就都是受信任的,否则我们就会弹窗提醒用户:

如今,这套方案已经推广到了全世界,现在遇到使用这套方案的网站服务器时,我们浏览器就会在地址栏加上一把小锁,表示网站很安全,还把URL地址,从HTTP,改成了HTTPS···

PS:本文用故事形式讲述了HTTPS是如何工作的,只是起一个引领入门的作用,略去了很多细节,实际情况远比这复杂,比如对称加密秘钥的计算方式、秘钥的交换算法(RSA、DH、ECDH还有区别),双方测试秘钥正确性的方式都没有体现出来,有机会再写一篇正经的技术文来详细抓包剖析HTTPS详细流程。

希望本文对大家理解HTTPS机制有一些帮助,再看其他专业介绍时不再吃力。

1.芯片都去哪了?美国SIA年度报告揭秘~

2.树莓派偷偷换上新SoC!

3.MCU从入门到躺平

4.车规级MCU国产替代下的选择题:车厂策略激进,直供能成为未来主流?

5.编程语言成功的几大要素

6.碳中和,不确定世界里的确定性

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。

嵌入式资讯精选 掌握最鲜资讯,尽领行业新风
评论 (0)
  • 在企业管理和职场环境中,权力是一个常被提及却又让人感到微妙的话题。有人觉得它充满吸引力,有人却对它避之不及。然而,不管你对权力的态度如何,理解它、掌握它,甚至善用它,都是职场成功的重要一环。今天,我们就来深入探讨权力的本质,特别是个人权力和社会权力的区别,以及如何在职场中逐步建立属于自己的影响力。权力的两种面貌:你掌控自己,还是掌控他人?说到权力,首先要区分它的两种类型。个人权力是你对自己生活的掌控感。比如,你能自由决定自己的职业方向,不用总是请示他人。这种权力让人感到踏实和满足,是我们在生活中
    优思学院 2025-03-07 15:56 216浏览
  •        深夜的公园里,当路灯熄灭后,传统监控摄像头只能拍出模糊的黑白画面,仿佛老式胶片电影里的场景。而搭载为旌瑶光ISP的摄像头,却能像猫科动物一样,在几乎全黑的环境中捕捉到行人衣服的颜色、树叶的纹理,甚至快速跑动的宠物狗毛发细节。这种从“黑白默片”到“全彩4K电影”的跨越,背后是为旌瑶光ISP对传统红外补光技术的颠覆性创新。一、传统方案之困:被红外光“绑架”的夜视世界        传统安防摄像头依赖红外
    中科领创 2025-03-07 16:50 335浏览
  • Sub-GHz,即工作频段低于1GHz的无线通信技术,常见频段有315MHz、433MHz、868MHz与915MHz等。其可借助无线电波在自由空间传播的特性,把数据调制到射频载波上进行传输,达成物联网设备间的无线通信,是物联网设备实现高效、稳定、无缝交互的“通信基石”。典型射频信号(无线电波)收发电路简示在工业自动化、智慧城市、智慧农业与智能家居等物联网领域中,LoRa、Wi-SUN、Z-Wave、Sigfox等工业级通信协议大多运行在Sub-GHz频段。而正是通过Sub-GHz射频技术,传感
    华普微HOPERF 2025-03-07 11:39 167浏览
  • 近年来,越来越多的企业在5S管理的基础上,开始追求6S、7S甚至8S管理,仿佛S越多,管理就越先进,企业就越优秀。于是,6S增加了“安全”,7S又加上了“节约”,8S甚至引入了“学习”……看似更加全面,实则很多企业只是机械地增加S,却忽略了管理的核心目标:提升效率、降低浪费、优化工作环境。优思学院认为,5S本身已经是一套成熟的精益管理工具,它的核心理念不仅简单高效,而且易于实施和推广。如果企业只是为了赶时髦,盲目增加S,而没有真正理解5S的本质,那么这些额外的“S”很可能会变成管理上的负担,而不
    优思学院 2025-03-07 12:43 207浏览
  • 深圳触觉智能RK3506开发板现已上市,开启预售!搭载瑞芯微RK3506B/J超低功耗工业处理器(1.5GHz三核A7+M0,主频1.5GHz);支持1280×1280显示、双百兆网口、星闪无线三模,板载高达2路CAN FD与5路串口。RK3506适用场景简介工业控制‌:RK3506适用于工业控制、工业通信、人机交互等应用场景。其多核异构架构(3xCortex-A7+Cortex-M0)和外设接口丰富,支持Buildroot、Yocto系统,适合轻量级HMI应用‌。‌工业通信‌:RK3506均支
    Industio_触觉智能 2025-03-07 10:04 136浏览
  • 文/Leon编辑/cc孙聪颖2025年全国两会进行时,作为“十四五”规划收官之年,本届两会释放出坚定目标、稳中求进、以进促稳等信号。其中,企业家们的建议备受关注,关系到民营经济在2025年的走向。作为国内科技制造业的“老兵”,全国人大代表、TCL集团创始人及董事长李东生在本届两会中提出三份代表建议,包括《关于优化中国科技制造业融资环境的建议》、《关于加强AI深度伪造欺诈管理的建议》和《关于降低灵活就业人员社会保险参保门槛的建议》,表现出对科技制造、AI发展和劳动者保障方面的关注。会后,李东生接受
    华尔街科技眼 2025-03-06 19:41 149浏览
  • 服务器应用环境与客户需求PCIe 5.0高速接口技术的成熟驱动着生成式AI与高效能运算等相关应用蓬勃发展。在随着企业对服务器性能的要求日益严苛,服务器更新换代的周期也持续加快。在此背景下,白牌与DIY(Do It Yourself)服务器市场迎来了新的发展契机,但同时也面临着更趋复杂的技术挑战。传统上,白牌与DIY服务器以其高度客制化与成本效益优势受到市场青睐。然而,随着PCIe 5.0等高速技术的导入,服务器系统的复杂度大幅提升,对组装技术与组件兼容性也就提出更高的要求。举个简单的例子来说,P
    百佳泰测试实验室 2025-03-06 17:00 169浏览
  • 深圳触觉智能SOM3506核心板现已上市,搭载瑞芯微RK3506B/J超低功耗处理器(1.5GHz三核A7+M0),低功耗满载仅0.7W,支持40℃~85℃工作环境,即日起宽温级59元/工业级68元,特价开售!芯片介绍RK3506是瑞芯微Rockchip在2024年第四季度全新推出的Arm嵌入式芯片平台,三核Cortex-A7+单核Cortex-M0多核异构设计,CPU频率达1.5Ghz, M0 MCU为200Mhz。RK3506适用场景简介工业控制‌:RK3506适用于工业控制、工业通信、人机
    Industio_触觉智能 2025-03-07 10:03 165浏览
  • 一、系统概述MYD-LD25X搭载的Debian系统包含以太网、WIFI/BT、USB、RS485、RS232、CAN、AUDIO、HDMI显示和摄像头等功能,同时也集成了XFCE轻量化桌面、VNC远程操控、SWITCH网络交换和TSN时间敏感网络功能,为工业设备赋予“超强算力+实时响应+极简运维”的体验!类别名称描述源码TF-AArm Trusted Firmware 2.8OP-TEEOP-TEE 3.19BootloaderU-boot 2022.10KernelLinux Ke
    米尔电子嵌入式 2025-03-07 14:08 250浏览
  • 多人同时共享相同无线网络,以下场景是否是您熟悉的日常?姐姐:「妈~我在房间在线上课,影音一直断断续续的怎么上课啊!」奶奶:「媳妇啊~我在在线追剧,影片一直卡卡的,实在让人生气!」除此之外,同时间有老公在跟客户开在线会议,还有弟弟在玩在线游戏,而妈妈自己其实也在客厅追剧,同时间加总起来,共有五个人同时使用这个网络!我们不论是在家里、咖啡厅、餐厅、商场或是公司,都会面临到周遭充斥着非常多的无线路由器(AP),若同时间每位使用者透过手机、平板或是笔电连接到相同的一个网络,可想而知网络上的壅塞及相互干扰
    百佳泰测试实验室 2025-03-06 16:50 162浏览
  • ​CS6212是一款可分别用于USB Type-C主机/显示端口源应用的带重定时的有源开关。这设备符合USB 3.2标准版本1.0和USB Type-C标准上的VESA DisplayPort Alt模式 1.0版,支持通过GPIO或12C进行灵活的模式切换。此设备支持USB 3.2第2x1代 运行速度高达10Gbps,DisplayPort 1.4运行速度高达HBR3 8.1Gbps。CS6212管脚分布及功能定义:CS6212支持重定时器训练,并支持USB 3.2标准中定义的状态状态机(RT
    QQ1540182856 2025-03-07 10:09 166浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦