2015年软考系统架构设计师学习笔记第十二章(3)
发布时间:2010/12/4 22:40:26 来源:城市学习网 编辑:ziteng
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类以上产品 是实行强制存取控制的产品,是真正意义上的安全产品。 [NextPage] 12.4.2 数据库的完整性设计
数据库的完整性是指数据库中数据的正确性和相容性。
由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。
通过DBMS或应用程序来实现。
1、数据库完整性设计原则
1. 根据数据库完整性约束的类型 确定其实现的系统层次和方式,并提前考虑对系统性能的影响。
一般情况下,静态约束应 尽量包含在数据库模式中,动态约束由应用程序实现。
2. 实体完整性约束、参照完整性约束 是关系数据库最重要的完整性约束,尽量应用。
3. 要慎用 触发器,一方面性能开销较大;另一方面,多级触发不好控制,容易发生错误,最好使用 Before 型语句级触发器。
4. 在需求分析阶段就必须制定完整性约束的命名规范。
5. 要根据业务规则 对数据库完整性进行细致的测试。
6. 要专职的数据库设计小组。
7. 应采用合适的 CASE工具 来降低数据库设计各阶段的工作量。
2、数据库完整性的作用
1. 能够防止合法用户使用数据库时 向数据库中添加不合语义的数据。
2. 实现业务规则,易于定义,易于理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率。集中管理。
3. 能够同时兼顾 数据库的完整性和系统效能。
4. 有助于尽早发现应用软件的错误。
5. 数据库完整性约束 6类:列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束、关系级动态约束。
动态约束通常由应用软件来实现。
3、数据库完整性设计示例
首先 需要在需求分析阶段确定要通过数据库完整性约束实现的业务规则。
然后 依据整个系统的体系结构和性能要求,遵照数据库设计方法和应用软件设计方法,合理选择每个业务规则的实现方式。
最后 认真测试,排除隐含的约束冲突和性能问题。[NextPage] 基于 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. 避免了网络关键部位出现单点失效。