Web 单点登录系统

对于企业内部系统来说,CAS系统是一个应用最广的开源单点登陆实现了,其实现模仿Kerberos的一些概念,例如KDC、TGS等等,都是来自于Kerberos。具体可参见 用CAS原理构建单点登录。互联网发展之后,多个网站需要统一认证,业界需要适合互联网的单点登陆技术。

2002年,微软提出了passport服务,由微软统一提供帐号和认证服务,理所当然,大家都不愿意受制于微软,但是很认同微软提出WEB SSO理念,于是产生了Liberty Alliance,另外指定一套标准,这套标准发展起来就是SAML(安全断言标记语言),已经被结构化信息标准促进组织(OASIS)批准为Web 单点登录的执行标准,目前SAML的版本是SAML V2。SAML连同Web单点登录共同构成了现代网络环境中的必备条件。

当今,越来越多的系统通过Web服务、门户和集成化应用程序彼此链接,对于保证信息安全交换标准的需求也随之日益增多。安全断言标记语言(Security Assertion Markup Language,SAML)提供了一个健壮且可扩展的数据格式集,在各种环境下交换数据和身份识别信息。SAML的出现大大简化了Web单点登录,并被结构化信息标准促进组织(OASIS)批准为Web SSO的执行标准。这里的一个关键概念是身份联邦,它可满足SAML的定义,也就是说可使用独立、受管理的多个信息来源中的信息。

Web安全方面最具挑战性的一个问题是维持一次无缝操作和安全环境时, 使各不相同的安全系统达到一体化。比如在电子商务活动过程中,经常需要通过网络来交换机密的资料或数据,因此,对于安全功能的要求十分严格。

OASIS建立的安全标准—SAML是基于XML(可扩展标记语言)、面向Web服务的架构。SAML通过互联网对不同安全系统的信息交换进行处理。

SAML是一种语言,进行单一的XML描述,允许不同安全系统产生的信息进行交换。通常来说,一个企业在物理或逻辑的范围已经界定了企业的IT安全;然而,由于在线合作需要共享更可靠的安全服务环境,因此IT安全越来越成为人们关注的重点问题。

SAML正是为解决网络安全性问题而发挥其作用。SAML在传统意义上的安全界定与商务站点之间建立了一种安全信息的交换渠道。SAML作为安全信息交换的“中间人”,促使一个站点上的交易业务能够在另一个信任的站点上得到处理完成。由此可见,实现交易双方商业协议或合作的一个先决条件,是要求使用SAML作为共享安全架构的一部分。

SAML在标准行业传输协议环境里工作,例如HTTP、SMTP和FTP;同时也服务于各种各样的XML文件交换框架,例如SOAP和BizTalk。SAML具备的一个最突出的好处,是使用户能够通过互联网进行安全证书移动。也就是说,使用SAML标准作为安全认证和共享资料的中间语言,能够在多个站点之间实现单点登录。

SAML是一种基于XML语言用于传输认证及授权信息的框架,以与主体相关的断言形式表达。在这里,主体是一个实体(人或计算机),这个实体在某个安全域中拥有一个特定身份,断言可传递主体执行的认证信息、属性信息及关于是否允许主体访问其资源的授权决定。针对以上不同目的,SAML提供以下几种不同类型的安全断言:

● 认证断言(Authentication Assertion):认证断言用来声称消息发布者已经认证特定的主体。

● 属性断言(Attribute Assertion):属性断言声称特定主体具有特定的属性。属性可通过URI(统一资源标识)或用来定义结构化属性的一种扩展模式进行详细说明。

● 决定断言(Decision Assertion):一个决定断言报告了一个具体授权请求的结果。

● 授权断言(Authorization Assertion):授权断言声称一个主体被给予访问一个或多个资源的特别许可。

SAML断言以XML结构描述且具有嵌套结构,由此一个断言可能包括几个关于认证、授权和属性的不同内在断言(包括认证声明的断言仅仅描述那些先前发生的认证行为)。

在2005年底,随着监控、移动设备、宽带业务以及应用安全领域的四家主要厂商通过了最后一回合的联邦身份互操作性测试,自由联盟(Liberty Alliance)公布了SAML 2.0。

SAML 2.0版在2005年3月刚刚被OASIS批准。Liberty Alliance的目的是让尽可能多的厂商把SAML加入到他们的产品线中。微软的Windows Identity Foundation(WIF)支持SAML令牌。

