OpenSaml

最近在看OpenSaml,发觉真是国内的资料太少,整理下自己的理解:

1. 单点登录:不同站点使用共同的认证平台,比如,sina weibo和Sina News,Sina News

2. 微软后来提出passport服务,由微软统一提供账号和认证服务,这就是Web SSO的理念。随着发展,SAML成为Web 单点登录的执行标准,目前是Saml2.0.

3.SAML安全断言标记语言:随着越来越多的系统通过Web服务、门户和集成化应用程序彼此链接,对于保证信息安全交换标准的需求也随之增多。

Saml提供了一个健壮且可扩展的数据格式集,在各种环境下交换数据和身份识别信息。

4. Saml的出现大大简化了Web SSO,并被组织化结构信息标准促成组织(OASIS)批准为Web SSO的执行标准。

一个关键概念是身份联邦,它可满足SAML的定义,也就是可使用独立、管理的各个信息来源中的信息。

5. 利用SAML构造的SSO模型:

在利用Saml构造的SSO模型中,安全认证机构采用SAML断言作为会话令牌,令牌中包含的用户凭证通常由安全机构进行数据签名,这样收到此令牌的网络服务可知令牌发行者的身份,解开令牌便可看到认证断言,从而间接认证了申请服务的用户身份。

在这种情况下如果用户再次申请别的网络服务,只需将SAML机构颁布给他的认证令牌出示给新的网络服务即可。

用户---》 安全认证机构  //1.认证请求

安全认证机构 --》 用户  //2.认证凭证/令牌

用户 --》网络服务  //3. 包含安全凭证/令牌的网络服务请求

网络服务----》用户  //4. 网络服务响应

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

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

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

9. SAML正式为解决网络安全性问题而发挥作用。Saml传统意义上的安全界定是与商务站点之间建立一种安全信息的交换渠道。

10. SAML作为安全信息交换的中间人,促使一个站点上的业务交易能够在另一个信任的站点上得到处理完成。

由此可见,实现交易双方商业协议或作为合作的一个先决条件是:要求使用Saml作为共享安全架构的一部分。

11. Saml在标准行业传输协议环境里工作,比如HTTP、SMTP、FTP,同时也服务于各种各样的XML文件交换框架,例如SOAP和BizTalk。

12. Saml具备了一个最突出的好处是:使用户能够通过互联网进行安全证书移动。也就是说,使用SAML标准作为安全认证和共享资料的中间语言,能够在多个站点中间实现单点登录。

13. SAML是一种基于XML语言传输认证及授权信息的框架,以与主体相关的断言形式表达。

在这里,主体是一个实体(人或计算机),这个实体在某个安全域中拥有一个特定身份,断言可传递主体执行的认证信息、属性信息及关于是否允许主体访问其资源的授权决定。

针对以上不同目的,SAML提供了一下几种不同类型的断言类型:

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

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

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

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

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

15. 2005年随着监控,移动设备,宽带业务以及应用安全领域的四家主要厂商通过了最后一回合的联邦身份互操作性测试,发布了SAML2.0

16. SAML 2.0工作原理:

联邦身份标准SAML2.0使网站能顾允许另一个域认证用户。

用户-- 网站 --- 本地联邦服务器-- 远程联邦服务器(LDAP JDBC...)--SAML断言 --- 用户 -- 本地联邦服务器--- 网站

解释:

一个用户试图访问网站,由于这个用户没有得到认证,网站将他的浏览器重定向链接到本地联邦服务器上。

本地联邦服务器将用户重定向到远程联邦服务器上,后者询问用户的身份。用户提供自己的用户名和口令。

远程联邦服务器利用其LDAP服务器验证用户。如果用户的证书得到验证,远程联邦服务器生成SAML断言,把断言嵌入在用户的浏览器中,然后将它交给本地联邦服务器。

本地联邦服务器提取SAML断言,创建一个用于该网站的会话cookie.然后本地联邦服务器将用户的浏览器引导到该网站。

