Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >架构师之路-https底层原理

架构师之路-https底层原理

作者头像
静儿
发布于 2021-10-29 02:41:20
发布于 2021-10-29 02:41:20
9450
举报
文章被收录于专栏:编程一生编程一生

引子

先说说我对架构师的理解。从业务能力上,需要的是发现问题和解决问题的能力;从团队建设上,需要的是能培养团队的业务能力;从项目管理上,把控好整个项目和软件产品的全生命周期。

我搜索了一下架构师的培训课程,讲什么的也有。实际上是Java从入门到精通的课也冠名架构师课程;讲持久层框架的也冠名架构师课程;讲组件、中间件的也冠名架构师课程;讲分布式系统设计的也冠名架构师课程。个人意见哈,内容其实没有什么问题,但是课程开始之前至少让大家有个整体的视图:

熟悉https等常用技术的底层原理,可以增强解决实际问题的能力,作出正确的决策。举个例子:

接到安全团队的指令,要求各个团队梳理域名是否存在证书将要到期的安全风险。怎么来给团队下发具体任务呢?这个问题在文章最后总结并回答。

简单入门

先来回答下面两个问题:

1、大家都知道使用https协议传输默认使用443端口,那什么情况下必须使用443,什么情况下不使用443?

大家想一下端口的本质是什么。其实端口有两种,一种是物理端口,比如集线器、路由器的端口。大学的时候记得有门课叫集成电路,里面有讲到过。另一种是逻辑端口,是TCP/IP协议的端口,也常叫网络端口。本质上一个端口是用来绑定服务的,那服务器用监听什么端口,客户端就要向哪个端口发起请求。我们自己也可以写个简单的例子,写过这个例子应该很容易就能明白。《懂了!国际算法体系对称算法DES原理》也有完整的例子。

简单点说服务端可以自己决定什么端口提供服务。但是呢,大家各自为政,记忆起来麻烦也不便于端口管理。所以逻辑端口也进行了划分。其中0~1023是公认端口,比如80就默认是http的端口、443就是https的端口。这样约定好了,就不需要特殊来记了。所以一些对全人类开发的公网网站,就是用的默认端口。但是你自己或者公司内部用的或者和合作方商量好的,也可以用其他端口,只要服务提供方认就行。

2、使用443的端口的同时,80端口还会用吗?

这就是涉及到https的本质了。https本质是http协议上加了一个安全层。安全层做了一些处理,http要做的事情一点也没有减少。就相当于在药粒外加了一层胶囊,本质上起作用的还是药粒呀;快递送来的海鲜放在保鲜箱里还加了保鲜袋本质还是买的海鲜呀。所以当然要用啦。

安全层原理

既然https协议本质只是http上加了安全层,本文就主要将安全层是怎么实现的。当然要靠加密。加密又分成对称加密非对称加密。要使用对称加密,客户端和服务端要有一个相同的秘钥,这个秘钥怎么能安全的传输就成了问题。非对称加密是公钥只能用来加密,私钥只能用来解密。那服务端自己存私钥,客户端来请求的时候,服务端把公钥发给它就可以了。

那有的朋友就问了,那别的客户端来请求是不是也拿到的是同一个公钥呀,信息就不安全了呀。没错,同一个服务端给所有的客户端返回的是相同的公钥。但是威胁网络安全的黑客需要是截获信息,不是公钥。信息发送方用公钥把信息加密了,黑客没有私钥解不开。他能拿到公钥和密文,想解开那就只能暴力破解,把所有语言文字的组合用公钥试一下看看和截获到的密文是不是一样的。如果用常用的RSA2048的话,要80年。

总之,非对称加密是比较安全的,但是它慢。通常加解密速度是对称加密的几百倍,信息大了速度还会快速下降。所以https协议是用非对称加密沟通一个对称秘钥。真正的信息就用对称秘钥来加解密了。

CA证书

很多人都听过网络抓包吧。抓包的原理和黑客截获信息差不多,都是自己作为一个代理。客户端B想访问C网站,黑客D发现了。D就伪装成了C把自己的公钥发给了B。B发请求“我是B,我的提货卡号码是XBXB”到网站C时,黑客D截获了这个信息,用自己的私钥解开,之后把数据篡改成“我是D,我的提货卡号码是XBXB”发给网站C。于是本来B的东西就被D领走了。抓包也是这种充当代理的原理。

为了防止这一问题。客户端就需要在收到公钥的时候做一下判断,信任的公钥才使用。于是出现了一些大家都很认可的组织,它们可以颁发公钥。

