Developing Applications for SSO Justen Stepka Authentisoft, LLC www.authentisoft.com.

Slides:



Advertisements
Similar presentations
© 2006 IBM Corporation Tivoli Identity Manager Express Tivoli Access Manager for Enterprise Single Sign-On (Product Demonstrations) Tivoli Live! – 15 June.
Advertisements

McAfee One Time Password
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
NetPay provides best and effective solution for company Managers to maintain their employee scheduling task (including staff in/out details, overtime,
Managing User, Computer and Group Accounts
Copyright Tom Parker, Ron DiNapoli, Andrea Beesing, Joy Veronneau This work is the intellectual property of the authors. Permission is granted for.
Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Andrew Stone Common Security.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
Active Directory: Final Solution to Enterprise System Integration
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 7 Storing Organizational Information - Databases.
Identity and Access Management
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 7 Configuring File Services in Windows Server 2008.
LDS Account and the Java Stack. Disclaimer This is a training NOT a presentation. – Be prepared to learn and participate in labs Please ask questions.
A centralized system.  Active Directory is Microsoft's trademarked directory service, an integral part of the Windows architecture. Like other directory.
1 Chapter Overview Creating User and Computer Objects Maintaining User Accounts Creating User Profiles.
Public Key Infrastructure from the Most Trusted Name in e-Security.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
May 30 th – 31 st, 2006 Sheraton Ottawa. Microsoft Certificate Lifecycle Manager Saleem Kanji Technology Solutions Professional - Windows Server Microsoft.
DB-19: OpenEdge® Authentication Without the _User Table
Copyright 2007, Information Builders. Slide 1 WebFOCUS Authentication Mark Nesson, Vashti Ragoonath Information Builders Summit 2008 User Conference June.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
ABSTRACT Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue.
1 Group Account Administration Introduction to Groups Planning a Group Strategy Creating Groups Understanding Default Groups Groups for Administrators.
5.1 © 2004 Pearson Education, Inc. Lesson 5: Administering User Accounts Exam Microsoft® Windows® 2000 Directory Services Infrastructure Goals 
Microsoft Active Directory(AD) A presentation by Robert, Jasmine, Val and Scott IMT546 December 11, 2004.
Designing Active Directory for Security
Case Study: DirXML Implementation at Waste Management Rick Wagner Systems Engineer Novell, Inc.
SSL, Single Sign On, and External Authentication Presented By Jeff Kelley April 12, 2005.
SURENDER SARA 10GAS Building Corporate KPI’s
DIT314 ~ Client Operating System & Administration CHAPTER 5 MANAGING USER ACCOUNTS AND GROUPS Prepared By : Suraya Alias.
© 2007 by Prentice Hall 1 Introduction to databases.
Module 5 Configuring Authentication. Module Overview Lesson 1: Understanding Classic SharePoint Authentication Providers Lesson 2: Understanding Federated.
Simplify and Strengthen Security with Oracle Application Server Allan L Haensgen Senior Principal Instructor Oracle Corporation Session id:
TWSd - Security Workshop Part I of III T302 Tuesday, 4/20/2010 TWS Distributed & Mainframe User Education April 18-21, 2010  Carefree Resort  Carefree,
Introduction to Microsoft Management Console (MMC) MMC is a common console framework for management applications. MMC provides a common environment for.
1 Introduction to Microsoft Windows 2000 Windows 2000 Overview Windows 2000 Architecture Overview Windows 2000 Directory Services Overview Logging On to.
PS Security By Deviprasad. Agenda Components of PS Security Security Model User Profiles Roles Permission List. Dynamic Roles Static Roles Building Roles/Rules.
10/25/20151 Single Sign-On Web Service Supervisors: Viktor Kulikov Alexander Sherman Liana Lipstov Pavel Bilenko.
Empowering people-centric IT Unified device management Access and information protection Desktop Virtualization Hybrid Identity.
McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 7 Storing Organizational Information - Databases.
Windows Role-Based Access Control Longhorn Update
MEMBERSHIP AND IDENTITY Active server pages (ASP.NET) 1 Chapter-4.
Permissions Lesson 13. Skills Matrix Security Modes Maintaining data integrity involves creating users, controlling their access and limiting their ability.
Community Sign-On and BEN. Table of Contents  What is community sign-on?  Benefits  How it works (Shibboleth)  Shibboleth components  CSO workflow.
- NCSU project goals and requirements - Adoption Drivers - Current challenges and pain points - Identacor at NCSU - Identacor Features - NCSU Key Benefits.
February, TRANSCEND SHIRO-CAS INTEGRATION ANALYSIS.
Creating SmartArt 1.Create a slide and select Insert > SmartArt. 2.Choose a SmartArt design and type your text. (Choose any format to start. You can change.
1 AHM, 2–4 Sept 2003 e-Science Centre GRID Authorization Framework for CCLRC Data Portal Ananta Manandhar.
1 Active Directory Service in Windows 2000 Li Yang SID: November 2000.
User and Device Management
For integration with Aptify/Sitefinity
15 Copyright © 2004, Oracle. All rights reserved. Adding JAAS Security to the Client.
LDS Account and the Java Stack. Disclaimer This is a training NOT a presentation. – Be prepared to learn and participate in labs Please ask questions.
Securing Web Applications Lesson 4B / Slide 1 of 34 J2EE Web Components Pre-assessment Questions 1. Identify the correct return type returned by the doStartTag()
Secure Mobile Development with NetIQ Access Manager
CERN IT Department CH-1211 Genève 23 Switzerland t Single Sign On, Identity and Access management at CERN Alex Lossent Emmanuel Ormancey,
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Active Directory Domain Services (AD DS). Identity and Access (IDA) – An IDA infrastructure should: Store information about users, groups, computers and.
Business Objects XIr2 Windows NT Authentication Single Sign-on 18 August 2006.
Community Sign-On and BEN. Table of Contents  What is community sign-on?  Benefits  How it works (Shibboleth)  Shibboleth components  CSO workflow.
19 Copyright © 2008, Oracle. All rights reserved. Security.
Identity and Access Management
Stop Those Prying Eyes Getting to Your Data
Active Directory Administration
Introduction to Computers
Public Key Infrastructure from the Most Trusted Name in e-Security
Architecture Competency Group
K!M SAA LOGICAL SECURITY Strong Adaptive Authentication
Presentation transcript:

Developing Applications for SSO Justen Stepka Authentisoft, LLC

Overview Introduction What is SSO Designing and Implementing for SSO environments Available Solutions

Introduction Justen Stepka Principal and Founder of Authentisoft, LLC. Hibernate  Hibernate documentation manager. O’Reilly Author  Contributing author of Java Database Programming Best Practices  Various articles for the O’Reilly website. JDJ guest writer  Open Symphony Project Overview

The Problem As web-applications have grown over the years to support various business processes. These applications have expanded to support a growing number of users, groups and roles. Most of these applications administration functions are controlled by a small sub-set of internal users that have permissions to access additional functionality where they become the gatekeeper for the security information and application deployment attributes. The burden taken on with the administration grows as the number these systems are deployed.

What is Single Sign-On Different views on what is SSO. Authentication verses Authorization

SSO Definition SSO maintains two definitions, depending what your ultimate deployment goals are: Central repository where username and credential information are kept and then used by all subscribing applications for authentication. When a principal authenticates with a node of the system, they are assigned a token. This token can then be used by other applications to validate the user is who they claim to be. With this token, the principal can then bypass the authentication process.

Authentication verses Authorization Authentication is the process of verifying the users’ identity. Typically this involves obtaining a username and password, other forms of credentials may be used such as scan-cards or biometric devices. Authorization is the process of verifying whether a user has access to a protected resource.

The End Goal Authentication is to be performed in a single pluggable fashion. This will permit your Java applications to remain independent from the underlying authentication technologies. New or updated technologies can then be plugged in without requiring modifications to the application itself.

SSO Benefits Termination of account is cascaded across all applications. Simplified authentication approach. Removes burden of continuously solving the same problem over. Identity information does not have to be replicated between applications. Reduced number of authentication credentials for a principal. Removing the need to remember multiple credentials resulting in replicated passwords.

When to use SSO A single principal store exist for storing principals Active Directory Open Directory Custom database tables 1+n applications Every company is different, it’s about easy of maintenance at the end of the day.

Acme Corporation Example Active Directory Windows environment for the desktop. Database storing customer information. Web inventory management application. Public website where customers order ACME widgets. Intranet applications where company information is posted for employees. Issue tracking software where customers log widget defects. Forum system software where customers receive support for their widgets.

Acme Corporation Deployment Diagram

Acme Corporation SSO Benefits Customers share authentication between the public website, issue tracking, and forum system. Employees are able to access all applications with their Active Directory account.

How Applications are picked for ACME Corp ACME corporation selected Jive and JIRA for the support they offer with integrating third-party authentication systems. Forward thinking applications these days provide authentication interfaces to support external users. Uses an LDAP connector. Provides an interface for implementing custom connectors.

Application and Open Source Call to Arms Interoperability between separate open-source applications will help spread open-source. At minimal provide an LDAP connector option. For smaller corporations, or those running at data- centers, LDAP may be too costly over overkill. Provide an interface option, this is a more elegant and flexible solution.

Designing for SSO When designing an application to support external authentication or authorization, there are a few natural breaks in functionality. Authentication  The process of verifying the credentials provided by the requesting principal Authorization  Determining whether a requesting principal has access to a specific resource through a group or role. Profile Management  The personal details and preferences that are associated with a principal. Resources Management  Creating, modifying, and deleting the security rules and relationships.

Designing for SSO When designing an application to support external authentication or authorization, there are a few natural breaks in functionality. Authentication  The process of verifying the credentials provided by the requesting principal Authorization  Determining whether a requesting principal has access to a specific resource through a group or role. Profile Management  The personal details and preferences that are associated with a principal. Resources Management  Creating, modifying, and deleting the security rules and relationships.

Breaking Functionality Out Breaking functionality out enables wider deployment integration. Not all deployments may be able to support all aspects of functionality. Might be able to support reading authentication and authorization rules, but not able to write to the directory server. Storing profile information would then need to be kept internal to the application. Using an interface system will allow your customers to easily implement their own security architecture into your application.

Interface Examples Examples here are as simple as possible, additional Exceptions often help with workflow related issues. It is important to remember that as you add complexity to an already complex problem, the difficulty with implementing the solution seems to go up ten-fold. An existing interface system that already exist is OSUser which is available developed and maintained by the Open Symphony group at

Authentication Interface public interface Authentication { public String authenticate (String username, char[] password) throws AuthenticationException; public String authenticate (String username, char[] password, HttpServletRequest request, HttpServletResponse response) throws AuthenticationException; public boolean isValidToken(String token, HttpServletRequest request, HttpServletResponse response); }

Authorization Interface public interface Authentication { public boolean isGroupMember (String username, String group); public List listGroups(); public List listGroup(String username); }

Profile Interface public interface Authentication { public void addAttribute (String username, String key, String value); public void removeAttribute (String username, String key); public String getAttribute (String username, String key); }

Management Interface public interface Management { public void addPrincipal (String username, char[] password) throws InvalidPrincipalException; public void removePrincipal (String username); public void changePassword (String username, char[] password); throws InvalidCredentialException; public void addToGroup (String username, String group); public void removeFromGroup (String username, String group); }

Using the Interfaces The simplest approach is to load the implementations off a deployment descriptor using the DAO Factory Model. This allows you to load implementations at run-time, giving you the ability to quickly connect applications to new or existing directory services.

Existing Approaches Open Source JAAS  Java Authentication and Authorization services. JOSSO  Open source gateway connector to LDAP. CAS  Developed by Yale; central authentication service. Commercial IDX SiteMinder Oblix Tivoli