【软考架构师】 信息安全技术基础知识 核心学习笔记
摘要 :本文是基于软考《系统架构设计师》第4章信息安全技术基础知识的整理与深度解析。信息安全是软考的高频考点,涵盖了加密算法、数字签名、PKI体系、抗攻击技术及网络安全协议等。本文采用CSDN极客风格,结合Mermaid图表直观展示复杂流程,并附带了典型真题解析,助力大家高效备考。
关键词:软考、系统架构设计师、信息安全、加密技术、数字签名、PKI、抗攻击技术、网络安全协议
📑 目录
- [一、 信息安全基础概念](#一、 信息安全基础概念)
- [二、 信息安全系统的组成框架](#二、 信息安全系统的组成框架)
- [三、 核心加解密技术(⭐⭐⭐)](#三、 核心加解密技术(⭐⭐⭐))
- [3.1 对称加密算法](#3.1 对称加密算法)
- [3.2 非对称加密算法](#3.2 非对称加密算法)
- [3.3 电子信封](#3.3 电子信封)
- [3.4 数字摘要(Hash函数)](#3.4 数字摘要(Hash函数))
- [四、 数字签名与数字证书](#四、 数字签名与数字证书)
- [4.1 数字签名原理](#4.1 数字签名原理)
- [4.2 数字证书与PKI体系](#4.2 数字证书与PKI体系)
- [五、 访问控制与密钥管理](#五、 访问控制与密钥管理)
- [六、 信息安全的抗攻击技术(⭐⭐⭐)](#六、 信息安全的抗攻击技术(⭐⭐⭐))
- [6.1 拒绝服务攻击(DoS/DDoS)](#6.1 拒绝服务攻击(DoS/DDoS))
- [6.2 欺骗攻击与防御](#6.2 欺骗攻击与防御)
- [6.3 强化TCP/IP堆栈防御](#6.3 强化TCP/IP堆栈防御)
- [七、 网络安全协议与保障体系](#七、 网络安全协议与保障体系)
- [八、 典型真题解析](#八、 典型真题解析)
一、 信息安全基础概念
1. 信息安全五大属性(⭐⭐⭐)
- 机密性:确保信息不暴露给未授权的实体或进程。
- 完整性:只有得到允许的人才能修改数据,并能判别数据是否已被篡改。
- 可用性:得到授权的实体在需要时可以访问数据(攻击者不能阻碍授权者工作)。
- 可控性:可以控制授权范围内的信息流向及行为方式。
- 可审查性:对出现的信息安全问题提供调查的依据和手段。
💡 记忆口诀 :机完可可不是(机密、完整、可用、可控、可审查)。
2. 网络存在的威胁
- 非授权访问;2. 信息泄露或丢失;3. 破坏数据完整性;4. 拒绝服务攻击(DoS);5. 利用网络传播病毒。
二、 信息安全系统的组成框架
信息安全系统框架由技术体系、组织机构体系和管理体系构建(⭐⭐)。
- 技术体系:基础安全设备、计算机网络安全、操作系统安全、数据库安全、终端设备安全。
- 组织机构体系:机构、岗位和人事机构。
- 管理体系:法律管理、制度管理和培训管理。
#mermaid-svg-VPWBpyT16nNCEzO6{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-VPWBpyT16nNCEzO6 .error-icon{fill:#552222;}#mermaid-svg-VPWBpyT16nNCEzO6 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-VPWBpyT16nNCEzO6 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-VPWBpyT16nNCEzO6 .marker.cross{stroke:#333333;}#mermaid-svg-VPWBpyT16nNCEzO6 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-VPWBpyT16nNCEzO6 p{margin:0;}#mermaid-svg-VPWBpyT16nNCEzO6 .edge{stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .section--1 rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section--1 path,#mermaid-svg-VPWBpyT16nNCEzO6 .section--1 circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section--1 polygon,#mermaid-svg-VPWBpyT16nNCEzO6 .section--1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section--1 text{fill:#ffffff;}#mermaid-svg-VPWBpyT16nNCEzO6 .node-icon--1{font-size:40px;color:#ffffff;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-edge--1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-depth--1{stroke-width:17;}#mermaid-svg-VPWBpyT16nNCEzO6 .section--1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled circle,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:lightgray;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:#efefef;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-0 rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section-0 path,#mermaid-svg-VPWBpyT16nNCEzO6 .section-0 circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section-0 polygon,#mermaid-svg-VPWBpyT16nNCEzO6 .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section-0 text{fill:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .node-icon-0{font-size:40px;color:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-depth-0{stroke-width:14;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled circle,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:lightgray;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:#efefef;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-1 rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section-1 path,#mermaid-svg-VPWBpyT16nNCEzO6 .section-1 circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section-1 polygon,#mermaid-svg-VPWBpyT16nNCEzO6 .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section-1 text{fill:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .node-icon-1{font-size:40px;color:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-depth-1{stroke-width:11;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled circle,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:lightgray;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:#efefef;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-2 rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section-2 path,#mermaid-svg-VPWBpyT16nNCEzO6 .section-2 circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section-2 polygon,#mermaid-svg-VPWBpyT16nNCEzO6 .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section-2 text{fill:#ffffff;}#mermaid-svg-VPWBpyT16nNCEzO6 .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-depth-2{stroke-width:8;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled circle,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:lightgray;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:#efefef;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-3 rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section-3 path,#mermaid-svg-VPWBpyT16nNCEzO6 .section-3 circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section-3 polygon,#mermaid-svg-VPWBpyT16nNCEzO6 .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section-3 text{fill:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .node-icon-3{font-size:40px;color:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-depth-3{stroke-width:5;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled circle,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:lightgray;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:#efefef;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-4 rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section-4 path,#mermaid-svg-VPWBpyT16nNCEzO6 .section-4 circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section-4 polygon,#mermaid-svg-VPWBpyT16nNCEzO6 .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section-4 text{fill:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .node-icon-4{font-size:40px;color:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-depth-4{stroke-width:2;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled circle,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:lightgray;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:#efefef;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-5 rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section-5 path,#mermaid-svg-VPWBpyT16nNCEzO6 .section-5 circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section-5 polygon,#mermaid-svg-VPWBpyT16nNCEzO6 .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section-5 text{fill:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .node-icon-5{font-size:40px;color:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-depth-5{stroke-width:-1;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled circle,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:lightgray;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:#efefef;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-6 rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section-6 path,#mermaid-svg-VPWBpyT16nNCEzO6 .section-6 circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section-6 polygon,#mermaid-svg-VPWBpyT16nNCEzO6 .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section-6 text{fill:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .node-icon-6{font-size:40px;color:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-depth-6{stroke-width:-4;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled circle,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:lightgray;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:#efefef;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-7 rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section-7 path,#mermaid-svg-VPWBpyT16nNCEzO6 .section-7 circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section-7 polygon,#mermaid-svg-VPWBpyT16nNCEzO6 .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section-7 text{fill:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .node-icon-7{font-size:40px;color:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-depth-7{stroke-width:-7;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled circle,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:lightgray;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:#efefef;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-8 rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section-8 path,#mermaid-svg-VPWBpyT16nNCEzO6 .section-8 circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section-8 polygon,#mermaid-svg-VPWBpyT16nNCEzO6 .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section-8 text{fill:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .node-icon-8{font-size:40px;color:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-depth-8{stroke-width:-10;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled circle,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:lightgray;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:#efefef;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-9 rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section-9 path,#mermaid-svg-VPWBpyT16nNCEzO6 .section-9 circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section-9 polygon,#mermaid-svg-VPWBpyT16nNCEzO6 .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section-9 text{fill:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .node-icon-9{font-size:40px;color:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-depth-9{stroke-width:-13;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled circle,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:lightgray;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:#efefef;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-10 rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section-10 path,#mermaid-svg-VPWBpyT16nNCEzO6 .section-10 circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section-10 polygon,#mermaid-svg-VPWBpyT16nNCEzO6 .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section-10 text{fill:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .node-icon-10{font-size:40px;color:black;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .edge-depth-10{stroke-width:-16;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled circle,#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:lightgray;}#mermaid-svg-VPWBpyT16nNCEzO6 .disabled text{fill:#efefef;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-root rect,#mermaid-svg-VPWBpyT16nNCEzO6 .section-root path,#mermaid-svg-VPWBpyT16nNCEzO6 .section-root circle,#mermaid-svg-VPWBpyT16nNCEzO6 .section-root polygon{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-VPWBpyT16nNCEzO6 .section-root text{fill:#ffffff;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-root span{color:#ffffff;}#mermaid-svg-VPWBpyT16nNCEzO6 .section-2 span{color:#ffffff;}#mermaid-svg-VPWBpyT16nNCEzO6 .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-VPWBpyT16nNCEzO6 .edge{fill:none;}#mermaid-svg-VPWBpyT16nNCEzO6 .mindmap-node-label{dy:1em;alignment-baseline:middle;text-anchor:middle;dominant-baseline:middle;text-align:center;}#mermaid-svg-VPWBpyT16nNCEzO6 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 信息安全系统框架
技术体系
基础安全设备
计算机网络/操作系统/数据库安全
终端设备安全
组织机构体系
机构
岗位
人事机构
管理体系
法律管理
制度管理
培训管理
三、 核心加解密技术(⭐⭐⭐)
密码体制由五部分组成:明文空间(M)、密文空间©、密钥空间(K)、加密算法(E)、解密算法(D)。
3.1 对称加密算法
加密密钥和解密密钥相同(Ke = Kd)。
- 优点:加密速度快,效率高,适合大量数据加密。
- 缺点:密钥分发困难,加密强度相对不高。
- 常见算法 :
- DES:分组长度64位,密钥56位(附加8位奇偶校验位)。攻击主要靠穷举法。
- 3DES:使用两个56位密钥(K1, K2),密钥总长112位。过程:K1加密 -> K2解密 -> K1加密。
- IDEA:分组64位,密钥128位。
- AES:代替DES,分组128位,支持128/192/256位密钥。
- 国密:SM1, SM4, SM7, ZUC(祖冲之密码)。
3.2 非对称加密算法
加密密钥(公钥)和解密密钥(私钥)不同(Ke ≠ Kd)。
- 优点:加密强度高,密钥分发简单(公钥公开),可实现数字签名。
- 缺点:加密速度慢,算法复杂。
- 应用:少量数据的加密(如密钥交换)、数字签名。
- 常见算法 :
- RSA:保密性取决于大素数分解难度,主要用于数字签名。
- 国密:SM2, SM9。
📊 对称 vs 非对称 对比图
#mermaid-svg-6WyT7chvrImBcvdr{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-6WyT7chvrImBcvdr .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-6WyT7chvrImBcvdr .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-6WyT7chvrImBcvdr .error-icon{fill:#552222;}#mermaid-svg-6WyT7chvrImBcvdr .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-6WyT7chvrImBcvdr .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-6WyT7chvrImBcvdr .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-6WyT7chvrImBcvdr .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-6WyT7chvrImBcvdr .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-6WyT7chvrImBcvdr .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-6WyT7chvrImBcvdr .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-6WyT7chvrImBcvdr .marker{fill:#333333;stroke:#333333;}#mermaid-svg-6WyT7chvrImBcvdr .marker.cross{stroke:#333333;}#mermaid-svg-6WyT7chvrImBcvdr svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-6WyT7chvrImBcvdr p{margin:0;}#mermaid-svg-6WyT7chvrImBcvdr .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-6WyT7chvrImBcvdr .cluster-label text{fill:#333;}#mermaid-svg-6WyT7chvrImBcvdr .cluster-label span{color:#333;}#mermaid-svg-6WyT7chvrImBcvdr .cluster-label span p{background-color:transparent;}#mermaid-svg-6WyT7chvrImBcvdr .label text,#mermaid-svg-6WyT7chvrImBcvdr span{fill:#333;color:#333;}#mermaid-svg-6WyT7chvrImBcvdr .node rect,#mermaid-svg-6WyT7chvrImBcvdr .node circle,#mermaid-svg-6WyT7chvrImBcvdr .node ellipse,#mermaid-svg-6WyT7chvrImBcvdr .node polygon,#mermaid-svg-6WyT7chvrImBcvdr .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-6WyT7chvrImBcvdr .rough-node .label text,#mermaid-svg-6WyT7chvrImBcvdr .node .label text,#mermaid-svg-6WyT7chvrImBcvdr .image-shape .label,#mermaid-svg-6WyT7chvrImBcvdr .icon-shape .label{text-anchor:middle;}#mermaid-svg-6WyT7chvrImBcvdr .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-6WyT7chvrImBcvdr .rough-node .label,#mermaid-svg-6WyT7chvrImBcvdr .node .label,#mermaid-svg-6WyT7chvrImBcvdr .image-shape .label,#mermaid-svg-6WyT7chvrImBcvdr .icon-shape .label{text-align:center;}#mermaid-svg-6WyT7chvrImBcvdr .node.clickable{cursor:pointer;}#mermaid-svg-6WyT7chvrImBcvdr .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-6WyT7chvrImBcvdr .arrowheadPath{fill:#333333;}#mermaid-svg-6WyT7chvrImBcvdr .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-6WyT7chvrImBcvdr .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-6WyT7chvrImBcvdr .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-6WyT7chvrImBcvdr .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-6WyT7chvrImBcvdr .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-6WyT7chvrImBcvdr .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-6WyT7chvrImBcvdr .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-6WyT7chvrImBcvdr .cluster text{fill:#333;}#mermaid-svg-6WyT7chvrImBcvdr .cluster span{color:#333;}#mermaid-svg-6WyT7chvrImBcvdr div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-6WyT7chvrImBcvdr .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-6WyT7chvrImBcvdr rect.text{fill:none;stroke-width:0;}#mermaid-svg-6WyT7chvrImBcvdr .icon-shape,#mermaid-svg-6WyT7chvrImBcvdr .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-6WyT7chvrImBcvdr .icon-shape p,#mermaid-svg-6WyT7chvrImBcvdr .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-6WyT7chvrImBcvdr .icon-shape .label rect,#mermaid-svg-6WyT7chvrImBcvdr .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-6WyT7chvrImBcvdr .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-6WyT7chvrImBcvdr .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-6WyT7chvrImBcvdr :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 加密算法
对称加密
非对称加密
代表: DES, 3DES, AES
特点: 速度快, 密钥分发难
应用: 大量数据加密
代表: RSA, ECC, SM2
特点: 速度慢, 密钥分发易
应用: 数字签名, 密钥交换
3.3 电子信封
结合了对称和非对称加密的优点:原文用对称密钥加密传输,对称密钥用接收方的公钥加密发送。
接收方(B) 发送方(A) 接收方(B) 发送方(A) #mermaid-svg-GaM3qy2wWTiWJumt{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-GaM3qy2wWTiWJumt .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-GaM3qy2wWTiWJumt .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-GaM3qy2wWTiWJumt .error-icon{fill:#552222;}#mermaid-svg-GaM3qy2wWTiWJumt .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-GaM3qy2wWTiWJumt .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-GaM3qy2wWTiWJumt .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-GaM3qy2wWTiWJumt .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-GaM3qy2wWTiWJumt .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-GaM3qy2wWTiWJumt .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-GaM3qy2wWTiWJumt .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-GaM3qy2wWTiWJumt .marker{fill:#333333;stroke:#333333;}#mermaid-svg-GaM3qy2wWTiWJumt .marker.cross{stroke:#333333;}#mermaid-svg-GaM3qy2wWTiWJumt svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-GaM3qy2wWTiWJumt p{margin:0;}#mermaid-svg-GaM3qy2wWTiWJumt .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-GaM3qy2wWTiWJumt text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-GaM3qy2wWTiWJumt .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-GaM3qy2wWTiWJumt .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-GaM3qy2wWTiWJumt .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-GaM3qy2wWTiWJumt .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-GaM3qy2wWTiWJumt #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-GaM3qy2wWTiWJumt .sequenceNumber{fill:white;}#mermaid-svg-GaM3qy2wWTiWJumt #sequencenumber{fill:#333;}#mermaid-svg-GaM3qy2wWTiWJumt #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-GaM3qy2wWTiWJumt .messageText{fill:#333;stroke:none;}#mermaid-svg-GaM3qy2wWTiWJumt .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-GaM3qy2wWTiWJumt .labelText,#mermaid-svg-GaM3qy2wWTiWJumt .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-GaM3qy2wWTiWJumt .loopText,#mermaid-svg-GaM3qy2wWTiWJumt .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-GaM3qy2wWTiWJumt .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-GaM3qy2wWTiWJumt .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-GaM3qy2wWTiWJumt .noteText,#mermaid-svg-GaM3qy2wWTiWJumt .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-GaM3qy2wWTiWJumt .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-GaM3qy2wWTiWJumt .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-GaM3qy2wWTiWJumt .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-GaM3qy2wWTiWJumt .actorPopupMenu{position:absolute;}#mermaid-svg-GaM3qy2wWTiWJumt .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-GaM3qy2wWTiWJumt .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-GaM3qy2wWTiWJumt .actor-man circle,#mermaid-svg-GaM3qy2wWTiWJumt line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-GaM3qy2wWTiWJumt :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 1. 生成随机对称密钥K 2. 用K加密邮件正文 3. 用接收方公钥Pb加密K 4. 用自己的私钥Sb解密密钥密文 5. 用密钥K解密邮件正文 邮件密文 = Encrypt(正文, K) 密钥密文 = Encrypt(K, Pb) 发送 邮件密文 + 密钥密文 K = Decrypt(密钥密文, Sb) 正文 = Decrypt(邮件密文, K)
3.4 数字摘要(Hash函数)
输入不定长字符串,输出定长字符串。特征:单向性、抗弱碰撞性、抗强碰撞性。
- MD5:128位散列值。
- SHA:160位散列值(安全性高于MD5)。
- SM3:国密算法,256位。
⚠️ 注意:数字摘要能保证完整性,但不能保证机密性(明文在"裸奔")。
四、 数字签名与数字证书
4.1 数字签名原理
解决否认、伪造、篡改和冒充问题(完整性+不可抵赖性)。使用公钥算法(非对称)。
- 数字加密 :用接收者的公钥加密,接收者用自己的私钥解密。
- 数字签名 :用发送者的私钥加密摘要,接收者用发送者的公钥验证。
接收方(B) 发送方(A) 接收方(B) 发送方(A) #mermaid-svg-9UNpRpxeM1I2Rm4o{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-9UNpRpxeM1I2Rm4o .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-9UNpRpxeM1I2Rm4o .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-9UNpRpxeM1I2Rm4o .error-icon{fill:#552222;}#mermaid-svg-9UNpRpxeM1I2Rm4o .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-9UNpRpxeM1I2Rm4o .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-9UNpRpxeM1I2Rm4o .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-9UNpRpxeM1I2Rm4o .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-9UNpRpxeM1I2Rm4o .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-9UNpRpxeM1I2Rm4o .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-9UNpRpxeM1I2Rm4o .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-9UNpRpxeM1I2Rm4o .marker{fill:#333333;stroke:#333333;}#mermaid-svg-9UNpRpxeM1I2Rm4o .marker.cross{stroke:#333333;}#mermaid-svg-9UNpRpxeM1I2Rm4o svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-9UNpRpxeM1I2Rm4o p{margin:0;}#mermaid-svg-9UNpRpxeM1I2Rm4o .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-9UNpRpxeM1I2Rm4o text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-9UNpRpxeM1I2Rm4o .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-9UNpRpxeM1I2Rm4o .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-9UNpRpxeM1I2Rm4o .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-9UNpRpxeM1I2Rm4o .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-9UNpRpxeM1I2Rm4o #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-9UNpRpxeM1I2Rm4o .sequenceNumber{fill:white;}#mermaid-svg-9UNpRpxeM1I2Rm4o #sequencenumber{fill:#333;}#mermaid-svg-9UNpRpxeM1I2Rm4o #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-9UNpRpxeM1I2Rm4o .messageText{fill:#333;stroke:none;}#mermaid-svg-9UNpRpxeM1I2Rm4o .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-9UNpRpxeM1I2Rm4o .labelText,#mermaid-svg-9UNpRpxeM1I2Rm4o .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-9UNpRpxeM1I2Rm4o .loopText,#mermaid-svg-9UNpRpxeM1I2Rm4o .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-9UNpRpxeM1I2Rm4o .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-9UNpRpxeM1I2Rm4o .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-9UNpRpxeM1I2Rm4o .noteText,#mermaid-svg-9UNpRpxeM1I2Rm4o .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-9UNpRpxeM1I2Rm4o .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-9UNpRpxeM1I2Rm4o .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-9UNpRpxeM1I2Rm4o .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-9UNpRpxeM1I2Rm4o .actorPopupMenu{position:absolute;}#mermaid-svg-9UNpRpxeM1I2Rm4o .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-9UNpRpxeM1I2Rm4o .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-9UNpRpxeM1I2Rm4o .actor-man circle,#mermaid-svg-9UNpRpxeM1I2Rm4o line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-9UNpRpxeM1I2Rm4o :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 1. 对原文M计算Hash得到摘要MD 2. 用A的私钥Sa加密MD,完成签名 3. 用A的公钥Pa解密签名密文 4. 对收到的原文M重新计算Hash 5. 比较 MD1 和 MD2 alt MD1 == MD2 MD1 != MD2 发送 原文M + 签名密文Sa(MD) 解密得到 MD1 计算得到 MD2 验证通过,未被篡改 验证失败,已被篡改
4.2 数字证书与PKI体系
- 数字证书 :由认证中心(CA)签发的对用户公钥的认证,遵循 X.509 标准。
- PKI(公钥基础设施) :
- CA(证书机构):负责生成、签发、管理和撤销证书。用CA的私钥签名证书。
- RA(注册机构):负责验证用户身份,接收并批准/拒绝证书申请。
#mermaid-svg-xudUJEdrdjA0kjtx{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-xudUJEdrdjA0kjtx .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-xudUJEdrdjA0kjtx .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-xudUJEdrdjA0kjtx .error-icon{fill:#552222;}#mermaid-svg-xudUJEdrdjA0kjtx .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-xudUJEdrdjA0kjtx .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-xudUJEdrdjA0kjtx .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-xudUJEdrdjA0kjtx .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-xudUJEdrdjA0kjtx .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-xudUJEdrdjA0kjtx .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-xudUJEdrdjA0kjtx .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-xudUJEdrdjA0kjtx .marker{fill:#333333;stroke:#333333;}#mermaid-svg-xudUJEdrdjA0kjtx .marker.cross{stroke:#333333;}#mermaid-svg-xudUJEdrdjA0kjtx svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-xudUJEdrdjA0kjtx p{margin:0;}#mermaid-svg-xudUJEdrdjA0kjtx .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-xudUJEdrdjA0kjtx .cluster-label text{fill:#333;}#mermaid-svg-xudUJEdrdjA0kjtx .cluster-label span{color:#333;}#mermaid-svg-xudUJEdrdjA0kjtx .cluster-label span p{background-color:transparent;}#mermaid-svg-xudUJEdrdjA0kjtx .label text,#mermaid-svg-xudUJEdrdjA0kjtx span{fill:#333;color:#333;}#mermaid-svg-xudUJEdrdjA0kjtx .node rect,#mermaid-svg-xudUJEdrdjA0kjtx .node circle,#mermaid-svg-xudUJEdrdjA0kjtx .node ellipse,#mermaid-svg-xudUJEdrdjA0kjtx .node polygon,#mermaid-svg-xudUJEdrdjA0kjtx .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-xudUJEdrdjA0kjtx .rough-node .label text,#mermaid-svg-xudUJEdrdjA0kjtx .node .label text,#mermaid-svg-xudUJEdrdjA0kjtx .image-shape .label,#mermaid-svg-xudUJEdrdjA0kjtx .icon-shape .label{text-anchor:middle;}#mermaid-svg-xudUJEdrdjA0kjtx .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-xudUJEdrdjA0kjtx .rough-node .label,#mermaid-svg-xudUJEdrdjA0kjtx .node .label,#mermaid-svg-xudUJEdrdjA0kjtx .image-shape .label,#mermaid-svg-xudUJEdrdjA0kjtx .icon-shape .label{text-align:center;}#mermaid-svg-xudUJEdrdjA0kjtx .node.clickable{cursor:pointer;}#mermaid-svg-xudUJEdrdjA0kjtx .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-xudUJEdrdjA0kjtx .arrowheadPath{fill:#333333;}#mermaid-svg-xudUJEdrdjA0kjtx .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-xudUJEdrdjA0kjtx .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-xudUJEdrdjA0kjtx .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xudUJEdrdjA0kjtx .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-xudUJEdrdjA0kjtx .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xudUJEdrdjA0kjtx .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-xudUJEdrdjA0kjtx .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-xudUJEdrdjA0kjtx .cluster text{fill:#333;}#mermaid-svg-xudUJEdrdjA0kjtx .cluster span{color:#333;}#mermaid-svg-xudUJEdrdjA0kjtx div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-xudUJEdrdjA0kjtx .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-xudUJEdrdjA0kjtx rect.text{fill:none;stroke-width:0;}#mermaid-svg-xudUJEdrdjA0kjtx .icon-shape,#mermaid-svg-xudUJEdrdjA0kjtx .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xudUJEdrdjA0kjtx .icon-shape p,#mermaid-svg-xudUJEdrdjA0kjtx .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-xudUJEdrdjA0kjtx .icon-shape .label rect,#mermaid-svg-xudUJEdrdjA0kjtx .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xudUJEdrdjA0kjtx .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-xudUJEdrdjA0kjtx .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-xudUJEdrdjA0kjtx :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 1. 证书申请
2. 确认身份
3. 提交申请
4. 将公钥登陆
5. 证书传给
6. 证书传给
用户
注册机构 RA
证书机构 CA
证书目录
💡 真题考点:CA负责签发(生成)证书,RA负责验证身份。
五、 访问控制与密钥管理
1. 访问控制三要素
- 主体(Subject):主动实体(用户、进程)。
- 客体(Object):被动实体(文件、资源)。
- 控制策略:规则集(授权行为)。
2. 访问控制的实现技术
| 技术名称 | 原理 | 优缺点 |
|---|---|---|
| 访问控制矩阵(ACM) | 主体为行,客体为列。 | 查找实现不方便,稀疏矩阵浪费空间。 |
| 访问控制表(ACL) | 按列保存,每个客体对应有权访问的主体列表。 | 查询某客体权限很方便。 |
| 能力表(Capabilities) | 按行保存,每个主体对应其能访问的客体列表。 | 查询某主体权限很方便。 |
| 授权关系表 | 每行一个授权关系,适合关系数据库。 | 灵活,综合了以上两者的效率。 |
六、 信息安全的抗攻击技术(⭐⭐⭐)
6.1 拒绝服务攻击(DoS/DDoS)
- 原理:利用系统资源有限,大量申请资源,使其无法处理正常请求。
- DDoS 三级结构 :
- Client(客户端):攻击者主机,发起攻击。
- Handler(主控端):控制代理端。
- Agent(代理端):实际发起攻击的肉鸡。
- 防御:数据包特征识别、监视敏感端口、流量统计、修补漏洞。
6.2 欺骗攻击与防御
- ARP欺骗 :伪造网关MAC地址。
- 防御 :固化ARP表(
arp -s)、使用ARP服务器、双向绑定、ARP防护软件。
- 防御 :固化ARP表(
- DNS欺骗 :冒充域名服务器,返回错误IP。
- 检测:被动监听、虚假报文探测、交叉检查查询。
- IP欺骗 :伪造源IP地址。
- 防御 :入口过滤(在网络边缘检查源IP是否合法)。
6.3 强化TCP/IP堆栈防御
- SYN Flooding(同步风暴):利用TCP三次握手缺陷。发送大量伪造源地址的SYN报文,导致服务器半连接队列被填满,拒绝新连接。
- Ping of Death:发送超过64KB的ICMP包,导致内存溢出。
- SNMP攻击:利用管理协议接管网络。
正常客户端 目标服务器 攻击者(伪源IP) 正常客户端 目标服务器 攻击者(伪源IP) #mermaid-svg-saCFiz0RTirHvawT{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-saCFiz0RTirHvawT .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-saCFiz0RTirHvawT .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-saCFiz0RTirHvawT .error-icon{fill:#552222;}#mermaid-svg-saCFiz0RTirHvawT .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-saCFiz0RTirHvawT .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-saCFiz0RTirHvawT .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-saCFiz0RTirHvawT .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-saCFiz0RTirHvawT .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-saCFiz0RTirHvawT .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-saCFiz0RTirHvawT .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-saCFiz0RTirHvawT .marker{fill:#333333;stroke:#333333;}#mermaid-svg-saCFiz0RTirHvawT .marker.cross{stroke:#333333;}#mermaid-svg-saCFiz0RTirHvawT svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-saCFiz0RTirHvawT p{margin:0;}#mermaid-svg-saCFiz0RTirHvawT .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-saCFiz0RTirHvawT text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-saCFiz0RTirHvawT .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-saCFiz0RTirHvawT .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-saCFiz0RTirHvawT .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-saCFiz0RTirHvawT .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-saCFiz0RTirHvawT #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-saCFiz0RTirHvawT .sequenceNumber{fill:white;}#mermaid-svg-saCFiz0RTirHvawT #sequencenumber{fill:#333;}#mermaid-svg-saCFiz0RTirHvawT #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-saCFiz0RTirHvawT .messageText{fill:#333;stroke:none;}#mermaid-svg-saCFiz0RTirHvawT .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-saCFiz0RTirHvawT .labelText,#mermaid-svg-saCFiz0RTirHvawT .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-saCFiz0RTirHvawT .loopText,#mermaid-svg-saCFiz0RTirHvawT .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-saCFiz0RTirHvawT .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-saCFiz0RTirHvawT .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-saCFiz0RTirHvawT .noteText,#mermaid-svg-saCFiz0RTirHvawT .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-saCFiz0RTirHvawT .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-saCFiz0RTirHvawT .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-saCFiz0RTirHvawT .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-saCFiz0RTirHvawT .actorPopupMenu{position:absolute;}#mermaid-svg-saCFiz0RTirHvawT .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-saCFiz0RTirHvawT .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-saCFiz0RTirHvawT .actor-man circle,#mermaid-svg-saCFiz0RTirHvawT line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-saCFiz0RTirHvawT :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 源IP伪造,永远不返回ACK 发送 SYN (Seq=x) 发送 SYN+ACK (等待ACK) 半连接队列积压被填满 发送 SYN 请求连接 丢弃请求 (拒绝服务)
七、 网络安全协议与保障体系
1. 计算机系统安全保护等级(⭐⭐)
- 用户自主保护级:隔离用户与数据。
- 系统审计保护级:更细粒度的访问控制,引入审计。
- 安全标记保护级:增加安全策略模型、数据标记、强制访问控制。
- 结构化保护级:扩展到所有主体客体,考虑隐蔽通道,抗渗透能力。
- 访问验证保护级:访问监控器,抗篡改,极高抗渗透能力。
2. 防火墙与IDS/IPS
- 网络级防火墙:包过滤,层次低,效率高,对用户透明。
- 应用级防火墙:拆包检查,层次高,效率低,安全强度高。
- IDS(入侵检测) :防火墙之后的第二道防线,事后检测分析。
- IPS(入侵防御) :事前/事中防御,直接阻断。
- 蜜罐:引诱黑客攻击,记录攻击手段。
3. 网络安全协议一览
| 协议 | 层次 | 作用/特点 |
|---|---|---|
| SSL/TLS | 传输层 | 在应用层和传输层之间提供加密通道。 |
| IPSec | 网络层 | 包含AH(认证头,完整/认证)和ESP(封装安全载荷,机密性)。 |
| PGP | 应用层 | 基于RSA的邮件加密软件。 |
| HTTPS | 应用层 | HTTP + SSL,端口 443。 |
| Kerberos | 应用层 | 基于信任第三方的身份认证协议。使用时间戳防重放攻击。 |
八、 典型真题解析
真题 1:
在进行软件系统安全性分析时,( )保证信息不泄露给未授权的用户、实体或过程;完整性保证信息的完整和准确,防止信息被非法修改;( )保证对信息的传播及内容具有控制的能力,防止为非法者所用。
A. 完整性 B. 不可否认性 C. 可控性 D. 机密性
A. 完整性 B. 安全审计 C. 加密性 D. 可控性
答案 :D、D
解析:机密性(保密)保证不泄露;可控性保证对信息传播和内容的控制。
真题 2:
DES 是一种( ),其密钥长度为 56 位,3DES 是利用 DES 的加密方式,对明文进行3次加密,以提高加密强度,其密钥长度是( )位。
A. 共享密钥 B. 公开密钥 C. 报文摘要 D. 访问控制
A. 56 B. 112 C. 128 D. 168
答案 :A、B
解析:DES是对称加密(共享密钥)。3DES用两个56位密钥,总长112位。
真题 3:
用户乙收到甲数字签名后的消息M,为验证消息的真实性,首先需要从CA获取用户甲的数字证书,该数字证书中包含( ),并利用( )验证该证书的真伪,然后利用( )验证M的真实性。
答案 :甲的公钥,CA的公钥,甲的公钥
解析:证书包含用户公钥;证书由CA签发,故用CA公钥验签;验证数字签名用发送方甲的私钥加密,接收方用甲的公钥验证。
真题 4:
SYN Flooding攻击的原理是( )。
A. 利用TCP三次握手,恶意造成大量TCP半连接,耗尽服务器资源,导致系统拒绝服务。
答案 :A
解析:SYN Flooding利用TCP三次握手缺陷,发送大量伪造源IP的SYN包,耗尽服务器的半连接队列。
真题 5:
采用Kerberos系统进行认证时,可以在报文中加入( )来防止重放攻击。
A. 会话密钥 B. 时间戳 C. 用户ID D. 私有密钥
答案 :B
解析:Kerberos使用时间戳来防止重放攻击。
博主寄语:信息安全章节是软考架构师考试的必争之地,重点在于理解各种加密算法的特点、数字签名的流程以及常见的网络攻击防御。建议结合Mermaid图在脑海中多推演几遍流程,祝大家逢考必过!如果觉得有帮助,欢迎点赞、收藏、留言交流~