有一些互联网公司,拥有众多很多帐号,例如GOOGLE、YAHOO、Facebook,希望别人的系统使用它们的帐号登陆。他们希望一种足够简单的WEB SSO规范,于是选择一种草根网络协议OpenID。OpenID,名字取得好,顾名思义,一看就知道它是干嘛的。国内也有例如豆瓣网。openID的确足够简单,但是协议本身是不完善,可能需要一些补充协议才能够满足业务需求。例如GOOGLE采用OpenID + OAuth。目前支持OpenID有Yahoo、Google、Windows Live。

Open ID和SAML两种规范,都将会减少系统间交互的成本,我们提供Open API时,应该支持其中一种或者或两种规范。

时间: 2024-08-31 18:39:59

Web 单点登录系统的相关文章

LemonLDAP::NG v1.0.3发布 模块化的Web单点登录系统

Lemonldap::NG 是一个模块化的 Web  单点登录系统,基于 Apache::Session 模块.它简化了构建应用程序的保护区域.可管理认证和授权,可实现完全的 AAA 保护.LemonLDAP::NG 是在 Lemonldap 基础上完全重新,tar包中包含所需的所有组件,不过为 Lemonldap 开发的模块将无法在 LemonLDAP::NG 上使用. LemonLDAP::NG is an open source Web Single Sign On product (We

Web 单点登录系统 JA-SIG CAS

JA-SIG CAS(Central Authentication Service)为Web应用系统提供了单点登录服务.它的特性包括:一个开放和具有很好文档支持的协议:一个Java开源服务器组件:提供多种类型的客 户端包括Java..Net.PHP.Perl.Apache.uPortal等:能够与uPortal.BlueSocket.TikiWiki. Mule. Liferay.Moodle集成使用. -------------------------------------- 背景知识: 什

单点登录系统(SSO)详细设计说明书(下篇)

单点登录系统(SSO)详细设计说明书(下篇) 收藏   3.3输入输出要求解释各输入输出数据的类型,并逐项对格式.数值范围.精度等作出准确定义.对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出.状态输出及异常输出)以及图形或显示报告的描述. 3.4 流程逻辑      3.4.1注册流程图       3.4.2会员登录流程图       3.4.3 会员登出流程图           3.4.4 会员修改密码流程图         3.4.5 会员找回密码流

单点登录系统(SSO)详细设计说明书(上篇)

单点登录系统(SSO)详细设计说明书(上篇) 收藏 1.引言1.1编写目的              为了单点登录系统(SSO系统)的可行性,完整性,并能按照预期的设想实现该系统,特编写需求说明书.        同时,说明书也发挥与策划和设计人员更好地沟通的作用. 1.2背景          a.鉴于集团运营的多个独立网站(称为成员站点),每个网站都具有自己的身份验证机制,这样势必造成:生活中的             一位用户,如果要以会员的身份访问网站,需要在每个网站上注册,并且通过身份

单点登录系统CAS筹建及取得更多用户信息的实现

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为"中国PE第一股",市值超1000亿元.    ----------------------------------------------------------------------------

技术-java权限+单点登录系统做过的同学进来

问题描述 java权限+单点登录系统做过的同学进来 最近工作不忙,想自己搞一个权限+单点登录系统.权限大概涉及组织.职位.人.菜单.按钮等,所有通过单点登录的系统,都用这套权限. 有没有搞过的大神,java 用哪些技术实现?给指点指点.

求资源-使用cas集成shiro框架生成单点登录系统

问题描述 使用cas集成shiro框架生成单点登录系统 谁有使用cas集成shiro框架生成单点登录系统的源码,最好是spring方式的,急用,谢了. 解决方案 http://www.360doc.com/content/15/0129/15/21706453_444745343.shtml

SSO单点登录系统接入的例子

简单讲一下 SSO 单点登录系统的接入的原理,前提是系统本身有完善的用户认证功能,即基本的用户登录功能,那做起来就很方便了. SSO 登录请求接口往往是接口加上一个回调地址,访问这个地址会跳转到回调地址并带上一个 ticket 参数,拿着这个 ticket 参数再请求接口可以获取到用户信息,如果存在用户则自动登录,不存在就新增用户并登录. 比如这个 SSO 模型实现了两个方法,一个是获取接口 url,一个是凭 ticket 获取用户信息: PHP interface SSOLogin {    

mod_auth_pubtkt 0.7发布 Web单点登录工具

mod_auth_pubtkt 是一款用于http://www.aliyun.com/zixun/aggregation/14417.html">Apache的简单Web单点登录(SSO)的解决方案.它使用公钥加密算法(DSA或RSA)支持cookie所提供的客户端身份验证票证,只需登录服务器生成票证需要的私钥,Web服务器可以验证票证给定的公钥. mod_auth_pubtkt 0.7该版本公共密钥可以设置每个目录.登录网址现在是可选的,一个新TKTAuthBadIPURL选项已添加.此