central authentication service roadmap ja-sig winter 2004

45
Central Central Authentication Authentication Service Service Roadmap Roadmap JA-SIG Winter 2004 JA-SIG Winter 2004

Upload: macy-loving

Post on 11-Dec-2015

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Central Authentication Service Roadmap JA-SIG Winter 2004

Central Authentication Central Authentication ServiceService

RoadmapRoadmap

JA-SIG Winter 2004JA-SIG Winter 2004

Page 2: Central Authentication Service Roadmap JA-SIG Winter 2004

A new CAS PresentationA new CAS Presentation

What is CAS? (Enterprise Single Sign On)What is CAS? (Enterprise Single Sign On)What’s new with CAS? (new CAS Java What’s new with CAS? (new CAS Java

Client)Client)What’s using CAS? (Acegi)What’s using CAS? (Acegi)Where is CAS going? (Roadmap)Where is CAS going? (Roadmap)Resources?Resources?

Page 3: Central Authentication Service Roadmap JA-SIG Winter 2004

What is CAS?What is CAS?

Enterprise Web Single-sign-onEnterprise Web Single-sign-onYour users authenticate to CASYour users authenticate to CAS

Only CAS sees user passwordsOnly CAS sees user passwordsYour applications receive assurance of Your applications receive assurance of

authentication from CASauthentication from CAS

Page 4: Central Authentication Service Roadmap JA-SIG Winter 2004

CAS as TrustedCAS as Trusted

CAS is the Trusted IntermediaryCAS is the Trusted Intermediary

Page 5: Central Authentication Service Roadmap JA-SIG Winter 2004

The Bad Old DaysThe Bad Old Days

Page 6: Central Authentication Service Roadmap JA-SIG Winter 2004

Log in to each applicationLog in to each applicationApplication A Application B Application C

Application D Application E Application F

Page 7: Central Authentication Service Roadmap JA-SIG Winter 2004

ExamplesExamples

We’re going to walk through two examples We’re going to walk through two examples demonstrating CAS’s features.demonstrating CAS’s features.

Page 8: Central Authentication Service Roadmap JA-SIG Winter 2004

Example: Network registrationExample: Network registration

Welcome to Our University Network Welcome to Our University Network Registration.Registration.

First, you need to log in:First, you need to log in:

Page 9: Central Authentication Service Roadmap JA-SIG Winter 2004

CAS LoginCAS Login

Page 10: Central Authentication Service Roadmap JA-SIG Winter 2004

CAS redirects back to CAS redirects back to applicationapplication

Places ticket=ABCDEFG123 on the Places ticket=ABCDEFG123 on the requestrequest

Page 11: Central Authentication Service Roadmap JA-SIG Winter 2004

Application receives ticketApplication receives ticket

Validates ticket with CAS serverValidates ticket with CAS server

<cas:serviceResponse <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'> xmlns:cas='http://www.yale.edu/tp/cas'> <cas:authenticationSuccess> <cas:authenticationSuccess> <cas:user>awp9</cas:user> <cas:user>awp9</cas:user> </cas:authenticationSuccess></cas:authenticationSuccess>

</cas:serviceResponse> </cas:serviceResponse>

Page 12: Central Authentication Service Roadmap JA-SIG Winter 2004

Okay, user is authenticatedOkay, user is authenticated

Notice: The user didn’t give her password Notice: The user didn’t give her password to the application itself.to the application itself.

Page 13: Central Authentication Service Roadmap JA-SIG Winter 2004

CAS VocabularyCAS Vocabulary

Ticket – it’s longish random String.Ticket – it’s longish random String.Ticket Granting Ticket / Ticket Granting Ticket Granting Ticket / Ticket Granting

Cookie – a CAS session identifierCookie – a CAS session identifier

Service TicketService TicketProxy Granting TicketProxy Granting TicketProxy TicketProxy Ticket

Page 14: Central Authentication Service Roadmap JA-SIG Winter 2004

Example 2: uPortal & SSOExample 2: uPortal & SSO

Great, we’ve authenticated. Now let’s visit Great, we’ve authenticated. Now let’s visit our uPortal:our uPortal:

Page 15: Central Authentication Service Roadmap JA-SIG Winter 2004

CAS does not displayCAS does not display

Reads the secure cookie from the browser Reads the secure cookie from the browser session.session.

Single sign on.Single sign on.Redirects back to uPortal with the ticket.Redirects back to uPortal with the ticket.

