彻底征服了HTTPS!-我用20张图 (彻底征服了含韵全文免费阅读)

教程大全 2025-07-08 18:49:39 浏览

图片来自 Pexels

网上挺多介绍 HTTPS,但我发现总是或多或少有些点有些遗漏,没有讲全。

今天试图由浅入深地把 HTTPS 讲明白,相信大家看完一定能掌握 HTTPS 的原理。

本文大纲如下:

HTTP 由于是明文传输,主要存在三大风险。

①窃听风险

中间人可以获取到通信内容,由于内容是明文,所以获取明文后有安全风险。

②篡改风险

中间人可以篡改报文内容后再发送给对方,风险极大。

③冒充风险

比如你以为是在和某宝通信,但实际上是在和一个钓鱼网站通信。

HTTPS 显然是为了解决这三大风险而存在的,接下来我们看看 HTTPS 到底解决了什么问题。

看了上一节,不难猜到 HTTPS 就是为了解决上述三个风险而生的,一般我们认为安全的通信需要包括以下四个原则: 机密性、完整性,身份认证和不可否认。

如下:

接下来我们一步步来看看 HTTPS 是如何实现以满足以上四大安全通信原则的。

对称加密:HTTPS 的最终加密形式

既然 HTTP 是明文传输的,那我们给报文加密不就行了,既然要加密,我们肯定需要通信双方协商好密钥吧,一种是通信双方使用同一把密钥,即对称加密的方式来给报文进行加解密。

如图示:使用对称加密的通信双方使用同一把密钥进行加解密。

对称加密具有加解密速度快,性能高的特点,也是 HTTPS 最终采用的加密形式,但是这里有一个关键问题,对称加密的通信双方要使用同一把密钥,这个密钥是如何协商出来的?

如果通过报文的方式直接传输密钥,之后的通信其实还是在裸奔,因为这个密钥会被中间人截获甚至替换掉,这样中间人就可以用截获的密钥解密报文,甚至替换掉密钥以达到篡改报文的目的。

有人说对这个密钥加密不就完了,但对方如果要解密这个密钥还是要传加密密钥给对方,依然还是会被中间人截获的,这么看来直接传输密钥无论怎样都无法摆脱俄罗斯套娃的难题,是不可行的。

非对称加密:解决单向对称密钥传输问题

直接传输密钥无论从哪一端传从上节分析来看是不行了,这里我们再看另一种加密方式:非对称加密。

非对称加密即加解密双方使用不同的密钥,一把作为公钥,可以公开的,一把作为私钥,不能公开,公钥加密的密文只有私钥可以解密,私钥加密的内容,也只有公钥可以解密。

注:私钥加密其实这个说法其实并不严谨,准确的说私钥加密应该叫私钥签名,因为私密加密的信息公钥是可以解密的,而公钥是公开的,任何人都可以拿到,用公钥解密叫做验签。

这样的话对于 server 来说,保管好私钥,发布公钥给其他 client,其他 client 只要把对称加密的密钥加密传给 server 即可。

如此一来由于公钥加密只有私钥能解密,而私钥只有 server 有,所以能保证 client 向 server 传输是安全的,server 解密后即可拿到对称加密密钥,这样交换了密钥之后就可以用对称加密密钥通信了。

但是问题又来了, server 怎么把公钥安全地传输给 client 呢。如果直接传公钥,也会存在被中间人调包的风险。

数字证书,解决公钥传输信任问题

如何解决公钥传输问题呢,从现实生活中的场景找答案,员工入职时,企业一般会要求提供学历证明。

显然不是什么阿猫阿狗的本本都可称为学历,这个学历必须由第三方权威机构(Certificate Authority,简称 CA)即教育部颁发。

同理,server 也可以向 CA 申请证书,在证书中附上公钥,然后将证书传给 client,证书由站点管理者向 CA 申请,申请的时候会提交 DNS 主机名等信息,CA 会根据这些信息生成证书。

这样当 client 拿到证书后,就可以获得证书上的公钥,再用此公钥加密对称加密密钥传给 server 即可,看起来确实很完美,不过在这里大家要考虑两个问题。

