MIT Tech Talk, May 2013 Justin Richer, The MITRE Corporation



Similar documents
Justin Richer January Portions 2013 The MITRE Corporation

Copyright Pivotal Software Inc, of 10

Dell One Identity Cloud Access Manager How to Develop OpenID Connect Apps

OpenID Connect 1.0 for Enterprise

Globus Auth. Steve Tuecke. The University of Chicago

TrustedX: eidas Platform

From the Intranet to Mobile. By Divya Mehra and Stian Thorgersen

Identity Management with Spring Security. Dave Syer, VMware, SpringOne 2011

The Future of Cloud Identity Security. Michael Schwartz Founder / CEO Gluu

Onegini Token server / Web API Platform

HOL9449 Access Management: Secure web, mobile and cloud access

OpenID Single Sign On and OAuth Data Access for Google Apps. Ryan Dave Primmer May 2010

Single Sign On. SSO & ID Management for Web and Mobile Applications

A Standards-based Mobile Application IdM Architecture

Flexible Identity Federation

PingFederate. Windows Live Cloud Identity Connector. User Guide. Version 1.0

Connected Data. Connected Data requirements for SSO

Single Sign-on (SSO) technologies for the Domino Web Server

Implementation Guide SAP NetWeaver Identity Management Identity Provider

OAuth 2.0 Developers Guide. Ping Identity, Inc th Street, Suite 100, Denver, CO

PRODUCT BRIEF OpenAM. Delivering secure access for customers, applications, devices and things

SAP NetWeaver AS Java

Egnyte Single Sign-On (SSO) Installation for OneLogin

Mobility, Security and Trusted Identities: It s Right In The Palm of Your Hands. Ian Wills Country Manager, Entrust Datacard

Lecture Notes for Advanced Web Security 2015

Comparative analysis - Web-based Identity Management Systems

Identity Management in Liferay Overview and Best Practices. Liferay Portal 6.0 EE

Identity Federation: Bridging the Identity Gap. Michael Koyfman, Senior Global Security Solutions Architect

Introduction to SAML

Agenda. How to configure

Building Secure Applications. James Tedrick

Final Project Report December 9, Cloud-based Authentication with Native Client Server Applications. Nils Dussart

NCSU SSO. Case Study

EXTENDING SINGLE SIGN-ON TO AMAZON WEB SERVICES

THE NEW DIGITAL EXPERIENCE

Identity. Provide. ...to Office 365 & Beyond

Copyright: WhosOnLocation Limited

Mobile Security. Policies, Standards, Frameworks, Guidelines

How To Use Salesforce Identity Features

OpenAM All-In-One solution to securely manage access to digital enterprise and customer services, anytime and anywhere.

AAI for Mobile Apps How mobile Apps can use SAML Authentication and Attributes. Lukas Hämmerle

OpenLogin: PTA, SAML, and OAuth/OpenID

OpenID Deutsche telekom. Dr. Torsten Lodderstedt, Deutsche Telekom AG

OPENIAM ACCESS MANAGER. Web Access Management made Easy

Single Sign On for UNICORE command line clients

Getting Started with Clearlogin A Guide for Administrators V1.01

How to Extend Identity Security to Your APIs

Masdar Institute Single Sign-On: Standards-based Identity Federation. John Mikhael ICT Department

This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections:

Flexible Identity Federation

Tenrox. Single Sign-On (SSO) Setup Guide. January, Tenrox. All rights reserved.

IVOA Single-Sign-On Profile: Authentication Mechanisms Version 2.0

Getting Started Guide for Developing tibbr Apps

Axway API Gateway. Version 7.4.1

THE NEW DIGITAL EXPERIENCE

SP-initiated SSO for Smartsheet is automatically enabled when the SAML feature is activated.

Addressing threats to real-world identity management systems

SAML and OAUTH comparison

Federated single sign-on (SSO) and identity management. Secure mobile access. Social identity integration. Automated user provisioning.

Configuring Salesforce

Keeping access control while moving to the cloud. Presented by Zdenek Nejedly Computing & Communications Services University of Guelph

Enabling SSO for native applications

F5 BIG-IP: Configuring v11 Access Policy Manager APM

API Architecture. for the Data Interoperability at OSU initiative

From centralized to single sign on

managing SSO with shared credentials

