目录
故事大纲
在一个浪漫又紧张的故事中,小美和小东通过书信维持远距离恋爱,却屡次遭到中间人老王的“偷窥”与攻击。为了保护隐私,小美和小东从最初的“普通信件”逐步升级防御策略,引入单向加密、对称加密、非对称加密、数字签名和CA认证等技术,最终成功守护了他们爱情的秘密,并彻底挫败了老王的阴谋。
在听故事之前,我们需要先了解几个重要的知识点(加密的知识),才能更好地探索小美和小东是如何一步步击败老王。(如果对知识点已了解的可跳过)
一、加密知识
单向加密
也叫做不可逆加密,将明文内容进行加密,产生了一个密文,无法通过密文解出明文内容。
一般用于生成消息摘要,密钥等,常见的单向加密有:
- MD5:相信这个大家最熟悉,将任何一个明文MD5以后,生成一个和明文对应的唯一密文;
- SHA:又分为:SHA192,SHA256
特点:
- 不可逆
- 输入一样,输出必然相等
对称加密
用一把密钥,对明文进行加密,同样的,使用同一把密钥,也可以对密文进行解密,你可以使用任意的密钥,只要求解密时用的是加密时用的密钥就可以。
这种加密方法,我们叫:对称加密。
常用的对称加密方法有:DES、3DES、AES
特点:
- 加密和解密使用同一把密钥
- 加密解密速度比较快
非对称加密
非对称加密,比对称加密多了一把密钥,其中对外公开的密钥叫公钥,自己保留不让其他人知道的密钥我们叫私钥。可以使用公钥加密,私钥进行解密,同样的,也可以使用私钥加密,公钥进行解密。
常见非对称加密方法有:RSA、DSA。我们平时比较常用的是 RSA。
特点:
- 使用两把密钥加密解密(公钥和密钥)
- 公钥加密私钥解密,私钥加密公钥也可以解密
- 加密和解密的速度很慢
- 公钥和私钥是成对出现的
二、加密知识总结
单向加密:不可逆,只要输入内容一样,输出的密文一定是一样,有任何修改,哪怕只是一个空格,产生的密文都是不同的。
对称加密:加密和解密使用同一把密钥,加密解密速度非常快。
非对称加密:使用公钥和私钥进行加密和解密,公钥加密私钥解,私钥加密公钥解,加密速度很慢。公钥,可以公开给别人;私钥,只给自己用,不可以公开给别人。
好了,了解完加密解密的知识,接下来就是听故事了。
第一章:无防护的情书,偷窥的老王
致小东:
这是我第一百次想要告诉你,与你在一起的每一天,都是我最快乐的时光。尽管我们相隔千里,......
爱你的,小美。
小美读了一遍情书,满脸通红地将信交给邮差,邮差微笑着点头,骑上单车踏上了将信送到小东手中的旅程。
可是,邮差并不知道,在路途中,阴影中的老王正瞄准了他的包裹。
偷窥的老王
老王是村里出了名的“八卦大王”,趁邮差去小店买水的空隙,悄悄翻开了邮包。找到了一封署名小美的信。忍不住读了起来:“嗯,原来小美喜欢小东这么久了……”
他觉得这样还不够有趣,于是拿起笔,在信的最后添了一句:
“不过,我希望你能对小红更上心,她似乎对你也有点意思。”
老王满意地将信放回原处,假装什么事情都没有发生。
误会的开端
小东收到信后,兴奋地拆开。然而看到最后一行时脸却僵住了,“什么?小美居然希望我对小红上心?这是什么意思?”小东陷入了深深的困惑。
于是小东语气冷淡给小美回了一封信:
“小美,我不知道你对我的感情是否真诚,还是希望我去注意别人?希望你能给我一个解释。”
小美收到回信后,简直气炸了:
“我从未写过这种话!小东怎么能这样误会我!”
未加密的信件:危机的源头
这场误会正是因为他们的信件完全没有防护措施。信件在传递过程中被篡改,小美和小东的隐私暴露无遗,也导致了双方的感情出现裂痕。
技术隐喻:
这就像是早期的HTTP,所有的数据都是通过明文的方式传输,任何人都可以轻松截取并篡改内容。
- 数据裸奔:信件未加密,容易被偷窥;
- 篡改无痕:信件内容没有检验机制,篡改后无法发现。
小美的反思
“绝不能再让这样的事情发生”。小美暗下决心,开始思考如何守护自己的信件,同时也羞恼自己的秘密被别人看到。
第二章:共享的钥匙,对称加密的初登场
小美找到村里的一位聪明人-电脑高手小智,小智告诉她,可以用加密的方法,将信件的内容加密,这样别人看到的内容都是毫无意义的乱码。
单向加密肯定是不行的,小东收到信,解不出来,这还怎么互诉心声。
对称加密和非对称加密都可以,小东只要有密钥就可以将内容解出来。
对称加密解密速度快,非对称加密解密慢。要知道小美和小东刚热恋,这会正谈得水深火热,每天信件不停来回飞,信件里面写满了密密麻麻的甜言蜜语。
要是使用非对称加密,加密慢,解密也慢,一天下来写不了几封信,要硬生生急死两个人,显然对称加密会更合适。
于是,小美寄信前,都会使用对称加密的“密钥 S”对内容进行加密
原文:“小东,我好想你!”
加密后:“#%1@3, @+*&^~!”
当老王再次偷窥信件时,看到的却是一串毫无意义的乱码。他愤怒地把信拍在桌子上:“小美到底用了什么诡计?!”
小东的解密之旅
信件送达后,小东用手头的“密钥 S”解读了这串乱码,很快便读懂了小美的心意。他回了一封信:“小美,这种方法太棒了!老王再也无法偷窥我们的秘密了。”
老王的突破:偷窃密钥
虽然这次小美的信成功避开了老王的窥探,但老王并不死心。他开始研究邮差的路线,伺机偷走小美和小东的密码本(对称加密的密钥S)。
一天,邮差在途中休息时,老王悄悄潜入邮包,偷走了那本记录着“密钥 S”的密码本。从此之后,老王不仅能看懂信件,还能模仿小美的语气,伪造信件给小东。
对称加密的优点与弱点
小美和小东发现,尽管对称加密让通信变得更安全,但一旦密码本“密钥S”被偷,所有的信件就失去了秘密。小美意识到,必须找到一种方法,让即使老王偷到密码本也无法破解信件。
技术解读:对称加密
- 原理:双方共享同一把密钥,用密钥加密和解密内容。
- 优势:加密解密效率高,适合大数据量的加密。
- 劣势:密钥一旦泄露,通信安全就完全失效,且密钥的分发过程容易被攻击。
小美的反思
“我必须找到一种更安全的加密方法,让我们共享的密钥不被窃取。”小美开始深入研究更安全的加密手段,为保护他们的通信,迈向新的技术高度。
小东对小美说,那我们就将“密钥 S”进行对称加密,再传输,这样老王就不知道密钥S了,小美推敲了下反驳了这个方法,因为使用对称加密对“密钥S”加密再传输, 那加密“密钥 S”的“密钥 S1”,还是有被老王偷到的风险。
显然使用对称加密对“密钥S”进行加密行不通。那么现在的问题是,小美如何安全地把“密钥S”传给小东?
第三章:聪明的钥匙交接,非对称加密登场
小美之前就从小智那里学习过非对称加密,非对称加密解密是比较慢的,但是如果我们只是对"密钥 S进行加密解密呢?“密钥S”的数据内容是很少的,不像信件内容那么长,加密解密就不会那么慢。
非对称加密方式不同于之前“共享密钥”的加密方式,每个人都有属于自己的“公钥”和“密钥”组合,
公钥:任何人都可以用它来加密信件。
私钥:只有拥有它的人才能解密信件。
于是小美开始尝试,制作了一对“公钥-私钥”密钥对,随即她将公钥发送给小东,而将私钥保密。小东也做了同样的事情,他把自己的公钥发送给了小美。
小美开始用小东的公钥加密每一封信件,而小东则用自己的私钥解密。即使老王偷走了公钥,也无法解密信件内容。
以上“密钥 S”的传输过程是怎样的呢?
- 小美使用非对称加密进行通信,生成了自己的一对私钥和公钥,分别是“privateKey”,“publicKey”;
- 小美将公钥“publicKey”给了小东:
方法一:小美用自己的“privateKey”对"密钥S"进行加密,加密后的密文“S1”传给小东,小东用“publicKey”进行解密得到“密钥 S”;
方法二:小东用小美的公钥“publicKey”对“密钥 S”进行加密,加密后的密文“S1”传给小美,小美用自己的私钥“privateKey”进行解密,得到“密钥 S”;
以上方法一是不可行的,因为小美的公钥“publicKey”是公开的,谁都可以获取到,所以老王也可以获取到,那么老王就可以解密得到“密钥 S”;
方法二可行,因为的公钥配对的“privateKey”只有小美才有,使用“publicKey”加密后,只有小美才可以解密,其它人解不开。
因此解决方案是:小美生成自己的密钥对“privateKeyXM”,“publicKeyXM”,公开“publicKeyXM”,小东将信件内容使用"密钥 S"进行加密,生成加密信件内容"text S",小东将信件的“密钥 S”使用小美的公钥“publicKeyXM”加密成“S1”,将加密信件"text S"和加密后的密钥 “S1”交给邮差送到小美手中。小美通过自己的”privateKeyXM“得到“密钥 S”,即可解开信件内容。
老王的窃取计划再遭打击
老王发现,小东和小美的信件这次变得更复杂了,在一旁看着他们的信件来来往往,依旧没有成功解密其中一封。他的耐心被一次次考验着。最终,他气馁地意识到:即便他偷走了小东或小美的公钥,信件的内容依然无法获取。
技术解读:非对称加密
- 原理:非对称加密采用一对密钥——公钥和私钥,公钥用于加密,私钥用于解密。每个人拥有一对密钥,密钥对之间具有数学关系,但公钥无法推算出私钥。
- 优势:即使公钥被泄露,数据依然安全,只有拥有私钥的人才能解密信息。
- 局限:加密过程相对较慢,但适用于身份验证和密钥交换。
- 作用:只要你拿到谁的公钥,你和对方通信就是安全的,因为只有对方能解密;反过来也是一样的,其它人用公钥能解密,那么来源只能是私钥的主人。作用是什么呢?答案是:验证身份的。
第四章:伪装的老王,中间人攻击
老王的声名远播果然不是盖的,经过不断的跟踪摸索,终于摸清了小美和小东每次来往信件的时候,都会去获取对方的公钥。进一步研究老王就知道这是使用了非对称加密。
这样看起来无懈可击,但老王是谁, 十里八乡远近闻名的人,脑瓜子一转,立马就有了解决方案,你有张良计,我有过墙梯。
既然你们用非对称加密,我解不了你们的内容,那我就从源头开始,偷梁换柱,把你们的密钥给换了。如果小东和小美在获取公钥的时候出了问题,比如小东获取小美的公钥时,获取到的是老王的公钥(老王悄悄替换成自己的公钥),那么老王是不是就能解开小东的加密内容得到“密钥 S”呢?这样就能解开信息内容了。我们来看下过程:
根据图标,老王在两人传信过程中,分别替换了对方的公钥,用自己的密钥将内容加密后重新发出。过程如下:
- 小东在获取小美公钥的过程中,被老王掉包成自己的公钥publicKeyLW,发给了小东;
- 小东不知道公钥被调换成老王的公钥,以为获取的还是小美的公钥,于是就用老王的公钥publicKeyLW对"密钥 S"加密,然后交给邮差送给小美;
- 老王在途中趁邮差不注意偷到了信件,通过自己的私钥privateKeyLW解开了小东的“密钥 S”,偷偷保留下来;
- 接着老王用小美的公钥publicKeyXM加密“密钥 S”,得到密文 S1,放到邮包中让邮差送到小美手中。
- 小美收到小东传过来的信件非常开心,实际“密钥 S”已经被老王偷看保留下来。
- 接着小美和小东就用“密钥 S”对信件加密开始不停地通信谈起了甜蜜蜜的恋爱,却不知这一切内容都被老王用保留下来的“密钥 S”看得清清楚楚。
- 有一次老王用“密钥 S”解开信件内容,添油加醋改了信件内容后,用“密钥 S”把信件内容加密,放回邮差包里;
- 小美收到小东的信件非常开心(实际是被老王掉包篡改过的信件),结果打开一看,写着:“经过深思熟虑,我觉得我心里还是有小红”,顿时气炸了,找到小东就是劈头盖脸渣男骂个不停。
小东感到无比委屈,等小美把气出完才能好好解释,好在小美也是懂事的好女孩,两人经过对质,发现信件内容又被篡改了,这真的要疯了,怎么谈个恋爱咋就这么难呢。
一开始为了信件安全,使用密钥加密,哪知密钥的传递又不安全,为了解决密钥的传递,又采用了非对称加密来保护“密钥 S”,哪知非对称加密的公钥又被替换了。这老王怎么跟土拔鼠一样有洞就能钻。
原理:
替换公钥攻击,通常被称为“中间人攻击”(MITM),是指攻击者通过操控通信双方之间的信道,伪装成双方之一,截获、篡改甚至替换信息内容或公钥,从而获取敏感数据或窃听通信。具体而言,在公钥交换的过程中,攻击者通过拦截或伪造信号,将自己的公钥替换掉通信双方的公钥。由于非对称加密中,公钥是用来加密信息的,而私钥则用来解密,如果攻击者能够将自己的公钥插入到通信链路中,通信的双方就会误认为他们在安全地交换信息,但实际上攻击者可以用自己的私钥解密信息,获取敏感数据。
优势:
1.难以察觉:在没有有效的验证机制(如数字证书、CA证书等)的情况下,替换公钥攻击很难被通信双方察觉。攻击者可以通过伪造公钥看似完美地融入到通信流程中。
2.全面控制:攻击者可以通过替换公钥控制所有经过这段加密信道传输的信息,从而使得通信的任何一方都无法确认数据是否被篡改。
3.攻击范围广:替换公钥攻击不仅仅局限于单纯的消息监听,它还可以通过篡改信件、身份欺骗等手段对网络通信进行全面攻击。
劣势:
1.需要中间人位置: 攻击者需要在双方通信的信道中扮演“中间人”,这要求攻击者能够接触到通信双方的传输链路,并进行有效的拦截和篡改。这种条件限制了攻击的普遍性。
2.依赖信道控制: 为了成功发起替换公钥攻击,攻击者必须控制信道或使用弱点(例如不加密的无线网络)。如果通信双方使用了强加密和身份验证机制,攻击难度会急剧增加。
3.可信认证的挑战: 尽管这种攻击有效,但它会暴露系统或通信协议在没有充分认证机制时的脆弱性。因此,很多解决方案(如CA证书)被提出以对抗此类攻击。
技术隐喻:
想象一下,你和你最亲密的朋友(比如小东和小美)约定通过信件交流心事,每次你们的信件中都会有一把特殊的钥匙(公钥)用来加密内容。你们都认为这把钥匙是彼此独特且私密的,但却不知道有一个人(老王)躲在你们之间,他悄悄地替换了你们的钥匙,并开始解锁你们的信件,偷看你们的秘密。
攻击过程隐喻:
老王就像是中间的“邮递员”,他不仅接管了你们的信件,还悄悄地把你们的公钥交换掉了。每当你们写信并用新的钥匙加密时,老王可以偷偷用自己的私钥解开得到加密信件内容的密钥 S,改写信的内容,甚至冒充你们发送信件。最终,你们没有意识到自己所写的信件根本没有被安全保护。
防御隐喻:
解决这个问题的方法就像是给每封信都贴上一个官方的认证印章(CA证书),让你们的信件可以被公正的“第三方”验证是否没有被篡改过。通过这种方式,即使老王偷偷替换了信件中的钥匙,也无法伪造印章,最终被揭穿。
第五章:身份认证,CA证书的强力助攻
非对称加密是通过公开自己的公钥,让加密内容只有自己的私钥能解开,虽然能有效保护信件内容不被窃取,但它无法保证信件来源是否真实,就像小美和小东之间已经有了非常强大的加密措施,但如果老王替换掉了公钥,伪造了一封信,试图冒充小东写给小美的信,普通的收信者可能会难以分辨真假。
致小美:
亲爱的,
虽然我很爱你,但是我心里也牵挂着小红,我不知道该如何跟你解释,...
爱你的小东
收到这样一封信,我们如何确定这封信是我们认为的人发送过来的呢?
如何才能保证信件来源真实,像我们日常生活中,买车、买房、结婚登记,怎么证明产权和登记证是有效的?
盖章!没错,让权威机构给我们登记并盖章。这样我们的信息就有源可依。你是一个权威,我们都信任这个权威,无理由相信,不需要辩驳,这是规定!套上这层光环,信息就变得真实可靠。
为了解决这个问题,小美和小东决定通过一个第三方认证机构(也就是所谓的 CA机构,即证书授权机构)来证验每封信件的“真伪”。
看到这里大家是不是已经有点晕了?怎么现在又引入了CA机构数字证书?
我知道你很急,但请你不要急,这个时候如果晕了,回过头再看看前面的内容,我们只需要记住每个环节出现的问题和怎么解决这个问题即可。
通过上面的学习我们知道:
如何安全地传输信件的内容?答案是:使用对称加密的方式传输信件内容;
如何安全地传输对称加密的“密钥 S”?答案是:使用非对称加密保护“密钥 S”;
现在要解决的问题是:如何安全地将公钥传输给对方。
重要的事情说三遍:数字证书就是解决公钥安全传输问题的,数字证书就是解决公钥传输问题的,数字证书就是解决公钥传输问题的。
小美知道小东的公钥,但是她不确定小东的公钥是否真的来自小东自己,而不是来自老王的伪造。因此,小美决定通过一个信得过的中介(证书颁发机构(CA))来验证小东的公钥是否可信。
申请证书:
小东向 CA 提交一份申请,证明自己拥有该公钥,并申请由 CA 为自己颁发一个证书。这个过程就像小东向 CA 提交一封申请信,请求他们为他的身份和公钥背书。
CA 颁发证书:
CA 在确认小东身份后,为小东颁发一个证书。这个证书会包含:
- 小东的公钥
- 小东的身份信息(如名字、组织等)
- CA 的私钥签名,证明该证书是由 CA 发出的,可信赖的。
小东有自己的公钥(publicKeyXD)和私钥(privateKeyXD),现在小东要将公钥(publicKeyXD)安全传输。我们将小东的公钥通过CA机构的数字证书包在里面,只要解开CA机构的数字证书,我们就可以得到小东的公钥(privateKeyXD)。怎么解开 CA机构的数字证书呢?CA 机构的这个证书文件是用CA 机构自己的私钥(privateKeyCA)加密的,想解密的话需要用到 CA 机构的公钥(publicKeyCA)。
看到这里你是不是在想怎么又回到了如何解决公钥安全传输的问题?是不是越来越混乱了?别急,我们一个一个讲清楚。前面是为了解决小东的公钥安全传输问题,现在是为了解决CA机构的公钥问题。
如果你是从网上或其它地方下载 CA 机构的公钥,那么有可能会被掉包或伪造,这是不安全的。怎样才安全呢?不用担心,只要你安装了操作系统,不管是window、mac或其它系统,里面已经内置了非常多的 CA 机构的数字证书了。我们可以无条件信任正版系统内置的证书,除非你安装的是盗版系统。
安装并使用证书:
小美收到小东的证书:小美收到小东发来的证书后,她用 CA 的 根证书 来验证小东的证书是否真实有效。根证书是 CA 官方发布并由浏览器、操作系统等预先信任的证书。
验证证书的合法性:小美会验证小东的证书是否由 CA 签名,且签名是否有效。如果证书通过验证,小美就知道这是小东发来的公钥,且是合法可信的。
小美使用公钥加密信件:现在,小美可以放心地使用小东的公钥来加密她写给小东的信件。因为只有小东知道对应的私钥,所以只有小东能够解开这封信的加密内容。
使用私钥解密:
小美将她的信件使用小东的公钥加密后寄给小东;
小东收到信件后,使用自己的私钥来解密信件内容,因为私钥是保密的,只有小东能解密这封信件。
数字签名加强验证:
细心的同学就会发现,既然向 CA申请了证书,操作系统和浏览器内置的 CA机构数字证书通过验证就可以确认证书,那老王是不是也可以申请一个证书,然后替换掉小东的证书就可以了?当然不是,这里就要说到 CA机构在颁发证书时对申请信息的加密和解密了。
证书生成:
CA 机构在给小东颁发证书时,里面包含了:
- 公钥:小东的公钥
- 颁发者:CA(证书认证机构)
- 有效期:证书的使用期限
- 摘要算法:指定的摘要算法(比如MD5,或者其它单向加密算法),用来计算证书的
- 摘要指纹:也就是证书的摘要,保证证书的完整性(使用摘要算法计算出来的值)
- 签名算法:用于生成签名,确保证书是由 CA 签发(将摘要指纹用CA 机构的私钥进行加密)
- 序列号:证书的唯一标识
知道了证书中包含了哪些内容,我们来了解证书是如何生成的:
- CA机构将小东的公钥、颁发者、有效期、摘要算法、哈希算法写入到证书中;
- CA 机构根据证书中指定的哈希算法,计算出整个证书的摘要(digest);
- CA机构根据签名算法以及上一步计算出来的摘要,用自己的私钥对摘要进行加密,生成 CA证书的签名(signature)
- 最后把摘要、签名以及证书的基本信息一起发布,就生成了小东的证书。
证书验证:
现在生成了证书,那么证书的安全通信流程是怎样的呢。
- 小东把自己的数字证书发送给小美;
- 担心证书被老王替换,小美需要对证书进行验证,验证什么呢?
- 验证数字证书是不是 CA 机构颁发的,不是则不安全;
- 那怎么验证呢?需要 CA机构的公钥。为啥?因为从上面的证书生成过程,我们知道证书里面的内容,是 CA机构用自己的私钥加密的,那想看证书内容,就只有用 CA机构的公钥才能解开。如何拿到 CA机构的公钥呢?
- 如果从网上,或者从其它服务器下载,又有可能会被掉包,又不安全了;
- 我们前面讲过,只要你安装了操作系统,不管是window、mac或其它系统。里面已经内置了非常多的 CA 机构的数字证书了。我们可以无条件信任正版系统内置的证书,通过内置证书,我们可以得到公钥,并使用这个公钥对小东证书的数字签名进行解密,得到 CA 在签发证书时生成的原始哈希值,我们暂且将小东证书中解密出来的这个哈希值叫做 HA1。
- 小东证书中包含了基本信息和使用的摘要算法,小美通过证书中的摘要算法,使用摘要算法计算出证书的哈希值HA2, 将 HA1 和 HA2进行对比,证明证书中的信息是没有被篡改过的。
总结:从上面的验证过程,我们可以得到三个验证信息:
- 可以正确解密证书,验证通过,确实是CA机构颁发的;
- 证书中的签名使用CA 机构公钥解密出来的值(摘要算法值)和证书中提供的摘要算法+证书基本信息计算的值相同,代表证书内容没有被篡改过;
- 证书没有被篡改过,那证书的基本信息就是可信的,基本信息中包含了申请人的信息(如名字、组织等);通过登记的基本信息,小美可以知道证书是小东的。
其实以上的验证过程,就像我们浏览器在验证一样:
提取数字签名:浏览器从证书中提取出由CA使用其私钥生成的数字签名。验证签名:浏览器会通过以下步骤验证证书的有效性:计算证书内容的摘要:浏览器使用与CA相同的哈希算法(如 SHA-256)计算证书中所有内容(除了数字签名本身)的哈希值。
使用CA公钥解密签名:浏览器从证书中提取出CA的 公钥,并使用这个公钥对数字签名进行解密,得到 CA 在签发证书时生成的原始哈希值。
对比哈希值:浏览器将自己计算的哈希值与解密出的哈希值进行对比。如果两者相同,说明证书内容未被篡改,且由CA合法签发,验证通过。
验证CA的身份:浏览器需要信任该CA的公钥,这个公钥通常是内置在浏览器或操作系统的受信任根证书存储中。如果该CA是受信任的(即其根证书在受信任的证书列表中),浏览器会信任该证书。
老王的伪装破产
老王继续伪装成小东,写信给小美,他用一种非常巧妙的方式模仿了小东的语言风格,但由于缺少有效的身份认证,他无法获得小东的数字证书。这意味着小美收到信后,发现信上没有正确的数字签名。
当小美打开信封时,她看到一张打印出来的伪造信件,信件的内容虽然和小东平时的风格相似,但显然没有小东的数字签名。小美用手中的公钥验证了信件,却发现它的签名无法匹配任何一个有效的CA证书。
“这不是小东写的!”小美一眼就看穿了老王的伎俩,直接将这封伪造的信撕毁。
故事铺垫
第五章通过数字签名和CA证书的引入,展示了如何通过身份认证保护通信的真实性,解决了伪造信件和中间人攻击的问题,小美和小东的信件安全性得到了极大的提升。但他们知道,在这个信息化的时代,保护隐私依然是一个永无止境的挑战。
总结:
数字签名在CA证书的生命周期中起到了身份验证和数据完整性保护的关键作用。它通过使用CA的私钥进行签名,确保了证书的合法性,并且为浏览器提供了验证证书来源的可靠依据。如果没有数字签名,CA证书的验证过程将无法保证其合法性,可能导致 伪造证书 或 中间人攻击 的风险。因此,数字签名是构建互联网安全信任链的重要基础。
- 优势:保证了信息来源的真实性,防止了伪造信件和中间人攻击。
- 局限性:CA证书的获取需要一定的信任基础,并且涉及到CA机构的安全性问题。
第六章:HTTPS信件的全流程防御
以上的内容,是数字证书、加密解密、签名、验签的过程。将这些技术组成应用起来,就是我们的HTTPS过程。
详细的握手过程如下:
1.客户端 -> DNS服务器
- 客户端:输入 URL(如 https://qiqiao.do1.com.cn),开始通过 DNS 查询域名的 IP 地址
2.DNS服务器 -> 客户端
- DNS服务器:返回服务器的 IP 地址。
3.客户端 -> 服务器
- 客户端:浏览器与 服务器 建立 TCP 连接,连接端口为 443(HTTPS 默认端口)。
4.客户端 -> 服务器
- 客户端:浏览器发起 TLS 握手(发送 ClientHello 消息),请求加密连接。
5.服务器 -> 客户端
- 服务器:服务器收到请求后,返回其 SSL/TLS证书,包括服务器公钥、颁发机构(CA)信息、证书有效期等。
6.客户端 -> CA
- 客户端:浏览器获取服务器的证书后,通过证书中的 CA公钥 验证证书的数字签名,确保证书是由合法的 证书颁发机构(CA) 签发的。
7.CA -> 客户端
- CA:客户端检查并验证 CA 公钥的签名、证书有效期、撤销状态(通过 OCSP 或 CRL)以及证书的域名是否与当前访问的域名匹配。
8.客户端 -> 服务器
- 客户端:验证证书有效后,生成一个 会话密钥(对称加密密钥),并用服务器的公钥加密该会话密钥。然后将加密的会话密钥发送给服务器。
9.服务器 -> 客户端
- 服务器:服务器使用其 私钥 解密客户端发送的加密会话密钥。
10.客户端 <-> 服务器
- 客户端和服务器:使用共享的会话密钥开始进行加密的数据传输。所有后续的数据交换都将使用对称加密算法,保证数据的机密性和完整性。
点点关注,下期精彩继续
七巧低代码是以业务应用搭建为核心的aPaaS低代码应用平台,为客户提供aPaaS+iPaaS的全民数智化解决方案,包括连接器工厂、业务编排、数据集成等核心能力,能大幅度降低开发成本,持续进行新老业务连接,带动全员进行数字化创新。