系统架构师学习笔记_第十二章_连载

第十二章  系统安全架构设计


12.1  信息系统安全架构的简单描述

信息安全的特征 是为了保证信息的 机密性、完整性、可用性、可控性、不可抵赖性。

以风险策略为基础。


12.1.1  信息安全的现状及其威胁

计算机和网络的普及,会产生两个方面的效应:

其一,各行各业的业务运转几乎完全依赖于计算机和网络。

其二,大多数人对计算机的了解更加全面。


常见的安全威胁有如下几种:

1、信息泄露。

2、破坏信息的完整性。

3、拒绝服务。

4、非法使用。

5、窃听。

6、业务流分析,发现有价值的信息和规律。

7、假冒。

8、旁路控制。

9、授权侵犯。

10、特洛伊木马。

11、陷阱门,设置了“机关”,提供特定的输入数据时,允许违反安全策略。

12、抵赖。

13、重放,处于非法的目的而被重新发送。

14、计算机病毒。

15、人员不慎。

16、媒体废弃。

17、物理侵入。

18、窃取。

19、业务欺骗。

可以从安全技术的角度提取出5个方面的内容:认证鉴别、访问控制、内容安全、冗余恢复、审计响应。


12.2  系统安全体系架构规划框架及其方法

安全技术体系架构过程的目标 是 建立可持续改进的安全技术体系架构的能力。

OSI参考模型:物理、数据链路、网络、传输、会话、表示、应用。

根据网络中风险威胁的存在实体 划分出5个层次的实体对象:应用、存储、主机、网络、物理。

信息系统安全规划是一个 非常细致和非常重要的工作,需要对企业信息化发展的历史情况进行深入和全面的调研。

信息系统安全体系主要是由 技术体系、组织结构体系、管理体系 三部分共同构成。

技术体系 由 物理安全技术 和 系统安全技术 两大类组成。

组织体系 由 机构、岗位、人事 三个模块构成。

管理体系 由 法律管理、制度管理、培训管理 三部分组成。

人员安全包括 安全管理的组织结构、人员安全教育与意识机制、人员招聘及离职管理、第三方人员安全管理 等。


12.3  网络安全体系架构设计

12.3.1  OSI 的安全体系架构概述

在 OSI 7层协议中 除会话层外,每一层 均能提供相应的安全服务。

最适合配置安全服务的是 物理层、网络层、运输层、应用层。

ISO 开放系统互联 安全体系 的 5类安全服务:鉴别、访问控制、数据机密性、数据完整性、抗抵赖性。

分层多点安全技术体系架构,也称为深度防御安全技术体系架构,通过以下方式将防御能力 分布至 整个信息系统中。


1、多点技术防御,从内部或外部 多点攻击一个目标,通过对以下多个防御核心区域 的防御 达到抵御所有方式的攻击的目的。

1. 网络和基础设施,确保可用性,确保机密性和完整性。

2. 边界,抵御主动的网络攻击。

3. 计算环境,抵御内部、近距离的分布攻击。


2、分层技术防御,有效的措施是 使用多个防御机制。

支撑性基础设施为 网络、边界、计算机环境 中 信息保障机制 运行基础。包括 公钥设施、检测和响应基础设施。

1. 公钥基础设施提供一种 通用的联合处理方式,以便安全地 创建、分发、管理 公钥证书和传统的对称密钥。

公钥基础设施 必须支持受控的互操作性,并与各用户团体所建立的安全策略 保持一致。

2. 迅速检测并响应入侵行为,便于结合其他相关事件 观察某个事件的“汇总”性能。

识别潜在行为模式 或者 新的发展趋势


12.3.2  鉴别框架

鉴别(Authentication)防止其他实体 占用和独立操作 被鉴别实体的身份。

鉴别有两种重要的关系背景:

一是实体由申请者来代表,申请者与验证者之间存在着特定的通信关系(如实体鉴别)。

二是实体为验证者提供数据项来源。

鉴别方式主要基于以下 5种:

1、已知的,如 一个秘密的口令。

2、拥有的,IC卡、令牌等。

3、不改变的特性,如 生物特征。

