PaaS系统中的java安全验证方法及装置的制造方法

文档序号:9352848阅读:611来源:国知局
PaaS系统中的java安全验证方法及装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,尤其涉及一种PaaS系统中的java安全验证方法及 装置。
【背景技术】
[0002] 随着网络的不断发展,为用户提供服务的方法已经由软件即服务(Softwareasa Service,SaaS)的方式转变为平台即服务(PlatformasaService,PaaS)的方式。PaaS 系统中,java应用程序中的安全策略是由策略(Policy)对象来定义的,具体到实现中是 一个Policy的子类,默认是策略文件(PolicyFile),Java语言程序开发工具包(Java DevelopmentKit,JDK)自带的实现。默认的Policy实现是读取一个policy的配置文件 来定义安全策略的,policy文件包含Keystore项和授权项。
[0003] 当启动安全管理器,对调用的文件进行安全策略检查时,以读取文件为例,其逻辑 如图1所示,执行一个读取文件的操作,启动安全管理器(SecurityManager),接入控制器 上下文(AccessControllerContext)会获取当前执行逻辑的调用栈,然后对调用栈中的每 一个类都检查一下,此处调用Policy实现默认是文件策略(FilePolicy),当检查第一个通 过时,就继续第二个,一直到所有的检查都通过,则认为这些检查通过;如果有一个检查不 通过就认为这次检验失败。
[0004] 上述安全验证策略中,默认的权限检查策略只能在配置文件中预先定义好策略, 不能动态生成,对于PaaS系统而言,可能会出现每个用户需要执行一个独立的安全策略判 断,这就相当于每个用户一个权限检查,如果全部写到配置文件中会很繁琐而且内容实在 太多。
[0005] 上述安全策略中,只能使用配置好的白名单策略,写到policy中的权限就相当于 白名单,表示对于某些类或者jar拥有对某件事情的执行权限。而不能配置黑名单,但有些 时候可能正好相反,用户希望定义在配置文件中的权限是不允许执行的,也就是黑名单,此 时现有的安全策略将不能实现。
[0006] 而且上述安全策略中,对于检查的次数,检查的项数,权限的级别等等都不能方便 的进行定义和更改,比如有些时候用户希望对某项检查通过之后就不对后续的堆栈进行检 查了,或者检查若干次(比如检查100次后)就不再检查了,或用户希望权限也有级别的, 有些权限应该优先检查等等,现有的安全策略将不能实现。
[0007] 可见,现有技术中JDK默认提供的java安全验证策略不能灵活、方便的根据用户 需求配置不同的安全策略,安全验证方案的可扩展性差,不能很好地满足用户安全检查的 需要。

【发明内容】

