统一身份认证的集成解决方案研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 9卷 第 22期 2009年 11月
167121819 (2009) 2226861205
科 学 技 术 与 工 程
Science Technology and Engineering
Vol19 No122 Nov. 2009
Ζ 2009 Sci1 Tech1Engng1
这类应用服务系统的集成我们采取的方式是 代理 。不管什么应用 ,它们必须通过 H ttp Server来 向外提供 W EB 访问 ,比如 M icrosoft的 Exchange需 要 IIS ( Internet Information Service)才能运行 。采用 基于 Agent的技术统一身份认证可以解决这类问 题 [ 3 ] 。通过在 H ttp Server上安插拦截器来拦截被 保护的访问请求来达到集成的目的 ,这里称这种拦 截器叫做 W eb Agent。针对不同类型的 H ttp Server 的 W eb Agent的实现细节是不同的 ,但是他们提供 的功能是一致的 。针对“是否有自身的认证机制 ” 这一差异 ,下面给出两种集成方案 。
1 统一身份认简介
统一身份认证的功能主要是提供单点登录服 务 ( Single Sign2On)和会话管理服务 ,是企业 (或其 他部门 )信息化建设的重要基础 。通过统一身份认
2009年 8月 11日收到 第一作者简介 :刘维亭 (1966—) ,男 ,黑龙江牡丹江人 ,教授 ,硕士 生导师 。
随着面向用户需要安全保护的应用服务系统 不断增加 ,而用户面对的不同应用服务系统的安全 认证并不是采用统一的一套安全口令 ,这使得用户 在访问这些应用时变得越来越繁琐 ,并且必须记忆 多套安全口令 。统一身份认证服务从根本上解决 了这一问题 ,并且用户只需要进行一次认证就可以 实现在各个应用服务系统间的访问 。统一身份认 证系统与各应用服务系统的集成是实现统一身份 认证的关键一步 ,但是 ,由于各应用服务系统采取 的技术差异 (或结构差异 )使得将它们与统一身份 认证服务集成带来困难 。针对这一情况 ,在不同的 应用场景下 , 本文提出了几种可行的集成解决方 案 。由于实际应用中基于桌面的应用服务系统并 不多见 ,因此本文只讨论身份认证服务系统与基于 W EB 的应用服务系统的集成 。
二次开发 ,节省了集成的成本 ; ( 2)通过配置可以有 选择地拦截应用服务资源 ,提高了集成的灵活性 ; ( 3 )原来的应用服务系统安全性不会受到任何影响 (保留了原来的认证机制 ) ,保证了其原来的安全 特性 。
当然这种集成方案有一定的缺陷 : ( 1 )由于会 对应用资源进行拦截以检查合法性 ,这将加大 H ttp Server的压力 ,对原来的性能会有一定的影响 ,这是 必然的 ; (2 )必须考虑应用服务系统自身的认证机 制 ,需要对数据进行同步 。 2. 3 与特殊应用服务系统的集成
这种集成方案的优点是显而易见的 :能够处理
6864
科 学 技 术 与 工 程
9卷
高并发性的认证请求 。但是有着不可调和的矛盾 : 抛弃了 SSO 以及管理会话 。总的来说 ,这种应用场 景还是比较特殊的 ,不会存在很长的时间 (比如高 校选课不会有很长的时间 ) ,这种解决方案应该是 符合实际的需求的 。
实验采用 ICE 中间件技术开发的 ICE Server。 配置好 ICE Server,建立好与 AM 的通信并让它监听 在 2000端口上 。这里用一个简单的静态页面表示 被保护的应用服务 ,用以模拟可改造的应用服务 。
对于 Java应用 ,使用开发好的 Java版本的 ICE C lient,配置好与 ICE Server的通信 (配置 ICE Server 所在机器的 IP 以及监听的端口等等 ) , 通过创建 ICE C lient提供的认证管理器 ( Identity Manager)对 象就可以直接调用封装好的方法了 。用户访问时 其会话信息被保存在浏览器的 Cookie中 ,每次对受 保护资源的请求都会被要求检查 Cookie 中的会话 信息是否有效 ,这些繁琐的操作现在只需要认证管 理器对象就可以简单的实现了 ,不必考虑如何与身 份认证服务进行通信 。对于 ASP应用 ,其配置也是 一样的 ,只是认证管理器不像在 Java中那样创建 , 必须将其注册为 COM 组件 。注册成功后 ,就可以通 过操作认证管理器来保护受保护的资源了 。为了 测试集成是否成功 ,先访问集成好的 Java应用 ,被 定向到 Access M anager的认证界面 ,输入正确的用 户名密码认证通过后便顺利访问到了 Java 应用中 的资源 ;在浏览器未关闭的情况下 ,访问 ASP应用 , 这时直接进入而不需要进行认证 。显然 ,集成实现
图 4 与高并发认证请求应用服务系统的集成逻辑架构
图 4是身份认证服务与高并发认证请求的应用 服务的集成逻辑结构 ,实际上这种集成只是单纯的 认证集成 ,没有提供 SSO 服务和会话管理服务 。这 种集成 的 关 键 是 身 份 认 证 服 务 提 供 的 一 些 核 心 AP I,而不是身份认证服务本身 。如图 4 所示 ,通过 AP I函数 ,应用服务可以直接和 LDAP目录服务进 行通信 ,从而用户身份可以通过使用这些 AP I函数 直接进行认证 ,无需通过统一身份认证服务来进行 认证 。
2 集成方案
2. 1 与可改造的应用服务系统的集成 可改造的应用服务系统是指可以自由开发或
者容易对其进行改造的应用系统 ,这类系统一般采 取了开源的技术 ,不涉及到秘密技术 ,没有自己的 认证机制或者自身的认证机制容易改造 。针对这 类应用 ,我们可以采用基于面向对象的中间件 ICE 来提供一个认证服务接口 ,通过对外暴露一个端口 实现应 用 服 务 系 统 与 统 一 身 份 认 证 服 务 系 统 的
比较以上两种集成的方式 ,第一种集成方式是 比较简单的 ,这种方式下 ,当用户访问受保护的应 用服务系统时 ,W eb Agent会拦截用户的访问请求 , 并通过与统一身份认证服务进行通信来检查用户 的合法性 [ 3 ] ,如果用户已经经过了合法认证则允许 用户访问 ,否则用户被重定向到统一身份认证服务 进行认证后再访问受保护的应用服务 。而第二种 集成方式相对复杂一些 , W eb Agent不仅要检查用 户的合法性 ,还必须自动为用户到受保护的应用系 统的认证机制进行认证 ,这个认证过程对用户来说 是不可见的 ,整个过程用户只需在统一身份认证服 务认证一次 。这里将出现一个不可回避的问题 :由 于实际上进行了两次身份认证 ,两次认证用户是同 一身份 ,这就涉及到两个目录服务中的用户数据一 致的问题 。因此 ,第二种集成方案必须是建立在身 份认证的目录服务与受保护应用服务的目录服务 的数据同步的基础之上 。
与前面可改造的应用服务系统的集成方案不 同的是 ,本节提出的集成方案中认证模块不再嵌入 到应用服ห้องสมุดไป่ตู้系统的本身 ,因此不需要修改应用服务 系统的代码 ,并且认证模块靠向了 H ttp Server。它 突出的优点表现在 : ( 1 )现在大部分统一身份认证 服务产品厂商提供了这种 W eb Agent,不需要进行
在实际的应用中要与统一身份认证服务系统 集成的往往是一些公司的产品 ,这些产品一般不会 对外提供源代码 ,在设计这些产品时也没有考虑到 与第三方的统一身份认证服务系统的集成 。像这 样的系统一般情况下加以改造是非常困难的 ,但是 我们又不得不把它和统一身份认证服务系统集成 。 针对这类应用的集成 ,还有必要区分 ,是否有自身 的认证机制 。
统一身份认证的集成解决方案研究
刘维亭 肖 昶
(江苏科技大学 计算机科学与工程学院 ,镇江 212003)
摘 要 统一身份认证系统的目的是集成各种应用系统并实现统一身份认 。针对应用服务系统的特点 ,分别提出了三种集 成方案 ,基于 ICE中间件技术的认证接口的集成方式能很好地解决易于改造的应用系统的集成问题 ,而针对不易改造的应用 系统提出了基于代理的集成方案 ,最后提出了特殊应用场景下的集成方案 。 关键词 统一身份认证 统一身份认证集成 ICE中间件 代理 中图法分类号 TP315; 文献标志码 A
当然 ,这种集成解决方案有一定的局限性 : 被
集成的应用系统必须是易改造的 。如被集成的应 用系统改造困难 ,比如像 M icrosoft的 Exchange这样 的封闭的邮件服务系统 ,它有自己的认证机制 ,几 乎不可改造 ,或要付出相当高的成本 。显然 ,在这 种情况下 ,此集成方案失去了它的意义 。 2. 2 与不可改造的应用服务系统的集成
图 1展示了这种集成方案的逻辑架构 :
图 1 基于 ICE中间件技术的集成逻辑架构
通过 ICE 实现应用服务与统一身份认证服务 集成有如下优点 : (1) ICE是轻量级的消息交互中间 件 ,部署简便 ,可以有效解决网络负载方面的性能 瓶颈问题 。 ( 2)客户端类型丰富 ,能最大范围满足 异构应用服务集成的技术实现 。 ( 3)采用 SSL 进行 通信强加密 ,可以使客户端和服务器安全地进行通 信 。 (4)由于在 ICE架构中运用了对象模型 ,使用 XML 的对象自动持续 ,使其具有很高的运行效率 。 且可在接口中定义任意操作 ,所以在部署应用中可 以灵活运用接口来进行认证操作 。 ( 5)采用了标准 的 SL ICE规范接口语言和自带的 SL ICE编译器 ,其 开发不受开发语言以及操作系统平台的限制 ,同时 ICE是可移植的 , 同一源码能够在 W indow s、L inux 以及 UN IX 等不同的系统平台上编译和运行 ,这样 既改善 了 异 构 兼 容 性 , 还 降 低 了 开 发 难 度 , 易 于 实现 [ 1, 2 ] 。
6862
科 学 技 术 与 工 程
9卷
交互 。 ICE ( Internet Communications Engine)是一种现
代的面向对象的中间件平台 。它为构建面向对象 的客户端 /服务器 (C / S)应用提供了工具 、AP I和库 支持 ,客户端和服务器的开发可以使用不同的编程 语言 ,适用于异构环境 。它的优点是 : 客户端和服 务器可以分别运行在不同的操作系统和硬件架构 上 ;可以使用多种网络技术进行通信 ; 无论部署环 境如何 ,其应用程序代码都可移植 [ 1 ] 。
还有一种比较特殊的应用场景 ,比如某高校的 选课系统 ,特点是在短时间内会涌现数量巨大的认 证请求 。像这种高并发性的请求 ,如果采取普通的 集成方式 ,显然不能满足用户的需求 ,严重时将导 致身份认证服务系统当机 。为了解决这个问题保 证性能 ,只有放弃身份认证服务提供的 SSO 服务 , 也不再对用户会话进行管理 ,而是直接进行身份认 证 。下面就针对这种场景的集成进行说明 。
证的用户管理 ,有助于改变各信息化应用服务系统 松散 、孤立的管理方式 ,同时有效解决了用户身份 分散管理带来的安全管理问题 ,消除了用户多次登 录造成的不便 ,提高了用户可操作性 ,降低了信息 系统的管理难度 。
统一身份认证系统一般由用户身份数据中心 、 身份管理系统 ( IM Identity M anager) 、访问控制系统 (AM Access M anager)组成 。用户身份数据中心包 括目录服务器 LDAP (主要存储用户认证信息及权 限信息 )和数据库 (作为扩展来存储用户身份属性 信息 ) 。身份管理系统 ( IM )用来实现用户的身份信 息的维护 ,包括用户管理 、身份配给 、自动发现 、口 令管理 、权限管理等内容 。访问控制系统 (AM )主 要实现统一认证及单点登录 。
与自身没有认证机制的应用服务系统的集成 , 其集成逻辑架构见图 2。
图 2 与自身没有认证机制的应用服务系统的集成逻辑架构
22期
刘维亭 ,等 :统一身份认证的集成解决方案研究
68 63
与自身有认证机制的应用服务系统的集成 ,其 集成逻辑架构见图 3:
图 3 与自身有认证机制的应用服务系统的集成逻辑架构
3 实验
3. 1 实验环境 实验环境如下 :身份认证服务采用 Sun Java En2
terp rise System 2005Q4 中的 Access M anager, Access M anager已 经 升 级 至 Patch09, 运 行 在 RedHat AS 4U7 ( x86) ;开发好的 ICE Server以及 ICE C lient,客 户端包 含 Java 和 ASP 客 户 端 ; O racle App lication Server 10g Portal等等 。 3. 2 与可改造的应用服务系统的集成实验
相关文档
最新文档