← 返回博客列表

一、引言:信息安全概述

信息安全(Information Security)是指保护信息和信息系统免受偶然或恶意的访问、使用、披露、记录、破坏、修改或干扰。随着信息化、数字化、云化程度的不断加深,数据已经成为企业最核心的资产,信息系统一旦遭到攻击,轻则业务中断、数据泄露,重则造成经济损失、声誉受损甚至承担法律责任。因此,安全架构设计已经成为系统架构设计师必须掌握的核心能力之一。

核心定义(软考标准表述)
信息安全架构是系统架构的一个组成部分,它从安全的角度描述系统架构,关注如何通过组织、技术、管理等多种手段,保障信息的机密性、完整性、可用性等安全属性。安全架构设计的目标是在风险、成本、可用性之间取得平衡,而非追求"绝对安全"。

在系统架构设计中,安全不是事后补丁,而应贯穿于架构设计的全过程。一个成熟的安全架构应当具备以下特征:

1.1 纵深防御(Defense in Depth)概念

纵深防御是安全架构设计中最核心的思想之一,源自军事领域。其核心观点是:没有任何单一的安全措施能够提供完整的保护,因此必须通过多层、多类型的安全控制协同工作,使得攻击者即便突破某一层,仍然要面对下一层的防御,从而大幅提升攻击成本和被发现概率。

纵深防御的典型分层包括:物理安全 → 网络安全 → 主机安全 → 应用安全 → 数据安全。每一层都部署相应的控制措施,层与层之间相互独立又相互补充。例如,即便网络防火墙被绕过,主机加固和应用层校验仍能拦截攻击;即便应用存在漏洞,数据库加密也能降低数据泄露的损失。

软考记忆口诀
纵深防御五层:物 → 网 → 主 → 用 → 数。每层都有"识别、保护、检测、响应、恢复"五个动作(IPDRR 模型)。

二、信息安全五要素(CIA+)

信息安全的目标通常用 CIA 三元组(机密性、完整性、可用性)来概括。在软考及更广义的安全体系中,再补充真实性和抗抵赖性两个要素,构成信息安全五要素(CIA+)。这是安全架构设计的根本出发点——所有安全控制最终都是为了保障这五个属性。

CIA+ 五要素 机密性 Confidentiality 完整性 Integrity 可用性 Availability 真实性 Authenticity 抗抵赖性 Non-repudiation
图 1:信息安全五要素(CIA+)总览

2.1 机密性(Confidentiality)

机密性是指信息不被泄露给未经授权的个人、实体或过程,或供其利用的特性。简而言之,就是数据只能被有权限的人看到。机密性是大家最容易理解的安全属性,也是大部分安全事件的直接危害所在。

2.2 完整性(Integrity)

完整性是指信息在存储、传输或处理过程中保持准确和完整,不被未授权地篡改、插入、删除或重放。即数据没有被偷偷改过。完整性与机密性经常被混淆,需要区分:机密性关注"是否被看到",完整性关注"是否被改动"。

2.3 可用性(Availability)

可用性是指得到授权的实体在需要时能够访问和使用系统及数据的特性。即系统在该用的时候能用。可用性强调的是服务的连续性,是拒绝服务攻击(DoS/DDoS)直接破坏的目标。

2.4 真实性(Authenticity)

真实性是指确保主体、客体及信息来源的身份是真实的、可验证的,即对方确实是其声称的那个身份。真实性是身份认证和访问控制的基础。

2.5 抗抵赖性(Non-repudiation)

抗抵赖性是指确保实体无法否认其已经执行过的操作或已经发送/接收过的信息。即做过的事赖不掉。抗抵赖性在电子合同、电子支付、电子取证等场景中至关重要。

安全要素 核心含义 典型场景 代表技术
机密性 数据不被未授权方获知 文件加密、通信加密 AES、RSA、TLS
完整性 数据不被未授权篡改 软件下载校验、配置校验 SHA-256、MAC、数字签名
可用性 授权方可按需访问 网站高可用、容灾 负载均衡、冗余、备份
真实性 身份与来源真实可信 登录认证、证书认证 数字证书、Kerberos、MFA
抗抵赖性 行为不可抵赖 电子合同、电子转账 数字签名、时间戳、审计
软考易考点
· 完整性 vs 真实性:完整性强调"数据没被改",真实性强调"来源是真的"
· 抗抵赖性的核心手段是数字签名(私钥签名,公钥验签)
· CIA 三元组中,"可用性"经常被忽视,但它是 DoS 攻击的直接破坏目标

三、安全体系结构:纵深防御

