The Central Authentication Service (CAS) Shawn Bayern Research programmer, Yale University Author, JSTL in Action, Web Development with JavaServer Pages.

Slides:



Advertisements
Similar presentations
Open-source Single Sign-On with CAS (Central Authentication Service)
Advertisements

Open-source Single Sign-On with CAS (Central Authentication Service) Pascal Aubry, Vincent Mathieu & Julien Marchal Copyright © 2004 – ESUP-Portail consortium.
Single Sign-On with GRID Certificates Ernest Artiaga (CERN – IT) GridPP 7 th Collaboration Meeting July 2003 July 2003.
Central Authentication Service (CAS). What is CAS? JA-SIG Central Authentication Service is an enterprise level, open-source, single sign on solution.
Central Authentication Service Roadmap JA-SIG Winter 2004.
Security Protocols Sathish Vadhiyar Sources / Credits: Kerberos web pages and documents contained / pointed.
Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
Grid Security. Typical Grid Scenario Users Resources.
 Key exchange o Kerberos o Digital certificates  Certificate authority structure o PGP, hierarchical model  Recovery from exposed keys o Revocation.
WEB1P servintro1 Introduction to servlets and JSP Dr Jim Briggs.
UPortal and the Yale Central Authentication Service Drew Mazurek ITS Technology & Planning Yale University JA-SIG Summer Conference ‘04 Denver, CO June.
Microsoft ASP.NET Security Venkat Chilakala Support Professional Microsoft Corporation.
UPortal Authentication Options: Design and Application Shawn Bayern Research programmer, Yale University Author, Web Development with JavaServer Pages.
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
ISA 3200 NETWORK SECURITY Chapter 10: Authenticating Users.
UPortal Security and CAS Susan Bramhall ITS Technology & Planning Yale University.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Introduction To Windows NT ® Server And Internet Information Server.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
CUWebAuth Technical Presentation Pete Bosanko Identity Management Team.
Authentication Systems and Single Sign-On (SSO) David Orrell, Eduserv Athens 1st EuroCAMP, 2-4 March 2005, Turin, Italy.
JA-SIG CAS Enterprise Single Sign-On Scott Battaglia Application Developer Enterprise Systems & Services Rutgers, the State University of New Jersey Copyright.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
Java Servlets. What Are Servlets? Basically, a java program that runs on the server Basically, a java program that runs on the server Creates dynamic.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Java Server Pages (JSP) Presented by: Ananth Prasad & Alex Ivanov May 10, 2001.
Overview of JSP Technology. The need of JSP With servlets, it is easy to – Read form data – Read HTTP request headers – Set HTTP status codes and response.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Central Authentication Service
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
1 Web Server Administration Chapter 1 The Basics of Server and Web Server Administration.
Introduction to Internet Programming (Web Based Application)
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
USCGrid A (Very Quick) Introduction To PubCookie
TNC2004 Rhodes 1 Authentication and access control in Sympa mailing list manager Serge Aumont & Olivier Salaün May 2004.
Shibboleth: Installation and Deployment Scott Cantor July 29, 2002 Scott Cantor July 29, 2002.
Simplify and Strengthen Security with Oracle Application Server Allan L Haensgen Senior Principal Instructor Oracle Corporation Session id:
Webcommerce Computer Networks Webcommerce by Linnea Reppa Douglas Martindale Lev Shalevich.
Web Authentication at Iowa Ed Hill Software Developer The University of Iowa.
Introduction to JavaServer Pages. 2 JSP and Servlet Limitations of servlet  It’s inaccessible to non-programmers JSP is a complement to servlet  focuses.
A Community of Learning SUNGARD SUMMIT 2007 | sungardsummit.com 1 Extending SSO – CAS in Luminis Presented by: Zachary Tirrell Plymouth State University.
Single Sign-On
Shibboleth: An Introduction
Single Sign-On across Web Services Ernest Artiaga CERN - OpenLab Security Workshop – April 2004.
Web Database Programming Week 7 Session Management & Authentication.
January 9, 2002 Internet2 WebISO Project RL "Bob" Morgan, University of Washington.
Single Sign-On in the Danish Educational Sector Per Thorboll Deputy director UNI-C.
UMBC’s WebAuth Robert Banz – UMBC
Campus Experience: Pubcookie University of Alabama at Birmingham Academic Computing Zach Garner.
MEMBERSHIP AND IDENTITY Active server pages (ASP.NET) 1 Chapter-4.
Introduction and Principles Web Server Scripting.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Introducing the Central Authentication Service (CAS) Shawn Bayern Research programmer, ITS Technology & Planning Author, Web Development with JavaServer.
Presented by Deepak Varghese Reg No: Introduction Application S/W for server load balancing Many client requests make server congestion Distribute.
Office of Information Technology GT Identity and Access Management JA-SIG CAS project (introducing login.gatech.edu) April 29th,
Alain Bethuyne Web Security Architect BNPParibas Fortis
Understanding Web Server Programming
Agenda Introduction Security flow for a request Authentication
Federation made simple
WWW and HTTP King Fahd University of Petroleum & Minerals
Java Servlets.
Radius, LDAP, Radius used in Authenticating Users
Server Concepts Dr. Charles W. Kann.
Viet Tran Institute of Informatics Slovakia
PHP / MySQL Introduction
Web App vs Mobile App.
Introduction to Servlets
uPortal Security and CAS
Central Authentication Service
Presentation transcript:

