【25软考网工】第六章(3)数字签名和数字证书

发布于:2025-05-11 ⋅ 阅读:(13) ⋅ 点赞:(0)

 博客主页christine-rr-CSDN博客

 专栏主页:软考中级网络工程师笔记

  ​​  大家好,我是christine-rr !目前《软考中级网络工程师》专栏已经更新二十多篇文章了,每篇笔记都包含详细的知识点,希望能帮助到你!

 ​​ 今天的笔记是是数字签名和数字证书。


目录

一、数字签名

1. 现实生活中的签名

2. 数字签名的定义

3. 数字签名的特点

4. 数字签名的过程

1)签名过程(发送者私钥签名)

2)验证过程(发送者公钥验证)

5. 应用案例

1)例题#签名过程判断

2)例题#签名方式判断

3)例题#签名算法判断

4)例题#签名目的判断

5)例题#签名系统要求

6.知识小结

二、数字证书的作用

1. 案例:非对称加密公钥获取

 

2. 数字证书类比

 

3. PKI体系结构

1)注册机构RA

2)证书颁发机构CA

3)证书发布系统

4)证书吊销列表CRL库

4. 应用案例

1)例题:证书真伪和消息验证

2)例题:安全通信

3)例题:X.509密码算法

主要国密算法描述

4)例题:数字证书作用

5)例题:证书有效性验证

6)例题:CA证书描述

5. 证书链

1)证书链的概念

2)例题:证书链互信条件

3)例题:证书链顺序

4)例题:认证证书交换情况

5)例题:证书作用

6.知识小结


一、数字签名

1. 现实生活中的签名

  • 防抵赖机制:通过独一无二的笔迹和指纹确认身份,防止事后否认交易行为(如房产买卖)
  • 数字世界映射:计算机系统中用数字签名实现相同功能,核心是"私钥签名-公钥验证"机制

2. 数字签名的定义

  • 本质:用于确认发送者身份消息完整性的加密消息摘要
  • 密钥使用原则
    • 签名方:必须使用自己的私钥进行签名(A签用A私钥,B签用B私钥)
    • 验证方:必须使用签名方的公钥进行验证(验A签用A公钥,验B签用B公钥)
  • 生成原理:先对内容做哈希生成摘要(如MD5生成128位),再用RSA等算法对摘要加密

3. 数字签名的特点



  • 可信性:与手写签名具有同等法律效力
  • 不可伪造:私钥唯一性保证签名难以伪造
  • 不可重用:必须"一式一签",禁止重复使用同一签名
  • 签名文件不可变:签名后的文件内容不可修改(如合同金额不可篡改)
  • 不可抵赖:私钥的唯一持有性使发送者无法否认
  • 身份核实:接收方可通过验证确认发送者真实身份

4. 数字签名的过程

1)签名过程(发送者私钥签名



标准操作流程:

  • 对原始数据M(如10M电子合同)生成哈希值(如MD5 128位摘要)
  • 用发送者私钥加密哈希值生成签名
  • 将签名附加到原始数据上形成带签名的文件

效率优化:直接签大文件(明文)效率低(非对称加密速度慢且有数据膨胀),先由明文生成HASH,哈希后签名是标准做法

2)验证过程(发送者公钥验证

验证步骤:

  • 分离接收到的文件为原始数据M签名
  • 发送者公钥解密签名得到哈希值A
  • 原始数据重新计算哈希值哈希值B
  • 比较哈希值A与B
    • 一致:证明文件未被篡改且身份真实
    • 不一致:文件被篡改或身份不实

5. 应用案例

1)例题#签名过程判断

  • 核心考点:签名用私钥,验证用公钥
  • 解题关键:A发送信息必须用A的私钥签名,B验证必须用A的公钥
  • 答案:(40)B (41)A

2)例题#签名方式判断



  • 实现机制:不可否认性依赖发送方私钥的唯一性
  • 典型错误:易混淆发送方和接收方的密钥
  • 答案:B

