版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
企业信息门户中的多点访问系统
0企业信息门户在电脑设计建立之初,公司没有考虑不同子系统之间的通信问题。随着时间的推移,公司建立的信息系统越来越多。需要在多个应用程序系统之间集成应用系统的用户需要为需要在多个应用程序系统之间集成大量密码和密码,这很容易造成混淆。同时,频繁的登录操作还容易造成信息的泄露,这也将带来严重的安全隐患。对于管理者而言,需要维护多个用户数据库,管理繁琐。为了解决上述问题,引入了企业信息门户(EIP,EnterpriseInformationPortal)的概念。企业信息门户涉及用户界面集成、数据集成、业务流程管理以及单点登录系统等多个方面,其中首先需要解决的就是单点登录系统(SSO,SingleSignOn)的实现。作为用户而言,只需进行一次主动的身份认证,随后就能方便地访问所有被授权的数据资源而无需再次认证。作为管理者而言,只需维护少数几个信息数据库,从而提高了系统的可维护性和整体安全性。现有的SSO解决方案有微软的Passport、IBM的WebSpherePortalServer以及Liberty等。这些方案虽然都能够实现单点登录功能,但各系统分别有着不同的侧重点而且对系统架构有着严格要求。根据上述分析,本文提出一种更具灵活性和安全性的单点登录解决方案,能够根据Web服务应用耦合程度不同进行安全域划分,用户在某一域内跨站点访问数据时,采用Web应用间传递票据的方式进行认证;而用户如需要跨域进行访问数据时,则需要通过更严格的加密Cookie共享机制进行认证。这种动态认证策略既缓解了认证过程的复杂性,又保证了系统的整体安全性。1基于安全区域的个别登录模型1.1安全域划分方式安全和信任已成为Web服务的重要需求之一,针对这一问题,本文提出一种新的安全域概念。一个安全域中的Web应用必须是相互关联且相互信任的,在逻辑和管理意义上处于同一域,并且在同一个安全域内实施相同的本地安全策略。目前,安全域的划分方式主要包括按业务划分和按安全级别划分。企业信息门户系统的用户经常要求在多个相关的业务系统之间请求数据,最理想的办法是将现有系统按业务划分安全域,每个安全域承担相关的一类信息服务。这种划分方法对系统改动最小,划分形式最简单,最容易实施,同时又保证了域内访问的高效性以及跨域访问的安全性。1.2安全域流程现有的单点登录系统无论在灵活性还是安全性上都无法同时满足企业信息门户系统的现实要求,针对此问题在上述技术分析的基础上提出一种基于安全域的单点登录模型。根据请求访问同一域内的业务和请求跨域访问分别提出了两种不同级别的认证机制,模型结构如图1所示。由图1可知,基于安全域的单点登录模型主要包括企业信息门户,认证中心以及划分了安全域的众多业务系统。安全域是依据业务系统的服务类型划分的,而与各个业务系统的实际地理位置没有关系,图中将同域的各业务系统放置在一起只是逻辑意义上的,真正区别业务系统所属哪个安全域则是依据业务信息表中标注的安全域ID。2设计细节设计根据上述提出的模型,给出单点登录系统各模块的设计细节,主要包括企业信息门户和认证中心两大模块。基于安全域的单点登录分为单域登录、域内跨站点访问和跨域访问,分别给出其流程细节。2.1该系统各模块的设计详细2.1.1业务数据的链接企业信息门户对所有用户提供统一的单点登录入口和登录验证,并提供所有业务系统的链接。用户首次访问业务数据时会被要求向认证中心提供用户名和口令进行验证。其中,用户名被映射为一个能被所用应用系统识别的ID号,如果通过验证,就会返回用户请求的业务数据,而内部的验证过程对用户是透明的。2.1.2身份登录系统认证中心是整个系统的中心,具体由LDAP服务器,Cookie服务器和认证中心服务器组成。主要用于向用户提供注册服务,向所有业务系统提供认证服务,同时向用户提供统一的调用接口。对各服务器重要功能分析如下。(1)LDAP服务器LDAP全称为LightweightDirectoryAccessProtocol,是一个轻量级目录访问协议。该协议是基于X.500标准的,与X.500不同的是LDAP支持TCP/IP,这对访问Internet来说是必须的。LDAP实际上是一种特殊的数据库,与一般数据库不同,LDAP对查询进行了优化,特别适用于查询和更新操作密集型的服务。正因为如此,LDAP用于单点登录系统中用户信息的存储效率极高。认证中心每次得到认证请求后都要访问LDAP服务器中的用户信息表,具体如表1所示,根据用户当前信息判断用户的权限,从而决定是否对用户的请求授权。对于用户的每次访问,认证中心还要及时更新用户信息表中的动态表项,为下次认证提供依据。单点登录用户信息表记录了USER_LEVEL,根据用户的级别来裁定用户是否有访问某个业务系统的权限。用户的LOGIN_TIME用于记录用户首次登入系统的时间,根据当前时间和LOGIN_TIME进行运算得出的时差来判断用户是否仍在权限有效期内。而LOGOUT_TIME用于记录用户登出的时间,如果LOGOUT_TIME早于LOGIN_TIME则可以判定用户仍处于登入状态;反之用户已经登出系统,如需访问业务系统必须重新登录。TOKEN_ID是用户成功登录后系统分配的随机登录票据,是用于记录用户状态的唯一标识和凭证。TOKEN_ID会被存入认证中心的Cookie中,即使用户进行跨域访问业务数据,也有一种统一的办法获得此票据。LAST_SERVICE记录了用户访问的最后一个服务,当用户再次访问其他服务时此字段会被验证,用户每次注销后,LAST_SERVICE的值都会被清空。LAST_SERVICE将被作为外键和用户当前要访问的安全域业务表相关联,安全域业务信息表如表2所示。如果用户这次要访问的服务与上次访问的服务处于同一安全域,则会通过验证和授权。如果当前安全域的业务表中不包含上次访问的服务,则会通过查证Cookie服务器中的相应Cookie来进行更严格的验证。安全域业务信息表中,SERVICE_ID用于唯一标明业务服务,DOMAIN_ID用于区分此项业务服务属于哪个安全域。ACCESS_LEVEL规定了此信息服务的访问权限,对应于SSO_USER表中的USER_LEVEL,只有用户级别高于或等于本业务服务的ACCESS_LEVEL才能有权限访问。(2)Cookie服务器Cookie服务器用于生成和更新用户访问业务信息系统所产生的Cookie。Cookie通常是伴随着用户请求和页面响应在服务器和浏览器之间传递。在采用Cookie来保存用户浏览信息时,所有的信息都是存储在客户方,并且是以明文方式存放。这对于安全性要求很高的单点登录系统来说存在着严重的安全隐患,不能直接将普通的Cookie应用于系统设计。基于安全域的单点登录系统提出了一种能够提供跨域访问的加密Cookie解决方案。Cookie服务器中为每个安全域设置一个域Cookie文件,具体记录了所有用户对本安全域内业务信息系统的访问信息。其中应包含CookieID编号,作为Cookie文件检索的标识;安全域编号DomainID,用以表示属于哪个安全域;所有用户的访问信息,包括对应用户的IP、所访问的业务信息系统;还应包含Cookie的生成时间和有效期限。由于域Cookie用于保证用户能够获得跨安全域访问的授权,各安全域对相应Cookie的加密方式各不相同,都有自己的一对公开加密密钥和保密解密密钥。Cookie服务器在向客户浏览器发布摘要Cookie之前会使用产生此Cookie文件的安全域的加密密钥对其进行加密。而用户下次访问业务信息系统时会提供自己的Cookie文件,如果此安全域正是产生用户提供的Cookie的安全域,则业务系统能使用自己的解密密钥对其解密并获得其中的认证票据信息,否则无法对其解密。(3)认证中心服务器认证中心服务器能够接收来自各个安全域的认证请求,管理着用户的全局信息数据库,负责用户的登录,认证,授权和登出等操作。认证中心服务需要访问存放于LDAP服务器中用户表,以完成用户的登录验证。当某安全域向认证中心提出认证请求时,认证服务器会首先查看用户信息表,验证用户是否已登录,是否有访问此业务服务的权限,以及是否访问过同域的业务服务。当认证中心认定用户是以跨域的形式访问时,会向Cookie服务器提出验证请求,查找用户的访问记录。每次访问后,认证中心还要更新LDAP服务器和Cookie服务器中相应的数据。2.2基于安全区域的单次登录过程2.2.1门户系统认证用户在首次登陆系统时访问业务服务系统A1,其登录流程如图2所示。对其流程的详细描述如下。(1)用户首次访问安全域A中的业务服务系统A1,请求相应的数据。(2)业务服务系统A1并不马上对用户提供的Cookie进行解密(有可能用户根本就没有业务服务系统A1的Cookie),而是向认证中心提起认证请求。(3)认证中心通过查看LDAP服务器中此用户的信息表得知用户尚未登录系统,因此将告知门户系统未通过认证。(4)门户系统将登录页面返回给用户,要求用户提供用户名和密码等登录信息。(5)用户将输入的用户信息提交给认证中心,认证中心通过对比LDAP服务器中的用户信息得知用户是合法的。然后会更新用户信息表中的LOGIN_TIME为当前时间,并分配给用户一个随机TOKEN_ID。(6)最终,认证中心将认证结果与包含使用安全域A的公开密钥加密过的票据一同提供给业务服务系统A1。A1收到验证结果后会使用安全域A的解密密钥将票据解密,从中读取验证结果。(7)A1通过验证票据信息合法,决定向用户提供所请求的数据。与数据一同传递给用户的还包括这次数据访问经过安全域A的加密密钥加密的Cookie文件。(8)同时,A1还会更新认证中心的相关数据,这包括将LDAP服务器中最近访问数据的用户信息表中的LAST_SERVICE改为A1,同时将此次用户访问信息添加到Cookie服务器内安全域A的Cookie文件中,具体的内容应和传递给用户的Cookie文件完全一致。图2所示的首次访问流程过后,认证中心有了此用户的一次访问记录,而用户浏览器也有了一份加密的Cookie文件,其中包含了认证票据和当次访问的记录。这些信息都给用户再次访问安全域A中的其他服务提供了参考依据。2.2.2对用户隐私的破解假定刚访问过安全域A中业务服务系统A1的用户又要访问同一安全域中的业务服务系统A2,此次访问属于域内跨站点访问,具体流程如图3所示。对其分析阐述如下。(1)用户请求访问安全域A中的业务服务系统A2,并向其提供访问过A1的Cookie文件。(2)业务服务系统A2并不立即试图对其解密,而是请求认证中心认证用户的权限。(3)认证中心通过查询用户信息表中的USER_LEVEL字段的值得知用户有权限访问A2,并且上次访问过的服务为同域的A1,此时认证中心不必查看安全域A的Cookie文件,直接将授权用户访问的认证结果返回给A2。(4)A2收到认证中心的认证结果后仍会对用户提供的Cookie文件进行解密,从中获取票据,验证后向用户传递所访问的数据,同时传递此次访问服务的加密Cookie文件。(5)此后,A2还要向认证中心提交此次用户的访问信息,供认证中心更新数据。其中包括将用户的LAST_SERV-ICE改为A2,将传递给用户的Cookie文件内容更新到安全域A的Cookie文件中。经过此次访问,认证中心仍然只有用户对安全域A的访问记录,而用户的浏览器Cookie中也只有两次访问安全域A中业务服务的记录。由于不同安全域采用的安全策略的不同,这些信息都不能作为用户访问其他安全域的依据。2.2.3实现跨域访问用户已经成功登录SSO系统,并且成功访问了安全域A中的两个业务服务系统A1和A2。现该用户需要访问安全域B中的业务服务系统B1,这属于跨域访问,具体流程如图4所示。与域内跨站点访问相比,跨域访问的流程大体相似,只有某些步骤的实际实现方式的不同,并没有过于复杂的过程,也不涉及其他域,同时能够保证系统的安全性。由图4可知,跨域访问流程叙述如下。(1)用户请求访问业务服务系统B1,并向其提供Cookie文件(只能获取CookieID)。(2)业务服务系统B1向认证中心提起认证请求,并将用户提供的CookieID传递给认证中心。(3)认证中心首先查看LDAP服务器中该用户的信息表,得知用户已经登录系统,用户级别高于B1的访问级别。然后认证中心会通过用户提供的CookieID检索Cookie服务器中用户的访问记录,并将其通过安全域B的公开加密密钥而加密为一个摘要Cookie文件,其中包含有此次认证的票据和权限认证结果。最终,将生成的Cookie文件传递给业务服务系统B1。(4)业务服务系统B1用自身的保密解密密钥对收到的Cookie文件进行解密,从中得知认证成功。然后,会将用户请求的数据和包含本次访问记录的加密过的Cookie文件一同返回给用户。(5)之后,业务服务系统B1还会向认证中心提交此次用户访问的记录。认证中心会依此将用户的LAST_SERVICE改为B1,并将传递给用户的Cookie文件更新到Cookie服务器内的安全域B的Cookie文件中。依照上述流程,使用和域内访问相似的步骤就实现了跨域访问,与其他跨域访问的实现方案相比,认证快捷高效。同时,通过LDAP服务器和Cookie服务器进一步保证了认证过程的安全性。3关键技术和性能评价3.1webearth技术用户对任何业务服务系统的访问都需要获得认证中心的认证,否则没有权限获取所需数据。同一用户在不同业务服务系统中的权限是不同的,更不能任意进行跨域访问。所有这些权限的管理问题都是通过LDAP服务器中的用户信息和Cookie服务器中的Cookie文件进行管理的。系统中使用WebService技术对认证服务进行封装。WebService是一个独立的,基于标准的分布式组件技术。这是基于Internet标准和XML技术来实现的。WebService能在客户端和业务服务系统之间实现一种松耦合关系,通过XML/SOAP实现消息交换;WSDL对服务进行描述;UDDI对服务进行注册。根据系统需要,使用SOAP借助UDDI注册中心提供的接口发出服务请求。UDDI注册中心为WebService创建服务描述文件WSDL和获得服务入口地址,并返回给系统。描述文件包含对消息的数据结构,端口类型,通信协议的具体描述。3.2soap加密安全域本文将安全域的概念用于设计企业信息门户的单点登录系统,与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中生社会实践与志愿服务计划
- 山西省晋中市太谷区2023-2024学年九年级上学期期末化学试卷
- 九年级班主任工作总结报告
- 浙江省宁波市奉化区2023-2024学年六年级上学期英语期末试卷
- 互联网行业业务代表工作报告
- 2023年贵州省黔东南自治州公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2021年山东省淄博市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2024年内蒙古自治区包头市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2022年河南省许昌市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2024年河南省洛阳市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 综合管理部负责人(部长)岗位职责
- 肿瘤放射治疗技术-总论课件
- 人才培养方案汇报课件
- 检验科15项质量控制指标(检验科质控小组活动记录)
- 5S评分基准模板
- 外研社小学英语三起点五年级上册(中英文对照)
- 重大行政执法法制审核流程图
- 施工现场重大危险源公示牌
- 中国小儿急性上呼吸道感染相关临床指南的解读
- 苏教版二年级科学下册第3课《神奇的新材料》教学设计
- 中国传统图案纹样
评论
0/150
提交评论