第9章:嵌入式系统安全性基础知识
本章对应原书第 435~455 页。软考视角:本章知识点在上午题中常考 2~4 分,集中在信息安全的属性与层次、加密算法的常识性对比、数字签名与报文摘要的作用、认证方式辨析等方面;下午案例题偶尔会在安全方案设计类题目中出现智能卡、USB-Key 认证流程等概念。
本章在讲什么?(先看这个)
这一章解决的是"如何让系统和数据不被偷、不被改、不被赖账"的问题。它先建立安全的基本概念框架——秘密性、完整性、可用性(CIA 三属性)和设备/数据/内容/行为四层安全,然后逐个介绍实现这些目标的技术手段:数据加密(DES、IDEA、AES、RC4、RSA)、认证(报文摘要 MD5/SHA、HMAC、基于共享密钥或公钥的认证)、数字签名与数字证书,以及防病毒的各种技术。最后落到嵌入式场景:智能卡、USB-Key、智能手机(可信终端)、行业工控系统的安全方案。
软考爱考这一章,是因为它的知识点"边界清晰、适合出选择题":比如"哪个算法是对称的、哪个是公钥的"、"数字签名能解决什么问题(抗抵赖)、不能解决什么"、"HMAC 的认证流程"等,都是高频命题点。复习策略是记清楚每个技术的定位和特点,不必深推数学细节。
核心概念拆解
9.1 计算机信息系统安全概述
9.1.1 信息系统安全
信息安全强调信息(数据)本身的安全属性,主要包含三个(这就是经典的信息安全 CIA 三属性):
- 秘密性(保密性):信息不被未授权者知晓的属性。
- 完整性:信息是正确的、真实的、未被篡改的、完整无缺的属性。
- 可用性:信息可以随时正确使用的属性。
信息是内涵,系统是载体,信息不能脱离载体而存在,所以要从"信息系统安全"的视角来看待信息安全问题。由此,信息系统安全划分为四个层次:
| 层次 | 含义 | 要点 |
|---|---|---|
| 设备安全 | 信息系统安全的物质基础、首要问题 | 稳定性(一定时间内不出故障的概率)、可靠性(一定时间内正常执行任务的概率)、可用性(可以正常使用的概率) |
| 数据安全 | 即传统的信息安全 | 数据的秘密性、完整性、可用性 |
| 内容安全 | 信息安全在政治、法律、道德层次上的要求 | 内容政治上健康、符合法律法规、符合优良道德规范 |
| 行为安全 | 系统服务功能最终通过行为提供给用户 | 行为的秘密性(不危害数据秘密性)、完整性(过程和结果符合预期)、可控性(偏离预期时能发现、控制、纠正) |
「考点」四层安全的划分及顺序(设备→数据→内容→行为)是上午题的直接考点,常以"信息系统安全分为哪四个层次"或"XX 属于哪一层"的形式出现。另外注意区分"设备安全"三要素(稳定性/可靠性/可用性)与"数据安全"三属性(秘密性/完整性/可用性)的措辞差异。
9.1.2 网络安全
互联网设计之初以广泛互连、互操作、资源共享为目的,侧重点不在安全上,因此安全缺陷有先天不足的内在特性。
1.安全漏洞:一般理解为在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,使攻击者能够在未授权情况下访问或破坏系统。信息系统安全性弱主要体现在:
- 物理安全性:凡能让非授权机器物理接入的地方都存在潜在安全问题。
- 软件安全漏洞:"特权"软件中带有恶意代码,从而获得额外权限。
- 不兼容使用安全漏洞:把两个毫无关系但有用的事物连接在一起导致安全漏洞,系统建立运行后很难被发现。
- 安全策略选择:完美的软件、受保护的硬件和兼容部件并不能保证有效工作,还需要选择适当的安全策略。
2.网络安全威胁(共 10 类,是高频考点清单):
- 窃听:广播式网络中每个结点都可读取网上传输的数据(搭线窃听、通信监视器等)。
- 假冒:一个实体假扮成另一个实体进行网络活动。
- 重放:重复一份报文或报文的一部分,以产生被授权效果。
- 流量分析:通过观察分析信息流推断有用信息(有无传输、数量、方向、频率等);由于报头不能加密,即使数据加密也能做流量分析。
- 数据完整性破坏:有意或无意地修改或破坏信息系统、数据。
- 拒绝服务(DoS):授权实体不能获得应有的网络资源访问,或紧急操作被延迟。
- 资源的非授权使用:与所定义的安全策略不一致的使用。
- 陷门和特洛伊木马:替换合法程序或在合法程序中插入恶意代码实现非授权进程。
- 病毒。
- 诽谤:利用系统的互连性和匿名性散布错误消息。
3.网络攻击的分类(重点掌握前两类):
| 攻击类型 | 特点 | 防范重点 |
|---|---|---|
| 被动攻击 | 监视信息流以获取秘密(特洛伊木马抓数据、跟踪通信链路等),最难被检测 | 重点在预防,主要手段是数据加密 |
| 主动攻击 | 修改数据流或创建错误流:假冒、重放、欺骗、消息篡改、拒绝服务等;无法预防但易于检测 | 重点在检测而不是防,主要手段有防火墙、入侵检测技术 |
| 物理临近攻击 | 未授权者物理上接近网络/系统/设备,目的是修改、收集或拒绝访问信息 | — |
| 内部人员攻击 | 由被授权在物理范围内或拥有直接访问权的人员实施,分恶意的和非恶意的(不小心/无知) | — |
| 分发攻击 | 在软/硬件开发出来之后、安装之前,或传输过程中恶意修改软/硬件 | — |
「考点」"被动攻击重在预防(加密)、主动攻击重在检测(防火墙+入侵检测)"是这一节最经典的考点,务必记住对应关系。
4.安全措施的目标(5 个):
- 访问控制:确保会话对方有权做它所声称的事情。
- 认证:确保会话对方的资源(人或计算机)与它声称的相一致。
- 完整性:确保接收到的信息与发送的一致。
- 审计:确保任何发生的交易在事后可以被证实,发信者和收信者都认为交换发生过,即不可抵赖性。
- 保密:确保敏感信息不被窃听。
9.1.3 风险管理
风险管理主要包括三个方面:脆弱性识别、风险计算与分析、风险处置。
- 脆弱性识别:脆弱性是资产自身存在的,若没有被威胁利用,脆弱性本身不会对资产造成损害。组织通过尽可能消减资产的脆弱性来阻止或消减威胁造成的影响,因此脆弱性识别是风险评估中最重要的一个环节。识别途径:技术方面(物理环境、网络、主机系统、应用系统、数据);管理方面(技术管理脆弱性、组织管理脆弱性)。
- 风险计算与分析:风险计算方法分定性和定量两大类。风险等级化处理按风险值高低划分,一般分五级:很高、高、中等、低、很低(也可按实际分为高/中/低三级)。
- 风险处置:方式一般包括接受、消减、转移、规避四种。安全整改是常用的风险消减方法,整改建议要综合考虑风险的严重程度、加固措施实施的难易程度、降低风险的时间紧迫程度、人员力量及资金成本:非常严重且措施易实施→立即整改;非常严重但措施不易实施→立即制定方案尽快实施,整改前严密监控并做好应急预案;比较严重且措施不易实施→限期整改,整改前监控。
- 风险整改建议提出后召开的评审会是评估活动结束的重要标志,由被评估组织组织、评估机构协助,会议成果是会议评审意见。
9.2 信息安全基础
9.2.1 数据加密原理
数据加密是防止未经授权的用户访问敏感信息的手段,也是其他安全方法的基础。研究数据加密的科学叫做密码学(Cryptography),它分为密码编码学(设计密码体制)和密码分析学(破译密码)。
一般的保密通信模型:发送端用加密算法 E 和密钥 K 把明文 P 变换成密文 C,即 C = E(K, P);接收端用解密算法 D 和密钥 K 解密,即 P = D(K, C)。加/解密函数 E 和 D 是公开的,密钥 K 是秘密的。偷听者在传输过程中只能得到无法理解的密文,且得不到密钥,从而达到保密目的。
原书图 9-1 画的就是这个模型:发送端"明文 P →(加密算法 E,密钥 K)→ 密文 C",经信道传输(偷听者在信道上只能截获密文),接收端"密文 C →(解密算法 D,密钥 K)→ 明文 P"。
「考点」如果不论偷听者获取多少密文,密文中都没有足够信息确定对应明文,这种密码体制是无条件安全(理论上不可破解)的。在无任何限制条件下,目前几乎所有密码体制都不是理论上不可破解的——密码学家研究的核心是设计计算上(而不是理论上)安全的密码体制。这个"理论安全 vs 计算安全"的辨析常出题。
9.2.2 数据加密算法
1.DES(Data Encryption Standard)
- 1977 年 1 月美国 NSA 根据 IBM 的专利技术 Lucifer 制订。明文分成 64 位的块,对每块进行 19 次变换(替代和换位),其中 16 次变换由 56 位密钥的不同排列形式控制,最后产生 64 位的密文块。
- DES 解密机(Diffie 和 Hellman,1977)可利用已知明密文对在一天之内穷试 2^56 种密钥,这叫野蛮攻击。
三重 DES(Triple-DES):是 DES 的改进算法,用两个密钥对报文做三次 DES 加密,效果相当于密钥长度加倍,克服了 DES 密钥较短的缺点。两个密钥 K1、K2 的加密步骤是:
- 用 K1 进行 DES 加密;
- 用 K2 对上一步结果进行 DES 解密;
- 用 K1 再进行 DES 加密。
即"加密—解密—加密"(E-D-E)。理论上可用 3 个不同密钥达到 3×56=168 位,但实际采用两个密钥(有效长度 112 位),因为没用三密钥时……准确地说,没有采用两重 DES 是因为它对一种叫"中间可遇"(meet-in-the-middle)的密码分析攻击极为脆弱。三重 DES 的缺点是要花费原来三倍的时间,优点是 112 位密钥非常"强壮"。
「考点」三重 DES 的步骤顺序(先 K1 加密、再 K2 解密、再 K1 加密)和"为什么不用两重 DES(中间相会攻击)"都考过。
2.IDEA(International Data Encryption Algorithm,国际数据加密算法)
- 1990 年瑞士联邦技术学院的来学嘉和 Massey 提出。使用 128 位密钥,明文分成 64 位的块,进行 8 轮迭代加密。可用硬件或软件实现,速度比 DES 快(25MHz 的 VLSI 芯片加密速率达 177MB/s)。经大量审查,抗密码分析能力强,已成为全球通用的加密标准。
3.AES(Advanced Encryption Standard,高级加密标准)
- 1997 年 1 月美国 NIST 征集新算法,2000 年 10 月宣布 Rijndael 算法为最佳候选,2002 年 5 月 26 日发布为正式 AES 标准。支持 128、192、256 位三种密钥长度,可免版税使用,软/硬件均可实现。
4.流加密算法和 RC4
流加密就是将数据流与密钥生成的二进制比特流做异或运算的加密过程,分两步:① 用密钥 K 生成密钥流 KS(伪随机序列);② 密钥流与明文 P 异或得到密文 C(解密时用同一密钥流与密文异或还原明文)。为安全起见,不同的明文必须使用不同的密钥流,否则容易被破解。
RC 系列(RC2~RC6)是 MIT 教授 Ronald L. Rivest 用自己名字命名的流加密算法,其中 RC4 最常用:1987 年设计,密钥长度可选 64 位或 128 位,算法只涉及 256 内的加法、置换和异或运算,非常简单,加密速度可达 DES 的 10 倍。
5.RSA(Rivest Shamir and Adleman)算法
公钥(非对称)加密算法的代表。密钥选择过程:
- 选两个大素数 p、q(大于 10^100);
- 令 n = p×q,z = (p-1)×(q-1);
- 选 d,使 d 与 z 互质;
- 选 e,使 e×d ≡ 1 (mod z)。
明文 P 分成 k 位的块(k 是满足 2^k < n 的最大整数),加密计算 C = P^e (mod n),公钥为 (e, n);解密计算 P = C^d (mod n),私钥为 (d, n)。
原书给出的例子:取 p=3、q=11,则 n=33、z=20、d=7、e=3。加密 P=2:C = 2³ (mod 33) = 8;解密:P = 8⁷ (mod 33) = 2097152 (mod 33) = 2,正确还原。
RSA 的安全性基于大素数分解的困难性:攻击者若能分解 n 得到 p、q,就能算出 z,进而由 e 和 z 用 Euclid 算法求出 d。但分解 200 位的数需要 40 亿年,分解 500 位的数需要 10^25 年。
「考点」上午题最爱考算法归类:DES / 三重DES / IDEA / AES / RC4 是对称(私钥)加密,RSA 是公钥(非对称)加密;AES 的密钥长度选项、IDEA 的 128 位密钥、RSA 的数学基础(大数分解)都是直接命题点。
9.2.3 认证算法
1.报文摘要算法 MD5
MD5 是 Ronald L. Rivest 设计的一系列 Hash 函数中的第 5 个,使用最广。基本思想是用足够复杂的方法把报文位充分"弄乱",使每一个输出位都受每一个输入位的影响。处理步骤:
- 分组和填充:把报文按 512 位分组,最后填充使报文长度 ≡ 448 (mod 512)(填充形如"1000…");
- 附加:加上 64 位的报文长度字段,使整个报文恰为 512 的整数倍;
- 初始化:置 4 个 32 位缓冲区 A、B、C、D;
- 处理:用 4 个不同的基本逻辑函数(F、G、H、I)进行 4 轮处理,最后输出 128 位的报文摘要。
原书图 9-3 画的是 MD5 的分组处理流程:512 位的块与 128 位链值(A、B、C、D)经 4 轮函数运算后输出下一个 128 位链值,最后得到 128 位摘要。
安全性:由于算法单向性,找不出具有相同 Hash 值的两个不同报文。野蛮攻击寻找给定 Hash 值报文的计算复杂度为 2^128;生日攻击法寻找相同 Hash 值两报文的复杂度为 2^64。MD5 可用 32 位软件高速实现,所以应用广泛。
2.安全散列算法 SHA
由美国国家标准和技术协会于 1993 年提出,定义为安全散列标准(SHS);SHA-1 是 1994 年修订版,纠正了 SHA 一个未公布的缺陷。SHA 接收的输入报文小于 2^64 位,产生 160 位的报文摘要。缺点是速度比 MD5 慢,但摘要更长,更有利于对抗野蛮攻击。
「考点」MD5 输出 128 位、SHA-1 输出 160 位;SHA 更慢但更抗野蛮攻击——这组对比反复考。
3.散列式报文认证码 HMAC(Hashed Message Authentication Code)
利用对称密钥生成报文认证码的散列算法,可提供数据完整性和数据源身份认证。设 H 是散列函数(MD5 时输出 L=128 位,SHA-1 时 L=160 位),K 是双方共享的认证密钥(不大于 64 字节,不足补 0)。定义两个 64 字节常量串:ipad = 0x36 重复 64 次,opad = 0x5C 重复 64 次。计算过程为 HMAC_K(Text) = H(K⊕opad, H(K⊕ipad, Text)),具体分 7 步:K 后附加 0 补到 64 字节 → 与 ipad 异或 → 后接 Text → 应用 H → 结果再与 opad 异或 → 再接前一步结果 → 再应用 H 输出。
要点:HMAC 的密钥长度至少为 L 位,更长并不更安全;输出可截短到 80 位而不损失安全强度;可直接使用现有散列函数 H 的代码,随时可替换。HMAC-MD5 已被 IETF 指定为 Internet 安全协议 IPsec 的验证机制,提供数据源认证和数据完整性保护。
HMAC 的典型应用是"提问/响应"(Challenge/Response)式身份认证,流程为:
- 客户端向服务器发出认证请求;
- 服务器生成一个随机数传给客户端(此为"提问");
- 客户端把随机数交给 ePass(数字证书存储介质),由它用随机数与存储的密钥做 HMAC-MD5 运算,结果作为"响应"传回服务器;
- 服务器同时用该随机数与数据库中该客户密钥做同样的 HMAC-MD5 运算,两边结果一致则认为客户端是合法用户。
「考点」HMAC 是"散列+对称密钥"的组合,考题常问"HMAC 提供什么保护(完整性+源认证)"或"提问/响应中传的是随机数和运算结果、而非密钥本身"。
9.3 安全威胁防范
任何网络服务都有安全风险,问题是把风险降到最低。目前的网络安全措施有五类:数据加密、数字签名、身份认证、防火墙、内容检查。
- 数据加密:对信息重新组合,只有收发双方能解码还原;硬件上已出现用于 PC 和服务器主板的加密协处理器。
- 数字签名:证明消息确实由发送者签发;用于存储的数据或程序时可验证完整性。
- 身份认证:密码技术、人体生理特征识别(指纹)、智能 IC 卡和 USB Key 等。
- 防火墙:位于两个网络之间的屏障,一边是内部网络(可信赖),一边是外部网络(不可信赖),按管理员预定义的规则控制数据包进出。
- 内容检查:防病毒攻击还需进行内容检查。
9.3.1 防治计算机病毒
典型的反病毒技术有六种,务必能两两对比:
1.特征值查毒法:目前国际上反病毒公司普遍采用的技术。从病毒体中提取特征值构成病毒特征库,反病毒引擎将用户文件与特征库逐一比对。传统特征串检测的步骤:采集已知病毒样本(同一种病毒感染不同宿主要采集多个样本)→ 抽取特殊且长度适当的特征串 → 纳入病毒特征数据库。优点:检测准确、可识别病毒名称、误报警率低、可依据结果解毒。缺点:开销大、查杀速度慢;不能检查未知病毒和多态性病毒(多态性病毒代码不唯一)。
2.校验和技术:计算正常文件内容/系统扇区的校验和存入数据库,使用时重新计算比对,可发现文件/引导区是否被感染。优点:方法简单、能发现未知病毒、细微变化也能发现。缺点:必须预先记录正常文件的校验和、会误报警、不能识别病毒名称、不能对付隐蔽型病毒、效率低。
3.启发式扫描技术:分析文件中的指令序列,根据统计知识判断是否可能感染,有可能找到未知病毒,是一种遵循概率规律的概率方法;可能出现虚报/谎报。
4.虚拟机技术:针对多态性病毒(每次感染都改变密钥、对代码加密变换,特征值检测失效)。多态病毒常用的变形手段有:等价代码替换、改变与执行次序无关的指令次序、增加垃圾指令、对代码压缩或加密——但执行时都必须自我还原。虚拟机技术(软件模拟法)用软件模拟和分析程序运行,让病毒在虚拟环境中执行、原形毕露,且不会对系统造成实际危害。实际产品流程:先用特征值检测,发现隐蔽式/多态性病毒后启动软件模拟模块,监视其运行,待病毒自解码后再用特征值法识别种类。
5.行为监控技术:病毒总有与正常程序不同的行为(不断复制自己、掩盖复制过程等),通过审查应用程序的操作判断恶意倾向并报警。能有效防止传播,但容易把正常的升级程序、补丁程序误报为病毒。
6.主动防御技术:以"程序行为自主分析判定法"为理论基础,采用动态仿真技术,模拟专家判定病毒的机理,实现对新病毒提前防御。它弥补了"特征码查杀"和"监控"相对滞后的弱点,某种意义上集成了启发式扫描、行为监控及行为阻断等技术。
「考点」给出技术名称考特点/适用对象是固定套路:特征值法→只能查已知病毒;校验和法→能查未知病毒但误报且说不出名字;虚拟机→对付多态性病毒;主动防御→防未知新病毒。
9.3.2 认证
认证分为实体认证(识别通信对方身份、防假冒,可用数字签名)和消息认证(验证消息在传送或存储过程中有没有被篡改,通常用报文摘要)。
1.基于共享密钥的认证:依赖双方都信赖的密钥分发中心 KDC(Key Distribution Center)。设 A、B 与 KDC 之间的共享密钥分别为 KA、KB:A 向 KDC 发消息(其中 (B, Ks) 部分用 KA 加密,第三者看不懂),KDC 构造消息 {KB(A, Ks)} 发给 B,B 解密得到 A 和会话密钥 Ks,之后双方用 Ks 会话。缺陷:可能遭到重放攻击——攻击者 C 偷听并复制 A、B 之间的报文后按原次序重发,冒充会话以再次获利;重放攻击中攻击者不需要知道会话密钥 Ks。
2.基于公钥的认证:A 向 B 发送用 B 的公钥加密的报文(含 A 指定的随机数 RA);B 返回用 A 的公钥加密的报文(含 RA、B 指定的随机数 RB 和会话键 Ks)。由于报文中带有双方指定的随机数,能排除重放的可能性。缺陷是假定双方都知道对方的公钥。
「考点」两个协议的对比:共享密钥方式有 KDC 参与、防不住重放;公钥方式用一次性随机数抗重放。
9.3.3 数字签名
数字签名系统要达到三点:① B 可以验证消息 P 确实来源于 A;② A 以后不能否认发送过 P;③ B 不能编造或改变消息 P。(核心价值:抗抵赖/不可抵赖性。)
1.基于密钥的数字签名:设 BB 是 A 与 B 共同信赖的仲裁人,KA、KB 分别是 A、B 与 BB 间的密钥,KBB 是只有 BB 掌握的密钥,t 是时间戳。BB 解读 A 的报文后产生签名消息 KBB(A, t, P),装配成报文发给 B;B 解密后阅读 P 并保留证据 KBB(A, t, P)。仲裁时 BB 可当场解密该证据,得到发送人、发送时间和原消息——所以 A 不能抵赖,B 也不能篡改。
2.基于公钥的数字签名:A 用自己的私钥 DA 对消息 P 签名得到 DA(P)(可再加密后发送)。如果 A 否认,B 可以拿出 DA(P) 并用 A 的公钥 EA 解密得到 P,证明 P 是 A 发的;如果 B 篡改了消息,当 A 要求出示原来的 DA(P) 时,B 拿不出来。
「考点」数字签名用的是发送方的私钥(区别于加密:加密用接收方公钥)。"签名抗抵赖、加密保秘密"的分工是必考辨析。
9.3.4 报文摘要
报文摘要方案:计算密码校验和——固定长度的认证码附加在消息后面发送,据以检查报文是否被篡改。设 M 是可变长报文,K 是双方共享密钥,MD = CK(M) 就是报文摘要(Message Digest)。由于它是原报文唯一的压缩表示,也叫数字指纹(Digital Fingerprint)。
Hash 函数将任意长度的二进制串映射为固定长度的二进制串(散列值)。对 Hash 函数 h = H(M) 的 6 条要求:① 可用于任意大小的数据块;② 产生固定大小的输出;③ 软/硬件容易实现;④ 对任意给定的 m,找出 x 满足 H(x)=m 是不可计算的(单向性,防攻击者由摘要还原原文);⑤ 对任意 x,找出 y≠x 使 H(x)=H(y) 是不可计算的(防伪造攻击);⑥ 找出任何 (x, y) 使 H(x)=H(y) 是不可计算的(防生日攻击)。
报文摘要还可用于加速数字签名:原签名方案中报文 P 在发给 B 的报文中出现两次(明文一次、密文一次),传送量大;若把签名的对象改为对 P 计算的摘要 MD(P),只签摘要,则传送过程大大加快。
9.3.5 数字证书
数字证书是各类终端实体和最终用户在网上进行信息交流及商务活动的身份证明,用于解决交易各方之间的信任问题。数字证书采用公钥体制:私钥仅本人所知,用于解密和签名;公钥公开共享,用于加密和验证。证书中一般还包括密钥的有效时间、发证机构(CA,证书授权中心)的名称及证书序列号等。数字证书的格式遵循 ITU-T X.509 国际标准,由可信的证书发放机构 CA 建立,并放入公共目录供访问;目录服务器本身不负责创建证书,只为访问证书提供方便。
X.509 证书格式包含的数据域(11 项):版本号、序列号(同一发行者发放的每个证书序列号唯一)、签名算法、发行者(CA 的 X.509 名字)、有效期(起止时间)、主体名(持有者信息)、公钥及其使用方法、发行者 ID(任选)、主体 ID(任选)、扩展域、认证机构的签名(用 CA 私钥对证书的签名)。
1.证书的获取:CA 签发的证书有两个特性——只要得到 CA 的公钥就能由此得到用户被 CA 签署的公钥;除 CA 外任何人都不能以不被察觉的方式修改证书内容。因为证书不可伪造,无须对存放证书的目录施加特别保护。当用户分属不同 CA(如 A 从 X1、B 从 X2 取证)时,可通过证书链获取对方公钥:若 X1 与 X2 已安全交换公钥,A 先取 X1 签署的 X2 的证书(X1《X2》),验证后得到 X2 的公钥,再取 X2 签署的 B 的证书(X2《B》),验证后得到 B 的公钥。X.509 建议将所有 CA 以层次结构组织,任意相邻两个 CA 互为对方建立证书,形成如 X1《X2》X2《X3》…Xn《B》的链。
2.证书的吊销:证书未到期也可能被 CA 吊销——原因包括用户私钥泄漏、用户不再由该 CA 认证、CA 为该用户签署证书的私钥泄漏等。每个 CA 必须维护证书吊销列表(CRL,Certificate Revocation List),存放所有未到期而被提前吊销的证书(含发给用户和其他 CA 的),CRL 必须由该 CA 签字后存放于目录供查询。CRL 数据域包括发行者 CA 名称、建立 CRL 的日期、下一 CRL 计划公布日期及每个被吊销证书的数据域(证书序列号和吊销日期)——用序列号识别证书。用户收到证书时必须检查其是否已被吊销;为避免查询延迟和费用,用户也可自己维护有效证书与被吊销证书的局部缓存区。
「考点」X.509 证书由谁的私钥签名(CA 的私钥)、CRL 的作用与识别方式(序列号)、证书链的建立方式都是上午题考点。
9.4 嵌入式系统安全方案
嵌入式系统具有应用针对性、实时性要求高等特点,主要包括智能卡、USB-Key、智能手机和行业工控系统四类设备(本节即按此四类展开)。
9.4.1 智能卡安全技术
智能卡(Smartcard 或 IC Card)内部有集成电路,可安全地存储数据。常见的针对智能卡的攻击手段:
- 物理篡改:使卡中集成电路暴露,用微探针附着在芯片表面直接读出存储器内容。
- 时钟抖动:让时钟工作在正常频率范围,但在某一精确计算的时间间隔内突然注入高频脉冲,导致处理器丢失一两条指令。
- 超范围电压探测:通过调整电压使处理器出错。
厂商的防范措施:总线分层、使芯片平坦化、平衡能耗、随机指令冗余等;同时采用强度极高的安全算法和数据加密,应用中采用生物识别、用户 PIN 码认证、智能卡与读写机之间的交互认证等。
「考点」三种攻击手段与对应防范措施的配对(如"平衡能耗"防能量分析类探测、"随机指令冗余"防时钟抖动类攻击)是选择题素材。
9.4.2 USB-Key 技术
USB-Key 是一种 USB 接口的硬件设备,内置单片机或智能卡芯片,有存储空间保存用户私钥和数字证书,利用内置的公钥算法实现身份认证。由于用户私钥保存在密码锁内,理论上任何方式都无法读取,因此保证了认证的安全性。
每个 USB-Key 都有用户 PIN 码,实现双因子认证("持有硬件 + 知道 PIN"两个因子)。USB-Key 内置单向散列算法(MD5),在服务器中预存证明用户身份的密钥;验证时同样走"提问/响应"流程:客户端发验证请求 → 服务器生成随机数传给客户端(冲击/提问)→ USB Key 用随机数与存储的密钥做 HMAC-MD5 单向散列运算,结果作为"响应"传回 → 服务器用同样输入做 HMAC-MD5 运算,结果一致则认证通过。整个过程密钥不出硬件,网络上传输的只是随机数和运算结果。
9.4.3 智能终端的安全技术
可信智能手机应具有无线保密通信、GPS 等典型功能应用。实现要点有四方面:
- 可信智能终端系统的体系结构:智能手机系统常采用哈弗结构的 CPU,且 CPU 内集成多个外部设备;在不改变 CPU 结构的前提下,利用 TPM(可信平台模块) 加强对内存的管理,阻断恶意入侵和误操作对系统的损害,并配合设备数据存储的加解密等技术。
- 操作系统安全增强:智能手机软件体系与 PC 略有不同,独特的 BOOTLOADER 代替 BIOS 全面管理嵌入式系统硬件;因此要从 BOOTLOADER 开始、包括操作系统进行安全增强改写,配合 TPM 和信任链完成整个可信平台的软件保障。
- 信任链结构:信任链的传递是体现可信的重要手段,是可信智能手机平台的核心机制。目前的信任链机制建立在传统 PC 体系架构之上,不完全符合智能手机实际,需要新的实现方式来体现信任传递,并对信任的度量、存储、报告机制进行研究。
- 保密通信与可信网络连接:必须首先保证通信双方身份可信,并对通信信息加密;目前已有 TNC(可信网络连接) 等技术支撑。
9.4.4 行业工控系统安全
1.加强制度建设和人员管理:建立并不断完善安全保障的法规制度,依法管理工控安全;明确主体、用户、监管部门的权利与职责。信息安全保密问题的核心是人员的管理和教育——工控系统中的大量重要数据是生产单位的核心资产,要在思想品质、职业道德、监督管理、规章制度和教育培训等方面下功夫。
2.加强技术防范:
- 访问控制策略:保证系统资源不被非法使用和访问,包括入网访问控制、操作权限控制、目录安全控制、属性安全控制、系统监测和锁定控制、终端结点安全控制等;一般采用基于资源的集中式控制、基于目的地址的过滤管理、网络签证等技术实现。
- 加密技术:保护数据、文件、口令和控制信息,防止非授权泄漏;既可对抗截获、非法访问、破坏完整性等威胁,也可较好地解决伪造、抵赖、冒充和篡改问题。
- 反病毒技术:包括预防、检测和消除病毒;反病毒程序常驻内存、优先控制系统;所有软件必须经过严格审查、经相应控制程序后才能使用。
3.加强整体防护("五个把关"):
- 把好系统设计安全关:业务需求与安全需求同步设计,消除结构性漏洞;
- 把好产品研发与设备采购关:防止存有漏洞或后门的产品进入系统(研发过程规范、安全性能达标、安全测试同步);
- 把好系统安全管理关:管理漏洞是许多系统故障的主要原因,重点抓好健全领导机制、完善管理制度和人员管理三项基本工作;
- 把好系统风险评估关:定期开展安全检测和风险评估,及时发现脆弱性和漏洞并加固;
- 把好系统威胁监测和应急响应关:对重要网络端结点和关键数据做威胁监测;建立应急响应技术团队、制定应急预案,定期开展应急演练、现场取证、攻击源定位、系统和数据恢复及安全加固。
初学者容易踩的坑 / 易错考点
- 混淆"加密用的密钥"和"签名用的密钥":加密是"用接收方的公钥加密",签名是"用发送方的私钥签名"。考题常把两者对调来设陷阱。
- 对称/非对称算法记反:DES、三重 DES、IDEA、AES、RC4 都是对称算法,只有 RSA 是公钥算法。看到"RSA 是对称算法"的选项直接排除。
- 被动攻击与主动攻击的对策配错:被动攻击最难检测→重点是预防(加密);主动攻击无法预防但易检测→重点是检测(防火墙、入侵检测)。两句正好反着记。
- MD5/SHA 参数记混:MD5 摘要 128 位、按 512 位分组;SHA-1 摘要 160 位。SHA 更慢但摘要更长、更抗野蛮攻击。
- HMAC 与普通 Hash 混为一谈:HMAC = 散列 + 共享密钥,提供的是完整性和源认证;不带密钥的 Hash 只能验完整性,不能认证来源。
- 反病毒技术的适用对象张冠李戴:校验和法能发现未知病毒但会误报、报不出病毒名;虚拟机技术专门对付多态性病毒;特征值法查不了未知病毒。别把"能识别病毒名称"安到校验和法头上。
- 信息安全的"属性"与"层次"是两套东西:秘密性/完整性/可用性是信息(数据)的三个属性;设备/数据/内容/行为是信息系统安全的四个层次,别混着答。
小结 & 备考提示
本章是"安全"专题的概念总汇:先立框架(CIA 三属性 + 四层安全),再学手段(加密、认证、签名、证书),最后落到嵌入式载体(智能卡、USB-Key、可信终端、工控系统)。上午题偏爱"算法归类 + 参数 + 作用对比",下午案例题可能结合嵌入式产品出安全方案设计题,重点理解提问/响应认证和信任链思想即可。
必须记住的关键词:秘密性/完整性/可用性(CIA)、DES/AES/RSA(对称与公钥)、MD5 与 SHA-1 摘要长度、数字签名(私钥签名、抗抵赖)、X.509 与 CRL。