数据结构论坛

首页 » 分类 » 分类 » 系统架构设计师教程第五十一讲
TUhjnbcbe - 2021/9/9 22:46:00
北京中科中医院 https://jbk.39.net/yiyuanzaixian/bjzkbdfyy/

写在前面:

河南加油!

~~~~~~~~~~~~~~~~~~~

12.3网络安全体系架构设计

介绍信息系统安全体系的目的,就是将普遍性安全原理与信息系统的实际相结合,形成满足信息系统安全需求的安全体系结构。

12.3.1OSI的安全体系架构概述

国家标准《信息处理系统工程开放系统互联基本参考模型一第二部分:安全体系结构》(GB/T.2-)(等同于ISO-2),以及互联网安全体系结构(RFC),是两个普遍适用的安全体系结构,目的在于保证开放系统进程与进程之间远距离安全交换信息。这些标准在参考模型的框架内,建立起一些指导原则与约束条件,从而提供了解决开放互联系统中安全问题的一致性方法。

OSI安全体系结构提供以下内容。

(1)提供安全服务与有关安全机制在体系结构下的一般描述,这些服务和机制必须是为体系结构所配备的。

(2)确定体系结构内部可以提供这些服务的位置。

(3)保证安全服务完全准确地得以配置,并且在信息系统的安全周期中一直维持,安全功能务必达到一定强度的要求。

国家标准《信息处理系统工程开放系统互联基本参考模型一第二部分:安全体系结构》(GB/T.2-)(等同于ISO-2),给出了基于OSI参考模型的7层协议之上的信息安全体系结构。其核心内容是:为了保证异构计算机进程与进程之间远距离交换信息的安全,它定义了该系统5大类安全服务,以及提供这些服务的8类安全机制及相应的OSI安全管理,并可根据具体系统适当地配置于OSI模型的7层协议中。图12-5所示的三维安全空间解释了这一体系结构。

在OSI7层协议中除第5层(会话层)外,每一层均能提供相应的安全服务。实际上,最适合配置安全服务的是在物理层、网络层、运输层及应用层上,其他层都不宜配置安全服务。

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

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

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

①网络和基础设施。为了确保可用性,局域网和广域网需要进行保护以抵抗各种攻击,如拒绝服务攻击等。为了确保机密性和完整性,需要保护在这些网络上传送的信息以及流量的特征以防止非故意的泄露。

②边界。为了抵御主动的网络攻击,边界需要提供更强的边界防御,例如流量过滤和控制以及入侵检测。

③计算环境。为了抵御内部、近距离的分布攻击,主机和工作站需要提供足够的访问控制。

(2)分层技术防御。即使最好的可得到的信息保障产品也有弱点,其最终结果将使对手能找到一个可探査的脆弱性,一个有效的措施是在对手和目标间使用多个防御机制。为了减少这些攻击成功的可能性和对成功攻击的可承担性,每种机制应代表一种唯一的障碍并同时包括保护和检测方法。例如,在外部和内部边界同时使用嵌套的防火墙并配合以入侵检测就是分层技术防御的一个实例。

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

(1)公钥基础设施。提供一种通用的联合处理方式,以便安全地创建、分发和管理公钥证书和传统的对称密钥,使它们能够为网络、边界和计算环境提供安全服务。这些服务能够对发送者和接收者的完整性进行可靠验证,并可以避免在未获授权的情况下泄露和更改信息。公钥基础设施必须支持受控的互操作性,并与各用户团体所建立的安全策略保持一致。

(2)检测和响应基础设施。检测和响应基础设施能够迅速检测并响应入侵行为。它也提供便于结合其他相关事件观察某个事件的“汇总”性能。另外,它也允许分析员识别潜在的行为模式或新的发展趋势。

必须提醒的是,信息系统的安全保障不仅仅依赖于技术,还需要集成的技术和非技术防御手段。一个可接受级别的信息保障依赖于人员、管理、技术和过程的综合。图12-6描述了分层多点安全技术体系架构。

