电子政务信息资源目录服务体系设计
来源:CIO时代 更新时间:2012-04-14

 
  目前 ,国内电子政务的计算机体系结构、基础操作系统以及数据库都处于异构状态 ,政务信息数据资源很难形成集成化的数据服务 ,难以满足电子政务目录体系和基础信息资源库的建设目标 。要解决这个问题 ,就应该有一个可将各种不同的计算机体系、不同的基础操作系统和不同的数据库集成起来的软件技术。目录服务正可以为解决以上问题提供关键的技术、产品和解决方案。它的跨平台性可以解决各电子政务应用系统操作平台异构的问题。通过使用元目录工具 ,可以从现有的分布在各数据库异构的政务信息基础库中进行元数据采集、整合 ,生成元数据视图 ,将各专项元数据库纳入相应的专项目录数据库 ,从而在网络中形成大型的、统一的政务信息基础库。

  本文研究的目的是期望利用 LDAP读取速度快、扩展方便等特性 ,将用户基本信息、用户管理信息、电子政务目录资源信息以及用户对目录资源的访问权限等以目录树的形式加以组织存储 ,从而实现对用户的统一身份管理、统一身份认证、集中授权以及更好地提供政务信息资源的查询、检索和定位服务。对于信息系统 ,由于人们对世界认知的不同导致对同一现象和描述会侧重于对象不同的侧面 ,形成语义异构。所以 本文对 LDAP目录管理系统和本体有机地结合到电子政务目录服务系统构架内也作了一定的尝试。

  1 LDAP目录服务情况简介

  LDAP概况

  轻量级目录访问协议 LDAP(LightweightDirec2toryAccess Protocol)是从对 X. 500协议简化的基础上演变而来 ,所以称为轻量级的目录服务。LDAP从以下几方面对 X. 500协议做了简化和发展: (1)功能方面 ,缩减了 X. 500冗余的和使用频率较小的功能 ,可以说以极低的代价完成了 X. 500协议 90%的功能。 (2)数据表示方面 ,统一采用文本字符串形式 ,避免数据解释时可能导致的二义性。(3)编码上 ,仅采用 X. 500协议的一个子集 ———简单的编码规则 BER,节约了空间 ,而且大大简化了其实现。 (4)传输上 ,直接运行于传输层 TCP之上 ,减少了在 OSI通信协议中的高昂开销 ,不但提高了性能 ,而且使目录服务部署简单了。

  LDAP目录服务的特性

  目录服务中的目录对象可以代表管理系统中的组织信息、人员信息以及资源信息等。LDAP目录几乎可以存储所有类型的数据:电子邮件地址、DNS信息、NIS映射、安全性密钥等。如果需要专门的组织单元或项 ,则可以根据具体实现来定制控制给定字段可以保存哪种信息的规则。

  LDAP中目录是按照树型结构组织 ,主要优点如下:简单而通用;普遍存在 ,LDAP已广泛用于各种主流和非主流的计算平台;LDAP目录易于理解;

  由于 LDAP高可靠性和良好性能 ,LDAP目录服务能满足绝大部分重要的目录服务需求。如今 ,LDAP已经成为目录服务的事实上的标准。

  2 语义 Web和本体

  语义 Web是当前 Web的扩展 ,其中的信息被赋予定义良好的 (well2defined)含义 ,使计算机和用户能够更好地协作。本体是概念模型的明确的规范说明。通俗的讲 ,本体就是用来描述某个领域 (领域本体 )甚至更广范围 (通用本体 )内的概念以及概念之间的联系 ,

  使得这些概念和联系在共享的范围内有着明确唯一的定义 ,达成一种共识。这样 ,人、机器之间就可以进行交流。为了将目前无序的 Web改造成有序的计算机可理解的知识宝库,语义 Web采用多层次的表示框架,本体位于从文档描述到知识推理转折的位置。因此,本体的构建是实现语义 Web的关键环节。

  3 电子政务目录服务系统模型及流程

  设计并实现一个电子政务目录服务系统 ,使其具有可扩展性、跨平台性、安全性和超强的并行处理能力。整个系统包括三个部分:目录服务网站、认证授权与管理子系统、用于集中存放用户资料和目录资源的 LDAP服务。其具体框架如图 1所示。