[0008] 有鉴于此,本发明的一个目的是提供一种PaaS系统中的java安全验证方法及装 置,以解决现有技术中存在的安全策略检查不能灵活配置,可扩展性差的问题。为了对披露 的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评 述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简 单的形式呈现一些概念,以此作为后面的详细说明的序言。
[0009] 本发明实施例提供一种PaaS系统中的java安全验证方法,包括:
[0010] 当需要对待操作文件进行操作时,判断是否配置了安全管理器;
[0011] 若配置了安全管理器,获取原始策略文件和扩展策略文件;
[0012] 根据原始策略文件中的权限项列表和扩展策略文件中的权限项列表,对待操作文 件进行原始策略权限检查和扩展策略权限检查,当所有权限项都检查通过时,确认对待操 作文件的安全验证通过。
[0013] 在一些可选的实施例中,所述获取原始策略文件和扩展策略文件,具体包括:
[0014]启用接入控制器,通过接入控制器上下文获取当前执行线程的调用栈信息;
[0015] 依次检查调用栈中的每一个类,调用所述类的保护域中的授权函数,获取原始策 略文件和扩展策略文件;所述扩展策略文件根据安全策略变更进行更新修改。
[0016] 在一些可选的实施例中,所述扩展策略文件中包括的权项项为下列权限项中的至 少一项:静态权限项和动态权限项。
[0017] 在一些可选的实施例中,根据原始策略文件中的权限项列表和扩展策略文件中的 权限项列表,对待操作文件进行原始策略权限检查和扩展策略权限检查,具体包括:
[0018] 获取原始策略文件中的权限项列表和扩展策略文件中的权限项列表;
[0019] 将权限项列表按角色区分,为不同等级的权限创建不同的权限等级列表;
[0020] 对待操作文件,根据其对应的角色,获取权限等级列表,按照权限等级依次进行权 限检查。
[0021] 在一些可选的实施例中,上述方法还包括:
[0022] 若配置了安全管理器时,对待操作文件的操作权限进行检查,当操作权限检查通 过时,再执行所述获取原始策略文件和扩展策略文件的步骤。
[0023] 本发明实施例还提供一种PaaS系统中的java安全验证装置,包括:
[0024] 判断模块,用于当需要对待操作文件进行操作时,判断是否配置了安全管理器;
[0025] 获取模块,用于若配置了安全管理器,获取原始策略文件和扩展策略文件;
[0026] 验证模块,用于根据原始策略文件中的权限项列表和扩展策略文件中的权限项列 表,对待操作文件进行原始策略权限检查和扩展策略权限检查,当所有权限项都检查通过 时,确认对待操作文件的安全验证通过。
[0027] 在一些可选的实施例中,所述获取模块,具体用于:
[0028]启用接入控制器,通过接入控制器上下文获取当前执行线程的调用栈信息;
[0029] 依次检查调用栈中的每一个类,调用所述类的保护域中的授权函数,获取原始策 略文件和扩展策略文件;所述扩展策略文件根据安全策略变更进行更新修改。
[0030] 在一些可选的实施例中,所述获取模块,具体用于:
[0031] 获取的所述扩展策略文件中包括的权项项为下列权限项中的至少一项:静态权限 项和动态权限项。
[0032] 在一些可选的实施例中,所述验证模块,具体用于:
[0033] 获取原始策略文件中的权限项列表和扩展策略文件中的权限项列表;
[0034] 并将权限项列表按角色区分,为不同等级的权限创建不同的权限等级列表;
[0035] 对待操作文件,根据其对应的角色,获取权限等级列表,按照权限等级依次进行权 限检查。
[0036] 在一些可选的实施例中,上述装置还包括:
[0037] 检查模块,用于若配置了安全管理器时,对待操作文件的操作权限进行检查,当操 作权限检查通过时,再执行所述获取原始策略文件和扩展策略文件的步骤。
[0038] 本发明实施例提供的PaaS系统中的java安全验证方法及装置,该方法在配置了 安全管理器时,通过原始策略文件和扩展策略文件,实现对带操作文件的原始策略检查和 扩展策略检查,从而能够实现安全策略的灵活配置,方便为不同用户的不同的安全需求配 置不同的安全策略,并能够方便的随时调整和更改安全策略,通过对JDK默认提供的安全 策略的扩展,满足不同用户的不同的安全验证需求。
[0039] 为了上述以及相关的目的,一个或多个实施例包括后面将详细说明并在权利要求 中特别指出的特征。下面的说明以及附图详细说明某些示例性方面,并且其指示的仅仅是 各个实施例的原则可以利用的各种方式中的一些方式。其它的益处和新颖性特征将随着下 面的详细说明结合附图考虑而变得明显,所公开的实施例是要包括所有这些方面以及它们 的等同。
【附图说明】
[0040] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0041] 图1是现有技术中调用文件安全策略检查的逻辑图;
[0042] 图2是本发明实施例一中PaaS系统中的java安全验证方法的流程图;
[0043] 图3是本发明实施例一中PaaS系统中的java安全验证逻辑示意图;
[0044] 图4是本发明实施例二中PaaS系统中的java安全验证方法的流程图;
[0045] 图5是本发明实施例二中扩展策略检查的原理示例图;
[0046]图6是本发明实施例二中扩展策略检查中自定义允许类的示例图;
[0047] 图7是本发明实施例二中调用自定义允许类实现扩展策略检查的示例图;
[0048] 图8是本发明实施例中PaaS系统中的java安全验证装置的结构示意图。
【具体实施方式】
[0049] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0050] 以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够 实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施 例仅代表可能的变化。除非明确要求,否则单独的组件和功能是可选的,并且操作的顺序可 以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本 发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同 物。在本文中,本发明的这些实施方案可以被单独地或总地用术语"发明"来表示,这仅仅 是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为 任何单个发明或发明构思。
[0051] 为了解决现有技术中存在的java安全验证过程中,不能灵活地配置不同的安全 策略,安全检查的可扩展性差的问题,本发明实施例提供一种PaaS系统中的java安全验证 方法,该方法通过扩展的策略文件实现安全验证的灵活配置,使得安全验证策略具有较好 的可扩展性。
[0052] 实施例一
[0053] 本发明实施例提供的PaaS系统中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1