4、相信可靠的第三方建立的鉴别(递推)。

5、环境(如主机地址等)。

鉴别信息(Artificial Intelligence,AI)是指 申请者要求鉴别到 鉴别过程结束 所生成、使用、交换 的信息。

交换AI、申请AI、验证AI。

鉴别服务分为以下阶段:安装阶段、修改鉴别信息阶段、分发阶段、获取阶段、传送阶段、验证阶段、停活阶段、重新激活阶段、取消安装阶段。


12.3.3  访问控制框架

访问控制(Access Control)决定 允许使用哪些资源、在什么地方适合阻止未授权访问的过程。

ACI(访问控制信息) 用于访问控制目的的 任何信息。

ADI(访问控制判决信息)做出判决时 可供 ADF使用的部分(或全部)ACI。

ADF(访问控制判决功能)做出访问控制判决。

AEF(访问控制实施功能)。

涉及访问控制的有 发起者、AEF、ADF、目标。


12.3.4  机密框架

机密性(Confidentiality)服务 确保信息仅仅是对被授权者 可用。

数据只对那些拥有某种关键信息的人才是可访问的。

被保护的环境 被交叠保护的环境。

从一个环境移到另一个环境的数据的连续保护 必然涉及到 交叠保护环境。


机密性机制

数据的机密性 可以依赖于 所驻留 和 传输的媒体。

数据在传输中的机密性 能通过禁止访问的机制、隐藏数据语义的机制、分散数据的机制。

物理方法保证媒体的数据只能通过特殊的有限设备 才能检测到。

通过路由选择控制。

通过机密提供机密性。


12.3.5  完整性框架

完整性(Integrity)框架 目的是通过组织威胁或探测威胁,保护可能遭到不同方式危害的数据完整性和数据相关属性完整性。

所谓完整性,就是数据不以未经授权方式 进行改变或损毁的特征。

几种分类方式:未授权的数据修改、未授权的数据创建、未授权的数据删除、未授权的数据插入、未授权的数据重放。

依据是否包括恢复机制 分为 具有恢复机制的 和 不具有恢复机制的。


完整性机制的类型

1、组织对媒体访问的控制,包括 物理的、不受干扰的信息;路由控制;访问控制。

2、用以探测 对数据 或 数据项序列的 非授权修改的机制。

按照保护强度,完整性机制可以分为 不作保护;对修改和创建的探测;对修改、创建、删除、重复 的探测;对修改和创建的探测并带恢复功能;对修改、创建、删除、重复 的探测并带恢复功能。


12.3.6  抗抵赖框架

抗抵赖(Non-repudiation)服务 包括证据的 生成、验证、记录,以及 在解决纠纷时 随即进行的 证据恢复 和 再次验证。

目的是 提供有关特定事件或行为的证据。

当涉及消息内容的抗抵赖服务时,为提供原发证明,必须确认数据原发者身份和数据完整性。

为提供递交证明,必须确认接收者身份和数据完整性。

抗抵赖服务提供 在试图抵赖的事件中 使用的设备:证据生成、证据记录、验证生成的证据、证据的恢复和重验。


抗抵赖由 4个独立的阶段组成:证据生成;证据传输、存储、恢复;证据验证;解决纠纷。

1、证据生成

卷入事件或行为中的实体,称为证据实体。证据实体可由证据实体、或可能与可信第三方的服务一起生成、或者单独由可信第三方生成。

3、证据验证

证据在 使用者的请求下 被证据验证者 验证。让证据使用者 确信 被提供的证据 确实是充分的。


12.4  数据库系统的安全设计

电子政务中所涉及的数据库 密级更高、实时性更强。

实现 数据库系统安全的 完整性、保密性、可用性。

安全策略一般为 用户管理、存取控制、数据加密、审计跟踪、攻击检测。


12.4.1  数据库安全设计的评估标准

1985 年,美国国防部颁布“可信计算机系统评估标准(Trusted Computer System Evaluation Criteria,TCSEC)”橘皮书(简称 DoD85)。