The Central Authentication Service (CAS) Shawn Bayern Research programmer, Yale University Author, JSTL in Action, Web Development with JavaServer Pages JSTL implementation lead (JCP, Apache)

Agenda Introduction to CAS Examples of CAS in action N-tier authentication Using CAS with applications like portals and web-based CAS in context CAS at Yale Alternatives to CAS Summary, URLs, Q&A

Introducing CAS What is CAS, what does it offer, and how does it function?

What is CAS? CAS is a single sign-on framework for Web applications Resources that web applications use (e.g., mail servers) Why single sign-on? Convenience and security (unlikely allies) Users have to do less Applications are protected from one another Content aggregation

Aggregating content → Aggregating authentication BeforeAfter

CAS in a nutshell Browser Web application Authenticates without sending password Authenticates via password (once) Determines validity of user’s claimed authentication

Primary benefits of CAS Works with existing authentication infrastructures, such as Kerberos Can be used by nearly any Web-application development environment (JSP, Servlets, ASP, Perl, mod_perl, PHP, Python, PL/SQL, and so forth) — or as a server-wide Apache module Allows "proxy" authentication for Web portals Lets users authenticate securely to untrusted sites (e.g., student-run sites and third-party vendors) without supplying a password directly Is portable (written in Java: Servlets, JSP, and JSTL) Is freely available from Yale (with source code)

How CAS really works Web resource CAS Web browser S C ST ST

CAS requirements CAS uses but does not require JavaScript For consistent, secure redirection HTTP cookies For single sign-on CAS server requires Servlet 2.3, JSP 1.2 container

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)

Side benefits of CAS Easy way to “reach” users e.g., to require them to change password at regular intervals Centralized maintenance Can change many CAS details without changing client libraries Unified authentication Can manage smart cards, Kerberos, etc. from a single location

CAS examples Low-level and high-level APIs and tools

Example: Low-level API Java Servlet that authenticates users import edu.yale.its.tp.cas.client.ServiceTicketValidator; ServiceTicketValidator sv = new ServiceTicketValidator(); sv.setCasValidateUrl( " sv.setService(“ sv.setServiceTicket(request.getParameter(“ticket”)); sv.validate(); if (sv.isAuthenticationSuccesful()) { System.out.println("user: " + sv.getUser()); // record authentication in HttpSession } Application must manage redirection to CAS itself

Example: Reusable CAS component JSP page to authenticate users Welcome,. If you’ve gotten this far, you are authenticated. Come, make yourself at home. Redirection occurs automatically

Example: Declarative CAS authentication in application server Servlet 2.3 filter to assert requirement for CAS authentication CAS Filter edu.yale.its.tp.cas.client.filter.CASFilter edu.yale.its.tp.cas.client.filter.loginUrl edu.yale.its.tp.cas.client.filter.validateUrl CAS Filter /filtered/* Application simply retrieves username from HttpSession

Example: Declarative CAS authentication in web server mod_cas for Apache 1.x, Apache 2.x Username exposed as CGI environment variable, REMOTE_USER Or… just protect static content mod_cas supports “Require user X,Y,Z” and “Require group” in addition to “Require valid-user” AuthType CAS Require valid-user Server manages authentication. Application simply checks with server.

N-Tier Authentication How can we use CAS in portals, web-based applications, and other scenarios where non- web resources provide secure data?

The goal Portal Web-mail Channel Mail server

The problem Applications can authenticate users securely with CAS. But applications don’t have first-hand knowledge of users’ credentials. This is a good thing... Except that the application can’t impersonate the user in order to acquire secure data for the user.

CAS’s solution: proxiable credentials 1. During validation of ST, an application acquires a proxy-granting ticket (PGT) from CAS 2. When the application needs access to a resource, it uses the PGT to get a proxy ticket (PT) 3. The application sends the PT to a back- end application. 4. The back-end application confirms the PT with CAS, and also gains information about who proxied the authentication.

Proxiable credentials illustrated Web resource CAS ST Non-web resource PGT PT -Username -Identity of web resource

Characteristics of CAS’s solution Back-end applications maintain control over their data For instance, IMAP server may assert, “The only web-based application I trust is Default: no proxies allowed! User logout or timeout destroys subordinate credentials User must be “present” for proxied authentication to occur.

CAS in context How is CAS used at Yale? Are there alternatives to CAS?

CAS at Yale Used by systems in support of students and administrators Used occasionally by unprivileged students Mostly Java and Perl; some ASP Apache module used widely Proxy authentication: incipient deployment PAM module to be used with servers CAS to support uPortal deployment

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 May depend on particular institutional characteristics—e.g., Network topology Service hosting on institutionally managed web servers CAS’s main advantages: simplicity and generality.

Summary CAS… is a free single sign-on framework from Yale works with nearly all back-end authentication subsystems provides secure authentication for both trusted and untrusted applications CAS supports proxied authentication for applications like portals and web-based

URLs CAS distribution site Whitepapers Design Protocol Source distribution License information My address

Q&A Alternative single sign-on systems? CAS implementation questions? Statistics? Comments from schools already using CAS?