纵深防御体系将安全防护划分为由外到内的多个层次。攻击者要触达核心数据资产,必须依次突破每一层防御。这种"剥洋葱"式的防御大幅提高了攻击成本,并为安全检测和响应争取了时间。

① 物理安全 Physical Security 门禁、视频监控、防雷防静电、机房环境、防盗防火 ② 网络安全 Network Security 防火墙、IDS/IPS、VPN、DMZ、ACL、DDoS 清洗 ③ 主机安全 Host Security 操作系统加固、补丁管理、最小化服务、主机入侵检测、账号管理 ④ 应用安全 Application Security 输入校验、SQL/XSS 防护、身份认证、访问控制、安全编码 ⑤ 数据安全 Data Security 加密存储、脱敏、备份、分级分类 攻击者须依次突破 5 层防线才能触达核心数据资产
图 2:纵深防御五层架构 —— 由外到内逐层保护核心数据

3.1 物理安全

物理安全是整个安全体系的最外层,也是最基础的一层。无论网络和应用防护多么严密,如果机房被人闯入、服务器被人搬走,一切上层防护都将形同虚设。物理安全的控制对象包括机房环境、设备设施和物理访问。

物理安全控制要点

  • 环境安全:防雷、防火、防水、防静电、防尘、温湿度控制(机房空调)。
  • 设备安全:防盗、防毁、防电磁辐射(TEMPEST)、电源冗余(UPS)。
  • 介质安全:硬盘、磁带、U 盘的存放、传输与销毁。
  • 访问控制:门禁系统(刷卡/生物识别)、视频监控、保安巡逻、机房分区。

3.2 网络安全

网络安全在网络边界和内部网络部署防护,控制进出网络的流量,检测和阻断网络层攻击。这是纵深防御中"最为人熟知"的一层,也是软考的高频考点。

3.3 主机安全

主机安全聚焦于操作系统和服务器自身的加固。即便网络层放行了恶意流量,一个加固良好的主机仍能抵御大部分漏洞利用。

3.4 应用安全

应用安全关注应用程序自身的健壮性,是开发者最直接可控的安全层。OWASP Top 10 列出了 Web 应用最常见的安全风险,如注入、XSS、CSRF、权限失效等,均属于应用层安全问题。

3.5 数据安全

数据安全是纵深防御的最后一道防线,也是核心目标——所有防护最终都是为了保护数据。即便前面的层全部失守,数据加密和备份仍能将损失降到最低。

常见误区
很多团队把安全等同于"装个防火墙",这违反了纵深防御原则。防火墙只覆盖网络层,对应用层漏洞(如 SQL 注入)和内部威胁(如恶意员工)几乎无防护能力。安全架构必须覆盖五层,缺一不可。

四、加密体系

密码学是安全架构的基石。机密性、完整性、真实性和抗抵赖性四个安全要素都依赖密码学技术实现。加密体系主要分为三大类:对称加密、非对称加密和哈希函数,再结合数字信封、PKI 等组合机制构成完整的密码应用体系。

4.1 对称加密(Symmetric Encryption)

对称加密是指加密和解密使用同一个密钥的加密算法。通信双方在通信前必须先安全地共享这个密钥,这就是对称加密的核心难题——密钥分发问题。

Alice 发送方 持有密钥 K 对称加密 E(K, 明文) AES / SM4 Bob 接收方 持有密钥 K 对称解密 D(K, 密文) 同一密钥 K 密文 共享密钥 K 需预先安全分发 加密与解密使用同一密钥,速度快,但存在密钥分发难题
图 3:对称加密流程 —— 加解密共用同一密钥

常见对称加密算法

优点
  • 加解密速度快,适合加密大量数据
  • 算法成熟,硬件支持广泛
  • 加密后密文长度与明文接近
缺点
  • 密钥分发困难(n 个用户需 n(n-1)/2 个密钥)
  • 无法实现抗抵赖(双方共享密钥)
  • 密钥管理规模大,易泄露

4.2 非对称加密(Asymmetric Encryption)

非对称加密使用一对数学相关的密钥:公钥(Public Key)公开给所有人,私钥(Private Key)严格保密。其核心特性是:公钥加密的数据只能用对应的私钥解密,反之亦然。这巧妙地解决了对称加密的密钥分发难题。

Alice 发送方 用 Bob 公钥加密 非对称加密 E(Bob 公钥, 明文) RSA / SM2 Bob 接收方 用自己私钥解密 非对称解密 D(Bob 私钥, 密文) 仅私钥可解 密文 Bob 的公钥可公开广播,无需保密 公钥加密 → 私钥解密:解决密钥分发,实现机密性 公钥可任意分发,私钥绝不外泄
图 4:非对称加密(公钥加密、私钥解密)—— 保障机密性

