软件架构师-第七章 信息安全
信息安全
信息安全基础⭐⭐
信息安全基础要素
前3个就是CIA
- 机密性:确保网络信息不泄露给非授权的用户、实体或程序,防止未授权方获取信息。
- 完整性:保证网络信息或系统未经授权不能被更改,维护信息的原始状态和准确性。
- 可用性:使合法许可的用户能及时获取网络信息或服务,保障资源可正常使用。
- 可控性:对授权范围内的信息流向、行为方式进行控制,实现安全管理。
- 可审查性:为信息安全问题提供调查的依据和手段,支持安全事件追溯与分析。
信息安全的范围
涵盖设备安全、数据安全、内容安全和行为安全,从硬件、数据、内容及操作行为多维度保障信息安全。
网络安全漏洞
- 物理安全性:指物理层面的安全隐患,如设备物理防护缺失、环境安全措施不足等,可能导致硬件损坏或信息泄露。
- 软件安全漏洞:因软件设计缺陷、编码错误或未及时修复的漏洞,为攻击者提供可利用的安全风险(如系统漏洞、应用程序漏洞)。
- 不兼容使用安全漏洞:因系统、软件、设备间兼容性问题引发的安全隐患,例如版本冲突、接口不匹配导致的系统异常或安全风险。
- 内容存疑项:第四点 “选择合适的安全哲理” 表述异常,不符合常规网络安全漏洞分类逻辑,可能是内容错误或表述偏差。正常安全隐患应聚焦技术、管理、操作等实际漏洞,而非 “安全哲理” 相关描述。
网络安全威胁
- 非授权访问:未经授权的用户或实体非法访问网络资源、系统或数据(如黑客破解账号密码侵入系统)。
- 信息泄露或丢失:敏感信息被非法获取、传播,或因意外、恶意行为导致数据丢失(如数据窃密、存储设备损坏)。
- 破坏数据完整性:通过篡改、删除等方式破坏数据的原始状态和准确性,使数据失去可信度(如恶意修改数据库内容)。
- 拒绝服务攻击(DoS):通过耗尽网络带宽、系统资源等方式,使合法用户无法正常使用服务(如发送海量请求瘫痪服务器)。
- 利用网络传播病毒:借助网络扩散恶意程序(如木马、蠕虫),感染设备、破坏系统或窃取信息,扩大安全威胁范围。
安全措施的目标
- 访问控制:通过权限管理,限制用户或实体对网络资源、系统的访问,确保只有授权对象能获取相应资源。
- 认证:验证用户、设备或系统的身份真实性,确保交互主体符合预设的身份标准(如密码验证、生物识别等)。
- 完整性:保护数据在存储、传输过程中不被未经授权的篡改,维持数据的原始状态和准确性。
- 审计:记录系统操作、用户行为等日志,为安全事件追溯、违规行为调查提供依据,实现安全可审查性。
- 保密:采取加密、权限限制等手段,防止敏感信息泄露给非授权对象,保障信息的机密性。
信息加解密技术⭐⭐⭐
对称加密与非对称加密的原理及特点:
-
对称加密(单钥密码体制)
-
流程:加密和解密使用同一 “密钥”。原始信息通过密钥加密成密文,接收方再用相同密钥解密还原信息。
-
特点:
- 加密效率高,但加密强度较低,易被破解;
- 密钥分发困难,需确保双方安全共享同一密钥。
-
用途:对消息明文进行加密传输。
-
典型算法:
- DES:采用替换 + 移位操作,使用 56 位密钥、64 位数据块,加密速度快,密钥易生成。
- 3DES(三重 DES):密钥长度 112 位(由两个 56 位密钥 K1、K2 组成)。加密流程为 K1 加密→K2 解密→K1 加密;解密流程为 K1 解密→K2 加密→K1 解密。
- IDEA:使用 128 位密钥,处理 64 位明文 / 密文,应用于 PGP(电子邮件加密)。
- 其他:包括 RC-5、AES 等算法。
-
-
非对称加密(公钥密码体制)
-
流程:使用 “公钥” 和 “私钥” 一对密钥。加密时用公钥处理信息生成密文,解密时仅能用对应的私钥还原。
-
特点:
- 加密强度高,极难破解,但效率相对较低;
- 密钥分发容易,公钥可公开传播,私钥由用户自行安全保存。
-
用途:用于对密钥加密及实现数字签名。
-
典型算法:
- RSA:常用 2048 位(或 1024 位)密钥,基于大数分解难题实现安全加密。
- Elgamal:安全性依赖于有限域上离散对数计算的难题。
- ECC:椭圆曲线算法,通过椭圆曲线数学问题保障安全。
- Diffie-Hellman:主要用于密钥交换,实现安全的密钥协商。
-
柯克霍夫原则
- 密码系统的安全性遵循柯克霍夫原则,即加密算法、解密算法即使公开,系统安全性仍由密钥决定。
- 密钥是加密和解密的核心参数,若密钥泄露,即使算法公开,密文也会被破解。而加密算法、解密算法本身公开不影响安全性,因此密码系统的安全性由密钥决定。
访问控制和技术签名 ⭐⭐⭐
访问控制技术
访问控制的目标
- 防止非法用户进入系统:通过技术手段拦截未授权的用户,避免其进入系统,保障系统入口安全。
- 阻止合法用户的越权访问:即使是已通过认证的合法用户,也需限制其对系统资源的使用范围,禁止超出权限的非法操作。
访问控制的三要素
- 主体(S):主动对其他实体实施操作的实体,是访问行为的发起者。
- 客体(O):被动接受访问的实体,是主体操作的对象(如文件、数据等资源)。
- 控制策略(KS):定义主体对客体的操作行为集合,以及执行这些行为时需遵循的约束条件,是访问控制的规则核心。
数字签名技术
信息摘要
- 技术特性:通过单向散列函数生成,具有 “不可逆” 特性(无法通过散列值反推原始信息),输出为固定长度的散列值。
信息摘要的用途
- 核心功能是确保信息的完整性,防止信息被篡改。若原始信息被修改,重新计算的散列值会改变,从而检测篡改行为。
常用消息摘要算法
- 常用算法:
- MD5 生成 128 位散列值,SHA 生成 160 位散列值。
- SHA 因密钥长度更长,安全性高于 MD5,广泛应用于对安全性要求更高的场景。
完整流程
-
发送方操作
-
生成信息摘要:发送方先对原始信息通过单向散列函数生成固定长度的信息摘要。
-
私钥签名:使用发送方的私钥对生成的信息摘要进行签名,形成签名结果。
-
-
信息传输
- 发送方将原始信息与签名结果一同传输给接收方。
-
接收方验证
-
重新生成摘要:接收方对收到的原始信息再次生成信息摘要。
-
公钥解签与比对:
- 用发送方(A)的公钥解密签名结果,获取发送方生成的原始摘要。
- 比对两份摘要(接收方新生成的摘要与解签得到的摘要):若一致,证明信息未被篡改(完整性),且确认信息来源真实(不可抵赖性)。
-
该流程通过 “信息摘要 + 公私钥加密” 机制,实现了信息的完整性验证与身份认证,是数字签名技术的核心应用逻辑。
安全流程
核心技术应用
- 对称加密:对邮件内容加密,提升传输效率。
- 数字签名:确保发送者不可抵赖。
- 信息摘要技术:防止邮件被篡改。
- 加密解密技术:整体保障邮件传输安全。
发送方 A 的处理流程
- 加密邮件内容:使用随机密钥 K,通过对称加密将邮件明文转为密文(对称加密)。
- 生成并签名摘要:
- 提取邮件摘要,用发送方私钥 Sa 对摘要进行数字签名,生成摘要密文。
- 加密随机密钥:用接收方 B 的公钥 Pb 加密随机密钥 K,确保密钥传输安全。
- 发送内容:将邮件密文、摘要密文、加密后的随机密钥 K 一同发送给接收方 B。
接收方 B 的验证流程
- 解密随机密钥:用自身私钥 Sb 解密加密后的随机密钥 K。
- 解密邮件:使用密钥 K 解密密文邮件,获取邮件明文。
- 验证签名与摘要:
- 用发送方 A 的公钥 Pa 解密摘要密文,还原原始摘要。
- 重新生成接收邮件的摘要,比对两份摘要:一致则证明邮件未被篡改,且确认发送方身份不可抵赖。
该流程通过多种安全技术协同,实现邮件传输的保密性、完整性与不可抵赖性。
在数字签名中:
- 生成消息摘要的目的:消息摘要通过单向散列函数生成,原始信息任何改动都会导致摘要变化,因此核心作用是防止篡改。
- 对摘要加密的目的:发送方用私钥加密摘要,接收方用公钥验证。由于私钥仅发送方持有,可证明信息由发送方签名,实现不可抵赖性。
密钥管理技术⭐⭐
数字证书内容的核心要素:
- 版本信息:标识数字证书遵循的格式版本,确保不同系统对证书结构的识别一致性。
- 序列号:每个证书唯一的编号,用于区分和管理不同证书,如同证书的 “身份证号”。
- 签名算法:定义证书发行者对证书内容进行签名所使用的加密算法(如 RSA、ECC 等)。
- 发行机构名称:颁发证书的机构(如 CA 认证中心),命名遵循 X.500 标准格式,确保规范性。
- 有效期:规定证书有效时间范围,通用 UTC 时间格式,常见计时范围为 1950-2049 年,控制证书使用期限。
- 证书所有人名称:持有证书的用户或机构名称,同样采用 X.500 格式命名,明确证书归属。
- 公开密钥:证书所有人的公钥,用于加密数据或验证数字签名,是公钥密码体系的核心部分。
- 发行者签名:证书发行机构用私钥对证书内容的签名,确保证书真实性与完整性,防止篡改。
PKI 公钥体系
组成部分:
- CA(认证中心):作为 PKI 体系的核心,负责数字证书的颁发、更新、吊销等管理,确保证书的权威性和可信度。
- RA(注册审批机构):承担用户注册申请的审核工作,验证用户身份信息,辅助 CA 完成证书签发前的审批流程。
- 证书受理点:面向用户的服务接口,负责收集用户证书申请信息,提交给 RA 或 CA 处理。
- 密钥管理中心(KMC):专注于密钥的全生命周期管理,包括密钥生成、存储、分发及销毁等。
架构图示:
- CA 处于顶层,连接密钥管理中心(KMC)与下层的 RA;
- RA 进一步对接多个证书受理点,形成层级化的管理结构,确保 PKI 体系中证书签发、密钥管理等流程的有序执行,构建起完整的公钥信任体系。
客户机与工商银行服务器通过 CA 中心实现安全通信的流程,具体步骤如下:
- 下载证书:客户机从工商银行服务器下载数字证书,获取服务器的公钥载体。
- 验证证书真伪:客户机使用 CA 中心的公钥验证证书签名,确保证书未被篡改,来源可信(CA 作为权威机构,其公钥用于验证证书合法性)。
- 提取公钥:从验证后的证书中提取工商银行服务器的公钥,为后续加密做准备。
- 生成随机密钥:客户机生成随机密钥 K(对称加密密钥),用于后续数据加密,提升传输效率。
- 加密传输密钥:用工商银行服务器的公钥加密随机密钥 K,发送给服务器。因公钥加密特性,确保密钥 K 在传输中不被窃取。
- 数据加密传输:客户机与服务器使用随机密钥 K 进行对称加密通信,完成安全数据传输。
该流程融合数字证书认证、公钥加密(保障密钥传输安全)、对称加密(保障数据传输效率),构建完整的安全通信体系。
信息安全保障
计算机信息系统安全保护等级分为五级
-
用户自主保护级
-
适用对象:普通内联网用户(如个人用户、小型企业基础系统)。
-
破坏影响:系统被破坏后,仅损害公民、法人或其他组织的个人权益,不涉及国家安全、社会秩序和公共利益。
-
-
系统审计保护级
-
适用对象:通过内联网或互联网开展商务活动的非重要单位(如普通电商企业)。
-
破坏影响:对公民、法人等权益造成严重损害,或损害社会秩序、公共利益,但不威胁国家安全。
-
-
安全标记保护级
-
适用对象:地方国家机关、金融机构、交通能源部门、大型企业等(如地方政府系统、银行核心业务系统)。
-
破坏影响:对社会秩序、公共利益造成严重损害,或直接损害国家安全。
-
-
结构化保护级
-
适用对象:中央级国家机关、国防科研单位、重要物资储备部门等(如中央政府系统、国防科研机构)。
-
破坏影响:对社会秩序、公共利益造成**“特别严重”损害**,或对国家安全造成严重破坏。
-
-
访问验证保护级
-
适用对象:国防关键部门、需特殊隔离的单位(如军事核心系统、高密级国家安全机构)。
-
破坏影响:一旦系统被破坏,将对国家安全造成“特别严重”的损害,需最高级别的安全防护。
-