罗剑锋透视HTTP协议学习笔记---25 | 固若金汤的根本(下):数字签名与证书

article/2025/10/9 4:03:35

25 | 固若金汤的根本(下):数字签名与证书

黑客虽然拿不到会话密钥,无法破解密文,但可以通过窃听收集到足够多的密文,再尝试着修改、重组后发给网站。因为没有完整性保证,服务器只能“照单全收”,然后他就可以通过服务器的响应获取进一步的线索,最终就会破解出明文。

—这里说的是对称加密的安全性和算法,秘钥长度,分组模式相关。比如以AES128-ECB方式加密,明文特征无法被隐藏,容易被破解;AES-CBC缺少hmac,无法保证消息的完整性;所以安全套件通常选AES-GCM,明文特征被隐藏并带有hmac,所以数据完整性是通过hmac保证的,而hmac和特定分组方式相关,另外GCM是对密文用对称秘钥做哈希摘要,不同于一般的无参数的哈希算法[参考陶辉72讲]

摘要算法解决数据完整性问题
算法SHA2
特点,对数据进行处理后生成一个定长的字符串,此字符串具有唯一性,原文微小的变动都会引起字符串剧烈的变动。【雪崩效应】
流程
原文+SHA2哈希码加密后传送到接收端,解密后,取得原文和哈希码,对原文进行SHA2哈希计算,结果和原哈希码比较,如果一致则说明原文在传输中没有被篡改。

数字签名和验签的原理图:
在这里插入图片描述

首先要澄清一个概念,数字签名对应与现实世界的签名,是对某文件条款内容的认同。数字签名及验签过程中传递两样东西,原文和摘要,原文是明文,不加密,摘要要用私钥加密。
过程是
0. 上图是原理图,具体到TLS握手,证书通过Certificate消息发送,包括了公钥,有效期等信息【原文】和指纹【数字签名】
1. 发送方根据原文【消息的signedCertificate部分】算出摘要,并用私钥加密,得到数字签名,和原文一同发给对端。
2. 接收方用公钥解密数字签名【消息的encrpted小节】,得到发送方传递过来的摘要
3. 接收方对原文做摘要,并比对2份摘要,如果一致,则证明发送方的身份是公钥的所有者。
注:encrpted是加密的签名而网站上直接查看的指纹是解密后的签名,所以对不上。
在这里插入图片描述

数字签名和数字证书
数字证书是由CA背书并签发的证明文件,包括了被签发者的公钥和版本,签发者,有效期,序列号,用途等信息【原文】,打包后再用CA的私钥签名,以证明被签发者的身份。
数字签名对应现实世界的签名,签名者自己证明其有效性,但他人无法确保其真实性。因为签名可以伪造,或当事人有恶意。
数字证书对应现实世界的证书,比如身份证,毕业证,由权威机构背书,证明其真实性,按级别分为DV,EV,OV.

证书类别
DV[Domain validated]
OV[organization validated]
EV[extended validation]
三种证书的安全强度是一致的,只是对申请者的审核严格程度逐步加强。

课后作业:

为什么公钥能够建立信任链,用对称加密算法里的对称密钥行不行呢?
不行,对称加密无法解决秘钥传递问题
而公钥的信任链中有个各方都信任的Root Ca,下面有一级,二级CA,证书由CA的私钥保证证书的真实性,上级CA保证下级CA的真实性,如此就建立了一个信任链条。

假设有一个三级的证书体系(Root CA=> 一级 CA=> 二级 CA),你能详细解释一下证书信任链的验证过程吗?—注服务器的证书由二级CA签发。
TLS协商阶段,在交换完Client Hello/Server Hello消息后,发送方【通常是服务器】,发送Certificate消息,把证书链,包括自己的证书,二级CA证书,一级CA证书,一次性发送给接收方【通常是浏览器】。

注:每个传递过来的证书包括4部分
signedCertificate签名的证书,即浏览器点击小锁头直观可以看到的证书
algorithmIdentifier算法标记,包括了签名证书用到的摘要和签名算法,如sha256WithRSAEncryption
Padding填充字符
encrpted加密摘要,注:加密摘要不包含在signedCertificate中,所以浏览器中点击小锁头看不到加密摘要【浏览器显示的是解密后的明文的摘要】。