常见非对称加密算法

数字签名(Digital Signature)

非对称加密的"反向使用"就是数字签名:用私钥签名,用公钥验签。由于私钥只有签名方持有,因此验签成功即可证明:消息确实来自该签名方(真实性),且未被篡改(完整性),签名方无法抵赖(抗抵赖性)。

发送方 Alice(签名) 原文 M 哈希 SHA-256 摘要 H 私钥签名 RSA/SM2 Alice 私钥 签名 S 发送 (M, S) 网络传输 接收方 Bob(验签) 原文 M' 哈希 SHA-256 摘要 H1 公钥验签 解出 H2 Alice 公钥 签名 S 比较 H1=H2? 相等则验签通过 ✓ 真实性 + 完整性 + 抗抵赖
图 5:数字签名流程 —— 私钥签名、公钥验签
软考易混点辨析
· 公钥加密 / 私钥解密:用于保障机密性(只有私钥持有者能读)
· 私钥签名 / 公钥验签:用于保障真实性、完整性、抗抵赖性(证明是私钥持有者发的)
· 记忆:加密用对方公钥,签名用自己私钥。
对比维度 对称加密 非对称加密
密钥数量 1 个(加解密共用) 1 对(公钥 + 私钥)
加解密速度 快(适合大数据量) 慢(适合小数据量/密钥交换)
密钥分发 困难(核心难题) 容易(公钥可公开)
抗抵赖性 不支持 支持(数字签名)
代表算法 DES、3DES、AES、SM4 RSA、ECC、SM2、DSA
n 个用户密钥数 n(n-1)/2 2n(每人一对)
典型用途 数据加密、文件加密 密钥交换、数字签名、身份认证

4.3 哈希函数(Hash Function)

哈希函数(也称散列函数、摘要函数)是一种单向密码学函数,它将任意长度的输入压缩为固定长度的输出(摘要/哈希值)。好的哈希函数具有:单向性(不可由摘要反推原文)、抗碰撞性(难以找到两个不同输入产生相同摘要)、雪崩效应(输入微小变化导致摘要剧烈变化)。

常见哈希算法

哈希函数的典型用途

口令存储禁忌
严禁明文存储口令!也不应只存简单哈希(容易被彩虹表破解)。正确做法是加盐 + 慢哈希(如 bcrypt、PBKDF2、scrypt、Argon2),增加暴力破解成本。

4.4 消息认证码(MAC)与 HMAC

消息认证码(Message Authentication Code, MAC)是结合了密钥的哈希函数,用于同时验证消息完整性和来源真实性。与普通哈希的区别在于:MAC 需要密钥参与,没有密钥就无法生成或验证合法的 MAC,从而防止攻击者伪造。

HMAC(Hash-based MAC)是最常用的 MAC 构造方式,它将哈希函数与密钥结合:HMAC(K, M) = H((K⊕opad) ‖ H((K⊕ipad) ‖ M))。HMAC 可基于任意安全哈希函数实现,如 HMAC-SHA256、HMAC-SM3。

MAC vs 数字签名
· MAC 用对称密钥,速度快,但无法实现抗抵赖(双方都持有密钥,无法证明是哪一方生成的)
· 数字签名用非对称密钥,速度慢,但支持抗抵赖(只有私钥持有者能签)
· 需要抗抵赖时用数字签名,仅需完整性+真实性时用 MAC。

4.5 数字信封(Digital Envelope)

对称加密速度快但密钥分发难,非对称加密解决了密钥分发但速度慢。数字信封将两者结合:用对称加密保护数据,用非对称加密保护对称密钥,兼顾安全与效率。

发送方 Alice 明文数据 随机对称密钥 K 临时生成 对称加密 AES(K, 明文) 密文 C1 非对称加密 RSA(Bob公钥, K) 加密密钥 C2 数字信封 = C1 + C2 密文数据 + 加密后的对称密钥 传输 接收方 Bob 收到数字信封 分离出 C1 和 C2 私钥解密 C2 得到 K D(Bob私钥, C2) = K 用 K 解密 C1 得明文 AES(K, C1) = 明文 ✓ 还原明文数据 对称加密保护数据(快),非对称加密保护密钥(解决分发) —— 兼顾安全与效率
图 6:数字信封流程 —— 对称加密数据 + 非对称加密密钥

4.6 数字证书与 PKI/CA