Single-Sign-On between On-Premises and the Cloud: Leveraging Windows Azure Active Directory to authenticate custom solutions and Apps

Secure the Web: OpenSSO

Single Sign On (SSO) Implementation Manual. For Connect 5 & MyConnect Sites

The Top 5 Federated Single Sign-On Scenarios

SECUREAUTH IDP AND OFFICE 365

Safewhere*Identify 3.4. Release Notes

Enterprise Access Control Patterns For REST and Web APIs

SAP NetWeaver Fiori. For more information, see "Creating and enabling a trusted provider for Centrify" on page

Administering Jive for Outlook

Using SAML for Single Sign-On in the SOA Software Platform

New Single Sign-on Options for IBM Lotus Notes & Domino IBM Corporation

OAuth 2.0. Weina Ma

The Essential OAuth Primer: Understanding OAuth for Securing Cloud APIs

TrustedX - PKI Authentication. Whitepaper

CLAIMS-BASED IDENTITY FOR WINDOWS

Samsung KNOX EMM Authentication Services. SDK Quick Start Guide

Apigee Edge API Services Manage, scale, secure, and build APIs and apps

SAP Cloud Identity Service

Single Sign-On for the UQ Web

IBM Security Systems Division

IBM Tivoli Federated Identity Manager V6.2.2 Implementation. Version: Demo. Page <<1/10>>

The increasing popularity of mobile devices is rapidly changing how and where we

For details about using automatic user provisioning with Salesforce, see Configuring user provisioning for Salesforce.

Perceptive Experience Single Sign-On Solutions

WHITEPAPER SECUREAUTH AND CAC HSPD-12 AUTHENTICATION TO WEB, NETWORK, AND CLOUD RESOURCES

Glinda Cummings World Wide Tivoli Security Product Manager

Google Identity Services for work

FileCloud Security FAQ

Alex Wong Senior Manager - Product Management Bruce Ong Director - Product Management

Connecting Users with Identity as a Service

Transcription:

MIT Tech Talk, May 2013 Justin Richer, The MITRE Corporation Approved for Public Release Distribution Unlimited 13-1871 2013 The MITRE Corporation All Rights Reserved

} OpenID Connect and OAuth2 protocol overview } MITREid Connect open source project } Use cases for OpenID Connect 2013 The MITRE Corporation 2

A protocol overview

} How can a resource owner authorize a piece of client software to access protected data on their behalf? } How can we scale security decisions to work on the internet? } How can we make a system that s both secure enough for data protection and usable enough for average end users? 2013 The MITRE Corporation 4

Front Channel: HTTP Redirect through browser End User (and user agent: UA) Client ( Relying Party : RP) Service Provider ( Identity Provider : IdP) Back Channel: direct HTTP connection 2013 The MITRE Corporation 5

} Started in late 2006 to connect sites using OpenID for logins } Version 1.0(a) standardized in IETF: RFC5849 } Version 2.0 modularized concepts, added explicit extensibilty, and removed major pain points of 1.0 Standardized in IETF: RFC6749, RFC6750 Continued extension development today 2013 The MITRE Corporation 6

Temporary credential, user authorization UA RP IdP Client credential, tokens, API 2013 The MITRE Corporation 7

The most common OAuth2 Pattern

Resource Owner & User Agent Authorization Server Client Protected Resource 2013 The MITRE Corporation 9

UA AS C PR 2013 The MITRE Corporation 10

UA AS C PR 2013 The MITRE Corporation 11

UA AS C PR 2013 The MITRE Corporation 12

UA AS C PR 2013 The MITRE Corporation 13

UA AS C PR 2013 The MITRE Corporation 14

UA AS C PR 2013 The MITRE Corporation 15

UA AS C PR 2013 The MITRE Corporation 16

UA AS C PR 2013 The MITRE Corporation 17

UA AS C PR 2013 The MITRE Corporation 18

UA AS C PR 2013 The MITRE Corporation 19