3)例题#签名算法判断



  • 算法区分:
    • 摘要生成:MD5/SHA等哈希算法(选C)
    • 摘要加密:RSA/DSA等非对称算法(选D)
  • 混淆点:DES/3DES是对称加密算法,不用于签名
  • 答案:(42)C (43)D

4)例题#签名目的判断

  • 摘要作用:哈希值变化检测篡改(选C防篡改)
  • 加密目的:私钥签名实现抗抵赖(选B防抵赖)
  • 易错提示:加密内容才是防窃听,此处为签名场景
  • 答案:(42)C (43)B

5)例题#签名系统要求

  • 关键要求:
    • 签名不可重用(排除A、D)
    • 签名后文件不可修改(排除C)
  • 典型错误:忽略"可修改"选项的陷阱
  • 答案:B

6.知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

数字签名原理

签名方用私钥签名,验证方用公钥验证;先哈希生成摘要再加密签名

私钥签名、公钥验证(易混淆签名/加密方向)

⭐⭐⭐

数字签名功能

确认发送者身份(私钥唯一性)、保证消息完整性(哈希防篡改)

身份认证与完整性双重作用

⭐⭐

签名生成流程

1. 哈希生成消息摘要(如MD5);

2. 用发送者私钥加密摘要(RSA等非对称算法)

先哈希后加密(效率关键)

⭐⭐⭐⭐

签名验证流程

1. 公钥解密签名得摘要A;

2. 重新哈希原文得摘要B;

3. 对比A/B一致性

哈希对比验证篡改

⭐⭐⭐

数字签名特性

可信性、不可伪造性、不可重用性、文件不可修改性、不可抵赖性

选择题高频考点(如“不可重用”vs“可修改”)

⭐⭐⭐⭐

典型算法组合

哈希算法(MD5/SHA)+ 非对称加密(RSA)

区分哈希与加密算法用途

⭐⭐⭐

效率优化原因

直接签大文件效率低(非对称加密慢且有数据膨胀),哈希后签名是标准操作

10M→128bit的哈希优化案例

⭐⭐


二、数字证书的作用

1. 案例:非对称加密公钥获取

  • 风险场景:Alice使用Bob公钥加密时,无法保证公钥真实性(可能被黑客冒充)
  • 解决方案通过数字证书获取可信公钥,证书由CA权威机构签名背书
  • 核心功能:证明公钥持有者的真实身份,类似"网络身份证"

2. 数字证书类比

  • 身份证类比:
    • 相似点:均包含持有者关键信息(身份证含姓名/住址,证书含公钥/用户信息)
    • 颁发机构:身份证由公安机关颁发,证书由CA颁发
  • 核心组件:
    • 必含字段:用户公钥、CA签名(使用MD5+RSA算法)
    • 其他字段:序列号、有效期、颁发者、签名算法等
  • 验证原理:通过CA公钥验证签名真伪,确保证书内容未被篡改

3. PKI体系结构

此小节更多相关知识可查看我之前的文章【网络安全实验】PKI(证书服务)配置实验_win7版本pki证书的申请及应用-CSDN博客

1)注册机构RA

  • 职能:受理证书申请,审查申请人合法性(如企业需提交营业执照),资格审查
  • 特殊情形:小型机构可能由CA兼任RA职能
  • 工作流程:终端实体(个人/机构)→RA审查→CA颁发

2)证书颁发机构CA

  • 核心职能证书的颁发、管理和撤销
  • 与RA关系RA仅负责资格审查,CA负责最终证书签发
  • 高频考点:明确CA与RA的职能划分(选择题常考)

3)证书发布系统

  • 功能负责证书发放,如可以通过用户自己或是通过目录服务。

4)证书吊销列表CRL库

  • 定义CRL(Certificate Revocation List)存储过期/无效证书
  • 组成要素:证书发布系统+CRL库构成完整PKI体系
  • 考试重点:PKI四大组件(RA/CA/证书/CRL)及其功能

4. 应用案例

1)例题:证书真伪和消息验证

  • (41):数字证书必含用户公钥(A选项)
  • (42):用CA公钥验证证书签名(A选项)
  • (43):用发送方公钥验证消息签名(C选项)
  • 答案:(41)A (42)A (43)C
  • 关键逻辑:签名验证遵循"私钥签→公钥验"原则