分层多点安全技术体系架构为信息系统安全保障提供了框架和进一步分析所需的重点区域划分。在具体的技术方案实践中,应从使命和需求的实际情况出发制定适合组织机构要求的技术体系和方案。

12.3.2鉴别框架

鉴别(Authentication)的基本目的,就是防止其他实体占用和独立操作被鉴别实体的身份。鉴别提供了实体声称其身份的保证,只有在主体和验证者的关系背景下,鉴别才是有意义的。鉴别有两种重要的关系背景:一是实体由申请者来代表,申请者与验证者之间存在着特定的通信关系(如实体鉴别);二是实体为验证者提供数据项来源。鉴别的方式主要基于以下5种。

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

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

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

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

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

鉴别信息(ArtificialIntelligence,AI)是指申请者要求鉴别到鉴别过程结東所生成、使用和交换的信息。鉴别信息的类型有交换鉴别信息(交换AI)、申请鉴别信息(申请AI)和验证鉴别信息(验证AI)。

在某些情况下,为了产生交换AI,申请者需要与可信第三方进行交互。类似的,为了验证交换AI,验证者也需要同可信第三方进行交互。在这种情况下,可信第三方持有相关实体的验证AI,也可能使用可信第三方来传递交换AI。实体也可能需要持有鉴别可信第三方中所使用的鉴别信息。

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

在安装阶段,定义申请A和验证AI。修改鉴别信息阶段,实体或管理者申请AI和验证AI变更(如修改口令)。在分发阶段,为了验证交换AI,把验证AI分发到各实体(如申请者或验证者)以供使用。在获取阶段,申请者或验证者可得到为鉴别实例生成特定交换AI所需的信息,通过与可信第三方进行交互或鉴别实体间的信息交换可得到交换AI。例如,当使用联机密钥分配中心时,申请者或验证者可从密钥分配中心得到一些信息,如鉴别证书。在传送阶段,在申请者与验证者之间传送交換AI。在验证阶段,用验证AI核对交换AI。在停活阶段,将建立一种状态,使得以前能被鉴别的实体暂时不能被鉴别。在重新激活阶段,使在停活阶段建立的状态将被终止。在取消安装阶段,实体从实体集合中被拆除。

12.3.3访问控制框架

访问控制(AccessControl)决定开放系统环境中允许使用哪些资源、在什么地方适合阻止未授权访问的过程。在访问控制实例中,访问可以是对一个系统(即对一个系统通信部分的一个实体)或对一个系统内部进行的。图12-8和图12-9说明了访问控制的基础性功能。

ACI(访问控制信息)是用于访问控制目的的任何信息,其中包括上下文信息。ADI(访问控制判决信息)是在做出一个特定的访问控制判决时可供ADF使用的部分(或全部)ACI。ADF(访问控制判决功能)是一种特定功能,它通过对访问请求、ADI以及该访问请求的上下文使用访问控制策略规则而做出访问控制判决。AEF(访问控制实施功能)确保只有对目标允许的访问才由发起者执行。

涉及访问控制的有发起者、AEF、ADF和目标。发起者代表访问或试图访问目标的人和基于计算机的实体。目标代表被试图访问或由发起者访问的,基于计算机或通信的实体。例如,目标可能是OSI实体、文件或者系统。访问请求代表构成试图访问部分的操作和操作数。

当发起者请求对目标进行特殊访问时,AEF就通知ADF需要一个判决来做出决定。为了作出判决,给ADF提供了访问请求(作为判决请求的一部分)和下列几种访问控制判决信息(ADI)。

(1)发起者ADI(ADI由绑定到发起者的ACI导出)。

(2)目标ADI(ADI由绑定到目标的ACI导出)。

(3)访问请求ADI(ADI由绑定到访问请求的ACI导出)。