UA AS C PR 2013 The MITRE Corporation 20

} Avoiding password proliferation User s credentials never go to the client } API protection Hundreds of thousands of sites, projects, and systems and growing } Mobile access to server systems } Authentication (sign-on) protocols Facebook Connect, Log In With Twitter, etc. 2013 The MITRE Corporation 21

} Somebody authorized the Client } Hints at what the client is authorized to do (scope) and for how long (expiration) 2013 The MITRE Corporation 22

} Who the user is } If the user is still there } What to call the user } How the user authenticated in the first place 2013 The MITRE Corporation 23

} Create an identity API, protect it with OAuth Authorization Server becomes Identity Provider Client becomes Relying Party } Standardized user info coming from this API Name, email, picture, etc. } Session management Is the user still logged in? Request log out } Communicate authentication information Step up to high levels of authentication } Keep compatibility with basic OAuth2 2013 The MITRE Corporation 24

} OpenID Connect (OIDC) is built on experience with OpenID 2, OAuth, SAML, Facebook Connect, etc. } Developed by the OpenID Foundation http://openid.net/connect 2013 The MITRE Corporation 26

} OAuth 2 authorization Authorization Server becomes Identity Provider Client becomes Relying Party } JSON Web Tokens Structured token format } Can work in fully-distributed mode Dynamic discovery and registration Self-issued identities } Make the simple things simple, make the difficult things possible. 2013 The MITRE Corporation 27

Resource Owner & User Agent Authorization Server Client Protected Resource 2013 The MITRE Corporation 28

End User & Web Browser Identity Provider Relying Party Identity API 2013 The MITRE Corporation 29

} Use OAuth2 to get a regular access token, as well as an ID token } Use access token to call User Info Endpoint Standardized user profile (name, email, etc.) Standardized scopes (profile, phone, etc.) } Parse and use ID token Standardized format (JWT) Standardized claims set (user identifier, authentication aspects, etc.) 2013 The MITRE Corporation 30

} Higher levels of assurance Signed and encrypted requests Signed and encrypted responses } Fine-grained claims management } Distributed and aggregated claims } Self-issued identities } IdP-initiated login Kicks off the standard flow remotely } Can get very complex if you want it to SAML with curly braces 2013 The MITRE Corporation 31

} OAuth 2 in the wild } Real-life interoperability testing } Real deployments, large and small } Generalization of protocols OIDC Discovery -> Webfinger OIDC Registration -> OAuth 2 Dynamic Client Registration JWT Claims Subject, audience, authorized presenter 2013 The MITRE Corporation 32

https://github.com/mitreid-connect

} Server and client built on Spring Security } Supports key features: Signed tokens Request objects Authorization code and implicit flows } General purpose OAuth2 server Flexible scope definitions Dynamic registration Token introspection Token chaining 2013 The MITRE Corporation 34

} Interoperability testing with working group Nomura Research Institute (PHP client) OIDC-PHP (PHP Client) IBM (Java client) Nov Matake (Ruby client and server) OIDC test suite (Python) and others } Pending Interoperability event hosted by MIT Kerberos Consortium 2013 The MITRE Corporation 35

} Enterprise-friendly platform (Java Spring) } Administration consoles } Programmable API } Modern UI } Event and action logging } Pluggable primary user authentication } General-purpose OAuth 2.0 service 2013 The MITRE Corporation 36

2013 The MITRE Corporation 37

2013 The MITRE Corporation 38

2013 The MITRE Corporation 39

2013 The MITRE Corporation 40

<dependency> <groupid>org.mitre</groupid> <artifactid> openid-connect-parent </artifactid> <version>1.0.0</version> <type>pom</type> </dependency> *Also: openid-connect-common, openid-connect-client, and openid-connect-server 2013 The MITRE Corporation 41

} Account Chooser Javascript application to let a relying party select between multiple identity providers } JSON Web Key Generator Generates public and private keys (not certificates) and prints them in JWK format } Simple Web App Sample application showing how to configure the OpenID Connect client filter in Spring Security } Example Overlay Sample application showing how to configure a server overlay 2013 The MITRE Corporation 42

Please join us!

RESTful Health Exchange

} A RESTful system for exchange of health data Best practices around HTTP protocols Links to protected data } Distributed user base Medical practitioners in different organizations Links to files on remote systems 2013 The MITRE Corporation 46

Primary Care Physician Patient Records Link to record with hdata Fetch Record with OAuth Authenticate With OpenID Consulting Physician s System Consulting Physician Identity Provider 2013 The MITRE Corporation 47

} Blue Button+ initiative on health record exchange } Using OAuth 2 for protecting records in RESTful API } Using dynamic discovery and registration 2013 The MITRE Corporation 48