非对称加密中,如何确认"这个公钥确实是某人的"?如果攻击者冒名发布公钥,就会造成中间人攻击。数字证书(Digital Certificate)就是用来绑定公钥与身份的电子凭证,由权威的证书授权机构(CA, Certificate Authority)签发。

PKI(Public Key Infrastructure,公钥基础设施)是围绕数字证书建立的一整套体系,包括 CA、RA(注册机构)、证书库、CRL/OCSP(吊销机制)、密钥管理等组件。

X.509 证书结构(软考重点)

  • 版本号:证书格式版本(V1/V2/V3)。
  • 序列号:CA 分配的唯一编号。
  • 签名算法:CA 用于签发本证书的算法(如 SHA256withRSA)。
  • 颁发者(Issuer):签发该证书的 CA 名称(DN)。
  • 有效期:证书的生效与失效时间(Not Before / Not After)。
  • 主体(Subject):证书持有者名称(DN)。
  • 主体公钥:持有者的公钥及算法。
  • 扩展:密钥用途、基本约束(是否为 CA)、SAN 等。
  • CA 签名:CA 对上述所有字段的数字签名。
根 CA (Root CA) 自签名证书 二级 CA A 由根 CA 签发 二级 CA B 由根 CA 签发 RA 注册机构 用户/服务器 证书+私钥 用户/服务器 证书+私钥 用户/服务器 证书+私钥 用户/服务器 证书+私钥 证书库 (LDAP/DB) 存放已签发证书 CRL / OCSP 证书吊销机制 密钥管理中心 KMC 密钥备份/恢复 证书链验证:终端证书 → 二级 CA → 根 CA,逐级验签至可信根 根 CA 证书预装在操作系统/浏览器中,是整个信任链的起点
图 7:PKI 体系架构与证书链

证书吊销

证书在有效期内可能因私钥泄露、用户变更等原因需要提前作废,这就是证书吊销。主要有两种机制:

国密算法记忆
· SM1:对称分组密码,不公开,仅以 IP 核形式提供
· SM2:椭圆曲线非对称密码(替代 RSA)
· SM3:哈希算法(替代 SHA-256)
· SM4:对称分组密码(替代 AES),公开
· SM9:基于标识的非对称密码(IBE)

五、身份认证与访问控制

身份认证解决"你是谁"的问题,访问控制解决"你能做什么"的问题。两者共同构成了系统安全的第一道应用层防线,是安全架构设计的高频考点。

5.1 身份认证(Authentication)

身份认证是验证某个实体是否为其声称身份的过程。认证依据分为三类,称为认证三因素:

多因素认证(MFA):组合使用两种或以上不同类型的因素进行认证(如口令 + 短信验证码),即使某一因素泄露,攻击者也无法完成认证,大幅提升安全性。

单点登录(SSO)

单点登录(Single Sign-On)是指用户只需登录一次,即可访问所有相互信任的应用系统,避免在多个系统间反复输入凭证。常见 SSO 协议包括:

认证 vs 授权(软考易混)
· 认证(Authentication):验证身份,回答"你是谁" → AuthN
· 授权(Authorization):授予权限,回答"你能做什么" → AuthZ
· OAuth 2.0 是授权框架,OIDC 才是认证协议。
用户 浏览器 客户端应用 Client 授权服务器 Authorization Server 资源服务器 Resource Server ① 请求访问 ② 重定向到授权页 ③ 用户登录并授权 ④ 回调带 code ⑤ code 换 token ⑥ 返回 access_token ⑦ 携带 token 访问资源 ⑧ 返回受保护资源 OAuth 2.0 授权码模式(最安全、最常用)—— code 通过前端传递,token 仅在后端交换
图 8:OAuth 2.0 授权码模式(Authorization Code Flow)

5.2 访问控制(Access Control)

访问控制是在确认身份后,决定主体(Subject)能否以某种方式(权限)访问某个客体(Object)的机制。主流的访问控制模型有四种,是软考高频考点。

1. 自主访问控制(DAC, Discretionary Access Control)

客体的所有者可以自主决定将权限授予谁。典型实现是 ACL(访问控制列表),如 Linux 文件的 rwx 权限,文件所有者可以 chmod 改权限。灵活性高但安全性较弱,权限容易传播失控。

2. 强制访问控制(MAC, Mandatory Access Control)

系统强制实施,主体和客体都被赋予安全标签(如绝密、机密、秘密、公开),由系统按"向下写、向上读"等规则强制判定,用户无权更改。安全性最高但灵活性差,常用于军事、政府等高安全场景。

