博客主页:christine-rr-CSDN博客
专栏主页:软考中级网络工程师笔记
大家好,我是christine-rr !目前《软考中级网络工程师》专栏已经更新二十多篇文章了,每篇笔记都包含详细的知识点,希望能帮助到你!
今天的笔记是是数字签名和数字证书。
目录
一、数字签名
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.协作关系:
- 证书提供信任基础:用CA的公钥验证证书,确认对方的公钥合法(相当于先检查身份证真假)。
- 签名保障数据安全:用已验证的公钥验证签名,确保数据真实可靠(相当于核对签名与身份证上的名字是否一致)。