cis14: mobile sso using napps: openid connect profile for native apps-jain

50
© 2014 VMware Inc. All rights reserved. Mobile SSO using NAPPS Ashish Jain @itickr CIS 2014

Upload: cloudidsummit

Post on 05-Dec-2014

474 views

Category:

Technology


2 download

DESCRIPTION

Ashish Jain, VMware A look at the use cases for Mobile SSO, what are the gaps and what are the various industry initiatives available today, along with a review of the NAPPS standard—an OpenID Connect Profile to address various Mobile SSO flows.

TRANSCRIPT

Page 1: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

© 2014 VMware Inc. All rights reserved.

Mobile SSO using NAPPS

Ashish Jain

@itickr

CIS 2014

Page 2: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Why is this important ?

0

300

600

900

2009 2010 2011 2012

Smartphones and tablets PC shipments

of information workers use three or more devices for w o r k t o i n c r e a s e p r o d u c t i v i t y

EXPLOSIVE GROWTH in shipments of smartphones and tablets

Sources: IDC, BGR, Forrester

FLAT pc shipments

New Device Platforms New Apps New User Expectations New Device Platforms

BYOD & JIT

Page 3: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

The Changing Device Mix

148 141

202 240 128

352

722

1516

0

1000

2000

2012 2017

Smartphone

Tablet

Portable PC

Desktop PC

Source: IDC's Worldwide Smart Connected Device Tracker Forecast Data, February 28, 2013

Connected Device Market by Product Category, Shipments, 2012-2017 in Millions

Page 4: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

The Changing Device Mix

Source: IDC's Worldwide Smart Connected Device Tracker Forecast Data, September 11, 2013

By 2017, 87% of connected devices will be smart phones and tablets

Page 5: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

Page 6: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

App 2 App 3

Page 7: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

App 2 App 3

App 4

Page 8: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1 App 2 App 3

AD

Page 9: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1 App 3

AD

Policy Server

App 2

Page 10: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

Policy Server

App 2

App 3 App 1

AD

Policy Server

App 2

App 3

Page 11: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

Policy Server

App 2

App 3 App 1

AD

Policy Server

App 2

App 3

Page 12: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

SAML IdP

App 2

App 3 App 1

AD

App 2

App 3

Policy Server

SAML RP

Policy Server

SAML

Page 13: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

SAML IdP

App 2

App 3 App 1

AD

App 2

App 3

Policy Server

SAML RP

Policy Server

SAML

Page 14: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

SAML IdP

App 2

App 3

App 1

AD

App 2

App 3

Policy Server

SAML RP

Policy Server

SAML

Page 15: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

SAML IdP

App 2

App 1

AD

App 2

App 3

Policy Server

SAML RP

Policy Server

SAML

App 3 SAML RP

Page 16: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

SAML IdP

App 2

App 1

AD

App 2

App 3

Policy Server

SAML RP

Policy Server

SAML

iOS App

App 3 SAML RP

Page 17: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

SAML IdP

App 2

App 1

AD

App 2

App 3

Policy Server

SAML RP

Policy Server

SAML

iOS App

App 3 SAML RP

Page 18: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

SAML IdP

App 2

App 1

AD

App 2

App 3

Policy Server

SAML RP

Policy Server

SAML

OAuth AS

iOS App

App 3 SAML RP

Page 19: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

SAML IdP

App 2

App 1

AD

App 2

App 3

Policy Server

SAML RP

Policy Server

SAML

iOS App iOS App

OAuth AS App 3 SAML RP

Page 20: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

SAML IdP

App 2

App 1

AD

App 2

App 3

Policy Server

SAML RP

Policy Server

SAML

iOS App iOS App

OAuth AS App 3 SAML RP

Page 21: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

SAML IdP

App 2

App 1

AD

App 2

App 3

Policy Server

SAML RP

Policy Server

SAML

iOS App iOS App

OAuth AS

OAuth AS App 3 SAML RP

Page 22: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

SAML IdP

App 2

App 1

AD

App 2

App 3

Policy Server

SAML RP

Policy Server

SAML

iOS App iOS App

OAuth AS

OpenID Connect

OpenID Connect OAuth AS App 3 SAML RP

Page 23: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1

AD

SAML IdP

App 2

App 1

AD

App 2

App 3

Policy Server

SAML RP

Policy Server

SAML

iOS App iOS App

OAuth AS

OpenID Connect

OpenID Connect OAuth AS App 3 SAML RP

TA

Page 24: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Web SSO Flow

1

2

3

4

SAML

IdP RP

AD

Page 25: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Mobile App Auth Flow

1

2

4

3

SAML

IdP RP / RS

AD

Mobile App

AS

5

6

7 OAuth

Page 26: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Mobile App

Mobile App(s) Auth Flow

1

2

4

3

SAML

IdP RP / RS

AD

Mobile App

AS

5

6

7OAuth

Page 27: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Mobile App Auth Flow

Page 28: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

IdP Discovery

Page 29: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

IdP Discovery

Page 30: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

IdP Login

Page 31: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Access to App

Page 32: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Mobile App Auth Flow

Page 33: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

IdP Discovery

Page 34: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

IdP Discovery

Page 35: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

IdP Login

Page 36: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App Access

Page 37: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App Access

Page 38: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Mobile App

Mobile App(s) Auth Flow

1

2

4

3

SAML

IdP RP / RS

AD

Mobile App

AS

5

6

7 OAuth

Issues §  Authentication per Mobile App. §  No invalidation of access token §  No clean up of offline/cached data on device

Page 39: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Mobile App SSO – SP Init

Page 40: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Mobile App SSO – IdP Init

Page 41: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Mobile App SSO

Page 42: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Mobile App SSO

Page 43: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Where are we today ?

•  Layer 7

•  Centrify

•  Samsung Knox

•  Google Auth

Page 44: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

App 1 App 3

AD

Policy Server

App 2

Page 45: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Deployment Models

•  Enterprise in-house native apps

•  Native App for a SaaS provider

•  Multiple native apps for a single SaaS provider

Page 46: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

NAPPS

•  OIDF working group

•  Profile of OpenIDConnect

•  Participants include (VMware, AirWatch, Ping

Identity, Mobile Iron, Okta, OneLogin…)

Page 47: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

NAPPS Terminology

•  Token Agent: Native app that obtains access tokens on behalf of

other native apps

•  AppInfo Endpoint: Endpoint to obtain metadata about apps

•  Primary Token: OAuth token obtained by TA for its own use

•  Secondary Token: OAuth token obtained by TA on behalf of other

native app

Page 48: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Mobile App SSO

1

2 3

SAML IdP RP / RS

AD

Mobile App

AS

5

9 OAuth

Token Agent

3

PT

6

ST

4

5 7

8

Page 49: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Mobile App SSO

Page 50: CIS14: Mobile SSO using NAPPS: OpenID Connect Profile for Native Apps-jain

Thank You!