ADF的其他输入是访问控制策略规则(来自ADF的安全域权威机构)和用于解释ADI或策略的必要上下文信息。上下文信息包括发起者的位置、访问时间或使用中的特殊通信路径。基于这些输入,以及可能还有以前判决中保留下来的ADI信息,ADF可以做出允许或禁止发起者试图对目标进行访问的判决。该判决传递给AEF,然后AEF允许将访问请求传给目标或采取其他合适的行动。

在许多情况下,由发起者对目标的逐次访问请求是相关的。应用中的一个典型例子是在打开与同层目标的连接应用进程后,试图用相同(保留)的ADI执行几个访问。对一些随后通过连接进行通信的访问请求,可能需要给ADF提供附加的ADI以允许访问

请求。在另一些情况中,安全策略可能要求对一个或多个发起者与一个或多个目标之间的某种相关访问请求进行限制。这时,ADF可能使用与多个发起者和目标有关的先前判决中所保留的ADI来对特殊访问请求作出判决。

如果得到AEF的允许,访问请求只涉及发起者与目标的单一交互。尽管发起者和目标之间的一些访问请求是完全与其他访问请求无关的,但常常是两个实体进入一个相关的访问请求集合中,如质询应答模式。在这种情况下,实体根据需要同时或交替地变更发起者和目标角色,可以由分离的AEF组件、ADF组件和访问控制策略对每一个访问请求执行访问控制功能。

12.3.4机密性框架

机密性(Confidentiality)服务的目的是确保信息仅仅是对被授权者可用。由于信息是通过数据表示的,而且数据可能导致关系的变化(如文件操作可能导致目录改变或可用存储区域的改变),因此信息能通过许多不同的方式从数据中导出。例如,通过理解数据的含义(如数据的值)导出;通过使用数据相关的属性(如存在性、创建的数据、数据大小、最后一次更新的日期等)进行推导;通过研究数据的上下文关系,即那些与之相关的其他数据实体导出;通过观察数据表达式的动态变化导出。

信息的保护通过确保数据被限制于授权者获得,或通过特定方式表示数据来获得,这种保护方式的语义是,数据只对那些拥有某种关键信息的人才是可访问的。有效的机密性保护要求必要的控制信息(如密钥和RCI等)是受到保护的这种保护机制和用来保护数据的机制是不同的(如密钥可以通过物理手段保护等)。

在机密性框架中用到被保护的环境和被交叠保护的环境两个概念。在被保护环境中的数据,通过使用特别的安全机制(或多个机制)保护。在一个被保护环境中的所有数据以类似方法受到保护。当两个或更多的环境交叠的时候,交叠中的数据能被多重保护可以推断,从一个环境移到另一个环境的数据的连续保护必然涉及到交叠保护环境。

机密性机制

数据的机密性可以依赖于所驻留和传输的媒体。因此,存储数据的机密性能通过使用隐藏数据语义(如加密)或将数据分片的机制来保证。数据在传输中的机密性能通过禁止访问的机制、通过隐藏数据语义的机制或通过分散数据的机制得以保证(如跳频等)。这些机制类型能被单独使用或者组合使用。

1)通过禁止访问提供机密性

通过禁止访问的机密性能通过在ITU-TRec.或ISO/IEC-3中描述的访问控制获得,以及通过物理媒体保护和路由选择控制获得。通过物理媒体保护的机密性保护可以采取物理方法保证媒体中的数据只能通过特殊的有限设备才能检测到。数据机密性通过确保只有授权的实体才能使这些机制本身有效的方式来实现。通过路由选择控制的机密性保护机制的目的,是防止被传输数据项表示的信息未授权泄露。在这一机制下只有可信和安全的设施才能路由数据,以达到支持机密性服务的目的。

2)通过加密提供机密性

这些机制的自的是防止数据泄露在传输或存储中。加密机制分为基于对称的加密机制和基于非对称加密的机密机制。

除了以下两种机密性机制外,还可以通过数据填充、通过虚假事件(如把在不可信链路上交换的信息流总量隐藏起来)通过保护PDU头和通过时间可变域提供机密性。

12.3.5完整性框架

