实现分布式访问控制与通信安全的系统与方法

文档序号:7956352阅读:383来源:国知局
专利名称:实现分布式访问控制与通信安全的系统与方法
技术领域
本发明涉及一种实现分布式访问控制与通信安全的系统与方法,特别是一种面向广域分布式开放网络环境的实现分布式访问控制与通信安全的系统与方法。
背景技术
随着广域分布式网络的飞速发展,对其进行安全性管理已变得愈发重要。
IBM Tivoli是专业的企业级IT系统管理解决方案,提供全线的、分别适应大中小型企业的、先进成熟的、集成性高的、具有自主计算功能的、智能化的、面向业务服务和新一代按需计算的电子商务的系统管理产品。安全管理是IBM Tivoli的一个重要组成部分。
Tivoli中的安全管理的优势是IBM具备整套的软硬件平台,包括各种基础设施(目录服务和PKI),所以IBM Tivoli安全解决方案的功能非常全面,对各种平台的支持非常完善,性能和可靠性都是产品级的。
IBM企业安全解决方案也有一些不足,主要体现在以下几点1、IBM企业安全解决方案的目标是解决大中小型企业这样的单自治域的安全问题,并不是像网格、群组和移动这样的跨域场景下的安全问题,因此,其对异构性的考虑较少,安全方案中的组件主要在J2EE和操作系统两个层次工作,遵从这两个层次的标准,并不十分关注异构安全基础设施之间的桥接,也很少提到Web Service这种封装异构资源的技术(包括Web Service安全技术);2、广域分布是网格、群组和移动场景的特点,这就提出了对单一登录、在陌生人间建立信任的信任管理等技术的需求,IBM企业安全解决方案解决了一部分问题,但是仍有很大不足,例如,IBM企业安全解决方案并不支持面向任务的单一登录,对企业内集中的用户注册表的依赖过大等等;3、广域开放分布式网络环境是动态变化的,跨自治域的资源访问和协作也是动态的,这些都需要安全解决方案具有适应动态性的能力,如动态建立信任关系的自动信任协商能力、动态制订访问控制策略的能力等等。IBM提出的“自主计算”主要也是为了实现这个目的,但是目前的产品尚无这方面的支持。IBM的企业安全解决方案针对的是单个企业,这方面的需求也不强烈。