问题一:如何验证证书的真实性,如何防止证书被篡改

想象一下上文中我们提到的学历,企业如何认定你提供的学历证书是真是假呢?

答案是用学历编号,企业拿到证书后用学历编号在学信网上一查就知道证书真伪了,学历编号其实就是我们常说的数字签名,可以防止证书造假。

回到 HTTPS 上,证书的数字签名该如何产生的呢,一图胜千言:

步骤如下:

①首先使用一些摘要算法(如 MD5)将证书明文(如证书序列号,DNS主机名等)生成摘要,然后再用第三方权威机构的私钥对生成的摘要进行加密(签名)。

消息摘要是把任意长度的输入揉和而产生长度固定的伪随机输入的算法,无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。

一般来说,只要内容不同,产生的摘要必然不同(相同的概率可以认为接近于 0),所以可以验证内容是否被篡改了。

为啥要先生成摘要再加密呢,不能直接加密?

因为使用非对称加密是非常耗时的,如果把整个证书内容都加密生成签名的话,客户端验验签也需要把签名解密,证书明文较长,客户端验签就需要很长的时间。

而用摘要的话,会把内容很长的明文压缩成小得多的定长字符串,客户端验签的话就会快得多。

②客户端拿到证书后也用同样的摘要算法对证书明文计算摘要,两者一笔对就可以发现报文是否被篡改了,那为啥要用第三方权威机构(Certificate Authority,简称 CA)私钥对摘要加密?

因为摘要算法是公开的,中间人可以替换掉证书明文,再根据证书上的摘要算法计算出摘要后把证书上的摘要也给替换掉!

这样 client 拿到证书后计算摘要发现一样,误以为此证书是合法就中招了。

所以必须要用 CA 的私钥给摘要进行加密生成签名,这样的话 client 得用 CA 的公钥来给签名解密,拿到的才是未经篡改合法的摘要(私钥签名,公钥才能解密)。

server 将证书传给 client 后,client 的验签过程如下:

这样的话,由于只有 CA 的公钥才能解密签名,如果客户端收到一个假的证书,使用 CA 的公钥是无法解密的,如果客户端收到了真的证书,但证书上的内容被篡改了,摘要比对不成功的话,客户端也会认定此证书非法。

细心的你一定发现了问题,CA 公钥如何安全地传输到 client?如果还是从 server 传输到 client,依然无法解决公钥被调包的风险。

实际上此公钥是存在于 CA 证书上,而此证书(也称 Root CA 证书)被操作系统信任,内置在操作系统上的,无需传输。

如果用的是 Mac 的同学,可以打开 keychain 查看一下,可以看到很多内置的被信任的证书。

server 传输 CA 颁发的证书,客户中收到证书后使用内置 CA 证书中的公钥来解密签名,验签即可,这样的话就解决了公钥传输过程中被调包的风险。

问题二:如何防止证书被调包

实际上任何站点都可以向第三方权威机构申请证书,中间人也不例外。

正常站点和中间人都可以向 CA 申请证书,获得认证的证书由于都是 CA 颁发的,所以都是合法的。

那么此时中间人是否可以在传输过程中将正常站点发给 client 的证书替换成自己的证书呢?

如下所示:

答案是不行,因为客户端除了通过验签的方式验证证书是否合法之外,还需要验证证书上的域名与自己的请求域名是否一致。

中间人中途虽然可以替换自己向 CA 申请的合法证书,但此证书中的域名与 client 请求的域名不一致,client 会认定为不通过!

但是上面的证书调包给了我们一种思路,什么思路?大家想想,HTTPS 既然是加密的,charles 这些「中间人」为啥能抓到明文的包呢,其实就是用了证书调包这一手法。

想想看,在用 charles 抓 HTTPS 的包之前我们先要做什么,当然是安装 charles 的证书:

这个证书里有 charles 的公钥,这样的话 charles 就可以将 server 传给 client 的证书调包成自己的证书。

client 拿到后就可以用你安装的 charles 证书来验签等,验证通过之后就会用 charles 证书中的公钥来加密对称密钥了。

整个流程如下:

由此可知,charles 这些中间人能抓取 HTTPS 包的前提是信任它们的 CA 证书,然后就可以通过替换证书的方式进行瞒天过海,所以我们千万不要随便信任第三方的证书,避免安全风险。

彻底征服了含韵全文阅读

以上的讲述过程中,我们只是在 client 端验证了 server 传输证书的合法性,但 server 如何验证 client 的合法性,还是用证书,我们在网上进行转账等操作时,想想看是不是要先将银行发给我们的 U 盾插到电脑上?

其实也是因为 U 盾内置了证书,通信时将证书发给 server,server 验证通过之后即可开始通信。

画外音:身份认证只是 U 盾功能的一种,还有其他功能,比如加解密都是在 U 盾中执行,保证了密钥不会出现在内存中

前文说了,我们可以向 CA 申请证书,但全世界的顶级 CA(Root CA) 就那么几个,每天都有很多人要向它申请证书,它也忙不过来啊,怎么办呢?

想想看在一个公司里如果大家都找 CEO 办事,他是不是要疯了,那他能怎么办?

授权,他会把权力交给 CTO,CFO 等,这样你们只要把 CTO 之类的就行了,CTO 如果也忙不过来呢,继续往下授权啊。

同样的,既然顶级 CA 忙不过来,那它就向下一级,下下级 CA 授权即可,这样我们就只要找一级/二级/三级 CA 申请证书即可。

怎么证明这些证书被 Root CA 授权过了呢,小一点的 CA 可以让大一点的 CA 来签名认证。

比如一级 CA 让 Root CA 来签名认证,二级 CA 让一级 CA 来签名认证,Root CA 没有人给他签名认证,只能自己证明自己了。

这个证书就叫「自签名证书」或者「根证书」,我们必须信任它,不然证书信任链是走不下去的(这个根证书前文我们提过,其实是内置在操作系统中的)。

证书信任链

现在我们看看如果站点申请的是二级 CA 颁发的证书,client 收到之后会如何验证这个证书呢,实际上 service 传了传给二级 CA 的证书外,还会把证书信任链也一起传给客户端。

这样客户端会按如下步骤进行验证:

相信大家看完本文应该对 HTTPS 的原理有了很清楚的认识了,HTTPS 无非就是 HTTP+SSL/TLS。

而 SSL/TLS 的功能其实本质上是如何协商出安全的对称加密密钥以利用此密钥进行后续通讯的过程,带着这个疑问相信你不难理解数字证书和数字签名这两个让人费解的含义。

搞懂了这些也就明白了为啥 HTTPS 是加密的,charles 这些工具却能抓包出明文来。

作者:码海

编辑:陶家龙


爱迪生为什么要发明灯泡?

电灯的发明 灯是人类征服黑夜的一大发明。 19世纪前,人们用油灯、蜡烛等来照明,这虽已冲破黑夜,但仍未能把人类从黑夜的限制中彻底解放出来。 只有发电机的诞生,才使人类能用各色各样的电灯使世界大放光明,把黑夜变为白昼,扩大了人类活动的范围,赢得更多时间为社会创造财富。 真正发明电灯使之大放光明的是美国发明家爱迪生。 他是铁路工人的孩子,小学未读完就辍学,在火车上卖报度日。 爱迪生是一个异常勤奋的人,喜欢做各种实验,制作出许多巧妙机械。 他对电器特别感兴趣,自从法拉第发明电机后,爱迪生就决心制造电灯,为人类带来光明。 爱迪生在认真总结了前人制造电灯的失败经验后,制定发详细的试验计划,分别在两方面进行试验:一是分类试验1600多种不同耐热的材料;二是改进抽空设备,使灯泡有高真空度。 他还对新型发电机和电路分路系统等进行了研究。 爱迪生将1600多种耐热发光材料逐一地试验下来,唯独白金丝性能量好,但白金价格贵得惊人,必须找到更合适的材料来代替。 1879年,几经实验,爱迪生最后决定用炭丝来作灯丝。 他把一截棉丝撒满炭粉,弯成马蹄形,装到坩锅中加热,做成灯丝,放到灯泡中,再用抽气机抽去灯泡内空气,电灯亮了,竟能连续使用45个小时。 就这样,世界上第一批炭丝的白炽灯问世了。 1879年除夕,爱迪生电灯公司所在地洛帕克街灯火通明。 为了研制电灯,爱迪生在实验室里常常一天工作十几个小时,有时连续几天试验,发明炭丝作灯丝后,他又接连试验了6000多种植物纤维,最后又选用竹丝,通过高温密闭炉烧焦,再加工,得到炭化竹丝,装到灯泡里,再次提高了灯泡的真空度,电灯竟可连续点亮1200个小时。 电灯的发明,曾使煤气股票3天内猛跌百分之十二。 继爱迪生之后,1909年,美国柯进而奇发明了用钨丝代替炭丝,使电灯效率猛增。 从此,电灯跃上新台阶,日光灯、碘钨灯等形形色色的灯如雨后春笋般登上照明舞台。 灯使黑暗化为光明,使大千世界变得更光彩夺目,绚丽多姿