完整性(Integrity)框架的目的是通过阻止威胁或探测威胁,保护可能遭到不同方式危害的数据完整性和数据相关属性完整性。所谓完整性,就是数据不以未经授权方式进行改变或损毁的特征。

完整性服务有几种分类方式:根据防范的违规分类违规操作分为未授权的数据修改、未授权的数据创建、未授权的数据除、未授权的数据插入和未授权的数据重放。依据提供的保护方法分为阻止完整性损坏和检测完整性还、依据是否包括恢复机制分为具有恢复机制的和不具有恢复机制的。

完整性机制的类型

由于保护数据的能力与正在使用的媒体有关。完整性机制是有区别的,包括如下类型。

(1)阻止对媒体访问的机制。包括物理隔离的、不受干扰的信道路由控制:访问控制。

(2)用以探测对数据或数据项序列的非授权修改的机制。未授权修改包括未权数据创建、数据删除以及数据重复。而相应的完整性机制包括密封、数字签名、数据重复(作为对抗其他类型违规的手段)、与密码变换相结合的数字指纹和消息序列号。按照保护强度,完整性机制可分为不作保护;对修改和创建的探测:对修改、创建、删除和重复的探测;对修改和创建的探测并带恢复功能;对修改、创建、除和重复的探测并带恢复功能。

12.3.6抗抵赖框架

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

框架所描述的抗抵赖服务的目的是提供有关特定事件或行为的证据。事件或行为本身以外的其他实体可以请求抗抵赖服务。抗抵赖服务可以保护的行为实例有发送40消息:在数据库中插入记录、请求远程操作等。

当涉及消息内容的抗抵赖服务时,为提供原发证明,必须确认数据原发者身份和数据完整性。为提供递交证明,必须确认接收者身份和数据完整性。在某些情况下,还可能需要涉及上下文关系(如日期、时间、原发者/接收者的地点等)的证据。抗抵赖服务提供下列可在试图抵赖的事件中使用的设备:证据生成、证据记录、验证生成的证据、证据的恢复和重验。

纠纷可以在纠纷两方之间直接通过检证据解决。但是,纠纷也可能不得不通过仲裁者解决,该仲裁者评估并确定是否发生过有纠纷的行为或事件。抗抵赖由4个独立的阶段组成:证据生成;证据传输、存储和恢复;证据验证;解决纠纷,如图12-10所示。

1)证据生成

在这个阶段中,证据生成请求者请求证据生成者为事件或行为生成证据。卷入事件或行为中的实体,称为证据实体,其卷入关系由证据建立。根据抗抵赖服务的类型,证据可由证据实体、或可能与可信三方的服务一起生成、或者单独由可信第三方生成。

2)证据传输、存储和恢复

在这个阶段,证据在实体传输或从存储器取出来或传到存储器。

3)证据验证

在这个阶段,证据在证据使用者的请求下被证据验证者验证。本阶段的目的是在出现纠纷的事件中,让证据使用者确信被提供的证据确实是充分的。可信第三方服务也可参与,以提供验证该证据的信息。

4)解决纠纷

在解决纠纷阶段,仲裁者有解决双方纠纷的责任。图12-11描述了纠纷解決阶段。

12.4数据库系统的安全设计

在数据库系统中,由于数据的集中管理,随之而来的是多用户存取,以及近年来跨网络的分布系统的急速发展。数据库的安全问题可以说已经构成信息系统最为关键的环节,而电子政务中所涉及的数据库密级更高、实时性更强。因此,有必要根据其特殊性完善安全策略,这些安全策略应该能保证数据库中的数据不会被有意地攻击或无意地破坏。不会发生数据的外泄、丢失和毁损,即实现了数据库系统安全的完整性、保密性和可用性。从数据库管理系统的角度而言,要采取的安全策略一般为用户管理、存取控制、数据加密、审计跟踪和攻击检测,从而解决数据库系统的运行安全和信息安全下面分别从数据库安全设计的评估标准和完整性设计两方面进行讨论。

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