MAC 的 Bell-LaPadula 模型(机密性)
· 向下读原则(No Read Up):主体只能读安全等级 ≤ 自己的客体
· 向上写原则(No Write Down):主体只能写安全等级 ≥ 自己的客体
· 目标:防止高密级信息流向低密级主体,保障机密性
Biba 模型(完整性):与 BLP 相反,防篡改,保障完整性

3. 基于角色的访问控制(RBAC, Role-Based Access Control)

RBAC 是企业应用中最主流的模型。核心思想是:权限不直接授予用户,而是授予"角色",用户通过被分配角色间接获得权限。这极大简化了权限管理——用户变动只需调整角色分配,权限调整只需修改角色权限。

用户 User 张三 李四 王五 角色 Role 管理员角色 普通员工角色 访客角色 权限 Permission 用户管理 订单查看 数据导出 报表浏览 分配 用户→角色→权限 三层解耦:用户变动改角色分配,权限变动改角色权限 RBAC 支持角色继承(管理员继承普通员工权限),是当前企业系统主流模型
图 9:RBAC 模型 —— 用户-角色-权限三层解耦

4. 基于属性的访问控制(ABAC, Attribute-Based Access Control)

ABAC 基于主体属性、客体属性、环境属性、操作属性,通过策略(Policy)动态判定是否允许访问。例如"工作时间内、本部门员工、可读取本部门机密文件"。最灵活、最精细,但策略复杂、管理成本高,适合复杂场景。

模型 核心机制 灵活性 安全性 典型场景
DAC 所有者自主授权(ACL) 高 低 Linux 文件权限
MAC 系统强制 + 安全标签 低 高 军政系统
RBAC 角色为中介 中 中 企业应用(主流)
ABAC 属性 + 策略 最高 高 复杂权限场景

六、网络安全

网络安全是纵深防御的第二层,主要在网络边界和内部网络部署防护措施,控制流量、检测攻击、保障传输安全。软考中防火墙、IDS/IPS、VPN、DMZ 是高频考点。

6.1 防火墙(Firewall)

防火墙是部署在网络边界的访问控制设备,根据预定义规则允许或拒绝流量通过。按技术原理分为三代:

6.2 IDS / IPS

入侵检测系统(IDS, Intrusion Detection System)用于检测网络或系统中的入侵行为并告警,旁路部署,只检测不阻断。入侵防御系统(IPS, Intrusion Prevention System)在 IDS 基础上增加阻断能力,串行部署,可实时拦截。

按检测原理分为两类:

6.3 VPN

VPN(Virtual Private Network,虚拟专用网)通过隧道技术在公共网络上建立加密通道,实现安全通信。主流协议:

6.4 DMZ 架构

DMZ(Demilitarized Zone,隔离区/非军事区)是位于内外网之间的一个缓冲网络,用于部署需要对外提供服务的服务器(如 Web、邮件、DNS)。外部流量只能访问 DMZ,不能直接进入内网;DMZ 服务器也不能主动发起连接到内网,即使 DMZ 被攻陷,内网仍受保护。

Internet 不可信网络 FW 外部防火墙 DMZ 隔离区 Web 服务器 公开 邮件服务器 公开 DNS 服务器 公开 IDS 旁路检测 FW 内部防火墙 内部网络 可信网络 数据库 应用服务器 员工主机 HIDS 外部只能访问 DMZ;DMZ 不能主动连内网;内外双防火墙隔离;IDS 旁路监测 即便 DMZ 服务器被攻陷,攻击者也无法直接触达内网核心资产
图 10:网络安全架构 —— 双防火墙 + DMZ + IDS
软考易考点:IDS vs IPS
· IDS:旁路部署,只检测不阻断,不影响业务流量
· IPS:串行部署,检测并阻断,可能误判正常流量
· IDS 像"摄像头",IPS 像"保安"

七、Web 安全

Web 应用是当前互联网最主流的应用形态,也是攻击者最关注的攻击面。OWASP Top 10 列出了 Web 应用最严重的安全风险,其中 SQL 注入、XSS、CSRF 是软考必考的三大 Web 安全问题。

7.1 SQL 注入(SQL Injection)

SQL 注入是指攻击者通过在输入中构造恶意 SQL 片段,使后端数据库执行非预期命令,从而读取、篡改或删除数据。其根本原因是将用户输入直接拼接到 SQL 语句中,未做参数化处理。

攻击者 输入恶意内容 Web 应用 拼接 SQL 语句 数据库 执行恶意 SQL 恶意输入: admin' OR '1'='1' -- 拼接后的 SQL: SELECT * FROM users WHERE name='admin' OR '1'='1' --' 恶意 SQL 结果:'1'='1' 恒真,绕过登录 可读取整表数据、执行管理员操作、提权 攻击者输入被拼入 SQL,导致逻辑被篡改(恒真条件)→ 绕过认证 / 越权
图 11:SQL 注入攻击原理