求《每天都在征服情敌》txt(百度云盘),拜托了。

每天都在征服情敌by 酥脆饼干 完结+番外:

孢子太空阶段怎么玩

太空阶段 此阶段的理念:大航海时代宇宙版……影响未来的要素:无。 我觉得如果变成策略型会更容易发展,点一下星球即可对该星球上的军队,生产和探索进行控制。 不然靠自己一个一个星球的征服或联盟,要到何时才能有资格与Grox为敌或者征服整个银河系…… 开拓殖民地心得: 1.初期任务会叫你试着放置一个殖民地,这个时候可以不去指定的星球安置,附近找一个其他颜色的香料并且又是绿色轨道的星球,最好T1级别; 2.母星球可以放置最多10个殖民地,一个帝国只有一个母星球,如果失去了母星球则会重新设立某个星球为母星球;而其他殖民地星球最多可以放置3块殖民地; 3.每块殖民地的香料储量是5,所以母星球的最大储存量是50,其他星球为15;香料储存装置(消耗品,建筑物)可以在所放置的星球让储存量增加一倍;当存货量超过储存量最大值,多余出来的就流失掉了; 4.只有当星球的T1稳定之后,而不是达到T1,殖民地才可以建造建筑物,后续的T2,T3同理; 5.T2环境下的殖民地可以建起除炮台之外的所有建筑物;炮台主要防范海盗; 6.关于殖民地快乐指数,只要没有不快乐指数出现就可以。 飞船不飞离这个星球的太阳系不会出现罢工情况; 7.香料采集效率计算公式:3600/星球上所有殖民地采集效率之和=1单位香料需要N秒; 8.外星球的殖民地建筑物造价高,一般全部建下来(除去炮塔)要190,000左右,卖建筑物只能返还一半的钱(确定之后),在初期需要注意这一点; 9.一个星球上只能建立3个殖民地,默认为15储存量;一个太阳系中的殖民地可以建在能访问的星球上;一个太阳系只能由一个帝国管理; 10.想巩固某一个太阳系,你可以在该太阳系的每一个可以访问的星球上设立殖民地,因为不论毁灭还是占领该太阳系,都需要先解决掉太阳系里面的所有殖民地; #建议:香料采集集中在少数的几个星球上,比如说从其他帝国买来的母星球,其储存量为50,加上香料储存装置可以翻倍;其他星球储存量为15,加上香料储存装置达到30,效率一般为10秒/1单位香料。 而其他太阳系则只要有一个殖民地占领着就可以了,最好不要有生态环境,不然星球一多,什么生态环境正受到威胁、海盗偷香料阿会把你搞得一团糟。 整地心得 1.从T0到T3共需要以下不同的种类维持生态环境:小植物x3种,中植物x3种,大植物x3种,素食动物x6种,杂食/荤食动物x3种,所以需要18个舱位;单个舱位的储存量最大为99; 2.整地工具在其他星球会卖的比自己帝国更便宜;也包括其他可交易的物品; 3.后期会开放星球环境调整技能,需要最少整地达人2或帝国2; 4.组建一个生态环境的顺序是:先放置小型、中型、大型三种植物,然后再放2个素食1个荤或杂食动物; 5.整地工具用在非本帝国的星球上会降低友好度; 6.想获得生命权杖请访问银河中心,机会只有一次; 香料贩卖&物品购买心得 1.卖颜色差异的香料,比如把红色香料卖给没有红色香料的帝国时价格会更高; 2.把一种颜色的香料卖给一个星球后,该星球会减少对这种香料的需求,所以推荐99满仓后再一口气卖给出价最高的(需要段时间才会改变价格); 2.本帝国卖的物品是最贵的(除了香料和维修); 3.由于仓位单体容量上限是99,所以需要提高香料的多样性; 4.交易的对象是一个星球,所以在同一个帝国的不同星球上交易价钱不一样; 5.有些星球还没开始采集香料或很少,所以不能购买; 6.和交易方帝国搞好友好度可以改变维修和充能的价格,贸易价格不会变; 7.与交易方帝国友好度到达或超过0时才可以进行交易; 友好度心得(待完善) *友好度会随着时间流逝而增减; *以下部分指标针对Grox会有所变化; 1.在说明任务内容的时候取消、联盟船被击毁的情况下会扣除少量的友好度; 占领了我们的星系之一(-100); 使用有害工具(-100); 摧毁了我方太空船(-100); 摧毁我们的建筑物(-100); 猎杀我方星球(最大值-100); 战争(-50); 拒绝支付贡品(-40); 惧怕陌生人/不信任陌生人(-30); 你真吝啬(-21)?非最大值; 慷慨(+25)?非最大值; 拒绝外交-20; 摧毁我们的建筑物-45; 恐吓我方市民-20; 使用友好工具(最大值+50):迷你/中幅/超级快乐光束(技能,巨消耗能量)可以免费增加友好度; 馈赠礼物(最大值+50):资金10,000加3.7点友好度,50,000为18.5的友好度,100,000为37倍的友好度(用100,000+50,000的组合即可); 大使馆设置(最大值+50):大使馆(消耗品,建筑物)随着时间自动增长; 我们喜欢新朋友(+30):对方的性格所决定; 我们的贸易线路(+30)?非最大值; 你的贸易(+25)?非最大值; 建立了同盟(+25/+50); 你介绍了自己(+10); 亲切招呼的能力(+10); 友好度指标 怒:-70以下; 生气:-69至-30; 一般:-29至29; 开心:30至69,可以建立贸易路线; 高兴:70以上,可以联盟; 购买星球心得 技巧 1.同时只能与3个星球进行贸易,且除非你买下该星球不然贸易仍然存在; 2.推荐先购买其他生物的母星球,储存量最大50;(这里有时会出现以下情况,就是你买下母星球后,如果不进入该星球得大气层内,那么储存量还是40(我遇到的是殖民城8做的母星),且3600/594=6秒/1单位的速度增长;而如果你一进入,就会变成一座普通的15储存量星球,只有三块殖民地的星球) 3.由于你买了其他帝国的母星,所以他们会重新设立母星球并进行发展,虽然能建到10块殖民地,但时间比较长; 4.买其他生物的母星球,价格最低是5,000,000(困难难度下); 5普通星球价格:T2级3,000,000;T3级5,000,000 -10,000,000; 6.竞价失败后,星球购买进度重新开始; 武力征服心得1.后期的超强炸弹能够瞬间摧毁殖民地的市政厅,想要占领殖民地的则要小心; 2.占领殖民地是针对整个太阳系而言,如果该太阳系有2个星球上都有殖民地,那么需要全部投降或者摧毁才可以;占领进度条下方的圆圈是代表一个星球,出现白旗则表示该星球上的所有殖民地都投降了; 3.军事/武力帝国的同盟舰船会更具威力且耐打,想要征服星球的话还是先选好舰船;但对于Grox而言还是很弱不经风; 部分徽章说明 脑外科医生:选择一个生物星球,然后放置巨石,等待即可;需要该星球的太阳系不被任何帝国所占领。 清除者:? 征服者:包括摧毁或占领星球上的所有殖民地。 探险家:进入太阳系即可; 观光客:通过不同的黑洞; 分裂性格:改变职业,通过向其他不同职业的生物学习; 仙境漫游者:访问制定星球

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