随着人们对安全问题的认识和对安全产品的要求不断提高,在计算机安全技术方面逐步建立了一套安全评估标准,以规范和指导安全信息的建立、安全产品的生产,并能较准确地评测产品的安全性能指标。在当前各国制定和采用的标准中,最重要的是年美国国防部颁布的“可信计算机系统评估标准(TrustedComputerSystemEvaluationCriteria,TCSEC)”桔皮书(简称为DoD85)。年,美国国家计算机安全中心(TheNationalComputerSeaurityCenter,NCSC)又颁布了“可信计算机评估标准关于可信数据库管理系统的解释(TrustedDatabaseInterpretation,TDI)”。我国也于年2月发布了“中华人民共和国计算机信息系统安全保护条例”。在TCSEC中,将安全系统分为4大类7个等级。

TDI是TCSEC在数据库管理系统方面的扩充和解释,并从安全策略、责任、保护和文档4个方面进一步描述了每级的安全标准。按照TCSEC标准,D类产品是基本没有安全保护措施的产品,C类产品只提供了安全保护措施,一般不称为安全产品。B类以上产品是实行强制存取控制的产品,也是真正意义上的安全产品。所谓安全产品均是指安全级别在B1以上的产品,而安全数据库研究原型一般是指安全级别在B1级以上的以科研为目的,尚未产品化的数据库管理系统原型。

12.4.2数据库的完整性设计

数据库完整性是指数据库中数的正确性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计。

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

在实施数据库完整性设计时,需要把握以下基本原则。

(1)根据数据库完整性约的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响。一般情况下,静态约東应尽量包含在数据库模式中,而动态约束由应用程序实现。

(2)实体完整性约束、参照完整性约束是关系数据库最重要的完整性约束,在不影响系统关键性能的前提下需尽量应用。用一定的时间和空间来换取系统的易用性是值得的。

(3)要镇用目前主流DMS都支持的触发器功能,一方面由于触发器的性能开销较大;另一方面,触发器的多级触发不好控制,容易发生错误,非用不可时,最好使用Before型语句级触发器。

(4)在需求分析阶段就必须制定完整性约束的命名规范,尽量使用有意义的英文单词、缩写词、表名、列名及下划线等组合,使其易于识别和记忆,如CKC_EMP_REAL_INCOME_EMPLOYEE、PK_EMPLOYEE、CKT_EMPLOYEE。如果使用CASE工具,一般有默认的规则,可在此基础上修改使用。

(5)要根据业务规则对数据库完整性进行细致的测试,以尽早排除隐含的完整性约束间的冲突和对性能的影响。

(6)要有专职的数据库设计小组,自始至终负责数据库的分析、设计、测试、实施及早期维护。数据库设计人员不仅负责基于DBMS的数据库完整性约束的设计实现,还要负责对应用软件实现的数据库完整性约束进行审核。

(7)应采用合适的CASE工具来降低数据库设计各阶段的工作量。好的CASE工具能够支持整个数据库的生命周期,这将使数据库设计人员的工作效率得到很大提高,同时也容易与用户沟通。

2.数据库完整性的作用

数据库完整性对于数据库应用系统非常关键,其作用主要体现在以下几个方面。

(1)数据库完整性约能够防止合法用户使用数据库时向数据库中添加不合语义的数据。

(2)利用基于DBMS的完整性控制机制来实现业务规则,易于定义,容易理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率。同时,基于DBMS的完整性控制机制是集中管理的,因此比应用程序更容易实现数据库的完整性。

(3)合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能。例如装载大量数据时,只要在装载之前临时使基于DBMS的数据库完整性约失效,此后再使其生效,就能保证既不影响数据裝载的效率又能保证数据库的完整性。

(4)在应用软件的功能测试中,完善的数据库完整性有助于尽早发现应用软件的错误。

(5)数据完整性约来可分为6类:列级静态约束、元祖级静态约束、关系级静态约束、列级动态约束、元祖级动态约束和关系级动态约束。动态约束通常由应用件来实现。不同DBMS支持的数据库完整性基本相同,Oracle支特的基于DBMS的完整性约束如表12-1所示。

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

