securing the new digital...

35
Latest Entries Write secure code, don’t write security code. Read more Tuning the industry’s most trusted directory server. Read more Harnessing Sun’s OpenSSO Authentication and Authorization. Read more Hands-On SOA and Web Security. Read more Fine-grained authorization and XACML. Read more THE NEW DIGITAL EXPERIENCE SECURING [email protected] Protecting IDPs from malformed SAML requests Read more Dr Steffo Weber, Oracle May,-2014 BridgFilling the UX gap for mobile enterprise applications.

Upload: vudat

Post on 01-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Latest Entries

Write secure code, don’t write security code.Read more

Tuning the industry’s most trusted directory server. Read more

Harnessing Sun’s OpenSSO Authentication and Authorization.

Read moreHands-On SOA and Web Security.

Read more

Fine-grained authorization and XACML.Read more

THE NEW DIGITALEXPERIENCE

SECURING

[email protected]

Protecting IDPs from malformed SAML requests Read more

Dr Steffo Weber, Oracle May,-2014

BridgFilling the UX gap for mobile enterprise applications.

Page 2: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

ExperienceMotivation Foundation

‣ What for? ‣ UI vs UX vs Security ‣ Channels

‣ How long? ‣ How complicated? ‣ Alternatives

‣ WebSSO limits ‣ OAuth ‣ XCode

Overview

Page 3: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

M MotivationImportance of mobile access management

Page 4: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

depending on your objectivesThe UX gap varies

