林业科学  2006, Vol. 42 Issue (增刊1): 167-170   PDF    
0

文章信息

杜彬, 张旭, 黄震春, 范东璞.
Du Bin, Zhang Xu, Huang Zhenchun, Fan Dongpu.
林业网格中的用户及数字证书管理
User and Digital Certification Management in Forestry Grid
林业科学, 2006, 42(增刊1): 167-170.
Scientia Silvae Sinicae, 2006, 42(增刊1): 167-170.

文章历史

收稿日期:2005-08-17

作者相关文章

杜彬
张旭
黄震春
范东璞

林业网格中的用户及数字证书管理
杜彬1 , 张旭2 , 黄震春1 , 范东璞2     
1. 清华大学计算机科学与技术系 北京 100084;
2. 中国林业科学研究院资源信息研究所 北京 100091
关键词: 林业网格    用户管理    数字证书    
User and Digital Certification Management in Forestry Grid
Du Bin1, Zhang Xu2, Huang Zhenchun1, Fan Dongpu2     
1. Department of Computer Sciences and Technology, Tsinghua University Beijing 100084;
2. Research Institute of Forest Resources Information Techniques, CAF Beijing 100091
Abstract: User and digital certification management plays an important role in the information grid system. It is the foundation of the authority management and security service invocation of grids and gives the basic support for grid portal and high level business process. In this paper, we put forward a framework for user management in forestry grid which coued support twodimension role management, digital certification management and security service call. User and digital management module for digital forestry grid has been implemented based on the framework, and it will offer very good support for user authentication and workflow in forestry grid.
Key words: forestry grid    user management    digital certification    

数字林业网格(DFG, digital forestry grid)也叫林业应用网格, 其研究目标在于配合国家数字林业建设, 针对林业与生态环境建设工程应用需求。结合网格的优点和大量的数字林业数据, 可以使各种分布式的资源更好地整合在一起, 并使用户和资源更好地协同工作。用户管理系统是应用网格中必不可少的组成部分, 是保证网格安全的基础。应用网格中成千上万的用户有着不同的身份、不同的权限, 他们在网格中的角色不同, 所允许的操作也不同(Foster et al., 2001)。如何保存和管理应用网格中的所有用户信息、权限信息以及数字凭证信息是用户管理系统所要解决的问题。权限控制对于应用网格门户和工作流系统提供了基本的支持, 数字证书管理包括证书的申请、签发和管理, 它提供了对用户身份的强认证, 以实现对网格服务的安全调用。

1 网格中的用户管理及数字证书 1.1 网格中的用户管理

应用网格中分布着多种多样的网格应用服务, 每个网格应用都对应有不同的服务对象(Foster et al., 2002), 用户管理系统通过对用户的创建、登录、授权等操作保证网格中的用户能访问自己有权访问的资源, 同时又不越权访问其他无权访问的资源。网格中用户管理系统的强弱直接关系到应用网格的易用性和安全性。

无论网格采取哪种使用方式, 都需要集中管理的身份标识(ID)基础设施。每一个用户都有自己唯一合法的标识符, 通过该标识符向网格表明自己的身份。用户需经过网格管理员的认可注册成为合法的网格用户并获得自己的网格标识符和数字证书。用户管理系统要能灵活的维护用户的基本信息、用户组信息、用户权限等。用户需要经过网格门户来登录网格, 并按照权限来使用网格上的资源, 通过数字证书来调用需要身份认证的网格应用服务。

1.2 用户的数字证书

数字证书是网格系统中的某个实体用来证明自己身份的一段信息。证书由可信任的认证中心签发, 有固定的格式, 并且有一定的有效时间。数字证书一般包含以下几部分信息: 1)认证中心名称——签发这个证书的认证中心的名称; 2)有效时间——这个证书有效的时间范围; 3)证书拥有者——拥有这个证书的用户或实体名称; 4)公钥信息——拥有这个证书的用户或实体的公钥信息, 进行双向认证时用来证明证书拥有者的合法性; 5)认证中心的数字签名——签发这个证书的认证中心的数字签名, 进行双向认证时用来证明证书本身的合法性。