Page 16: Central Authentication Service Roadmap JA-SIG Winter 2004

uPortal validates the ticketuPortal validates the ticket

And requests a Proxy Granting Ticket.And requests a Proxy Granting Ticket.

Page 17: Central Authentication Service Roadmap JA-SIG Winter 2004

Authenticated to uPortalAuthenticated to uPortal

Page 18: Central Authentication Service Roadmap JA-SIG Winter 2004

Proxying to get my mailProxying to get my mail

uPortal uses PGT to get PT for mail XML uPortal uses PGT to get PT for mail XML service, requests mail XML serviceservice, requests mail XML service

Mail XML service receives PT, validates it, Mail XML service receives PT, validates it, and gets a PGT.and gets a PGT.

Mail XML service gets PT for IMAP server, Mail XML service gets PT for IMAP server, presents to IMAP server.presents to IMAP server.

IMAP server delegates to PAM_CAS to IMAP server delegates to PAM_CAS to validate the PT.validate the PT.

Page 19: Central Authentication Service Roadmap JA-SIG Winter 2004

The resultThe result

Page 20: Central Authentication Service Roadmap JA-SIG Winter 2004

Recent Email ChannelRecent Email Channel

EmailServlet uPortal

IMAPServer

XML

CAS

PGT

PT

NetID

IMAP session

S

PT

PT

NetID

ProxyIDs

Page 21: Central Authentication Service Roadmap JA-SIG Winter 2004

What is CAS?What is CAS?

CAS is web SSO.CAS is web SSO.CAS is a concrete (Java Servlets) CAS is a concrete (Java Servlets)

implementation.implementation.CAS is a constellation of client libraries, CAS is a constellation of client libraries,

including PAM, Apache modules, including PAM, Apache modules, Java .jars, php, perl, …Java .jars, php, perl, …

Page 22: Central Authentication Service Roadmap JA-SIG Winter 2004

What’s new? CAS Java ClientWhat’s new? CAS Java Client

Version 2.1.0Version 2.1.0

Page 23: Central Authentication Service Roadmap JA-SIG Winter 2004

CASFilterCASFilter

CAS Java Servlet FilterCAS Java Servlet Filter

Renew and Gateway featuresRenew and Gateway featuresOptionally set the remoteUserOptionally set the remoteUserAllows multiple authorized proxiesAllows multiple authorized proxies

Page 24: Central Authentication Service Roadmap JA-SIG Winter 2004

CASReceiptCASReceipt

CASReceipt represents results from CAS CASReceipt represents results from CAS authenticationauthentication

Exposed in the session by CASFilterExposed in the session by CASFilter

Page 25: Central Authentication Service Roadmap JA-SIG Winter 2004

Filter CompositionFilter Composition

Subsequent filters can examine the results Subsequent filters can examine the results of CAS authentication:of CAS authentication:

ProxyChainScrutinizerFilterProxyChainScrutinizerFilter

Page 26: Central Authentication Service Roadmap JA-SIG Winter 2004

Commons loggingCommons logging

CAS Java Client 2.1.xCAS Java Client 2.1.x

Page 27: Central Authentication Service Roadmap JA-SIG Winter 2004

uPortal: uPortal: YaleCASFilteredContextYaleCASFilteredContext

Use CASValidateFilter to accomplish the Use CASValidateFilter to accomplish the actual ticket validation – actual ticket validation – YaleCASFilteredContext just consumes YaleCASFilteredContext just consumes the CASReceipt.the CASReceipt.

Page 28: Central Authentication Service Roadmap JA-SIG Winter 2004

The approachThe approach

CASFilter

Additional filtering

Your application

Page 29: Central Authentication Service Roadmap JA-SIG Winter 2004

What’s new: AcegiWhat’s new: Acegi

Page 30: Central Authentication Service Roadmap JA-SIG Winter 2004

What’s new: AcegiWhat’s new: Acegi

Acegi is an authentication/authorization Acegi is an authentication/authorization framework that works well with Springframework that works well with Spring

It supports CAS for enterprise single sign It supports CAS for enterprise single sign onon

A layer of abstraction beyond the CAS A layer of abstraction beyond the CAS Java Client.Java Client.

Page 31: Central Authentication Service Roadmap JA-SIG Winter 2004

RoadmapRoadmap

Where is CAS going?Where is CAS going?

Formalization of CAS protocolFormalization of CAS protocolSAML as the language for CAS requests SAML as the language for CAS requests

and responsesand responses Interface-rich, more pluggable server Interface-rich, more pluggable server