打个比方,在唐朝,贺知章贺老可谓是少有的文坛官场双得意的代表,“二月春风”没少光顾他家。从7品官做到3品大员,是皇帝的老铁,为国服务50年后退休皇帝了还送豪宅,后来还被追封礼部尚书。《长安十二时辰》里那个80多的老头何监就是影射的贺知章,因为他退休前的官职就是监事,人称贺监。不少诗坛大家就是受了他的推荐才与皇帝建立了通信成为了公务员。所以,贺监还有一个身份是“大唐最佳星探”。

这里贺监就是大家都认可的组织,在贺监80多岁的时候,40多岁的李白找到贺监,请求他给自己签发一份公钥。贺监就用自己的私钥给他做了签发写了推荐信,不仅如此,还金龟换酒传为佳话。皇帝想选公务员,李白拿出了贺监的推荐信。皇帝一看,确实是贺监的笔迹,马上就给李白封了公务员。

这里提一下,很多时候https抓包可以成功,原理是客户端很多时候并不验证证书的合法性。有个选项check=false。那至于哪些是认证机构,这个是系统预装的。可以在IE浏览器的internet选项里查到预装的证书。在中国,很多金融机构,它们的认证机构是央行。这些证书都是有有效期的,有的三年一签发、有的五年一签发。

上面图中有显示,证书除了公钥信息,还有数字签名信息。数字签名当然需要有信息来进行签名,具体信息就是我们在生成密钥时需要输入的那些,如下图:

总结

回答开头的问题:

接到安全团队的指令,要求各个团队梳理域名是否存在证书将要到期的安全风险。怎么来给团队下发具体任务呢?

1、要梳理的是提供https服务的服务端,只有服务端才会需要找认证机构签发证书

2、只有需要外部认证的证书有过期的概念,自己签发的可以更新也可以不更新。可以通过向服务端发请求的获取到证书,查看证书是谁签发的、有效期是哪天