一个好的数据库完整性设计,首先需要在需求分析阶段确定要通过数据库完整性约束实现的业务规则。然后在充分了解特定DBMS提供的完整性控制机制的基础上,依据整个系统的体系结构和性能要求,遵照数据库设计方法和应用软件设计方法,合理选择每个业务规则的实现方式。最后,认真测试,排除隐含的约束冲突和性能问题。基于DBMS的数据库完整性设计大体分为以下几个阶段。

1)需求分析阶段

经过系统分析员数据库分析员和用户的共同努力,确定系统模型中应该包含的对象,如人事及工资管理系统中的部门、员工和经理等,以及各种业务规则。

在完成寻找业务规则的工作之后,确定要作为数据库完整性的业务规则,并对业务规则进行分类。其中作为数据库模式一部分的完整性设计按下面的过程进行,而由应用软件来实现的数据库完整性设计将按照软件工程的方法进行。

2)概念结构设计阶段

概念结构设计阶段是将依据需求分析的结果转换成一个独立于具体DBMS的概念模型,即实体关系图(EniyRelationshipDiagram,ERD)。在概念结构设计阶段就要开始数据库完整性设计的实质阶段,因为此阶段的实体关系将在逻辑结构设计阶段转化为实体完整性约束和参照元整性约束,到逻辑结构设计阶段将完成设计的主要工作。

3)逻辑结构设计阶段

此阶段就是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化,包括对关系模型的规范化。此时,依据DBMS提供的完整性约束机制,对尚未加入逻辑结构中的完整性约束列表,逐条选择合适的方式加以实现。

在逻辑结构设计阶段结时,作为数据库模式一部分的完整性设计也就基本完成了。每种业务规则都可能有好几种实现方式,应该选择对数据库性能影响最小的一种,有时需通过实际测试来决定。

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

本节以一个具体的电子商务系统——高性能的RADIUS,来阐明电子商务系统的安全设计的基本原理和设计方法。

1.原理介绍

AAA(AuthenticationAuthorizationandAccounting,验证、授权和审记)是运行于宽带网络接入服务器上的客户端程序。AAA提供了一个用来对验证、授权和审记三种安全功能进行配置的一致的框架,实际上是对网络安全的一种管理。这里的网络安全主要指访问控制,包括哪些用户可以访网络服务器?如何对正在使用网络资源的用户进行记账?下面简单介绍验证、授权和记账的作用。

(1)验证(Authentication)验证用户是否可以获得访问权,认证信息包括用户名、用户密码和认证结果等。

(2)授权(Authorization)授权用户可以使用哪些服务,授权包括服务类型及服务相关信息等。

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

RADIUS服务器负责接收用户的连接请求,完成验证并把用户所需的配置信息返回给BAS建立连接,从而可以获得访问其他网络的权限时,BAS就起到了认证用户的作用。BAS负责把用户之间的验证信息传递通过密钥的参与来完成。用户的密码加密以后才能在网上传递,以避免用户的密码在不安全的网络上被窃取。

例如,用户A请求得到某些服务(如PPP、Telnet和Rlogin等),但必须通过BAS,由BAS依据某种顺序与所连接服务器通信从而进行验证。用户A通过拨号进入BAS,然后BAS按配置好的验证方式(如PPP、PAP和CHAP等)要求用户A输入用户名和密码等信息。用户A终端出现提示,用户按提示输入。通过与BAS的连接,BAS得到这些信息。而后BAS把这些信息传递给响应验证或记账的服务器,并根据服务器的响应来决定用户是否可以获得他所请求的服务。

一个网络允许外部用户通过宽带网对其进行访问,这样用户在地理上可以分散。大量分散用户可以通过DSLModem等从不同的地方对这个网进行随机的访问,用户可以把自己的信息传递给这个网络,也可以从这个网络得到自己想要的信息。由于存在内外的双向数据流动,网络安全就成为很重要的问题,因此对信息进行有效管理是必要的。管理的内容包括用户是否可以获得访问权、用户可以允许使用哪些服务,以及如何对使用网络资源的用户进行计费。AAA很好地完成了这3项任务。

