Top Banner
uPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages JSTL implementation lead (JCP, Apache)
34

UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

uPortal Authentication Options: Design and Application

Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages JSTL implementation lead (JCP, Apache)

Page 2: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Portal authentication

Portals need to authenticate usersTo provide customized contentTo restrict portal-accessible resources

Portals also need access to third-party resources “as the user”“n-tier” authenticationSingle sign-on

Page 3: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Aggregating content → Aggregating authentication

Before After

Page 4: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

N-tier authentication

Portal

Page 5: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

uPortal and authentication

Three key questions to answer today:

How does uPortal authenticate users? Will its support work at your school?

What does a sample single sign-on system look like?

How can uPortal interface with campus-wide single sign-on?

Page 6: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Question 1

How does uPortal authenticate users in the first place?

Page 7: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

uPortal’s pluggable security-context mechanism Authentication support in uPortal

manifested through three key interfaces: ISecurityContext

• Instance of authentication system (“engine”)

IPrincipal• Context-specific user

IOpaqueCredentials• Context-specific credential (e.g., password)• Kept safe

Page 8: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

ISecurityContext

Interface representing single-use authentication engine.

Key function:Accept IPrincipalAccept IOpaqueCredentialsAuthenticate userReturn true/false (and optionally more)

Page 9: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

uPortal’s authentication infrastructure: advantages Flexibility

Adapts to nearly any back-end campus authentication solution – e.g.,

• Kerberos (4, 5)• LDAP “authentication”• Unix password file (small-scale)• Server-based authentication (“trust”)

Supports “chaining” providers to establish more than one context.

Page 10: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

uPortal’s authentication infrastructure: disadvantages

LimitationsProvides unified authentication “gate,”

but no extra portal-specific functionality. No single sign-on.

Just a model—does little work itself.But… can be wrenched to cache

passwords:

NotSoOpaqueCredentials

String getCredentials();(Not particularly secure)

IOpaqueCredentials

Page 11: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Password caching: Drawbacks If storing passwords can accomplish single sign-

on, why not do so? 1. uPortal instance/server must be trusted.

To accept password To store it securely

2. All network links must be secured.

3. Each individual channel must be trusted.

4. All web applications must be trusted.

5. Password confers access “forever.” Overall, user loses control of authentication

granularity.

Page 12: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Password caching

Portal

Channel

Channel

Channel

Password-protectedservice

Password-protectedservice

Password-protectedservice

PWPW

PWPW

PWPW

PWPW

PWPW

PWPW

PWPW

PWPW

PWPW

PWPW

PWPW

Page 13: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Question 2

Given the drawbacks of caching and re-using passwords, what’s a better approach?

How can a true “single sign-on” system work on the web?

Page 14: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Web-based single sign-on

Why is this problem different from existing single sign-on systems? Limited client support

Yale’s model is called CAS (Central Authentication Service). Model based (loosely) on Kerberos. “100% Pure Java” Pluggable back-end Available through JA-SIG Clearinghouse

Other models: Liberty, Pubcookie (Washington), MACE WebISO, Passport

Page 15: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

CAS in a nutshell

BrowserWeb application

Authenticateswithout sending password

Authenticates

via password (once)

Determinesvalidity of user’sclaimedauthentication

Page 16: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

How CAS actually works

Webresource

CAS

Webbrowser

S

C

S T

S T

Page 17: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Side benefits of CAS

Users can be asked to avoid supplying password except to trusted site. Expected URL Known “look and

feel” Authentic peer

certificate (if anyone cares)

Page 18: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

CAS characteristics

Requires no service pre-registration Services are not privileged; may only

compromise themselves. Supports but does not require cookies Uses but does not require JavaScript Usable by multiple languages, systems

(Java, C, JSP tags, ASP, Perl) Free and open-source

Implemented using Java servlets

Page 19: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

CAS at Yale

Used by systems in support of students and staff. Used occasionally by unprivileged students.

Mostly Java, Perl. Some ASP. Apache module becoming widely used

C implementation of CAS “client” within Apache server

Server-wide authentication AuthType CAS → REMOTE_USER

Page 20: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Characteristics of alternative systems Typically require pre-registration

Institution determines security requirements of services. May handle more than just authentication

Session management ACLs Identification Principal translation

May be platform- or server-specific Passport (Windows) Pubcookie (Apache Server)

May depend on particular institutional characteristics—e.g., Network topology Service hosting on institutionally managed web servers

Page 21: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Question 3

What is uPortal’s role in a campus-wide single sign-on framework?

Page 22: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

CAS and portals

Using CAS as an example of campus-wide single sign-on service…

How to use single sign-on within portal? Unlike many applications, a portal is not the

source of all the information it vends. “n-tier” authentication problem

• How to avoid several “bad things”?• Password caching• Excessive trust of portal• Modifying legacy systems

• Balancing objectives

Page 23: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Integration strategies

Option 1: insert portal into initial CAS loginPortal receives password, then

redirects the user to CAS and coerces the browser to re-send the password

User ends up with CAS ticket.Portal ends up with CAS ticket too

• Password caching isn’t precluded, but it’s not necessary either.

Page 24: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Integration strategies

Portal

Channel

Channel

Channel

“CAS-ified”service

“CAS-ified”service

“CAS-ified”service

CAS TGT

Password

Page 25: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Integration strategies

Portal’s“CAS client”

CAS

Webbrowser

S

C

S T

S T

Portal’sinitial page

Page 26: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Integration strategies

Option 2: CAS services can be made aware of uPortal Services simply use CAS, but acknowledge

a URL “owned” by uPortal. Advantages: uPortal need not be trusted or

especially secure. Drawbacks: services need to be modified

and made portal-aware.• If you are already allowed to do this, you’re not

facing difficult hurdles anyway!

Page 27: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Integration strategies

CAS

Service

Portal Channel

Modified“CAS-ified”service

CAS sees a single “service.”

However, this “service” consists of the portal (more specifically, a channel), and an outside CAS-ified service.

Page 28: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Integration strategies

Portal CAS

Webbrowser

S

C

S T

S TBack-endserviceS T

Page 29: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Integration strategies

Option 3: use Kerberos 5 (or similar “traditional” single sign-on system) for all network servicesCAS becomes web-based “Kerberos

user agent”• User authenticates to agent.• Agent manages tickets, proxying for the

user.

Drawback: requires substantial planning, effort, scope

Page 30: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Integration strategiesWeb

resource

CAS

Webbrowser

C

Webresource

Webresource

Non-webresource

K5 realm

Page 31: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

CAS future

Support application-driven “reauthentication” requirementInstead of more complex system of

“security rings” or “application groups”

Page 32: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Summary

uPortal has two uses for authentication:Customizing its own presentation.Accessing secure resources

Caching passwords is generally a security risk.

Models like CAS let you avoid caching passwords.

Page 33: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

URLs

CAS distribution JA-SIG Clearinghouse http://www.yale.edu/tp/cas/

• Source distribution• uPortal integration example (option 1)• Design paper• License information

My email address [email protected]

Page 34: UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.

Q&A

Alternative single sign-on systems?

CAS implementation questions?

uPortal integration ideas?

uPortal authentication subsystem questions?