当前接收方只有内置的Root Ca根证书,无法直接信任接收方的证书。接收方将通过证书链中包含的签发者信息,逐层向上查找直到Root Ca根证书,并从根证书开始,逐级向下做验签。首先,用根证书对一级证书做验签。具体过程是,对一级CA证书【signedCertificate】用传递过来的摘要算法【algorithmIdentifier】做摘要得到摘要1;用Root Ca根证书的公钥解密一级CA证书的数字签名【encrpted】,得到发送过来的摘要2,二者比较,如一致,则认为一级CA证书是真实有效的。类似的,继续用一级CA证书对二级CA证书做验签,二级CA证书对发送方证书做验签,如果发送方证书验证通过,则随之TLS协商进入Server key exchange阶段。

附:数字证书验签流程图
在这里插入图片描述
整个证书的验证流程是
通过Issuer’s–Owner’s获得证书链的所有证书,根证书是内置的,CA,Owner的证书是随Certificate发送的
根证书验证CA
CA验证Owner
验证的依据是用上级证书的公钥验证下级证书的签名


http://chatgpt.dhexx.cn/article/VHndWyXT.shtml

相关文章

浦发银行长沙分行党委书记、行长王起,华融湘江银行行长蒋俊文一行莅临麒麟信安调研考察

8月4日下午,浦发银行长沙分行党委书记、行长王起,华融湘江银行行长蒋俊文一行莅临麒麟信安调研考察并开展座谈,旨在进一步加强在金融IT业务领域的交流合作。麒麟信安董事长杨涛、副总裁颜跃进热情接待。 浦发银行及华融湘江银行领导一行来到…

14.十面埋伏的并发:多线程真的很难吗罗剑锋的C++实战笔记

14.十面埋伏的并发&#xff1a;多线程真的很难吗 并发与多线程 并发有很多实现方式,而多线程只是其中最常用的手段 认识多线程 在C中,线程就是一个能够独立运行的函数.你可以写一个lambda表达式让它在多线程中跑起来 auto f // 定义一个lambda表达式 { cout << "t…

转型架构师之路——郑天民

作者&#xff1a;郑天民&#xff0c;网名天涯兰&#xff0c;日本足利工业大学信息工程学硕士&#xff0c;10 年软件行业从业经验&#xff0c;在医疗、安防和电商行业都有涉猎&#xff0c;前后担任系统分析架构师、部门经理、技术总监等职务。目前就职于一家业界领先的移动医疗互…

阿里技术专家章剑锋:5G时代,大数据将在AI、 IOT领域迎来爆发!

点击“技术领导力”关注∆ 每天早上8:30推送 文 | 章剑锋 笔者从 2008 年开始工作到现在也有 11 个年头了&#xff0c;一路走来都在和数据打交道&#xff0c;做过大数据底层框架内核的开发&#xff08;Hadoop&#xff0c;Pig&#xff0c;Tez&#xff0c;Spark&#xff0c;Livy…

大咖分享 | 甘云锋:解码数据中台,打造数据价值与能力共享中心

导语 数字化浪潮正以一种大势所趋的姿态汹涌而来。面对如此澎湃之伟力&#xff0c;产业数字化的转型之路正面临哪些痛点&#xff0c;又迎来何种机遇&#xff1f;怎样构建可持续发展的技术构架体系以激活数据要素的潜能&#xff1f; 日前&#xff0c;数澜科技创始人、董事长甘…

【华人学者风采】高剑峰 微软研究院

【华人学者风采】高剑峰&#xff0c;微软研究院深度学习技术中心合伙人研究经理、IEEE Fellow。曾于 1999-2005 年在微软亚洲研究院自然语言处理组担任研究员。研究兴趣包括机器学习、自然语言处理、互联网搜索、广告预测、机器翻译等。目前的研究方向是将深度学习应用于文字和…

博士申请 | 香港科技大学(广州)梁宇轩老师招收全奖博士/硕士/博后/RA/实习生...

合适的工作难找&#xff1f;最新的招聘信息也不知道&#xff1f; AI 求职为大家精选人工智能领域最新鲜的招聘信息&#xff0c;助你先人一步投递&#xff0c;快人一步入职&#xff01; 香港科技大学&#xff08;广州&#xff09; 香港科技大学是亚洲以至全球领先的研究学府之一…

李剑锋:意识科学就在身边

来源&#xff1a; 科技日报-中国科技网 近些年&#xff0c;生命科学家开始关注神奇的大脑&#xff0c;因此各国纷纷提出各自的脑计划;当前有一个更基础的、但极富争议性的领域却被大家忽视了&#xff0c;就是意识科学。事实脑计划的终点应该就是意识科学&#xff0c;但由于目前…

