Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud...

19
Mobile Single Sign-On: Extending SSO Out To The Client July 11, 2013 K. Scott Morrison Senior Vice President and Distinguished Engineer

description

Think SSO is just about reducing logins across servers? Think again. In the mobile world, the new twist is sharing sessions across mobile apps on a device. Learn how technologies like OAuth and OpenID Connect can be leveraged by native apps to achieve MSSO.

Transcript of Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud...

Page 1: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Mobile Single Sign-On: Extending SSO Out To The Client

July 11, 2013

K. Scott MorrisonSenior Vice President and Distinguished Engineer

Page 2: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Copyright © 2013 CA. All rights reserved.

Our Problem: Secure Mobile Access to Apps and Data

How Do We Make APIs Available?

Firewall mazes

Diversity of clients and back end systems

Clients and servers change at different rates

Enterprise Network

API/Service Client

API/Service Servers

Firewall 2

Firewall 1

Internet

Directory

Of Interest Today Authentication, Authorization & SSO

Secure Transmission

Page 3: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Copyright © 2013 CA. All rights reserved.

We Want Classic SSO In An Active Profile For REST

Could leverage WS-Fed here SAML’s second act?

API/Service Servers

Apps making RESTful API

calls

Internet

Directory

Page 4: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Copyright © 2013 CA. All rights reserved.

But We Also Want Local App SSO

Single Sign On App Group (these apps will share sign-on sessions)

A B C

API/Service Servers

So now it’s getting interesting…

“Like a VPN… but with an experience that doesn’t suck”

Page 5: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Copyright © 2013 CA. All rights reserved.

App layer

Persistence layer

Mobile OS Isolation is an issue

Silos

Page 6: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Layer 7 Technologies Overview

Motivations: Many of our customers have architectures like this

Gateway Cluster at Edge of Network

DMZ deployment

Hardware appliance, virtual appliance or software

Enterprise Network

API/Service Servers

Firewall 2

Firewall 1

Partners

Mobile Devices

Cloud SSG Cluster

API/Service Client

Directory

Page 7: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Layer 7 Technologies Overview

Native Single Sign-On SDK For Mobile Developers

Enterprise Network

iPhone

Android

iPad

App-sharable Secure Key Store

One time PINSMS, APNS, call

API ServersStrong Security for Mobile Apps Cross-platform and built for a consumer or BYOD world

100% Standards-based using OAuth+OpenID Connect

X-app SSO with multi-factor auth & secure channel

X.509 Certificate provisioning for strong auth and transaction signing

Standards-

based

Page 8: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Layer 7 Technologies Overview

Client Deployment Strategy

Don’t make me work hard– But give me a strong and extensible security model

Transfer of security responsibility– Let developers do what they do best

Simple SDK– Align with common development time environments

iOS, Android, Javascript, etc

Mirror REST frameworks

Future– Aspects, wrapping, etc.

Copyright © 2013 CA. All rights reserved.

Page 9: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Layer 7 Technologies Overview

Self Service: User should be able to log out if device is lost or stolen

Copyright © 2012 CA. All rights reserved.

Page 10: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Copyright © 2013 CA. All rights reserved.

Three Important Entities

A A B C

Device

App

User

Page 11: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Layer 7 Technologies Overview

Protocol Strategy

A B C

username/password

ID Token

Access Token/Refresh TokenPer app

Authorization Server

OAuth + OpenID Connect Profiled for mobile

Clear distinction between device, user and app

Page 12: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Layer 7 Technologies Overview

Overall Architecture

Copyright © 2012 CA. All rights reserved.

Page 13: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Copyright © 2013 CA. All rights reserved.

Register device, streamlined, first usage

Page 14: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Copyright © 2013 CA. All rights reserved.

Register device, streamlined, first usage (cont.)

Page 15: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Copyright © 2013 CA. All rights reserved.

Request an access_token using JWT (SSO)

Page 16: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Layer 7 Technologies Overview

Mobile SSO APIs – server side

Server side API ID Operation URL path

request_token Request access_token / id_token (JWT) /l7cadr/auth/oauth/v2/token

request_token_sso Request access_token using id_token (JWT) which is the SSO scenario

/l7cadr/auth/oauth/v2/token

request_token_basic Request access_token/ id_token (JWT) /l7cadr/auth/oauth/v2/token

request_token_sso_basic Request access_token using id_token (JWT) which is the SSO scenario

/l7cadr/auth/oauth/v2/token

revoke_token Revoke an access_token or refresh_token /l7cadr/auth/oauth/v2/token/revoke

register_device Registers a device for a user /l7cadr/connect/device/register

resource_owner_logout The resource_owner logs out of the device by invalidating his current id_token (JWT)

/l7cadr/connect/session/logout

resource_owner_session_status

The client requests the session status by passing in the id_token /l7cadr/connect/session/status

remove_device_x509 Removes a registered device using ssl mutual authentication /l7cadr/connect/device/remove

userinfo The endpoints returns claims about the current user. The result depends on the SCOPE that was requested with the access_token

/l7cadr/openid/connect/v1/userinfo

list_devices Lists registered devices /l7cadr/connect/device/list

Page 17: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Copyright © 2013 CA. All rights reserved.

Administration of Tokens

Page 18: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Demo

Page 19: Mobile Single-Sign On: Extending SSO Out to the Client - Layer 7's CTO Scott Morrison, Cloud Identity Summit

Questions?

K. Scott Morrison

[email protected](604) 681-9377