单点登录技术在SAP-ERP中的应用

2013-10-15 07:38
计算机与现代化 2013年11期
关键词:身份验证用户名单点

张 政

(中国广核集团有限公司信息技术中心,广东 深圳 518026)

0 引言

企业信息化建设涉及办公系统、人事系统、财务系统、CRM系统、SRM系统、设备管理系统、信息管理系统等,由于各应用系统之间割裂或者数据之间通信的割断,每一个系统都需要用户输入用户名和口令才能登录,增加了工作人员使用信息系统的不方便性和操作的复杂性。因此经常会有一些用户将多个系统设置成同一口令或是将记不住的口令写在纸上贴在桌子上,这样应用系统的终端接入存在极大的安全隐患,使一些别有用心的工作人员有机会利用他人密码登录系统进行非法操作,给发生重大信息安全事故后的责任追查带来困难。面对用户的重复登录、系统管理员繁琐的账号管理工作和系统设置工作,单点登录技术提供了解决方案,它能够在多个应用系统中,使得用户只需要登录一次就可以访问所有相互信任的应用系统,这种技术是目前比较流行的企业业务整合的解决方案之一。

1 单点登录技术

所谓单点登录技术(SSO)是当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据——ticket;用户再访问其他应用的时候就会将这个ticket带上,作为自己认证的凭据,应用系统收到请求之后会把ticket送到认证系统进行校验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用其他系统[1]。

目前,国外支持身份认证的产品已经很多,如SUN的 Liberty Alliance(自由联盟)协议、微软的Passport和 MIT的 Kerberos协议。

(1)Liberty协议[2]是基于 SAML(Security Assertions Markup language,安全断言标记语言)的开放协议,主要面向Web应用的统一身份认证。Liberty协议的核心思想是身份联盟,各Web应用系统保留原有的身份认证机制,不同的应用系统之间建立身份映射表,当用户通过某一站点的身份认证后,该认证站点会把用户重定向到与其有关联的合作站点,合作站点通过身份映射表查询身份信息进行登录,从而达到单点登录的目的,在不同站点间传递的用户认证票据是通过重定向或Cookie的方式实现的。

(2)Passport[3]是微软提供的用于统一身份认证服务的公共Web Service,以Cookie的形式存储个人票据及Profile(配置)信息,由Passport服务器负责统一的身份认证,登录用户一旦通过认证后,就可访问所有合作站点,无需多次登录。Passport的具体流程是用户进入 Web页面,输入用户名、口令;Passport服务器对用户名、口令进行认证,并以Cookie的形式向用户发送认证票据,将用户重定向到要访问的Web站点;Web站点收到认证票据后,认证身份信息。Passport通过运用重定向机制和Cookie,实现了单点登录和统一身份认证服务。

(3)Kerberos[4]身份认证协议是目前较为成熟且相对著名的一种身份认证机制,它是一个可信的第三方认证协议,它使用对称密钥加密方式,主要通过密钥分配中心分配的票据进行身份认证,用户获得票据后,若要访问其他的应用服务时,无需再次提供身份认证信息,因此可以利用该协议来实现单点登录和统一身份认证。Kerberos系统主要由用户端、服务器端、密钥分配中心、认证服务器、票据分配服务器、票据和时间戳等几个部分组成[5]。

目前在企业内部,都是将Windows域作为系统的唯一入口,没有单独的一个身份认证系统,所以使用集成Windows域身份验证这种安全的验证形式是比较常见的做法。集成Windows域身份验证是一种安全的验证形式,因为在通过网络发送用户名和密码之前,先将它们进行哈希计算。当启用集成 Windows域身份验证时,用户的浏览器通过与Web服务器进行密码交换(包括哈希)来证明其知晓密码[2]。

Windows域身份验证对客户端进行身份验证过程:

(1)与基本身份验证不同,集成Windows域身份验证开始时并不提示用户输入用户名和密码。客户机上的当前Windows用户信息可用于集成 Windows域身份验证。

(2)如果开始时的验证交换无法识别用户,则浏览器提示用户输入 Windows域用户名和密码,并使用集成Windows域身份验证进行处理。

(3)Internet Explorer将继续提示用户,直到用户输入有效的用户名和密码或关闭提示对话框为止[6]。