图1

  目录服务网站负责用户的登录、以及 Web的应用等。LDAP服务是用户资料、目录资源集中存储和管理的基础 ,用于规划电子政务目录信息和用户管理信息;同时 ,利用 LDAP服务的访问控制策略 ,实现对用户的身份认证。角色认证和管理子系统在 LDAP服务的基础上为系统提供负责用户的认证和集中鉴权;对用户进行管理、授权;对目录资源进行管理。在系统管理中 ,通过 LDAP服务中对目录资源信息的访问控制

  列表定义用户的访问控制策略。当一个用户访问目录服务系统时 ,其各种应用流程如图 2所示

图2

  图注:

  ①用户使用登录名及口令登录电子政务目录服务网站; ②目录服务网站向认证角色服务请求身份认证;

  ③认证角色服务产生一个统一登录令牌,插入用户浏览器,同时,认证角色服务通过 LDAP服务进行用户身份认证;

  ④LDAP服务将身份认证信息及用户被授权访问的目录服务应用信息返回给认证角色管理服务;

  ⑤认证角色服务将用户令牌置为有效,并将用户有权使用的相应功能及个性化定制内容返回给电子政务服务网站;

  ⑥内容通过网站展现给用户浏览器;

  ⑦用户从网站页面点击进入自己有权限进入的某个具体应用;

  ⑧用户请求发送给 LDAP服务;

  ⑨LDAP服务将用户有权限操作的内容发送给网站;

  ⑩用户通过自己的浏览器接收网站发送的内容。

  当在目录资源节点上注册目录信息时 ,用本地本体描述的元数据信息经过本地本体到通用本体的转换后 ,统一用通用本体描述 ,然后注册到 LDAP元数据信息库中。注册过程分两步完成:首先调用LDAP的查询功能扫描目录信息树 ,确定被注册的本体概念在信息树中的位置;然后调用修改功能 ,根据注册信息 ,填写信息树中相应条目的属性值 ,完成注册。这样 ,来自不同节点的本体概念就以通用本体的形式被统一组织存储到信息库中 ,对用户呈现出一个虚拟和单一的语义资源。用户检索数据时 ,首先通过检索通用本体信息树 ,命中后调用读取功能 ,从目录节点中获取本体概念的状态和地址 ,然后由地址和状态从相应的节点中读取数据返回给用户。如农业部门和林业部门 ,对亚热带丘陵山地的

  分类 ,林业部门将其划为宜林地 ,而农业畜牧部门将其归类为草山草坡。在对宜林地这个关键词进行查询时 ,通过先检索通用本体目录 ,然后检索林业部门信息树 ,同时检索出农业部门定义的草山草坡关键字的目录。通过这种方式 ,能扩大用户的搜索范围和命中率 ,提高检索速度 。

  4 LDAP服务模型设计与实现

  信息模型设计

  LDAP把对象类、属性类型、语法和匹配规则统称为 schema。这些系统 schema在 LDAP标准中进行了规定 ,不同的应用领域也定义了各自不同的schema;同时 ,用户在应用时可以根据需要自定义schema. RFC2798,定义了一个名为 Inetorgperson的常用信息。根据实际应用 ,已有的属性所能表示的信息是不够的 ,标准的属性只是为记录用户信息的典型的目录服务而提供的 ,要将其扩展到满足更广泛的对基础信息的管理,就需要对 LDAP的 schema进行一些补充设计。本文运用 LDAP的模式扩展来定义用户和角色、权限、目录资源 (本地本体 )、通用本体。

  用户信息类定义 ,类名: userPeople,包含属性:uid,mail,password, roleId, userName;

  角色信息类定义 ,类名: role,包含属性:roleId, roleName,powId;

  权限信息类定义 ,类名: action,包含属性:actionId, actionName;

  目录信息类定义 ,类名: catalog,包含属性:Title, pubDate, abstract, orgName, beginDate,endDate, resId, metClass。

  通用本体类定义 ,类名: agrwood,包含属性:name(本体名 ) , ID (本体标识符 ) , other(属性列表 ) , state(本体概念状态 ) , source(本体地址 )。

  LDAP的目录树设计

  LDAP 上以目录信息 (Directory InformationTree,简称 DIT)为存储方式的树型存储结构 ,目录信息树及其相关概念构成了 LDAP协议的信息模型。DIT由条目 (entry)构成 ,每个条目具有若干个属性 (attribute) ,每个属性可以有多个值 (values)。条目由相对识别名 RDN (Relative DistinguishedName)来标识 ,RDN和它所有祖先节点的 RDN按从上到下的顺序串连起来 ,就是它的识别名 DN (Dis2tinguished Name) ,DN用来唯一标识一个条目。电子政务目录系统中的目录信息包括两个方面的信息:用户信息和应用系统信息 ,每个合法用户 ,对应着 LDAP目录信息树的一个节点。节点的属性包括这个人的身份信息以及一些在认证机制中用到的控制信息。当每个用户登录时 ,根据这些信息决定用户是否可以使用该服务 ,决定每个节点应具有哪些属性 ,以及这些节点怎样组织成一个结构合理的目录信息树 ,是目录设计的目标 ,也是该系统设计的关键。图 3给出了系统的目录树设计。