防御措施

7.2 XSS(跨站脚本攻击)

XSS(Cross-Site Scripting)是指攻击者将恶意脚本注入到 Web 页面中,当其他用户浏览该页面时,脚本在用户浏览器中执行,从而窃取 Cookie、会话令牌或进行其他恶意操作。XSS 的根本原因是输出未编码。

XSS 分为三类:

防御措施

7.3 CSRF(跨站请求伪造)

CSRF(Cross-Site Request Forgery)是指攻击者诱导已登录用户访问恶意页面,利用用户的登录凭证(Cookie 自动携带)向目标网站发起请求,以用户身份执行非本意操作。CSRF 的本质是利用 Cookie 自动携带机制冒充用户。

受害者 已登录银行 银行网站 bank.com 攻击者网站 evil.com ① 正常登录,获得会话 Cookie ② 被诱导访问 evil.com(仍持有银行 Cookie) ③ 自动发起转账请求 POST /transfer to=evil&amt=10000 ④ Cookie 自动携带 银行以为是用户操作 攻击者不直接窃取 Cookie,而是借浏览器自动携带 Cookie 冒充用户身份
图 12:CSRF 攻击原理 —— 借 Cookie 自动携带冒充用户

防御措施

7.4 其他常见 Web 漏洞

攻击 攻击目标 根本原因 核心防御
SQL 注入 数据库 SQL 拼接 参数化查询
XSS 用户浏览器 输出未编码 输出编码 + CSP
CSRF 用户会话 Cookie 自动携带 CSRF Token + SameSite
文件上传 服务器 未校验文件类型 白名单 + 重命名
目录遍历 文件系统 路径未规范化 路径规范化 + 限制
命令注入 操作系统 命令拼接 避免系统命令 + 过滤
三大 Web 攻击对比记忆
· SQL 注入:攻击数据库,输入被当作 SQL 代码 → 防御:参数化
· XSS:攻击浏览器,输入被当作 HTML/JS 代码 → 防御:输出编码
· CSRF:攻击会话,借用用户身份发请求 → 防御:Token
· XSS 是"注入代码执行",CSRF 是"借用身份请求",注意区分!

八、安全协议

安全协议在通信双方之间建立安全通道,实现加密、认证、完整性保护。常见的安全协议包括 HTTPS/SSL/TLS、IPSec、Kerberos 等。

8.1 HTTPS / SSL / TLS

HTTPS 是在 HTTP 之上叠加 TLS/SSL 协议实现的加密通信。SSL(Secure Sockets Layer)是早期协议,已因漏洞弃用;TLS(Transport Layer Security)是其继任者,目前主流版本为 TLS 1.2 / 1.3。TLS 提供机密性(加密)、完整性(MAC)、真实性(证书认证)三项保障。

TLS 协议分为两层:记录协议(Record Protocol,底层,负责数据分片、加密、MAC)和握手协议(Handshake Protocol,上层,负责协商加密套件、交换密钥、验证身份)。

客户端 Client 服务器 Server ① ClientHello(支持的TLS版本、加密套件、随机数 Rc) ② ServerHello + 证书 + 随机数 Rs + 公钥 ③ 验证证书 → 用服务器公钥加密 PreMaster 发送 双方用 Rc+Rs+PreMaster 生成会话密钥 双方用 Rc+Rs+PreMaster 生成会话密钥 ④ 双方独立计算出相同的对称会话密钥(基于三个随机数) ⑤ Finished(切换到加密通信,握手完成) ⑥ 用会话密钥对称加密传输应用数据 TLS 握手:非对称加密交换密钥 → 对称加密传输数据(兼顾安全与效率) 本质是"数字信封"思想在协议层面的体现
图 13:TLS 握手流程(简化版)

8.2 IPSec

IPSec(Internet Protocol Security)是工作在网络层(IP 层)的安全协议,为 IP 包提供加密和认证,常用于构建站点到站点 VPN。它由三个核心子协议组成:

IPSec 有两种工作模式:传输模式(Transport,只保护 IP 载荷,原 IP 头不变,适合主机到主机)和隧道模式(Tunnel,整个原 IP 包加密并封装在新 IP 头中,适合网关到网关 VPN)。

8.3 Kerberos

Kerberos 是 MIT 提出的基于对称加密和网络时间同步的身份认证协议,是 Windows Active Directory 的核心认证机制。它通过票据(Ticket)机制实现单点登录(SSO),避免口令在网络中传输。