Windows域可以用来管理企业内部的人员信息,使用的协议是 LDAP,LDAP是轻量目录访问协议(Lightweight Directory Access Protocol, LDAP)。LDAP是一种得到关于人或者资源的集中、静态数据的快速方式,一种用来发布目录信息到许多不同资源的协议。LDAP目录服务在统一身份认证系统平台的架构中所应用的核心技术,其实质是通过存储管理、权限管理以及认证管理等功能,并使用目录服务技术来协助完成用户身份信息认证[7]。

在了解相关基本知识以后,需要了解SAP门户(Portal),Portal它的目标就是整合企业所有的信息资源,为用户提供一个集成、统一的访问点[8]。SAP的优势就是它的Portal可以更好地和它旗下的各种ERP还有商业智能(BI)结合起来,以实现统一性和便捷性。SAP Portal包括3部分,分别是Portal、KM、Collaboration[9]。Portal用来集成各种内容,KM(Knowledage Management)是知识管理,Collaboration是协作。SAP Netweaver的架构图[10]如图1所示。

图1 SAP Netweaver架构

2 SAP Portal集成Windows域验证实现单点登录

SAP Portal系统单点登录的实现方法有2种:SAP Logon Ticket(SAP登录票)和User Mapping(用户映射)[11]。

SAP Logon Ticket策略是采用存放在用户浏览器端的Cookie来实现认证信息的存放。一旦在浏览器中存放了Cookie以后,Cookie会随着用户访问Portal中的各个业务系统转发到各个后台系统中,但这里有个前提,就是Portal和各个后台系统是分布在同一个域里面的。当后台Web应用获取到Cookie信息以后,它必须知道如何来处理认证信息。如果后台是SAP系统,那么两者的集成是有先天的优势的,SAP系统之间已经内建了相互的认证机制,可以很方便地解析这些加密的认证信息。如果是non-SAP系统,SAP也提供了多种可以处理加密认证信息的工具和管理 SAP Logon Ticket Cookie的框架[12]。其策略优点:降低企业IT系统的维护成本:使用SAP Logon Ticket后,后台系统完全“信任”SAP Portal的认证信息,Portal不在Cookie中传递用户的密码给后端Web应用。所以后端系统就不需要手工管理用户密码,也不需要在各个业务系统之间同步密码,大大降低了系统的维护成本。

SAP登录票据代表着用户的有效令牌,它在用户成功登录Portal之后产生。它是以Cookie的形式存在于客户机的浏览器端,客户机的每一次请求都会被发送。SAP登录票据存储了登录用户的验证信息,但是并不存储用户的密码。SAP Logon Ticket包含以下信息:有效期、发布系统、发布系统的数字签名、Portal ID、User ID。

图2 Logon Ticket方式实现登录过程

Logon Ticket方式实现登录过程如图2所示,登录流程如下:

(1)用户凭用户名、密码登录Portal,Portal用户管理引擎在存储用户的数据库或LDAP服务器上验证用户的登录信息。

(2)验证成功后,Portal生成票据(Logon Ticket),并存储到用户的浏览器的Cookie中。

(3)用户凭票登录SAP或非SAP系统、SAP系统和某些非SAP系统提供Logon Ticket的解析机制,某些不提供Logon Ticket解析机制的非SAP系统需要编程来解析出用户名,并到自己的用户中去查询是否有这个用户,如果有这用这个用户登录,若没有,则登录失败,显示登录界面。

User Mapping(用户映射)是另外一种单点登录的实现方式,其策略是Portal服务器向后台系统传递用户名和密码,从而完成登录信息校验过程[12]。当连接到Web应用系统时,用户映射意味着通过请求的POST或GET方法传递用户名和密码。有2种主要的用户映射实现方法:单独的用户映射和一般的用户映射。单独的用户映射中每个Portal用户被指定到一个唯一的后台系统用户。用户自己或管理员都可以完成指定。一般的用户映射中多个用户被映射到一个后台系统的用户。用这种方法时,为了避免多个用户用同一个后台系统用户而产生冲突,通常由管理员来维护用户名和密码的映射。

用户映射的好处和优点:

(1)最小的技术调整:只要后台系统能从请求中接受用户名和密码,就不需要在后台系统上做任何配置。在Portal端,也只需很少的配置,只需要创建一个系统对象并选好用户映射类型(“UIDPW”代表用户名和密码)。

(2)简化后台用户管理(用一般用户映射时):用凭票方式实现单点登录,需要后台系统管理所有可能登录进该系统的用户。这可能需要在后台系统中创建成千上万个与Portal系统对应的用户。在 User Mapping单点登录这种情况下,用后台系统中的几个一般性的用户来代表几种不同访问权限,而不需要为每个Portal用户建立单独的用户将更方便。

2.1 单点登录配置

单点登录配置过程如下:

(1)以管理员身份登录SAP Portal进入系统管理页面,调整用户信息的存储方式,由原来的SAP数据库切换到LDAP数据源(如图3所示)。

图3 数据源修改

(2)修改完成数据源以后,需要添加域服务器的信息,并修改SAP Portal服务器信息。例如:域服务器地址、端口、通讯用户名、通讯用户密码、用户的目录结构、用户组的目录结构、连接池信息、缓存信息、需要冻结的账号信息等信息(如图4所示)。

图4 修改配置信息

(3)进入System Management页面关联 Windows域服务器地址信息(如图5所示)。

图5 关联Windows域服务器

(4)登录Portal服务器修改默认的登录验证方式为自动验证(如图6所示)。

图6 修改登录验证方式

(5)在域服务器上面创建通讯用户(如图7所示)。

图7 创建用户

(6)使用 Windows dos命令注册通讯用户[13](如图8所示),再将产生的KEYTAB文件导入到Portal文件系统中。

图8 用户注册

完成上述配置信息以后,重新关联SAP Portal权限和用户信息,然后重新启动SAP Portal服务器,完成配置。

3 结束语

通过对LDAP、Kerberos服务技术的研究,实现了统一认证管理,能便捷地管理用户信息,将认证功能交给Kerberos,节约系统资源,提高工作效率,可以满足网络日益扩张的需求,随着目录服务技术的不断发展和认证技术的不断完善,保证了系统的良好持续发展。

[1]张苗苗.单点登录和统一身份认证的研究与实现[D].太原:太原科技大学,2013.

[2]Jan De Clercq,Guido Grillenmeier.Microsoft Windows Security Fundamentals:For Windows 2003 SP1 and R2[M].Digital Press,2011:26-28.

[3]黄宝君.基于Web Service的单点登录系统的设计与实现[D].北京:北京交通大学,2012.

[4]Boldyreva A,Kumar V.Provable-security analysis of authenticated encryption in Kerberos[C]//IEEE Symposium on Security and Privacy.2007:92-100.

[5]Garman J.Kerberos:The Definitive Guide[M].O’Reilly Media,2010.

[6]薛质,王轶骏,李建华.Windows系统安全原理与技术[M].北京:清华大学出版社,2005.

[7]Pohlman M.LDAP Metadirectory Provisioning Methodology:A Step by Step Method to Implementing Ldap Based Metadirectory Provisioning&Identity Management Systems[M].iUniverse,2003.

[8]Gmelch O.User-Centric Application Integration in Enterprise Portal Systems[M].Josef Eul Verlag GmbH,2012.

[9]Woods D,Mattern T.Enterprise SOA:Designing IT for Business Innovation[M].O’Reilly Media,2008.

[10]Nicolescu V,Klappert K,Krcmar H.SAP SNetWeaver Portal[M].Galileo Press,2007.

[11]Jay R.SAP NetWeaver Portal Technology:The Complete Reference[M].Mcgraw-hill,2008.

[12]Naoum J.Sap Logon Ticket[M].Duc,2012.

[13]Balladelli M,Clercq De J.Mission-Critical Active Directory:Architecting a Secure and Scalable Infrastructure[M].Digital Press,2001.

猜你喜欢
身份验证用户名单点
《护士进修杂志》投稿程序
《护士进修杂志》投稿程序
历元间载波相位差分的GPS/BDS精密单点测速算法
《护士进修杂志》投稿程序
超薄异型坯连铸机非平衡单点浇铸实践与分析
机智的快递员
数字电视地面传输用单频网与单点发射的效果比较
16吨单点悬挂平衡轴的优化设计
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
身份验证中基于主动外观模型的手形匹配