单中国同学录 点 登 录 技 术(SSO)
解 决 方 案
目 录
一.SSO技术简介 1
1.1 需求分析 1
1.2 SSO介绍 2
1.3主要的实现技术 2
1.4主要产品 3
二.腾讯SSO分析 6
2.1 概述 6
2.2 技术分析 6
3.3辅助说明 10
三.CAS SSO分析 11
3.1 CAS体系结构 11
3.2 CAS基础运行模式 11
3.3 CAS代理模式 13
3.4辅助说明 15
3.5新浪SSO 16
四.可行性分析 17
4.1我司现状 17
4.2技术可行性分析 17
4.3安全性分析 21
4.4分析结果 22
1.1 设计概述 23
1.2 流程设计 24
1.3 SSO 服务端设计 26
1.4 SSO Client设计 27
1.5集成CAS SSO 28
六.异构系统SSO设计 31
一.SSO技术简介
1.1 需求分析
企事业经过多年的信息化建设,已经形成了一大批比较成熟的应用系统,其涉及的应用面覆盖了企事业的大部分生产或业务,政府部门包括办公系统,人事系统,财务系统、信息管理系统等,对于企业还有生产调度系统、劳资管理系统、设备管理系统、PDM或ERP系统等。 由于历史的原因,各应用系统在开发的初期都是独立进行的,造成了彼此之间操作上的割裂和数据之间通信的割断。每一个系统都需要用户输入用户名和密码才能登录。 随着业务的发展,企事业将来会增加到几十个应用系统在网上运行。尤其对于一些权限较高或是涉及业务较多的用户,如果每一个系统都需要他们进行密码的验证,那么用户使用系统的不便性是可想而知的。因此经常会有一些用户将多个系统设置成同一密码或是将记不住的密码写在纸上贴在桌子上,这样,对业务系统的访问存在着极大的安全隐患,使一些别有用心的工作人员有机会利用他人密码登录系统,进行非法操作,也会给发生重大事故后的责任追查带来困难。
并且随着企业内控要求的加强,需要企业内部应用系统加强密码管理,更换密码记不住密码变得经常发生。而系统管理员的也被拖入了繁琐的重置用户密码的工作之中,无形中增加了管理员的日常管理工作。
针对于上述情况,企事业单位需要建设一个单点登录平台,通过一次认证登录后就可访问所有有权访问的应用系统,避免频繁登录,并且能够保证用户身份的合法性和唯一性,对于应用系统的访问建立一套完整的安全防护和用户管理机制,以解决如下问题:
● 如何避免记忆多个密码?
● 如何避免频繁登录?
● 如何确保用户身份的唯一性,确保系统访问的安全性?
● 如何减少日常管理花费在用户上的时间?
● 剩余人生店如何为新建系统架构统一用户身份和认证平台?
● 如何对企业各应用系统的访问进行监控和跟踪,确保访问的安全性?
● 如何不更改用户应用程序的情况下实现上述需求?
● 如何在异构的环境中实现上述的需求?
1.2 SSO介绍
尘世佛心单点登录简称北京导航SSO,SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它无需用户记忆多个用户名、密码,也无需用户进行多次登录访问应用系统。成教本科
● 从用户角度来看,单点登录解决了他们记忆多个用户名、密码的烦恼,解除了使用多个应用系统必须进行多次认证的重复劳动。
● 从系统管理员来看,单点登录系统可以使他们从繁琐的账号密码管理工作中解脱出来,不必每天为用户重置密码而苦恼,使IT人员真正的发挥他们在单位中的作用。
● 从应用开发商角度来看,单点登录使他们不必再开发身份认证模块,从而可以把更多精力投入到具体业务流程开发中。
● 从企业管理角度来看,单点登录提高了员工的工作效率,减少了管理成本,提高了企业信息系统的安全性,也节约了后续开发系统的成本,提高了经济效益。
1.3主要的实现技术
(1)基于cookies实现,需要注意如下几点:如果是基于两个域名之间传递sessionid的方法可能在教师是园丁windows中成立,在unix&linux中可能会出现问题;可以基于数据库实现;在安全性方面可能会作更多的考虑。另外,关于跨域问题,虽然cookies本身不跨域,但可以利用它实现跨域的SSO。
(2)Broker-based(基于经纪人),例如Kerberos等; 这种技术的特点就是,有一个集中的认证和用户帐号管理的服务器。经纪人给被用于进一步请求的电子的身份存取。中央数据库的使用减少了管理的代价,并为认证提供一个公共和独立的"第三方"。例如Kerberos、Sesame、IBMKryptoKnight(凭证库思想)等。