集中式认证服务

科技工作者之家 2020-11-17

集中式认证服务(英语:Central Authentication Service,缩写CAS)是一种针对万维网的单点登录协议。它的目的是允许一个用户访问多个应用程序,而只需提供一次凭证(如用户名和密码)。它还允许web应用程序在没有获得用户的安全凭据(如密码)的情况下对用户进行身份验证。“CAS”也指实现了该协议的软件包。

简介CAS 协议涉及到至少三个方面:客户端Web浏览器、Web应用请求的身份验证和CAS服务器。它还可能涉及一个后台服务(例如数据库服务器),它并没有自己的HTTP接口,但与一个Web应用程序进行通信。

当客户端访问访问应用程序,请求身份验证时,应用程序重定向到CAS。CAS验证客户端是否被授权,通常通过在数据库对用户名和密码进行检查(例如Kerberos、LDAP或Active Directory)。

如果身份验证成功,CAS令客户端返回到应用程序,并传递身份验证票(Security ticket)。然后,应用程序通过安全连接连接CAS,并提供自己的服务标识和验证票。之后CAS给出了关于特定用户是否已成功通过身份验证的应用程序授信信息。

CAS 允许通过代理服务器进行多层身份验证。后端服务(如数据库或邮件服务器)可以组成CAS,通过从Web应用程序接收到的信息验证用户是否被授权。因此,网页邮件客户端和邮件服务器都可以实现CAS。1

历史CAS是由耶鲁大学的Shawn Bayern创始的,后来由耶鲁大学的Drew Mazurek维护。CAS1.0实现了单点登录。 CAS2.0引入了多级代理认证(Multi-tier proxy authentication)。CAS其他几个版本已经有了新的功能。

2004年12月,CAS成为Jasig的一个项目,2008年该组织负责CAS的维护和发展。CAS原名“耶鲁大学CAS”,现在则被称为“Jasig CAS”。

2006年12月,安德鲁·W·梅隆基金会授予耶鲁大学第一届梅隆技术协作奖,颁发50000美元的奖金对耶鲁大学开发CAS进行奖励。颁奖之时,CAS在“数以百计的大学校园”中使用。2

Apereo CAS实施现在是CAS协议参考实现的Apereo CAS服务器支持以下功能:

CAS v1,v2和v3协议

SAMLv1和v2协议

OAuth协议

OpenID和OpenID连接协议

WS-Federation被动请求方协议

通过JAAS,LDAP,RDBMS,X.509,Radius,SPNEGO,JWT,Remote,Trusted,BASIC,Apache Shiro,MongoDB,Pac4J等进行身份验证。

授权给WS-FED,Facebook,Twitter,SAML IdP,OpenID,OpenID Connect,CAS等。

通过ABAC授权,时间/日期,REST,Internet2的石斑鱼等等。

HA通过Hazelcast,Ehcache,JPA,Memcached,Apache Ignite,MongoDB,Redis,Couchbase等进行集群部署。

应用程序注册由JSON,LDAP,YAML,JPA,Couchbase,MongoDB等支持。

通过Duo Security,YubiKey,RSA,Google Authenticator等进行多因素身份验证。

管理用户界面来管理日志记录,监控,统计,配置,客户端注册等。

全球和每个应用程序的用户界面主题和品牌。

密码管理和密码策略实施。2

本词条内容贡献者为:

宋春霖 - 副教授 - 江南大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。