发明内容
本发明的第一目的在于针对上述现有技术存在的不足,提供一种实现分布式访问控制与通信安全的系统,能够使安全处理引擎独立于底层的SOAP处理引擎。
本发明的第二目的在于针对上述现有技术存在的不足,提供一种实现分布式访问控制与通信安全的方法,根据不同形式的请求,能够使用不同的处理链。
为实现上述第一目的,本发明提供了一种实现分布式访问控制与通信安全的系统,其中包括消息输入接口单元及消息输出接口单元,还包括一消息封装模块,与消息输入接口单元相连,用于对消息进行封装,以屏蔽不同消息在格式上的不一致;一安全处理引擎模块,与消息封装模块及消息输出接口单元相连,用于对消息进行安全处理;一配置引擎模块,与安全处理引擎模块相连,用于为安全处理引擎模块提供安全处理链;
一安全上下文维护模块,与安全处理引擎模块相连,用于创建、访问、或者删除上下文。
该系统通用性更强,该系统中的安全处理引擎与底层的SOAP引擎独立,常见的底层SOAP处理引擎包括Axis、GLOBUS Toolkit WS-Core Container等。
为了使得安全处理引擎能够独立,系统对需要涉及到的底层处理引擎中相关对象进行封装,底层处理引擎中重要的对象包括三种消息对象、消息上下文和环境上下文。但是他们的具体的格式不完全一致,通过封装可以在安全处理过程中屏蔽其格式的不一致。如此保证了安全代码无关性。
为实现上述第二目的,本发明提供了一种实现分布式访问控制与通信安全的方法,具体包括以下步骤步骤1、获得输入消息;步骤2、消息封装模块对消息进行处理,生成封装后的消息对象;步骤3、生成封装后的消息上下文对象及环境上下文对象;步骤4、安全处理引擎模块调用配置引擎模块得到安全链;步骤5、安全处理引擎模块顺序调用安全链中的处理器;步骤6、判断安全链中是否还有未调用完的处理器,如果是,则执行步骤5;否则结束。
该方法能够以较为灵活的方式,对不同形式的请求,使用不同处理链。
该方法还提供安全处理器和安全共性服务两种方式,对应于各种不同功能的处理器,都具有一个功能相当的安全共性服务。用户可以选择使用处理器来完成安全功能,也可使用调用共性安全服务的方式调用安全功能。
如果用户选择了使用共性服务来完成安全功能,能够便于对安全处理中的处理策略进行集中管理。而在安全处理链配置文件中,可以用简单一致的方式在这两种处理之间进行切换。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明实现分布式访问控制与通信安全系统的实施例的结构示意图;图2为本发明实现分布式访问控制与通信安全方法的实施例的流程图;图3为本发明实现分布式访问控制与通信安全方法的实施例中调用安全链中的处理器的流程图。
具体实施例方式
如图1所示,为本发明实现分布式访问控制与通信安全系统的实施例的结构示意图,其中包括消息输入接口单元1及消息输出接口单元6,还包括消息封装模块2,与消息输入接口单元1相连,用于对消息进行封装,以屏蔽不同消息在格式上的不一致;消息封装模块2是将涉及到的底层处理引擎中相关对象进行封装,底层处理引擎中重要的对象包括三种消息对象、消息上下文和环境上下文,但是他们的具体的格式不完全一致,通过封装可以在安全处理过程中屏蔽其格式的不一致;安全处理引擎模块3,与消息封装模块1及消息输出接口单元6相连,用于对消息进行安全处理;为了保证系统的可扩展性,安全处理引擎模块3的处理方式可以通过配置来完成的,安全处理引擎模块3通过配置引擎模块4得到一个安全处理链,处理链中包含若干处理器,然后按照一定的顺序调用这些处理器;安全处理引擎模块3中包括签字鉴别处理器、加密解密处理器、授权决策处理器、信任协商处理器、安全会话处理器,同时支持用户扩展编写自己的处理器,另外还包括一个与处理器功能相分离的主控单元;
配置引擎模块4,与安全处理引擎模块3相连,用于为安全处理引擎模块3提供安全处理链;安全上下文维护模块5,与安全处理引擎模块3相连,用于创建、访问、或者删除上下文;处理器在完成安全相关操作时,可以通过安全上下文维护模块5中的上下文管理器创建、访问、或者删除各自的上下文,每个上下文都是关键字到值的一个映射表,上下文的每一个映射项,都具有一定的生命期,所有的处理器都是通过上下文管理器访问到自己特定的上下文的;这里的上下文包括安全会话上下文、签字鉴别上下文、加密解密上下文、授权决策上下文、信任协商上下文及其他上下文;上下文管理器除了充当处理器和具体上下文之间的中间层之外,还具有一个独立的维护线程,该线程会定时检查保存在上下文管理器中的所有映射项的生命周期是否完结,并且负责删除生命周期已经结束的项。
其中,配置引擎模块4还包括安全链选择单元7,与安全处理引擎模块3相连,用于针对消息的内容,选择安全链对其进行处理;安全链构造单元8,与安全链选择单元7相连,用于构造安全链;安全处理器构造单元9,与安全链构造单元8相连,用于构造安全处理器,进行安全处理。
该系统通用性更强,该系统中的安全处理引擎与底层的SOAP引擎独立。
如图2所示,为本发明实现分布式访问控制与通信安全方法的实施例的流程图,具体包括以下步骤步骤101、获得输入消息;步骤102、消息封装模块对消息进行处理,生成封装后的消息对象;步骤103、生成封装后的消息上下文对象及环境上下文对象;步骤104、安全处理引擎模块调用配置引擎模块读取配置文件,生成处理安全链的匹配规则列表;
步骤105、从匹配规则列表中选择一条未用过匹配规则,安全链的匹配规则包括两个部分一个是匹配条件,另一个是在该条件下希望使用的安全链的配置;匹配条件是由一系列的条件表达式的合取式和析取式组合而成,条件表达式的原子项都是对消息对象、环境上下文、消息上下文的内容做一个断言;例如消息中包含名为“ABC”这个元素,环境上下文中的属性A的值大于5,消息上下文中的“来源地址”属性为127.0.0.1等等,都是条件表达式中的原子项,这些原子项通过析取合取操作组成匹配条件;步骤106、判断该匹配规则是否匹配,如果当前的消息对象、消息上下文对象、环境上下文对象的内容完全满足匹配条件的说明,就表示这条匹配规则中的安全链配置应该被安全引擎所调用,则执行步骤108;否则执行步骤107;步骤107、判断是否还有未匹配的规则,如果是,则执行步骤105;否则执行下一步;步骤108、构造安全链和安全处理器;步骤109、安全处理引擎模块顺序调用安全链中的处理器;步骤110、判断安全链中是否还有未调用完的处理器,如果是,则执行步骤109;否则结束。
其中,如图3所示,为本发明实现分布式访问控制与通信安全方法的实施例中调用安全链中的处理器的流程图,具体包括以下步骤步骤1091、根据预设的参数判断是否访问共性安全服务;如果是,则执行步骤1093;否则执行步骤1092;步骤1092、解析安全参数,调用安全功能,执行步骤1095;步骤1093、从参数中获得访问服务的地址;步骤1094、解析服务的安全参数,调用安全功能;步骤1095、结束。
本发明中的安全处理的具体操作可以在两种实体中完成安全处理器和安全共性服务。对应于各种不同功能的处理器,都具有一个功能相当的安全共性服务。用户可以选择直接使用处理器来完成安全功能,也可选择通过处理器使用调用共性安全服务的方式来完成安全处理。
如果用户选择了使用共性服务来完成安全功能,能够便于对安全处理中的处理策略进行集中管理,如授权策略、鉴别策略,和信任协商策略等等。而在安全处理链配置文件中,可以用简单一致的方式在这两种处理之间进行切换。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种实现分布式访问控制与通信安全的系统,包括消息输入接口单元及消息输出接口单元,其特征在于还包括一消息封装模块,与所述消息输入接口单元相连,用于对消息进行封装,以屏蔽不同消息在格式上的不一致;一安全处理引擎模块,与所述消息封装模块及消息输出接口单元相连,用于对消息进行安全处理;一配置引擎模块,与所述安全处理引擎模块相连,用于为所述安全处理引擎模块提供安全处理链;一安全上下文维护模块,与所述安全处理引擎模块相连,用于创建、访问、或者删除上下文。
2.根据权利要求1所述的实现分布式访问控制与通信安全的系统,其特征在于所述配置引擎模块具体包括一安全链选择单元,与所述安全处理引擎模块相连,用于针对所述消息的内容,选择安全链对其进行处理;一安全链构造单元,与所述安全链选择单元相连,用于构造安全链;一安全处理器构造单元,与所述安全链构造单元相连,用于构造安全处理器,进行安全处理。
3.一种实现分布式访问控制与通信安全的方法,其中执行以下步骤步骤1、获得输入消息;步骤2、消息封装模块对所述消息进行处理,生成封装后的消息对象;步骤3、生成封装后的消息上下文对象及环境上下文对象;步骤4、安全处理引擎模块调用配置引擎模块得到安全链;步骤5、所述安全处理引擎模块顺序调用所述安全链中的处理器;步骤6、判断所述安全链中是否还有未调用完的处理器,如果是,则执行步骤5;否则结束。
4.根据权利要求3所述的实现分布式访问控制与通信安全的方法,其中所述步骤4具体包括以下步骤步骤41、所述配置引擎模块读取配置文件,生成处理安全链的匹配规则列表;步骤42、从所述匹配规则列表中选择一条未用过匹配规则;步骤43、判断所述匹配规则是否匹配,如果是,则结束;否则执行步骤44;步骤44、判断是否还有未匹配的规则,如果是,则执行步骤42;否则执行步骤45;步骤45、构造安全链及安全处理器。
5.根据权利要求3或4所述的实现分布式访问控制与通信安全的方法,其中所述步骤5具体执行以下步骤步骤51、根据预设的参数判断是否访问共性安全服务;如果是,则执行步骤53;否则执行步骤52;步骤52、解析安全参数,调用安全功能,然后执行步骤55;步骤53、从所述参数中获得访问服务的地址;步骤54、解析所述服务的安全参数,调用安全功能;步骤55、结束。
全文摘要
本发明涉及一种实现分布式访问控制与通信安全的系统及方法,包括消息输入及消息输出接口单元,消息封装模块,与消息输入接口单元相连;安全处理引擎模块,与消息封装模块及消息输出接口单元相连;配置引擎模块,与安全处理引擎模块相连;安全上下文维护模块,与安全处理引擎模块相连。方法执行以下步骤输入消息;消息封装模块对消息进行处理,生成封装后的消息对象;生成封装后的消息上下文对象及环境上下文对象;安全处理引擎模块调用配置引擎模块得到安全链;安全处理引擎模块顺序调用安全链中的处理器;判断安全链中是否还有未调用完的处理器,是,则执行上一步;否则结束。本发明能够以较为灵活的方式,对不同形式的请求,使用不同处理链。
文档编号H04L29/06GK1816054SQ20061005808
公开日2006年8月9日 申请日期2006年2月28日 优先权日2006年2月28日
发明者怀进鹏, 胡春明, 李沁, 薛伟, 蔡炳, 李建欣 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1