2)例题:安全通信

  • 身份认证:数字证书类比身份证(A选项)
  • 不可否认:数字签名实现"签字画押"效果(D选项)
  • 生活类比:酒店登记用身份证,房产交易用签名
  • 答案:(43)A (44)D

3)例题:X.509密码算法



  • X.509标准:推荐RSA算法(A选项)
  • 国密SM2数字证书:采用椭圆曲线ECC(D选项)
  • 记忆点:国际标准RSA vs 国标ECC
  • 答案:(43)A (44)D

主要国密算法描述

算法名称 算法特征描述
SM1 对称加密,分组长度和密钥长度都为128比特
SM2 非对称加密,用于公钥加密算法、密钥交换协议、数字签名算法(椭圆曲线问题)
SM3 杂凑算法,分组512位,输出杂凑值长度为256位
SM4 对称加密,分组长度和密钥长度都为128比特
SM9 标识密码算法,支持公钥加密、密钥交换、数字签名等安全功能

4)例题:数字证书作用

  • 核心作用:绑定实体与公钥(D选项)
  • 排除法:证书不涉及私钥(排除A/C)、不直接保障完整性(排除C)
  • 答案:D

5)例题:证书有效性验证



  • 验证对象:CA的签名(A选项)
  • 最终目的:验证网站真伪(D选项)
  • 类比:身份证防伪标记验证持有人身份
  • 答案:(47)A (48)D

6)例题:CA证书描述



  • 内容确认:含用户公钥(排除A/C)
  • 签名机制:CA用私钥签名(D选项正确)
  • 易错点:混淆签名方与被签名方密钥用途
  • 答案:D

5. 证书链

1)证书链的概念

  • 证书链定义: 如果用户数量很多,通常由多个CA(证书颁发机构)每个CA为一部分用户发行和签署证书。当两个CA彼此间安全交换了公钥并彼此信任时,它们的证书可以形成证书链。
  • 证书链示例: 假设用户A从CA机构X1获得了证书,用户B从X2获得证书。如果X1和X2彼此信任,那么A可以通过证书链X1《X2》X2《B》来获取B的公钥,B也能通过相反的证书链X2《X1》X1《A》来获取A的公开密钥。

2)例题:证书链互信条件

  • 审题过程: 题目问的是A、B互信的必要条件。
  • 解题思路: 考虑到A、B分别从两个不同的CA获取证书,要实现互信,必须确保两个CA之间建立了信任关系。
  • 选项分析:
    • A选项(A、B互换私钥): 私钥是保密的,不能互换,故排除。
    • B选项(A、B互换公钥): 仅仅互换公钥并不能建立两个CA之间的信任关系,故排除。
    • C选项(I1、I2互换私钥): 私钥同样不能互换,故排除。
    • D选项(I1、I2互换公钥): 正确。两个CA互换公钥是建立信任关系,形成证书链的必要条件。
  • 答案: D

3)例题:证书链顺序



  • 审题过程: 题目要求确定A使用证书链获取B公钥的正确顺序。
  • 解题思路: 根据证书链的定义,需要确保从A到B的公钥获取路径是连贯的,即每个证书都能被前一个证书所签署。
  • 选项分析:
    • A选项(X2《X1》X1 《B》): 顺序错误,X1不能签署X2。
    • B选项(X2《X1》X2 《A》): 完全不符合证书链的定义。
    • C选项( X1《X2》X2 《B》): 正确。表示X1签署了X2的证书,X2签署了B的证书,形成连贯的证书链。
    • D选项(X21《X2》X2《A》): 顺序错误,且不符合证书链的定义。
  • 答案: C

4)例题:认证证书交换情况



  • 审题过程: 题目问的是要使A能够对B进行认证,还需要什么条件。
  • 解题思路: 考虑到A、B分别从两个不同的CA获取证书,要实现A对B的认证,必须确保两个CA之间建立了信任关系。
  • 选项分析:
    • A选项(A和B交换各自公钥): 仅仅交换公钥并不能建立两个CA之间的信任关系。
    • B选项(A和B交换各自私钥): 私钥是保密的,不能交换。
    • C选项(CA1和CA2交换各自公钥): 正确。两个CA互换公钥是建立信任关系,使得A能够认证B的必要条件。
    • D选项(CA1和CA2交换各自私钥): 私钥同样不能交换。
  • 答案: C

