第七关 · 安全与可靠性

总时长:48 小时 | 目标:解决"系统如何防攻击、防故障、防数据丢失?" 考试映射:综合知识 3-5 题 | 案例分析:安全架构设计、容错方案 | 论文:《论高可用架构设计》《论系统安全性设计》⭐ 高频


Step 1:本关资料(海量输入)

| 资料类型 | 具体资料 | 用途 | |---------|---------|------| | 教材 | 《架构师教程》第 13-14 章(信息安全、系统可靠性) | 掌握 CIA 三要素、加密技术、容错技术 | | 真题 | 2020-2025 综合知识·安全部分(约 30 题) | 锁定高频考点(CIA、加密分类、容错对比) | | 案例真题 | 2025年11月(AES-256超长数据处理)+ 2024年11月(安全属性分类) | 掌握加密方案设计和安全属性分类 | | 论文参考 | 高可用架构/安全架构设计论文范文 | 学习论文中安全方案的展开方式 |

精准阅读策略

  1. CIA 三要素定义 + 关键词匹配必背("不泄露"=机密,"不修改"=完整)
  2. 对称/非对称/哈希的区别 + 代表算法必背
  3. N 版本 vs 恢复块对比必背(多机表决前向 vs 单机验证后向)

Step 2:本关心智模型

模型 1:CIA 安全三角——"安全的三根支柱,缺一不可"

  • 核心思想:信息安全的核心目标是三个:机密性(Confidentiality,信息不泄露)、完整性(Integrity,信息不被篡改)、可用性(Availability,授权用户能访问)。所有安全方案都是围绕 CIA 来设计的。
  • 关键变量:考试中通过关键词匹配判断属于哪个属性
  • 应用场景:综合知识选择题("保证XX"属于什么属性?)、案例分析安全需求分类
  • 局限性:CIA 是经典模型,现代安全还包括可控性、不可否认性、可审计性
  • 考试映射:每年必考 2-3 题

| 要素 | 定义 | 考试关键词 | 记忆 | |------|------|-----------|------| | 机密性 | 信息不泄露给未授权的用户 | "不泄露""看不到""未授权访问" | 进不来、看不到 | | 完整性 | 信息不被非法修改 | "不修改""非法篡改""准确" | 改不了 | | 可用性 | 授权用户需要时能访问 | "正常运行""可以使用" | 用得上 |

模型 2:加密技术三层模型——"混合加密 = RSA 传密钥 + AES 传数据"

  • 核心思想:加密技术分三层:对称加密(快但密钥分发难)、非对称加密(安全但慢)、哈希函数(不可逆校验)。实际系统用混合加密:非对称加密传递对称密钥,对称加密传递数据(HTTPS 的核心原理)。
  • 关键变量:AES=对称、RSA=非对称、SHA=哈希(每年必考分类)
  • 应用场景:综合知识选择题、案例分析加密方案设计
  • 局限性:加密算法不断演进(DES→3DES→AES→AES-256),考试以 AES-256 为标准
  • 考试映射:每年必考 2-3 题

| 类型 | 密钥 | 速度 | 代表算法 | 适用场景 | |------|------|------|---------|---------| | 对称加密 | 同一个密钥 | 快 | AES、DES | 大量数据加密 | | 非对称加密 | 公钥加密,私钥解密 | 慢 | RSA、ECC | 密钥交换、数字签名 | | 哈希函数 | 不可逆 | 快 | SHA-256、MD5 | 完整性校验 |

模型 3:容错技术对比——"多机表决 vs 单机验证"

  • 核心思想:容错技术有三种核心方案:N 版本(多机并行运行,表决选结果)、恢复块(单机运行,验证失败换备用块)、防卫式编程(错误检测+恢复)。核心区别在于:多机 vs 单机、表决 vs 验证、前向恢复 vs 后向恢复。
  • 关键变量:运行环境(单机/多机)、恢复策略(前向/后向)、实时性(快/慢)
  • 应用场景:综合知识选择题(对比题,每年必考)
  • 局限性:N 版本成本高(N 个团队独立开发),实际很少用
  • 考试映射:每年必考 1-2 题

| 对比维度 | 恢复块 | N 版本 | |---------|--------|--------| | 运行环境 | 单机 | 多机 | | 错误检查 | 验证测试程序 | 表决 | | 恢复策略 | 后向恢复(回滚) | 前向恢复(继续) | | 实时性 | 慢 | 快 |