UX Success Factors courtesy of Jar Creative (http://www.slideshare.net/jarcreative/jar-ux-10elements)

Page 5: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Evolution of UXMotivation

Information &Data Design

Graphical UI

Pro

Pros

umer

Cons

umer

User Experienced Design

Page 6: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Why UX is not UIMotivation

‣ Touchscreen with GUI ‣ Application (MVC) ‣ Background Services (REST)

Page 7: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Some findings (hypothesis first)Motivation

13.6 million tablets shipped to enterprises (2011)

96.3 million tablets shipped to enterprises (2016)

http://www.mobilestatistics.com/mobile-news/the-rise-of-the-enterprise-tablet.aspxMobile Apps. What Consumers really want (Compuware)

Page 8: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Some findings (hypothesis first)Motivation

85% prefer mobile apps over mobile websites

79% will not retry an app if the failed once or twice

48% will delete an app if it is too slow

http://www.mobilestatistics.com/mobile-news/the-rise-of-the-enterprise-tablet.aspxMobile Apps. What Consumers really want (Compuware)

Page 9: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Consumer

Don't make me think.

Page 10: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Consumer

Now what the relationship to identity? Why can't I use Facebook/Twitter login?

Page 11: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Buying process

1.Problem/Need Recognition 2.Information

Search 3.Evaluation of Alternatives 4.Purchase

Decision 5.Post-purchase Behaviour

Social ID Social ID Web Trail

Social ID Web Trail Address Billing Rel

Social ID Web Trail Address Billing Rel Customer ID

?

and corresponding identity.

This is where real identity comes into play.

Page 12: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Customer Loyalty

UX Security

CRM

Page 13: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Customer Loyalty

mobile sites, mobile apps, traditional channels.

Cookies, web SSO

Cookies, web SSO

Multiple apps…

Advice: all channels are equal.

Page 14: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Customer Loyalty Advice: all channels are equal.

WebSSO Access Management (WAM)

Mobile Access Management

iOS built-in Kerberos/mobile VPN

Page 15: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Customer Loyalty Advice: all channels are equal.

Unified Access Management

Page 16: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Φ FoundationHow to achieve SSO for multiple apps?

Page 17: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

If you want to download…WebSSO (recap)

oracledownload

Page 18: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

…you have to log on;…WebSSO (recap)

sign-in first

Page 19: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

… and you’re logged on site-wide.WebSSO (recap)

support

Page 20: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

A challenge.SSO for mobile apps

Page 21: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

What you _can_ do.Options

‣ Store credentials ‣ Use iOS builtin Kerberos ‣ Embedded browser (HTML-5 apps) ‣ Adopt real SSO protocols (OAuth, Open ID Connect,

SAML…) ‣ Inject security services into unsigned apps (mobile app

management)

Page 22: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

New security situation.Analysis

Accessing the services layer from untrusted devices exposes new risks.

In a browser world, we don’t access services layers directly.

iPhone is the new presention layer

Business/ServicesLayer

PresentationLayer

DataLayer

No trust between ext DMZ and service zone.

Page 23: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Three issues to solve.Mobile SSO

‣ Token store • we have to simulate a cookie cache • ideally part of mobile OS – but isn’t

‣ Account for different services • different tokens for different services • buying tickets for different concerts with the

same credit card ‣ Token insertion mechanism

• magically sending a token with a REST request

Inter-process communication

Adopting OAuth

Providing REST libraries

Page 24: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Foundation

one user token vs.

multiple access tokens

OAuth concepts

Page 25: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Ok, here comes OAuth…Foundation

iOS/Andoid App SSO Agent Mobile & Social

User starts App

BA

REST WebService

Who is the SSO Agent on this iPhone?

agent://<get access token>C

Issue access token

F

D1

Make REST call using libIDMMobileSDK. Access token is inserted automatically by SDK

You can reach it via URL scheme agent://

If user has not been authN, present login dialog and request user token.

D2

If user token is present, get access token for app/service.

Forward access tokenE1

E2

Page 26: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

All channels are equal.Foundation

HTTP Call (intercepted) ‣ check for cookies ‣ check for JWT

Service REST, SOAP, etc

Oracle Access Manager Mobile & Social

GET http://oracle:7777/hello/steffo User-Agent:OIC-Authentication Authorization: OAM-Auth rcfPxHcF1EywCq

Page 27: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Access management architecture.Foundation

Oracle Access Management Services

Access Manager

Adaptive Access Manager

Entitlements Server (OpenAZ, XACML)

Directory Services (LDAP)

Mob

ile &

Soc

ial

libMobileREST/JSON/JWT/OAuth

Objective C Java

RESTful Identity Services (CRUD, AuthN/Z, Token

Services)

OWSM (WS-Sec) SOAP-WS

Legacy Services

XACML/OpenAZ

WebGateClassical WebSSO

Oracle Service Bus

API Gateway w

Page 28: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Import libIDMMobileSDK.aFoundation

Page 29: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Register a URL schemeFoundation

Page 30: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

SSO relevant code in iOS appFoundation#import "IDMMobileSDK.h" /* we have @property (nonatomic,retain) OMMobileSecurityService *mobileServices; from header */ !- (void)connectToOICServerAndSetup { …… OMMobileSecurityService *mss = [[OMMobileSecurityService alloc] initWithURL:self.oicURL // e.g. http://token.net:14100/ appName:self.applicationName // e.g. SampleApp or Art domain:self.oicServiceDomainName // e.g. MagServiceDomain delegate:self]; self.mobileServices = mss; …… UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Login" style:UIBarButtonItemStyleBordered target:self action:@selector(doLogin:)]; } !- (IBAction)doLogin:(id)object { ….. NSError *error = nil; error = [self.mobileServices startAuthenticationProcess:nil presenterViewController:self];} !- (void)didFinishAuthentication:(OMAuthenticationContext *)context error:(NSError *)error { .... username = context.userName; }

Initialize app & load profile from central server

Login button & event config

Event handler

Page 31: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

E ExperienceHow long? How complex?

Page 32: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

How long did it take?Experience

‣ Good • Easy iOS integration (SSO is transparent to the developer) • Complete service protection • No hazzle with Apple app store

‣ Suggested enhancements • Currently uses old app delegate pattern

Page 33: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

How long did it take?Experience

1 day

Oracle Access Manager Mobile & Social

0.5 - 1 day0.5 - 1 day

2 – 4 days

Page 34: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

Σ‣ Mobile SSO increases usability and customer

loyalty ‣ OAuth eco-system can transform WebSSO into

mobile SSO ‣ Don’t think channel and avoid silos.

Page 35: SECURING THE NEW DIGITAL EXPERIENCErg-dortmund.gi.de/fileadmin/gliederungen/rg-dortmund/archiv_neu/... · Harnessing Sun’s OpenSSO Authentication and Authorization. Hands-On SOA

!

!

Will IoT be the new mobile?

http://flip.it/caxRaIdentity Culture