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

技术编号:12345529 阅读:72 留言:0更新日期:2015-11-18 18:18
本发明专利技术实施例提供一种PaaS系统中的java安全验证方法及装置,该方法包括:当需要对待操作文件进行操作时,判断是否配置了安全管理器;若配置了安全管理器,获取原始策略文件和扩展策略文件;根据原始策略文件中的权限项列表和扩展策略文件中的权限项列表,对待操作文件进行原始策略权限检查和扩展策略权限检查,当所有权限项都检查通过时,确认对待操作文件的安全验证通过。能够实现安全策略的灵活配置、针对不同的需求配置不同的安全策略,可扩展性好。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种PaaS系统中的java安全验证方法及 装置。
技术介绍
随着网络的不断发展,为用户提供服务的方法已经由软件即服务(Softwareasa Service,SaaS)的方式转变为平台即服务(PlatformasaService,PaaS)的方式。PaaS 系统中,java应用程序中的安全策略是由策略(Policy)对象来定义的,具体到实现中是 一个Policy的子类,默认是策略文件(PolicyFile),Java语言程序开发工具包(Java DevelopmentKit,JDK)自带的实现。默认的Policy实现是读取一个policy的配置文件 来定义安全策略的,policy文件包含Keystore项和授权项。 当启动安全管理器,对调用的文件进行安全策略检查时,以读取文件为例,其逻辑 如图1所示,执行一个读取文件的操作,启动安全管理器(SecurityManager),接入控制器 上下文(AccessControllerContext)会获取当前执行逻辑的调用栈,然后对调用栈中的每 一个类都检查一下,此处调用Policy实现默认是文件策略(FilePolicy),当检查第一个通 过时,就继续第二个,一直到所有的检查都通过,则认为这些检查通过;如果有一个检查不 通过就认为这次检验失败。 上述安全验证策略中,默认的权限检查策略只能在配置文件中预先定义好策略, 不能动态生成,对于PaaS系统而言,可能会出现每个用户需要执行一个独立的安全策略判 断,这就相当于每个用户一个权限检查,如果全部写到配置文件中会很繁琐而且内容实在 太多。 上述安全策略中,只能使用配置好的白名单策略,写到policy中的权限就相当于 白名单,表示对于某些类或者jar拥有对某件事情的执行权限。而不能配置黑名单,但有些 时候可能正好相反,用户希望定义在配置文件中的权限是不允许执行的,也就是黑名单,此 时现有的安全策略将不能实现。 而且上述安全策略中,对于检查的次数,检查的项数,权限的级别等等都不能方便 的进行定义和更改,比如有些时候用户希望对某项检查通过之后就不对后续的堆栈进行检 查了,或者检查若干次(比如检查100次后)就不再检查了,或用户希望权限也有级别的, 有些权限应该优先检查等等,现有的安全策略将不能实现。 可见,现有技术中JDK默认提供的java安全验证策略不能灵活、方便的根据用户 需求配置不同的安全策略,安全验证方案的可扩展性差,不能很好地满足用户安全检查的 需要。
技术实现思路
有鉴于此,本专利技术的一个目的是提供一种PaaS系统中的java安全验证方法及装 置,以解决现有技术中存在的安全策略检查不能灵活配置,可扩展性差的问题。为了对披露 的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评 述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简 单的形式呈现一些概念,以此作为后面的详细说明的序言。 本专利技术实施例提供一种PaaS系统中的java安全验证方法,包括: 当需要对待操作文件进行操作时,判断是否配置了安全管理器; 若配置了安全管理器,获取原始策略文件和扩展策略文件; 根据原始策略文件中的权限项列表和扩展策略文件中的权限项列表,对待操作文 件进行原始策略权限检查和扩展策略权限检查,当所有权限项都检查通过时,确认对待操 作文件的安全验证通过。 在一些可选的实施例中,所述获取原始策略文件和扩展策略文件,具体包括:启用接入控制器,通过接入控制器上下文获取当前执行线程的调用栈信息; 依次检查调用栈中的每一个类,调用所述类的保护域中的授权函数,获取原始策 略文件和扩展策略文件;所述扩展策略文件根据安全策略变更进行更新修改。 在一些可选的实施例中,所述扩展策略文件中包括的权项项为下列权限项中的至 少一项:静态权限项和动态权限项。 在一些可选的实施例中,根据原始策略文件中的权限项列表和扩展策略文件中的 权限项列表,对待操作文件进行原始策略权限检查和扩展策略权限检查,具体包括: 获取原始策略文件中的权限项列表和扩展策略文件中的权限项列表; 将权限项列表按角色区分,为不同等级的权限创建不同的权限等级列表; 对待操作文件,根据其对应的角色,获取权限等级列表,按照权限等级依次进行权 限检查。 在一些可选的实施例中,上述方法还包括: 若配置了安全管理器时,对待操作文件的操作权限进行检查,当操作权限检查通 过时,再执行所述获取原始策略文件和扩展策略文件的步骤。 本专利技术实施例还提供一种PaaS系统中的java安全验证装置,包括: 判断模块,用于当需要对待操作文件进行操作时,判断是否配置了安全管理器; 获取模块,用于若配置了安全管理器,获取原始策略文件和扩展策略文件; 验证模块,用于根据原始策略文件中的权限项列表和扩展策略文件中的权限项列 表,对待操作文件进行原始策略权限检查和扩展策略权限检查,当所有权限项都检查通过 时,确认对待操作文件的安全验证通过。 在一些可选的实施例中,所述获取模块,具体用于:启用接入控制器,通过接入控制器上下文获取当前执行线程的调用栈信息; 依次检查调用栈中的每一个类,调用所述类的保护域中的授权函数,获取原始策 略文件和扩展策略文件;所述扩展策略文件根据安全策略变更进行更新修改。 在一些可选的实施例中,所述获取模块,具体用于: 获取的所述扩展策略文件中包括的权项项为下列权限项中的至少一项:静态权限 项和动态权限项。 在一些可选的实施例中,所述验证模块,具体用于: 获取原始策略文件中的权限项列表和扩展策略文件中的权限项列表; 并将权限项列表按角色区分,为不同等级的权限创建不同的权限等级列表; 对待操作文件,根据其对应的角色,获取权限等级列表,按照权限等级依次进行权 限检查。 在一些可选的实施例中,上述装置还包括: 检查模块,用于若配置了安全管理器时,对待操作文件的操作权限进行检查,当操 作权限检查通过时,再执行所述获取原始策略文件和扩展策略文件的步骤。 本专利技术实施例提供的PaaS系统中的java安全验证方法及装置,该方法在配置了 安全管理器时,通过原始策略文件和扩展策略文件,实现对带操作文件的原始策略检查和 扩展策略检查,从而能够实现安全策略的灵活配置,方便为不同用户的不同的安全需求配 置不同的安全策略,并能够方便的随时调整和更改安全策略,通过对JDK默认提供的安全 策略的扩展,满足不同用户的不同的安全验证需求。 为了上述以及相关的目的,一个或多个实施例包括后面将详细说明并在权利要求 中特别指出的特征。下面的说明以及附图详细说明某些示例性方面,并且其指示的仅仅是 各个实施例的原则可以利用的各种方式中的一些方式。其它的益处和新颖性特征将随着下 面的详细说明结合附图考虑而变得明显,所公开的实施例是要包括所有这些方面以及它们 的等同。【附图说明】 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。 图1是现有本文档来自技高网
...

【技术保护点】
一种PaaS系统中的java安全验证方法,其特征在于,包括:当需要对待操作文件进行操作时,判断是否配置了安全管理器;若配置了安全管理器,获取原始策略文件和扩展策略文件;根据原始策略文件中的权限项列表和扩展策略文件中的权限项列表,对待操作文件进行原始策略权限检查和扩展策略权限检查,当所有权限项都检查通过时,确认对待操作文件的安全验证通过。

【技术特征摘要】

【专利技术属性】
技术研发人员:王阳
申请(专利权)人:新浪网技术中国有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1