Step 3:本关分歧点

分歧点 1:对称加密 vs 非对称加密——"快还是安全?"

| 维度 | A 方:对称加密(AES) | B 方:非对称加密(RSA) | |------|---------------------|----------------------| | 核心 | 加密解密用同一个密钥 | 公钥加密,私钥解密 | | 速度 | ✅ 快(适合大量数据) | ❌ 慢(100-1000倍差距) | | 密钥管理 | ❌ 密钥分发困难 | ✅ 公钥可以公开 | | 适用 | 数据加密 | 密钥交换、数字签名 |

考试倾向:不会直接问"哪个好",而是通过场景选择。大量数据加密→AES;密钥交换→RSA。实际系统用混合加密。

分歧点 2:N 版本 vs 恢复块——"前向恢复"还是"后向恢复"?

| 维度 | A 方:N 版本(前向) | B 方:恢复块(后向) | |------|-------------------|-------------------| | 核心 | 多个版本并行运行,表决选正确结果 | 主块运行,验证失败则换备用块 | | 恢复 | 前向恢复(继续往前走) | 后向恢复(回滚到之前的状态) | | 成本 | 高(N个团队独立开发) | 低(一个团队写主块+备用块) | | 实时性 | ✅ 快(并行运行) | ❌ 慢(验证失败后重新执行) |

考试倾向:记住"N版本=多机表决前向恢复,恢复块=单机验证后向恢复",这是标准对比模板。

分歧点 3:双机热备 vs 双机双工——"待命"还是"同时干活"?

| 维度 | A 方:双机热备 | B 方:双机双工 | |------|-------------|-------------| | 核心 | 主运行,备待命 | 两台同时运行 | | 资源利用 | ❌ 备用机器闲置 | ✅ 两台都在工作 | | 切换 | 需要切换时间 | 无需切换 | | 适用 | 核心系统(可用性优先) | 高并发(性能优先) |


Step 4:闯关任务(动手验证)

任务 1:安全方案设计(3h)

为 AIoT 项目设计数据安全方案:

  1. 传输层安全(MQTT over TLS)
  2. 存储层加密(AES-256)
  3. 密钥管理方案(RSA 分发 AES 密钥)
  4. 设备认证方案(X.509 证书)

任务 2:高可用架构设计(2h)

为 AIoT 设备接入服务设计 99.9% 可用性方案:

  1. 计算可用性指标(MTBF/MTTR)
  2. 选择双机模式(热备/互备/双工)
  3. 设计故障检测和自动切换机制

任务 3:论文草稿(3h)

以 AIoT 项目为背景,写一篇 1500 字的论文草稿(选"高可用架构"或"安全架构")。


Step 4.5:💬 AI 教练对话

使用时机:加密方案不确定时、容错概念混淆时

Review Agent(加密方案评审)

我正在设计 AIoT 项目的数据安全方案。

场景:设备上报数据 → 云端存储 → 用户查看

我的方案:[粘贴你的方案]

请帮我检查:
1. 传输层用什么协议?
2. 存储层用什么加密?为什么?
3. 密钥怎么管理?

Theory Agent(容错技术对比)

我分不清 N 版本程序设计、恢复块设计、防卫式程序设计。

请帮我:
1. 用一个 IoT 设备的例子解释这三种方式的区别
2. 前向恢复 vs 后向恢复的本质区别是什么?

Step 5:关 AI 自测

⚠️ 关闭 AI,独立完成后再对照答案

自测题 1(综合知识风格)

"保证信息不泄露给未授权的用户"属于信息安全的哪个属性?

A. 完整性 B. 机密性 C. 可用性 D. 可控性

点击查看答案

答案:B. 机密性

"不泄露" = 机密性的关键词。记住:

  • "不泄露/看不到" → 机密性
  • "不修改/不被篡改" → 完整性
  • "正常运行/可以使用" → 可用性

自测题 2(综合知识风格)

AES 属于什么类型的加密算法?

A. 非对称加密 B. 对称加密 C. 哈希函数 D. 数字签名

点击查看答案

答案:B. 对称加密

AES(Advanced Encryption Standard)是最常用的对称加密算法。DES 也是对称加密但已不推荐(密钥只有56位)。RSA 是非对称加密。

自测题 3(容错对比)

N 版本程序设计和恢复块设计的主要区别是什么?请从运行环境、错误检查方式、恢复策略三个维度对比。