2.软件架构设计

RADIUS软件主要应用于宽业务运营的支撑管理,是一个需要可靠运行且高安全级别的软件支撑系统。RADIUS软件的设计还需要考虑一个重要的问题,即系统高性能与可扩展性。

电信数据业务的开展随着我国宽带业务的开展,在宽带接入方式、宽带业务管理等诸多方面均会发生变化,以适应市场的发展。业务的发展对RADIUS软件架构的设计就是重中之重了,其设计将会直接影响系统可持续建设的质量与成本。通过深入分析,高性能的RADIUS软件架构核心如图12-12所示。

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

协议逻辑层主要实现RFC框架中的内容,处理网络通信协议的建立、通信和停止方面的工作。在软件功能上,这个部分主要相当于一个转发引擎,起到分发处理的内容分发到不同的协议处理过程中,这一层的功能起到了协议与业务处理的分层处理的作用。

业务逻辑层的设计是RADIUS软件架构设计的核心部分,架构设计的好坏将直接关系到应用过程中能否适应RADIUS协议扩展部分的实现,更重要的是会直接影响到用户单位的业务能否顺利开展。协议处理进程主要是对转发引发来的包进行初步分析,并根据包的内容进一步分发到不同的业务逻辑处理进程。协议处理进程可以根据项目的情况,配置不同的协议进程数,提高包转发与处理的速度。业务逻辑进程分为认证、计费和授权三种类型,不同的业务逻辑进程可以接收不同协议进程之间的信息并进行处理。转发进程与协议进程之间采用共享内存的方法,实现进程之间的通信。协议进程与业务逻辑处理进程之间采用进程加线程的实现方法,这样实现的好处在于不需要对业务处理线程进行应用软件层面的管理,而由UNX系统进行管理,进一步提高应用系统处理的效率与质量。

数据逻辑层需要对来自业务逻辑处理线程统一管理与处理数据库代理池的数据,由数据库代理池统一连接数据库,以减少对数据库系统的压力。同时减小了系统对数据库的依赖性,增强了系统适应数据库系统的能力。

RADIUS软件分层架构的实现,一是对软件风险进行了深入的分析,并且在软件实现的过程中得到更多的体现:二是可以构建一个或多个重用的构件单元,同时也可以继承原来的成果。BAS和RADIUS之间验证信息的传递是通过密钥的参与来完成的。从原来的带拨号上网到现在的宽带接入、无线接入,在信息加密方面从传统的MD5、PAP和CHAP方式增加了EAP-tls、P-ttls和EAP-sim等多种格式。基于分层架构的协议处理进程有自然的灵活性,可快速适应RFC指南中增加的内容。

RADIUS的功能,一是实际处理大量用户并发的能力,二是软件架构的可扩展性。

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

(1)解决网络拥塞问题,就近提供服务,实现地理位置无关性。

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

(3)提高服务器响应速度。

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

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

当同时在线的宽带用户量巨大时,BAS发送给后台RADIUS的用户数据更新包的数量会急剧增加,RADIUS服务器的处理能力就成为性能瓶颈。当包的数量大于RADIUS服务器的处理能力时,就会出现丢包,造成用户数据的丢失或不完整。

通过代理转发的方式,把从BAS发送过来的数据包平均转发到其他RADIUS服务器中进行处理,实现RADIUS服务器之间的负载均衡。

RADIUS高性能还体现在自我管理的功能,该功能包括UNIX守护管理监控和进程管理监控。在有故障时,服务进程能内部调度进程,以协调进程的工作情况。同时对RADIUS报文进行SNMP的代理管理,向综合网络管理平台实时发送信息。

(完~)

冲呀冲鸭

1
查看完整版本: 系统架构设计师教程第五十一讲