创建一个有效的证书分为如下几步: 1)用户或资源的管理者首先创建用于身份鉴别的公钥、私钥和未签名的证书, 然后通过电子邮件或其他安全的途径把未签名的证书提交给认证中心; 2)认证中心收到未签名的证书后, 对用户或资源进行考察; 3)经考察合格后, 认证中心用自己的证书对未签名的证书进行签名, 然后把签名的证书通过电子邮件或其他安全途径返还给用户或资源管理者。

用户代理(user proxy)是一个由用户创建的临时证书, 由用户自己的证书签发, 一般生命期比较短。它被用户授权用于代替用户完成双向认证、提交作业、在工作流中以安全方式调用应用服务等工作。

一个完整的数字证书管理系统应该包括认证中心, 支持生成证书申请、签发证书、生成用户代理等一系列过程, 并提供方便的用户界面及管理界面。

2 林业网格中的用户及证书管理 2.1 林业网格特点

在数字林业网格中, 用户管理除了要满足一般网格项目中的需求以外, 还需要支持一些林业网格所特有的要求。

1) 分层次的权限管理  用户按照在网格中的不同角色而被分为多个用户组。每个用户组内设有管理员来管理组内用户的增删、权限维护等操作, 最高层的网格管理员可以修改所有网格用户的权限信息。每个用户组绑定一类具体的应用, 组内用户默认有权限访问此类应用, 一个用户根据所需访问的具体应用可以属于多个用户组。

2) 分区域的权限管理  林业网格中的资源有一个特有的属性就是地理位置, 网格中绝大部分资源, 如卫星图片、统计结果等都可以按照地理位置进行分类, 这就要求林业网格的资源可以按照区域的不同来进行限制。区域也按层次划分, 包含范围可以嵌套。一般用户在注册到网格的时候也有自己所属的区域, 默认只能访问此区域内的数据。如果需要访问其他区域内资源, 则需要向管理员临时申请。

3) 工作流  林业网格中的工作流系统整合了网格中的用户和具体服务资源, 使其能在正确的时间选择正确的人做正确的事情, 从而提高服务效率, 减少重复开发。在整合各个分散的服务时, 工作流引擎需要结合用户管理系统来与使用工作流的用户进行交互, 必要的时候还要使用用户的代理证书来对其他资源进行安全的访问。

2.2 用户管理系统特点

针对林业网格中的特殊需求, 本文在林业网格用户管理系统中设计了比较灵活的用户权限管理方法。

1) 二维用户权限管理  分2个维度来管理用户权限, 一个维度是根据用户所需的应用类型, 另一个是用户所在的区域。只有当用户有权访问此类应用, 并且其访问的资源在此用户有权访问的区域内时, 资源才能够被访问到。用户的应用类型由用户所在用户组判断, 用户的访问区域是用户的一个属性, 可以由管理员进行修改。

2) 灵活的权限分配  除了上面的二维用户权限管理以外, 林业网格用户管理系统还提供了更加灵活的权限控制能力。系统参考可扩展访问控制标记语言XACML(eXtensible Access Control Markup Language)的框架设计了自己的权限规则语法。管理员可以通过修改配置文件脚本来修改用户的访问权限规则。典型的访问控制和授权包括3个主要实体:主体、资源和动作以及一些其他属性。主体通过请求以得到对资源执行某种动作的权限。例如某用户请求查看某个区域的卫星数字图像, 这里的主体是这个用户, 动作是“查看”, 资源是“卫星数字图像”, 所查看的区域属于这个资源的一个属性。规则语法就是通过描绘主体、资源、动作、属性的逻辑关系, 来得到用户最终是否有权利对该资源进行此类操作。

3 林业网格中的用户及数字证书管理系统 3.1 用户管理整体结构

林业网格用户管理包括用户注册、授权、访问控制等主要功能。系统集中的管理所有网格用户的信息以及证书信息。整个用户系统向上层的工作流引擎和网格门户提供服务和API(应用程序接口), 使上层应用能够访问到用户信息, 查询用户权限。系统的整体结构如图 1所示。