点击查看答案

| 对比维度 | N 版本程序设计 | 恢复块设计 | |---------|--------------|-----------| | 运行环境 | 多机(多个版本并行运行) | 单机(一个主块运行) | | 错误检查 | 表决(多个版本的结果投票) | 验证测试(检查主块结果是否正确) | | 恢复策略 | 前向恢复(跳过错误版本,继续执行) | 后向恢复(回滚到检查点,换备用块重试) |

自测题 4(可用性计算)

某系统的 MTBF 为 5000 小时,MTTR 为 5 小时。该系统的可用性是多少?每年预计停机多长时间?

点击查看答案

可用性 = MTBF / (MTBF + MTTR) = 5000 / (5000 + 5) = 5000/5005 ≈ 99.9%

年停机时间 = (1 - 0.999) × 365 × 24 = 8.76 小时

常用对照:

  • 99.9%(三个9)= 年停机 8.76 小时
  • 99.99%(四个9)= 年停机 52.6 分钟
  • 99.999%(五个9)= 年停机 5.26 分钟

Step 6:费曼输出 + 信心校准

一句话版本

安全的核心是 CIA(机密性/完整性/可用性),加密用混合模式(RSA传密钥+AES传数据),容错分 N版本(多机表决前向恢复)和恢复块(单机验证后向恢复),可用性=MTBF/(MTBF+MTTR)。

三分钟版本

(对着镜子或录音讲 3 分钟,不看书)

信息安全的核心是 CIA 三要素:机密性(不泄露)、完整性(不被篡改)、可用性(能用)。考试中通过关键词匹配:"不泄露"选机密性,"不被修改"选完整性,"正常运行"选可用性。

加密技术分三类:对称加密(AES,快但密钥分发难)、非对称加密(RSA,安全但慢)、哈希函数(SHA-256,不可逆校验)。实际系统用混合加密:RSA 传递 AES 密钥,AES 加密数据,这就是 HTTPS 的原理。数字签名是"私钥签名,公钥验证"。

容错技术三种:N 版本(多机并行表决,前向恢复,快)、恢复块(单机验证回滚,后向恢复,慢)、防卫式编程。考试常考 N 版本 vs 恢复块的对比。

可用性公式:MTBF/(MTBF+MTTR)。99.9% = 年停机 8.76 小时。

信心自评

| 知识点 | 信心 1-5 | 能否给别人讲清楚? | 需要复习? | |--------|---------|------------------|-----------| | CIA 三要素 + 关键词匹配 | /5 | □ 能 □ 不能 | □ 需要 | | 对称/非对称/哈希区别 | /5 | □ 能 □ 不能 | □ 需要 | | 混合加密原理(HTTPS) | /5 | □ 能 □ 不能 | □ 需要 | | N 版本 vs 恢复块对比 | /5 | □ 能 □ 不能 | □ 需要 | | 高可用双机模式 | /5 | □ 能 □ 不能 | □ 需要 | | 可用性计算公式 | /5 | □ 能 □ 不能 | □ 需要 |


📌 常见误区

  1. "AES 是非对称加密" → 错!AES 是对称加密,RSA 才是非对称
  2. "数字签名是公钥签名" → 错!私钥签名,公钥验证
  3. "N 版本和恢复块是一回事" → 错!多机表决 vs 单机验证,前向 vs 后向
  4. "可用性 99.9% 就是几乎不停机" → 99.9% = 年停机 8.76 小时,不短了

🔧 工程映射

  • MQTT over TLS 1.3 = AIoT 传输层加密(机密性+完整性)
  • AES-256-GCM = 敏感数据存储加密(GCM 同时提供加密和完整性校验)
  • X.509 双向认证 = 设备身份验证(防止未授权设备接入)
  • Nginx + Keepalived = 双机热备方案(故障自动切换)

✅ 通关标准

  • [ ] 信心自评所有知识点 ≥ 4/5
  • [ ] 三分钟版本能脱稿讲完
  • [ ] 自测题正确率 ≥ 75%
  • [ ] 能口述 CIA 三要素 + 关键词匹配
  • [ ] 能口述对称/非对称/哈希的区别
  • [ ] 能口述 N 版本 vs 恢复块对比
  • [ ] 真题正确率 ≥ 80%
  • [ ] 论文素材:完成安全/高可用相关论文初稿