图3

  安全模型设计

  LDAP安全模型设计包括 LDAP认证与授权两部分。

  认证

  LDAP目录是基于客户 /服务器模式的。访问目录服务 ,LDAP客户端必需告诉 LDAP服务器他的认证。例如在服务器上认证自己的身份 , 一旦客户端的身份确定了 ,服务器可以根据他的身份决定他可以访问哪些资源、应用和服务等。这个过程被称为授权 ,或者访问控制。因此实现 LDAP的安全 ,认证和授权是两个主要方面。此外 ,LDAP安全的其它方面是客户端和服务端的通信方式。在 LDAP中 ,认证信息是通过“bind”操作提供的, bind操作的功能是在客户端和服务端进行协议会话的初始化 ,并允许客户端的认证信息到达客户端 ,这个通信过程中也存在一些安全漏洞 ,需要加强安全措施。

  授权

  授权就是对已认证用户的访问控制 ,由访问控制列表 (access control list)决定访问控制 ,通过不同的目录服务器提供对访问控制列表配置和实现。在目录信息树中维护 ACL,ACL中存储了一系列的访问控制指令 ,这些指令作为一种必备属性加载到目录信息树对象上。这些属性分为:只读、写 ,查询 ,比较 ,写自己 ,增加 ,删除等 ,访问控制指令是分层的 ,底层的访问控制指令比高层的访问控制指令具有更高的优先级。

  安全设计

  在本文的设计中 ,对电子政务目录资源信息的访问控制通过权限、角色及用户组与用户关联。其中 ,权限是对 LDAP中目录资源进行访问的许可 ,它定义了对一组目录资源信息的访问策略 ,用一个二元组来表示: (控制对象 ,访问类型 )。用户通过加入用户组或被赋予一定的角色得到相应的权限 ,即对一组目录资源信息的访问策略。

  5 功能接口实现

  在功能实现方面 ,本文主要定义了三个接口。

  连接 LDAP服务接口

  它完成了 LDAP协议中定义的六种客户端操作:用户对 LDAP服务器的绑定 /认证、在目录中查询目录项、读取目录项的属性、向目录中添加目录、修改已存在的目录以及删除目录。

  权限认证接口

  主要根据对用户、用户组、角色、权限及目录资源等逻辑对象 ,分为 userPeople, role, action、catalog等包。分别完成各个逻辑对象的各种方法的实现。

  交互接口

  应用程序通过该接口处理前端传来的参数变量 ,通过权限认证接口调用 LDAP连接接口实现目录操作并分析和返回结果。

  6 结束语

  由于 LDAP所具有的查询效率高、树状的信息管理模式和灵活的访问控制 ,将 LDAP用于电子政务目录管理可以大大提高访问速度,同时增加了数据的可靠性和安全性。由于电子政务目录服务系统在全国还没有一个统一的标准 ,所以本系统的开发必将有很高的利用价值。