Kerberos 涉及三方:客户端(C)、认证服务器(AS,也即 KDC 的组成部分)和票据授予服务器(TGS)。客户端不直接向应用服务器发送口令,而是先向 AS 证明身份获取 TGT(票据授予票据),再用 TGT 向 TGS 换取访问某具体服务的 ST(服务票据),最后用 ST 访问目标服务。整个过程口令从不在网络中明文传输,且票据有时效性,支持单点登录。

客户端 C 用户 AS 认证服务器 KDC 组成部分 TGS 票据授予 服务器 应用服务器 V 业务服务 ① 请求认证 ② 返回 TGT (用 C 口令加密) ③ 用 TGT 请求 ST ④ 返回服务票据 ST ⑤ 携带 ST 访问服务 ⑥ 验证 ST,提供服务 口令从不在网络传输;TGT 可重复用换取多个 ST,实现 SSO
图 14:Kerberos 认证流程 —— 基于票据的 SSO 机制
软考记忆要点
· Kerberos 基于对称加密(非非对称)
· 核心票据:TGT(向 TGS 换 ST)、ST(访问具体服务)
· 依赖时间同步(防重放,票据带时间戳)
· 实现单点登录 SSO

九、软件安全开发生命周期

传统的安全实践往往是"先开发后打补丁",这种模式成本高、漏洞多。现代安全工程主张将安全左移(Shift Left),融入软件开发生命周期(SDLC)的每个阶段,从源头减少漏洞。微软提出的 SDL(Security Development Lifecycle)是这一思想的代表。

9.1 各阶段安全活动

9.2 威胁建模 —— STRIDE 模型

STRIDE 是微软提出的威胁分类模型,将威胁按安全属性分为六类,是软考设计阶段威胁建模的高频考点。STRIDE 是六个英文单词首字母的缩写:

STRIDE 威胁 破坏的安全属性 典型缓解措施
Spoofing 伪造真实性身份认证、MFA、Kerberos
Tampering 篡改完整性数字签名、MAC、哈希
Repudiation 抵赖抗抵赖性数字签名、审计日志
Information Disclosure 信息泄露机密性加密、访问控制
Denial of Service 拒绝服务可用性限流、冗余、负载均衡
Elevation of Privilege 权限提升授权最小权限、输入校验
STRIDE 记忆口诀
"伪、改、赖、露、拒、提" 对应 "真、完、抗、机、用、授" 六个安全属性。每个威胁正好破坏一个属性,对应一类缓解措施。

9.3 安全代码审查与 SAST/DAST

安全测试是 SDLC 中发现漏洞的关键环节,主要分为静态和动态两类:

十、实战案例:银行系统安全架构

下面以网上银行系统为例,综合运用前面各章知识,设计一个完整的安全架构。银行系统对安全的要求极高,涉及资金和客户隐私,必须从网络、应用、数据、认证、审计等多维度构建纵深防御体系。

用户接入层 手机银行 / 网银 / ATM —— 多因素认证(MFA) + 设备指纹 + 风控 边界防护层 Anti-DDoS 清洗 → WAF(Web 应用防火墙) → 负载均衡(HTTPS/TLS 1.3) DMZ 隔离区 前端网关(双活) API 网关(限流) IDS/IPS 堡垒机(运维审计) 内部防火墙 + 网络分段 应用服务层(内网) 核心交易服务 账户服务 风控引擎 统一认证(SSO) HIDS 数据安全层 数据库透明加密(TDE) + 敏感字段脱敏 + 主从复制 + 异地容灾备份 HSM 硬件安全模块管理密钥 + 全量审计日志(SIEM)
图 15:银行系统安全架构总览 —— 五层纵深防御

10.1 网络安全措施

10.2 应用安全措施

10.3 数据安全措施

10.4 认证与授权设计

10.5 审计与合规

架构设计要点总结
银行安全架构体现了"纵深防御 + 最小权限 + 安全左移 + 持续监测"四大原则。每一层都假设上一层可能失守,各自独立又相互补充,最终形成多道防线协同的立体防护体系。

十一、软考考点总结与真题

安全架构设计是系统架构设计师考试的核心模块之一,涉及密码学、网络安全、应用安全、访问控制等多个子领域,知识点密集且易混淆。下面汇总核心考点并给出典型真题。

11.1 核心加密算法速查表

类别 算法 密钥/摘要长度 说明
对称加密DES56 位已不安全
3DES112/168 位过渡方案
AES128/192/256 位主流标准
SM4128 位国密
非对称加密RSA2048/4096 位基于大数分解
ECC256+ 位基于椭圆曲线
SM2256 位国密
哈希MD5128 位已不安全
SHA-1160 位已不安全
SHA-256256 位主流
SM3256 位国密