1991年,美国国家计算机安全中心(The National Computer Seaurity Center,NCSC)颁布了“可信计算机评估标准关于可信数据库管理系统的解释(Trusted Database Interpretation,TDI)”。

TDI 是 TCSEC 在数据库管理系统方面的扩充和解释,从 安全策略、责任、保护、文档 4个方面进一步描述了每级的安全标准。

按照 TCSEC标准,D类产品 基本没有安全保护措施,C类产品 只提供了 安全保护措施,B类以上产品 是实行强制存取控制的产品,是真正意义上的安全产品。


12.4.2  数据库的完整性设计

数据库的完整性 是指数据库中数据的 正确性和相容性。

由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。

通过DBMS或应用程序来实现。


1、数据库完整性设计原则

1. 根据数据库完整性约束的类型 确定其实现的系统层次和方式,并提前考虑对系统性能的影响。

一般情况下,静态约束应 尽量包含在数据库模式中,动态约束由应用程序实现。

2. 实体完整性约束、参照完整性约束 是关系数据库最重要的完整性约束,尽量应用。

3. 要慎用 触发器,一方面性能开销较大;另一方面,多级触发不好控制,容易发生错误,最好使用 Before 型语句级触发器。

4. 在需求分析阶段就必须制定完整性约束的命名规范。

5. 要根据业务规则 对数据库完整性进行细致的测试。

6. 要专职的数据库设计小组。

7. 应采用合适的 CASE工具 来降低数据库设计各阶段的工作量。


2、数据库完整性的作用

1. 能够防止合法用户使用数据库时 向数据库中添加不合语义的数据。

2. 实现业务规则,易于定义,易于理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率。集中管理。

3. 能够同时兼顾 数据库的完整性和系统效能。

4. 有助于尽早发现应用软件的错误。

5. 数据库完整性约束 6类:列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束、关系级动态约束。

动态约束通常由应用软件来实现。


3、数据库完整性设计示例

首先 需要在需求分析阶段确定要通过数据库完整性约束实现的业务规则。

然后 依据整个系统的体系结构和性能要求,遵照数据库设计方法和应用软件设计方法,合理选择每个业务规则的实现方式。

最后 认真测试,排除隐含的约束冲突和性能问题。


基于 DBMS的数据库完整性设计大体分为以下几个阶段:

1. 需求分析阶段。

2. 概念结构设计阶段。

3. 逻辑结构设计阶段,就是将概念结构转换为 某个 DBMS所支持的数据模型,并对其进行优化,包括对关系型的规范化。


每种业务规则都可能有好几种实现方式,应该选择对数据库性能影响小的一种,有时需通过实际测试来决定。


12.5  案例:电子商务系统的安全性设计


1、原理介绍

1. 验证(Authentication):是否可以获得授权。

2. 授权(Authorization):可以使用哪些服务。

3. 审计(Accounting):记录用户使用网络资源的情况,用户 IP地址、MAC地址掩码 等。


2、软件架构设计

RADIUS 软件架构分为三个层面:协议逻辑层、业务逻辑层、数据逻辑层。

协议逻辑层 主要实现 RFC框架中的内容,处理网络通信协议的 建立、通信、停止 方面的工作。

相当于一个转发引擎,起到分发处理的内容分发到不同的协议处理过程中。

业务逻辑进程分为:认证、计费、授权,三种类型。

数据库代理池 统一连接数据库,以减少对数据库系统的压力。同时减小了 系统对数据库的依赖性,增强了系统适应数据库系统的能力。


RADIUS 软件分层架构的实现:

一是 对软件风险进行了深入的分析,

二是 可以构建一个或多个重用的构件单元,也可以继承原来的成果。


RADIUS 的功能:

一是 实际处理大量用户并发的能力,

二是 软件架构的可扩展性。


负载均衡是提高 RADIUS软件性能的有效方法,主要完成以下任务:

1. 解决网络拥塞问题,就近提供服务。

2. 为用户提供更好的访问质量。

3. 提高服务器响应速度。

4. 提高服务器及其他资源的利用效率。

5. 避免了网络关键部位出现单点失效。

你可能感兴趣的:(进步的脚印)