图 1 用户与数字证书管理系统整体结构 Fig. 1 Structure of user and credential management system

用户系统主要向上层提供3类服务: 1)访问权限控制服务  提供访问控制服务, 接收用户ID、访问动作和访问资源ID, 返回用户是否有权访问该资源。决策点(decision point)通过策略脚本和用户信息经过逻辑计算而得到用户是否有权对相关资源进行请求动作。2)用户管理服务  提供增删用户、用户信息查询、管理员动态授权等服务, 主要用于网格门户和工作流系统获取用户信息、管理员修改用户信息、修改用户权限、修改权限脚本等操作。3)证书管理服务  主要以API的方式提供对证书的相关操作以及对服务进行安全调用。主要用于管理员对证书的签发、用户自身证书代理的签发以及对带有强安全检验的服务进行调用时使用。

3.2 用户证书的签发及使用过程

林业网格用户管理系统提供了对于数字证书的管理。主要包括对证书的申请、管理员对证书的审核签发、用户生成代理证书等。

整个数字林业网格有一个根证书, 对其下各个用户组签发用户组证书。最终用户的证书由用户组管理员通过用户组证书签发。用户在注册到网格系统时就被提示申请数字证书, 在填写了相关的证书申请信息后, 管理员会收到用户的证书申请, 经过审查合格后, 管理员用系统提供的工具对用户证书进行签发。图 2为申请证书的页面。

图 2 数字证书申请页面 Fig. 2 Digital certific apply page

类似的还有用户生成证书代理、管理员签发证书等页面。签发后的证书, 以及证书代理保存在用户的本地特殊目录中。

3.3 参考技术

OSUser是一个扩展性很好的用户管理框架, 它包括基本的用户信息管理, 用户组管理, 权限管理等功能。其底层的数据层可以通过XML(可扩展标记语言)配置使用不同的媒介, 包括数据库、文件等。本系统中的用户数据通过Hibernate的对象关系映射保存到关系数据库中。林业网格用户管理系统扩展了OSUser的权限管理, 使其支持二维的权限管理。

XACML提供了创建策略和规则来控制信息访问的机制。它创建了一种可移植的、标准的方式来描述访问控制实体及其属性, 并提供一种机制, 它能相比简单地拒绝访问或授权访问更加细粒度的进行控制访问。林业网格用户系统参考XACML, 简化设计了自己的用户访问权限控制脚本。

4 结论

林业网格中用户管理系统具有以下优点:

1) 对外提供了用户管理方面的网格服务以及API, 包括认证服务, 访问权限服务等。网格门户以及工作流引擎可以通过访问这些服务或API来获得用户的基本信息、认证以及权限信息。

2) 分层次、分区域的管理了用户的权限, 使得各个地区、各个等级的用户都能访问到权限允许范围内的资源。

3) 灵活的权限配置功能, 使得管理员可以方便的配置各个用户组的用户所能访问的权限, 可以实时修改用户组的权限范围。

4) 提供了完整的申请、签发、管理数字证书等支持。使得用户在注册到系统的时候就能方便的获得数字证书, 便于在网格中对服务进行安全调用。

5) 灵活的服务安全调用框架, 可以方便的配置安全调用策略。

整个系统除了上述优点以外还有一些待改进的部分。比如现在的用户管理属于集中式管理, 虽然在目前能够满足需要, 但随着用户数量以及网格节点的增多, 这种集中式的设计可能存在缺陷。下一步将实现分布式的用户管理, 用户信息按地域相对集中。目前的访问控制策略只是参考了XACML而并没有按照标准实现, 虽能满足现有需求, 但扩展性较差, 随着支持XACML的开源项目逐步完善, 这部分将会被替代成更加符合规范的实现。今后工作将着手于这2点加以改进。

参考文献(References)
Foster I, Kesselman C, Tuecke S.2001. The anatomy of the grid: enabling scalable virtual organizations.International J Supercomputer Applications
Foster I, Kesselman C, Nick J, et al. 2002. The physiology of the grid: an open grid services architecture for distributed systems integration.International J Supercomputer Applications