implementationimplementation

Page 32: Central Authentication Service Roadmap JA-SIG Winter 2004

Formalization of CAS protocolFormalization of CAS protocol

Before CAS can be re-implemented, we Before CAS can be re-implemented, we need a formal specification of exactly what need a formal specification of exactly what protocol it implemented the first time.protocol it implemented the first time.

Page 33: Central Authentication Service Roadmap JA-SIG Winter 2004

SAMLSAML

CAS 2.0 uses ad-hoc XML. This was CAS 2.0 uses ad-hoc XML. This was simple, worked well.simple, worked well.

CAS 3.0 will additionally support SAML. CAS 3.0 will additionally support SAML. More complex, but more standards More complex, but more standards compliant.compliant.

CAS as the authentication piece in a CAS as the authentication piece in a Shibboleth installation.Shibboleth installation.

Page 34: Central Authentication Service Roadmap JA-SIG Winter 2004

AssertionsAssertions

CAS SAML assertions of who logged in CAS SAML assertions of who logged in how whenhow when

Attribute assertionsAttribute assertionsPGTs are attributes?PGTs are attributes?

Details not yet fully definedDetails not yet fully defined

Page 35: Central Authentication Service Roadmap JA-SIG Winter 2004

Attribute assertionsAttribute assertions

Common use case: now that you’ve Common use case: now that you’ve authenticated your user, you want some authenticated your user, you want some attributesattributes

SAML language allows us to assert SAML language allows us to assert attributes other than the user name at attributes other than the user name at ticket validationticket validation

Page 36: Central Authentication Service Roadmap JA-SIG Winter 2004

SSL callback and client certsSSL callback and client certs

CAS uses an https: callback to CAS uses an https: callback to authenticate the serviceauthenticate the service

Signed SAML requests provide us an Signed SAML requests provide us an alternativealternative

Page 37: Central Authentication Service Roadmap JA-SIG Winter 2004

Interface-rich, more pluggableInterface-rich, more pluggable

Old model: you download CAS and then Old model: you download CAS and then hack away at it to make it meet your hack away at it to make it meet your needs.needs.

New model: you plug in local changes at New model: you plug in local changes at well-defined extension pointswell-defined extension points

Page 38: Central Authentication Service Roadmap JA-SIG Winter 2004

Load Balancing CASLoad Balancing CAS

Why not to do thisWhy not to do this

Default: ticket store backed by in-memory Default: ticket store backed by in-memory cachecache

Possible: ticket store backed by RDBMSPossible: ticket store backed by RDBMSPossible: ticket store backed by [pick your Possible: ticket store backed by [pick your

favorite cache implementation]favorite cache implementation]

Page 39: Central Authentication Service Roadmap JA-SIG Winter 2004

Whitelisting servicesWhitelisting services

Why not to do thisWhy not to do this

Possible: impose whitelist at ticket Possible: impose whitelist at ticket validation layervalidation layer

Page 40: Central Authentication Service Roadmap JA-SIG Winter 2004

Authentication itselfAuthentication itself

CAS PasswordHandlersCAS PasswordHandlers

CasGenericHandler – more ad-hoc XML CasGenericHandler – more ad-hoc XML confgurationconfguration

Instead wire together using SpringInstead wire together using Spring

Page 41: Central Authentication Service Roadmap JA-SIG Winter 2004

““Single Sign Out”Single Sign Out”

Why not to do thisWhy not to do this

But if we’re going to do this, let’s at least But if we’re going to do this, let’s at least make it easier to maintain the local modmake it easier to maintain the local mod

Or maybe an optional aspect of the Or maybe an optional aspect of the protocol – standardize without requiringprotocol – standardize without requiring

Page 42: Central Authentication Service Roadmap JA-SIG Winter 2004

Extension points?Extension points?

Others?Others?

Page 43: Central Authentication Service Roadmap JA-SIG Winter 2004

Rutgers and their fine workRutgers and their fine work

Page 44: Central Authentication Service Roadmap JA-SIG Winter 2004

ResourcesResources

New CAS documentation (Wiki)New CAS documentation (Wiki)Active mailing listActive mailing list

The larger CAS communityThe larger CAS community

Page 45: Central Authentication Service Roadmap JA-SIG Winter 2004

Contact informationContact information

http://www.yale.edu/its/tp/http://www.yale.edu/its/tp/[email protected]@yale.edu

[email protected]@yale.edu

[email protected]@tp.its.yale.edu