Talk预告 | 上海交通大学计算机系博士生李杰锋方浩树:多人场景,全身136关键点检测与跟踪框架AlphaPose技术讲解

本期为TechBeat人工智能社区第466期线上Talk&#xff01; 北京时间12月28日(周三)20:00&#xff0c;上海交通大学计算机系博士生——李杰锋&方浩树的Talk将准时在TechBeat人工智能社区开播&#xff01; 他们与大家分享的主题是: “多人场景&#xff0c;全身136关键点检测与…

【极客时间】HTTP 专栏课-罗剑锋

HTTP 专栏课-罗剑锋 &#x1f436; 趁毕业之前&#xff0c;系统把计算机知识补充一下。从计算机网络开始&#xff0c;后面会扩展到数据结构、算法设计、设计模式、数据库、软件工程、中间件相关内容。这次先根据罗老师课程补一把计算机网络吧&#xff01;&#xff01; 破冰篇之…

专访:平安科技首席架构师金新明和他的程序人生

【CSDN 编者按】从改革开放后提出金融电子化&#xff0c;到如今新一代技术与金融的融合创新&#xff0c;近半个世纪以来&#xff0c;国内外金融科技究竟如何发展&#xff1f;为了回答这个问题&#xff0c;我们请到了平安科技首席架构师金新明&#xff0c;通过对他经历丰富的技术…

李剑锋

李剑锋7827 哈哈&#xff01;&#xff01;国庆快快乐乐&#xff01;&#xff01;&#xff01;&#xff01;看我的白马&#xff01;lijianfeng2 lijianfeng2 ,lijianfeng2 转载于:https://blog.51cto.com/248835/44664

《罗剑锋的c++实战笔记》总结

一、概论 本节可以看清楚C复杂的本质&#xff0c;理解程序运行机制和面向对象编程思想。 1.重新认识C&#xff1a;生命周期和编程范式 &#xff08;1&#xff09;生命周期 一个C程序从诞生到消亡要经历的阶段&#xff1a; 在上图中的编译过程中&#xff0c;编译器还会根据…

《 罗剑锋的C++实战笔记 》

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 生命周期和编程范式秀出好的code style宏定义和条件编译属性和静态断言怎样才能写出一个“好”的类&#xff1f;const/volatile/mutable&#xff1a;常量/变量究竟是…

西门子CP243通信控件

分享一下我老师大神的人工智能教程。零基础&#xff01;通俗易懂&#xff01;风趣幽默&#xff01;还带黄段子&#xff01;希望你也加入到我们人工智能的队伍中来&#xff01;https://blog.csdn.net/jiangjunshow 该控件经过多年现场运用&#xff0c;功能完善可靠&#xff0c;可…

叶帆哥哥的第一个wince驱动——FakeGPS 驱动

早在两年前就开始做WINCE应用程序了&#xff0c;但是由于分工的原因&#xff0c;一直以来都没有机会深入了解WINCE 驱动层面的开发&#xff08;包含PB相关的系统定制&#xff09;。要不是前段时间马宁安排了FakeGPS开发工作&#xff0c;真不知道什么时候才能了解WINCE驱动开发。…

【阿里云IoT+YF3300】11.物联网多设备快速通信级联

我们见到的很多物联网设备&#xff0c;大都是“一跳”上网&#xff0c;所谓的“一跳”就是设备直接上网&#xff0c;内嵌物联网模块或者通过DTU直接上网。其实稍微复杂的物联网现场&#xff0c;往往网关下面连接若干物联网设备&#xff08;如下图&#xff09;&#xff0c;并且这…

脚本语言运用(VBScript)叶帆

脚本语言运用(VBScript) VBScript 使用 ActiveX(R)脚本与宿主应用程序对话。使用 ActiveX Script&#xff0c;浏览器和其他宿主应用程序不再需要每个脚本部件的特殊集成代码。ActiveX脚本使宿主可以编译 Script、获取和调用入口点及管理开发者可用的命名空间。通过 ActiveX Scr…

叶帆密码箱简介

************************************************************ 叶帆软件系列 **** 叶帆密码箱 **** …

史上最全wireshark使用教程,8万字整理总结,建议先收藏再耐心研读

目录 第 1 章 介绍... 1 1.1. 什么是Wireshark. 1 1.1.1. 主要应用... 1