架构师经常面临着需要做出正确的决策,比如连续几天团队都在执行生产程序发布,但是后面几天大家有纪律涣散的趋势,这时候应该敏锐的察觉到并及时指出并纠正。这些都需要对原理或者事情的走向有深刻的认知才能做出正确和及时的判断。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-10-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
经得住拷问的HTTPS原理解析
HTTPS 是在 HTTP 和 TCP 之间建立了一个安全层,HTTP 与 TCP 通信的时候,必须先进过一个安全层,对数据包进行加密,然后将加密后的数据包传送给 TCP,相应的 TCP 必须将数据包解密,才能传给上面的 HTTP。
用户4456933
2021/06/01
6820
经得住拷问的HTTPS原理解析
详解http和https
近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来的几年内全面取代HTTP成为传输协议的主流。
SmallRoll小卷
2023/02/28
7020
详解http和https
【Linux网络#10】:Https协议原理
🔥 之前我们已经了解了 Http 协议,但是后面我也说道 Http 协议无论是 GET 还是 Post 方法传输数据。都是以明文进行传输,这意味着数据极易受到拦截和篡改。 而为了解决这一问题,HTTPS应运而生。本文将详细探讨HTTPS协议的工作原理、HTTP与HTTPS的区别、加密技术的应用以及如何通过证书认证保障安全通信
IsLand1314
2025/06/02
540
【Linux网络#10】:Https协议原理
【在Linux世界中追寻伟大的One Piece】HTTPS协议原理
HTTPS(Hypertext Transfer Protocol Secure)是一种安全的网络通信协议,它在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS的安全基础是SSL/TLS协议,它存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统提供了身份验证与加密通讯方法,被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。由于HTTPS协议内容都是按照文本的方式明文传输的,就导致在传输过程中出现一些被篡改的情况。
枫叶丹
2024/07/12
1650
【在Linux世界中追寻伟大的One Piece】HTTPS协议原理
HTTPS协议实现的原理
使用对称加密的缺点,使用对称加密双方都知道密钥和算法。加密解密用的是一个密钥,加密是正向的过程,解密是逆向过程。
NeilNiu
2023/03/01
4990
【计算机网络】HTTPS 协议原理
HTTP 协议内容都是按照文本的方式明文传输的,这就导致在传输过程中出现一些被篡改的情况。HTTPS 也是一个应用层协议,是在 HTTP 协议的基础上引入了一个加密层。
YoungMLet
2024/03/09
6060
【计算机网络】HTTPS 协议原理
【Linux|计算机网络】HTTPS工作原理与安全机制详解
HTTP 协议内容都是按照文本的方式明文传输的. 这就导致在传输过程中出现一些被篡改的情况。
用户11316056
2024/11/19
4970
【Linux|计算机网络】HTTPS工作原理与安全机制详解
HTTP与HTTPS的区别,详细介绍[通俗易懂]
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
全栈程序员站长
2022/07/01
4.9K0
HTTP与HTTPS的区别,详细介绍[通俗易懂]
为什么HTTPS比HTTP更安全?
近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来的几年内全面取代HTTP成为传输协议的主流。
心莱科技雪雁
2019/06/05
4770
为什么HTTPS比HTTP更安全?
Android-Https
参考: https://mp.weixin.qq.com/s/E75toyRukUHEtt34-snEgQ https://mp.weixin.qq.com/s/adZC0N5Fd4X9FjxUrdlS1w https://mp.weixin.qq.com/s/7sX3AY7gJomJ2ZEErUqmKA
android_薛之涛
2019/03/04
1.5K0
【计算机网络】HTTPS
由于HTTP协议内容都是按照文本形式 明文传输的,就导致在传输过程中出现一些篡改的情况
lovevivi
2023/11/27
1910
【计算机网络】HTTPS
快速了解Https
HTTPS:https是http与ssl的结合,为了解决http明文传输导致信息泄露的问题。ssl通过公钥和私钥保证客户端和服务器之间的通讯加密,由权威机构办法的数字证书杜绝了中间人攻击的可能。默认端口为443。
全菜工程师小辉
2019/08/16
4590
为什么 HTTPS 是安全的?
HTTP 协议是通过客户端和服务器的请求应答来进行通讯,目前协议由之前的 RFC 2616 拆分成立六个单独的协议说明(RFC 7230、RFC 7231、RFC 7232、RFC 7233、RFC 7234、RFC 7235),通讯报文如下:
民工哥
2020/09/15
8900
为什么 HTTPS 是安全的?
HTTPS原理介绍以及证书签名的申请配置
原文地址: HTTPS原理介绍以及证书签名的申请配置 (https://mp.weixin.qq.com/s/S-ZgJ3tFhmU4qvt80QwKqw)
全栈工程师修炼指南
2022/09/29
1.2K0
HTTPS原理介绍以及证书签名的申请配置
HTTPS协议原理和流程分析
本文配图介绍HTTPS协议的层级结构,访问原理,交互过程,说明如何解决存在的中间人问题。
辉哥
2019/05/14
15.2K1
HTTPS协议原理和流程分析
【网络原理】深入理解HTTPS协议
HTTPS 也是一个应用层协议. 是在 HTTP 协议的基础上引入了一个加密层. HTTP 协议内容都是按照文本的方式明文传输的. 这就导致在传输过程中出现一些被篡改的情况.
用户11369350
2025/05/04
1420
【网络原理】深入理解HTTPS协议
Https详细分析
目录介绍 01.为何会有Https 02.解决方案分析 03.SSL是什么 04.RSA验证的隐患 05.CA证书身份验证 06.Https工作原理 07.Https代理作用 08.Https真安全吗 09.Https性能优化 01.为何会有Https Http的缺点 通信使用明文; 通信使用明文意味着安全性大大降低,当通信过程被窃听后,无需花费额外的投入就可看到传输的数据。 例如使用抓包工具,无需任何配置就可查看任何使用HTTP协议的通信数据; 不验证通信方身份 不验证通信方的身份,将导致通信过程被窃听后
杨充
2020/09/25
7130
最精美详尽的 HTTPS 原理图
近年来,随着用户和互联网企业安全意识的提高和 HTTPS 成本的下降,HTTPS 已经越来越普及。很多互联网巨头也在力推 HTTPS,比如谷歌的 Chrome 浏览器在访问 HTTP 网站时会在地址栏显示不安全的提醒,微信要求所有的小程序必须使用 HTTPS 传输协议,苹果也要求所有在 App Store 上架的应用必须采用 HTTPS ,国内外的大部分主流网站也都已迁移至 HTTPS,可见 HTTPS 全面取代 HTTP 只是时间问题。
架构师修炼
2020/09/22
1.2K0
涨姿势!原来 HTTPS 协议是这样保护数据不被窃取的
http 协议是一种基于 TCP/IP 的应用层协议,起初是为了实现 web 的功能,如今已经成为了多种场景下多端通信的一种常用数据传输协议。 但是 http 协议是基于明文传输,存在以下风险:
用户3147702
2022/06/27
1.2K0
涨姿势!原来 HTTPS 协议是这样保护数据不被窃取的
相关推荐
经得住拷问的HTTPS原理解析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档