5)例题:证书作用



  • 审题过程: 题目要求判断哪个说法是错误的。
  • 解题思路: 逐个分析选项,根据证书链和CA的运作原理来判断每个说法的正确性。
  • 选项分析:
    • A选项(甲、乙可以直接使用自己的证书相互认证): 正确。因为甲、乙都是从同一个CA获取的证书,所以他们可以直接相互认证。
    • B选项(甲与丙及乙与丙可以直接使用自己的证书相互认证): 错误。因为甲、乙和丙是从不同的CA获取的证书,没有建立证书链,所以不能直接相互认证
    • C选项(CA1和CA2可以通过交换各自公钥相互认证): 正确。这是建立证书链,实现不同CA下用户相互认证的基础。
    • D选项(证书I甲、I乙和I丙中存放的是各自的公钥): 正确。证书中通常存放的是用户的公钥和CA的签名。
  • 答案: B

6.知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

数字证书的作用

绑定用户实体和公钥,确保公钥的真实性和权威性(类比身份证)

高频考点:解决公钥信任问题,防止中间人攻击

⭐⭐

PKI体系结构

包含RA(注册机构)、CA(证书颁发机构)、证书发布系统、CRL(证书吊销列表)

核心考点:RA负责资格审查,CA负责颁发证书

⭐⭐⭐

证书验证流程

1. 用CA公钥验证证书签名

2. 用用户公钥验证消息签名

易错点:区分CA签名(CA私钥)与用户签名(用户私钥)

⭐⭐⭐⭐

证书链原理

跨CA信任需交换公钥,形成链式验证(如:CA1→CA2→用户B证书)

典型考题:证书链顺序判断(如叉1→叉2→B)

⭐⭐⭐

数字签名与加密

签名:私钥签、公钥验;加密:公钥加密、私钥解密

混淆点:签名确保不可否认性,加密确保机密性

⭐⭐⭐

X.509证书标准

包含序列号、有效期、公钥、CA签名(推荐RSA算法)

对比:国密SM2证书使用ECC算法

⭐⭐

CA签名机制

CA用私钥签名证书,用户用CA公钥验证证书真伪

关键逻辑:CA公钥需预先可信(如操作系统内置)

⭐⭐⭐⭐

证书吊销列表(CRL)

存储过期/无效证书,由CA维护

低频考点:CRL更新延迟可能导致安全风险

⭐⭐

 三、数字签名 vs 数字证书

1.核心区别:

特性 数字证书 数字签名
本质 公钥的“身份证” 数据的“防伪标记”
作用 证明公钥属于某个实体(如个人/网站) 验证数据的真实性、完整性和不可否认性
颁发者 权威机构(CA) 数据发送者(直接用私钥生成)
内容 包含公钥、持有你是你者信息、CA签名等 发送者对数据的加密摘要(哈希值)
验证方式 用CA的公钥验证证书有效性 用发送者的公钥验证签名有效性

2.通俗比喻:

  • 数字证书身份证

    • 权威机构(公安局/CA)颁发,证明“”,且绑定了你的公钥(类似身份证号)。
    • 例如:访问网站时,服务器出示证书证明自己是真实的“支付宝”,而非钓鱼网站。
  • 数字签名手写签名+防伪钢印

    • 用私钥对数据“盖章”,确保数据未被篡改且发送者无法抵赖
    • 例如:合同电子版签名后,对方可验证签名确认合同未被修改且确实是你签的。

3.协作关系:

  1. 证书提供信任基础:用CA的公钥验证证书,确认对方的公钥合法(相当于先检查身份证真假)。
  2. 签名保障数据安全:用已验证的公钥验证签名,确保数据真实可靠(相当于核对签名与身份证上的名字是否一致)。