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时,应该支持其中一种或者或两种规范。
Claims Based Identity & Access Control Guide
Yale CAS + .net Client 实现 SSO(1)
Yale CAS + .net Client 实现 SSO(2)
Yale CAS + .net Client 实现 SSO(3)
Web 单点登录系统相关推荐
- Web 单点登录系统 JA-SIG CAS
JA-SIG CAS(Central Authentication Service)为Web应用系统提供了单点登录服务.它的特性包括:一个开放和具有很好文档支持的协议:一个Java开源服务器组件:提供 ...
- WEB服务在单点登录系统中的应用研究
WEB服务在单点登录系统中的应用研究 转载于:https://blog.51cto.com/hnoas/105573
- SON Web Token设计单点登录系统
2019独角兽企业重金招聘Python工程师标准>>> 上次在<JSON Web Token - 在Web应用间安全地传递信息>中我提到了JSON Web Token可以 ...
- 单点登录系统实现基于SpringBoot
今天的干货有点湿,里面夹杂着我的泪水.可能也只有代码才能让我暂时的平静.通过本章内容你将学到单点登录系统和传统登录系统的区别,单点登录系统设计思路,Spring4 Java配置方式整合HttpClie ...
- cas java单点登录_java单点登录系统CAS的简单使用
http://blog.csdn.net/yunye114105/article/details/7997041 参考: http://blog.csdn.net/diyagea/article/de ...
- 互联网分布式微服务云平台规划分析--SSO单点登录系统
介绍 鸿鹄云架构[SSO单点登录系统]为所有微服务提供统一的用户认证服务,系统本身属于微服务模式,使用JWT+Redis分布式存储方案,确保不同微服务.系统之间的安全通讯和统一用户校验.认证.在整个服 ...
- cas client 更新ticket_有人知道 cas单点登录系统是怎么样取得proxyticket的?
展开全部 CAS 原理和协议 从结构上看,CAS 包含两个部分: CAS Server 和 CAS Client.CAS Server 需要独立部署,主要负责62616964757a686964616 ...
- 单点登录系统中如何共享cookie
使用cookie的两个属性 domain-域 通过设置这个属性可以使多个web服务器共享cookie.domain属性的默认值是创建cookie的服务器的主机名.不能将一个cookie的域设置成服务器 ...
- CAS实现的单点登录系统
单点登录(single sign on ),简称SSO. 纯属学习用,对来自网络的部分如果侵害了您的权力,请联系我.QQ:262800095 SSO的定义是在多个应用系统中,用户只需要登录一次就可以访 ...
最新文章
- Inception GoogLeNet
- div+css中设置了float属性后如何让外层的高度随着内层的高度大小自动调整
- hive sql练习_经典的SparkSQL/Hive-SQL/MySQL面试-练习题
- numpy.random随机数模块常用函数总结
- 天枰称重 (枚举法|进制转换逢十进一模版)
- 操作系统就是虚拟机--主内又主外
- matlab差分法解拉普拉斯方程,拉普拉斯方程有限差分法的MATLAB实现
- 产品经理的职业生涯规划
- ROS学习-1 (部分基础命令和使用命令记录并复现海龟运动过程)
- ESP8266 MP3制作——esp8266联网
- canal 记录 数据变更类型 QUERY ROWDATA INSERT xxx XXXXX
- 第 09 章 基于特征匹配的英文印刷字符识别 MATLAB深度学习实战案例
- 企业宣传720vr全景展示优化网上营销体验
- 橙汁的面试经验汇总(百度、平安壹钱包、诺瓦、快手、bigo、海信、奇安信、小米、迈瑞医疗、顺丰、网易互娱、多益游戏、京东、穆迪)
- 如何监控Redis性能指标(译)
- 12、FPGA程序的固化和下载
- CStdioFile open失败 错误码123
- 数据中心产业怎样实现绿色环保?
- EA以7.5亿美元收购植物大战僵尸开发商PopCap
- 外设测试 - CAN 接口测试
热门文章
- mysql删除了密码怎样恢复_window 下如何恢复被删除的mysql root账户及密码(mysql 8.0.17)...
- 校园计算机故障解决方论文法,计算机故障与处理-计算机专业毕业论文.pdf
- mysql 删除视图 命令_在MySQL中,删除视图使用(????)命令。
- oracle schema_Oracle数据库坏块检查与修复
- linux内核微妙时,Linux内核模块时间同步函数汇总
- 点击php文件显示下载文件,求助 为什么编的下载文件代码,打开后下的全是php文件...
- vue 过滤器 格式时间秒数,js 时间日期格式化
- 用CMake编译运行在网上下载的源文件src
- TCP 滑动窗口协议
- 深入理解MySQL的外连接、内连接、交叉连接