11.2 典型真题

真题一(单选题)

某系统要求在网络中传输的数据既不能被窃听,又不能被篡改,同时接收方还能确认发送方的身份且发送方不能抵赖。下列方案中最合适的是( )。

A. 先用发送方私钥签名,再用对称密钥加密
B. 先用接收方公钥加密,再用发送方私钥签名
C. 先对称加密数据,再用发送方私钥对摘要签名,对称密钥用接收方公钥加密(数字信封)
D. 用哈希函数计算摘要后直接传输

答案:C
解析:题干要求同时满足机密性(不被窃听)、完整性(不被篡改)、真实性(确认身份)、抗抵赖性(不能抵赖)。方案 C 是典型的"数字信封 + 数字签名"组合:对称加密保证机密性和效率;私钥对摘要签名保证完整性、真实性和抗抵赖;接收方公钥加密对称密钥解决密钥分发。A 缺少机密性保护(无加密数据);B 顺序不合理且效率低;D 仅能保证完整性,无加密无认证。

真题二(单选题)

关于访问控制模型,下列说法正确的是( )。

A. DAC 中客体所有者可以自主决定权限的授予,安全性最高
B. MAC 基于安全标签强制控制,灵活性好,广泛用于企业应用
C. RBAC 通过角色作为用户与权限的中介,是企业应用的主流模型
D. ABAC 仅基于用户身份判定权限,管理简单

答案:C
解析:A 错,DAC 灵活但安全性较低(权限易传播失控),安全性最高的是 MAC;B 错,MAC 安全性高但灵活性差,多用于军政系统而非企业;C 正确,RBAC 通过角色解耦用户与权限,是企业应用主流模型;D 错,ABAC 基于多种属性(主体、客体、环境)和策略判定,最为灵活但管理复杂。

真题三(单选题)

在 Kerberos 认证系统中,客户端访问某应用服务时所持有的票据是( ),该票据由( )颁发。

A. TGT,AS
B. TGT,TGS
C. ST(服务票据),TGS
D. ST(服务票据),应用服务器

答案:C
解析:Kerberos 中,客户端先向 AS(认证服务器)认证获取 TGT(票据授予票据);再用 TGT 向 TGS(票据授予服务器)换取访问具体应用的 ST(服务票据);最后用 ST 访问目标应用服务器。因此访问应用服务持有的是 ST,由 TGS 颁发。注意区分 TGT(向 TGS 换取 ST 用)与 ST(访问服务用)。

11.3 记忆口诀与复习要点

考试复习要点
1. CIA 五要素:机密性、完整性、可用性、真实性、抗抵赖性,对应 STRIDE 六威胁
2. 加密三剑客:对称(AES/SM4,快,分发难)、非对称(RSA/SM2,慢,解决分发+签名)、哈希(SHA-256/SM3,单向)
3. 数字签名 = 私钥签名 + 公钥验签,保障真实性+完整性+抗抵赖
4. 数字信封 = 对称加密数据 + 非对称加密密钥,兼顾安全与效率
5. 访问控制四模型:DAC(自主)、MAC(强制)、RBAC(角色,主流)、ABAC(属性)
6. Web 三大攻击:SQL 注入(参数化)、XSS(输出编码)、CSRF(Token)
7. IDS vs IPS:旁路检测 vs 串行阻断
8. Kerberos:对称加密 + 票据(TGT/ST)+ SSO + 时间同步
9. 国密算法:SM1(对称,不公开)、SM2(非对称)、SM3(哈希)、SM4(对称,公开)
10. STRIDE:伪/改/赖/露/拒/提 对应 真/完/抗/机/用/授
易混淆点速记
· 加密用对方公钥,签名用自己私钥
· MD5/SHA-1 已不安全,SHA-256/SM3 才安全
· 认证(AuthN)是"你是谁",授权(AuthZ)是"你能做什么"
· OAuth 2.0 是授权框架,OIDC 才是认证协议
· DAC 灵活不安全,MAC 安全不灵活,RBAC 企业主流

安全架构设计不是堆砌安全产品,而是在深入理解威胁与防护原理的基础上,结合业务场景做系统性、层次化的权衡。架构师应当从 CIA 五要素出发,以纵深防御为骨架,灵活运用密码学、访问控制、网络安全、安全协议等手段,并将安全贯穿 SDLC 全生命周期,才能构建出既安全又可用的系统。在软考中,掌握各类技术的基本原理、适用场景、优缺点对比,并能将其应用于案例分析,是取得高分的关键。