17. 有一些互联网公司,拥有众多账号,比如Google、Yahoo、Facebook,希望别人的系统使用它们的账号登陆。

它们希望一种足够简单的WEB SSO规范,于是选择一种草根网络协议 OpenID。

OpenID,从名字就知道要干什么,国内也有类似的比如腾讯,豆瓣。OpenID足够简单,但是协议本身不完善,可能需要一些补充协议才能满足业务需求。比如Google采用OpenID+OAuth。目前支持OpenID的有Google, Windows live, Github;

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

参考:http://blog.csdn.net/shanyou/article/details/5372233

时间: 2024-10-11 00:00:50

OpenSaml的相关文章

CAS单点登录

1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO ). CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目. 1.2.  主要特性 1.   开源的.多协议的 SSO 解决方案: Protocols : Custom Protoc

cas协议,以及tomcat搭建cas服务器

1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO ). CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目. 1.2.  主要特性 1.   开源的.多协议的 SSO 解决方案: Protocols : Custom Protoc

CAS实现SSO单点登录原理

1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO ). CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目. 1.2.  主要特性 1.   开源的.多协议的 SSO 解决方案: Protocols : Custom Protoc

J2EE开发常用开源框架技术(转)

主要就我所了解的J2EE开发的框架或开源项目做个介绍,可以根据需求选用适当的开源组件进行开发.主要还是以Spring为核心,也总结了一些以前web开发常用的开源工具和开源类库 1持久层:1)Hibernate这个不用介绍了,用的很频繁,用的比较多的是映射,包括继承映射和父子表映射对 于DAO在这里介绍个在它基础上开发的包bba96,目前最新版本是bba96 2.0它对Hibernate进行了封装, 查询功能包括执行hsql或者sql查询/更新的方法,如果你要多层次逻辑的条件查询可以自己组装Que

转:Acegi Security

Acegi Security -- Spring下最优秀的安全系统 http://www.springside.org.cn/docs/reference/Acegi.htm 1. Acegi 介绍 2. Acegi 配置 3. Acegi 扩展 4. Acegi ACL使用 5. FAQ Acegi是Spring Framework 下最成熟的安全系统,它提供了强大灵活的企业级安全服务,如完善的认证和授权机制,Http资源访问控制,Method 调用访问控制,Access Control Li

What is CAS

1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO ). CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目. 1.2.  主要特性 1.   开源的.多协议的 SSO 解决方案: Protocols : Custom Protoc

基于SAML的单点登录介绍

http://blog.csdn.net/csethcrm/article/details/20694993 一.背景知识: SAML即安全断言标记语言,英文全称是Security Assertion Markup Language.它是一个基于XML的标准,用于在不同的安全域(security domain)之间交换认证和授权数据.在SAML标准定义了身份提供者(identity provider)和服务提供者(service provider),这两者构成了前面所说的不同的安全域. SAML

你真的了解JAVA中与Webservice相关的规范和实现吗?

非常多人在项目中使用Webservice,仅仅是知道怎样公布Webservice,怎样调用Webservice,但真要论其来龙去脉,还真不一定清楚. 一切一切还要从我们伟大的sun公司规范说起. JAVA 中共同拥有三种WebService 规范,各自是JAXM&SAAJ.JAX-WS(JAX-RPC).JAX-RS. 以下来分别简要的介绍一下这三个规范.针对JDK 1.6以下版本号,新的还没研究过 (1.)JAX-WS: JAX-WS(Java API For XML-WebService),

SAML - SSO(转)

http://baike.baidu.com/view/758527.htm?fr=aladdin SAML即安全断言标记语言,英文全称是Security Assertion Markup Language.它是一个基于XML的标准,用于在不同的安全域(security domain)之间交换认证和授权数据.在SAML标准定义了身份提供者(identity provider)和服务提供者(service provider),这两者构成了前面所说的不同的安全域. SAML是OASIS组织安全服务技