http://id.mitre.org/

} OpenID 2.0 prototype running since 2009 OpenID Connect available since 2012 } Backed by MITRE s identity infrastructure If you are a MITRE person, you have an OpenID } Usable on any site that supports OpenID } Nearly-single-sign-on experience with minimal integration efforts Many web apps supported OpenID 2.0 natively 2013 The MITRE Corporation 50

} Over 6200 people have used it at least once Ease of developer integration Ease of user experience } Users have accessed over 340 distinct sites Handshake is largest, whitelisted by admins Most sites are not whitelisted Serves the long tail of user needs 2013 The MITRE Corporation 51

10000 1000 100 10 1 *logarithmic scale 2013 The MITRE Corporation 52

Adapting a legacy application

} Trans-lingual web browsing and searching project from MITRE } Originally built as a monolithic application, being redeveloped as a set of services Modular architecture HTTP interconnections Dictionary Clipper UI AS Search Translation 2013 The MITRE Corporation 54

} Token introspection Resource servers call back to authorization server to validate tokens at runtime } Token chaining Resource servers need to call each other Downscope tokens for minimal access 2013 The MITRE Corporation 55

Search Service User Interface Dictionary Service OpenID Connect AuthN Provider 2013 The MITRE Corporation 56

Search Service User Interface Dictionary Service OpenID Connect AuthN Provider 2013 The MITRE Corporation 57

Search Service User Interface Dictionary Service OpenID Connect AuthN Provider 2013 The MITRE Corporation 58

Search Service User Interface Dictionary Service New Service OpenID Connect AuthN Provider 2013 The MITRE Corporation 59

} Services and applications to help MITRE interact with external partners } Loosely-coupled architecture Based on open standards User-driven experience Opt-in for applications 2013 The MITRE Corporation 61

CAC Proxy MITREid MPA Others & Others Identity Clearinghouse Authorization Rule Based Decision Engine MPN Portal UMA Handshake CommShare Partners Center and lab capabilities Identify additional capabilities External Partners ActivityStreams Content APIs Notification Service PuSH-EE ActivityStreams Aggregator User Info Endpoint Apps opt-in to services Cloud Applications Apache Rave Apache Shindig PoCo Aggregator OpenSocial Data Source 2013 The MITRE Corporation 62

} Leverage what s working on the internet Build on existing code and libraries } Give users a consistent experience One account across applications No password at MITRE if we can avoid it } Let developers focus on their applications } Make it easy to do the right thing 2013 The MITRE Corporation 63

} Personal Data Store from Human Dynamics lab at MIT Collecting and distributing personal information such as health data for individuals } Using MITREid Connect as identity provider and authorization layer 2013 The MITRE Corporation 65

} Massive adoption across the public internet and within enterprise } OpenID Connect an OAuth2 aren t going anywhere for a while (Until we invent something better) 2013 The MITRE Corporation 67

} In active development by MITRE and others } Being taken over by the MIT Kerberos Consortium Community building Continued development Outreach and education 2013 The MITRE Corporation 68

jricher@mitre.org

(Here there be dragons)

Chocolate Fudge Metaphor from: http://blogs.msdn.com/b/vbertocci/archive/2013/01/02/oauth-2-0-and-sign-in.aspx 2013 The MITRE Corporation 71

} Delicious on its own } Versatile ingredient Useful in many circumstances } Can be used to make fudge 2013 The MITRE Corporation 72

} A confection with several ingredients } Can be made with chocolate But needs more than just chocolate Could be made without chocolate 2013 The MITRE Corporation 73

Per-server overlays (not public) Server A Server B Hosted on GitHub MITREid Connect Open Source Project Open Source, owned by SpringSource Spring Security SECOAUTH Spring Java 2013 The MITRE Corporation 74

DMZ External OP Database Intranet Corporate Firewall User Data Two- Factor Signon Internal OP Corporate SSO 2013 The MITRE Corporation 75

DMZ External OP Database Intranet Corporate Firewall User Data Internal OP Corporate SSO 2013 The MITRE Corporation 76

DMZ External OP Database Intranet Corporate Firewall User Data Internal OP Corporate SSO 2013 The MITRE Corporation 77

DMZ External OP Database Intranet Corporate Firewall Two- Factor Signon Internal OP User Data 2013 The MITRE Corporation 78

DMZ External OP Database Intranet Corporate Firewall User Data Internal OP 2013 The MITRE Corporation 79