Top Banner
THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis [email protected] The Turtle Partnership
47

THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! [email protected]! The Turtle Partnership

Sep 12, 2018

Download

Documents

vuonglien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAMLGabriella Davis [email protected] The Turtle Partnership

Page 2: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

WHO AM I?

Gab Davis

Administrator, Problem Solver, Stubborn Fixer of Things

Working with IBM technologies and all the things surrounding and integrating with those

Based in London, about half the time

Page 3: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

WHAT IS THIS PRESENTATION ABOUT?

We are here to talk about concepts

Once you understand the concepts, their requirements, limitations and benefits you can make decisions about what you need

Hopefully we will give you a good overview of a bunch of confusing acronyms

Page 4: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

I DO NOT THINK THAT MEANS WHAT YOU THINK IT MEANS…

Page 5: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

PASSWORD SYNCHRONISATION

You may have the same password but you’re not the

same person

Page 6: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SINGLE SIGN ON !HELLO, HAVE YOU MET MY FRIEND?

I can vouch for him completely !

Is trust transferable?

Page 7: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

ONE PASSWORD, ONE LOCATION

Page 8: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

Authenticating against a single password in a single place

Sametime

Network Login

Connections

Mail

Mail

LDAP Password

Page 9: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

Synchronising passwords across different systems

Sametime LDAP

Connections LDAP

Traveler Authentication

Password Synchronisation

Tool

Page 10: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

STEPS FOR SINGLE PASSWORD, SINGLE PLACE

For LDAP compliant applications ensure you use the same LDAP directory source

For Domino systems, configure Directory Assistance to point to an LDAP source

ensure you have an attribute in your LDAP directory that contains the user’s distinguished name so Domino is returned a valid user name

You can then empty out the HTTP Password field for all users

This will work for any Domino application, mail , traveler, Sametime etc

The user can be entirely remote and with no access to LDAP directly and this will still work

Page 11: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SPNEGO

Page 12: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

S imPle

N eGotiation

known as NTLM or Kerberos in Active Directory

GSSAPI

Mechanism

Page 13: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SPNEGO EXAMPLE FOR DOMINO

1

USER LOGS INTO

WINDOWS

STEPS

Page 14: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SPNEGO EXAMPLE FOR DOMINO

1 2

ACTIVE DIRECTORY GENERATES

SPNEGO TOKEN

STEPS

USER LOGS INTO

WINDOWS

Page 15: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SPNEGO EXAMPLE FOR DOMINO

1 2 3

ACTIVE DIRECTORY GENERATES

SPNEGO TOKEN

USER TRIES TO ACCESS

DOMINO WEBSITE

STEPS

USER LOGS INTO

WINDOWS

Page 16: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SPNEGO EXAMPLE FOR DOMINO

1 2 3 4

ACTIVE DIRECTORY GENERATES

SPNEGO TOKEN

USER TRIES TO ACCESS

DOMINO WEBSITE

BROWSER SENDS

SPNEGO TOKEN TO DOMINO

ALONG WITH USER NAME

STEPS

USER LOGS INTO

WINDOWS

Page 17: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SPNEGO EXAMPLE FOR DOMINO

1 2 3 4 5

ACTIVE DIRECTORY GENERATES

SPNEGO TOKEN

USER TRIES TO ACCESS

DOMINO WEBSITE

BROWSER SENDS

SPNEGO TOKEN TO DOMINO

ALONG WITH USER NAME

DOMINO CONTACTS

ACTIVE DIRECTORY

TO VALIDATE TOKEN AND

RETRIEVE THE USER’S NAME

STEPS

USER LOGS INTO

WINDOWS

Page 18: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

DOMINO CREATES A LTPATOKEN FOR THE

VALIDATED USER AND GRANTS ACCESS

Enable Multi Server Single Sign-On To

Extend Access To Other Servers

Page 19: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SETTING UP SPNEGO

Create a Domino Web SSO document

Set up a SPN for the Domino server in Active Directory

Domino must run under whatever account you set up for it

Run domspnego

Take the output and give it to your AD administrator to run setspn with

Run setspn -a http://<dominohostname> <accountnamerunningdomino>

Update person documents with AD name appended to FullName (and optional others like krbPrincipalName and LTPA User Name)

Page 20: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

WHY NOT SPNEGO

It requires Active Directory

It requires users to login to Active Directory

It requires Microsoft Supported browsers

It requires a Windows client for the users

It requires Domino to be on a Windows platform

at least the first Domino server that’s accessed, the rest can then be reached via Multi Server SSO token generated by Domino

!

It doesn’t work at all if the user is remotely connecting and not logging into Active Directory

It has a very specific use case

Page 21: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SAML

Page 22: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

A ssertionM arkupL anguage

SAML is a protocol and process for exchanging authorisation and authentication data for a user

between services and servers

S ecurity

Page 23: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

IDP (IDENTITY PROVIDER)

Sp (Service Provider)

Sp (Service Provider)

Sp (Service Provider)

Page 24: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

NO PASSWORDS…..

TO COMPROMISE

TO EXPIRE TO INTERCEPT

Once a user has authenticated with the IdP they won’t be asked again

Page 25: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SAML EXAMPLE

25

1

USER ATTEMPTS TO LOG IN TO A

WEBSITE

STEPS

Page 26: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SAML EXAMPLE

26

1 2

USER ATTEMPTS TO LOG IN TO A

WEBSITE

USER IS REDIRECTED TO IDENTITY PROVIDER

STEPS

Page 27: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SAML EXAMPLE

27

1 2 3

USER ATTEMPTS TO LOG IN TO A

WEBSITE

USER IS REDIRECTED TO IDENTITY PROVIDER

IDENTITY PROVIDER REQUESTS

AUTHENTICATION OR (IF USER IS LOGGED

IN) RETURNS CREDENTIALS

STEPS

Page 28: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SAML EXAMPLE

28

1 2 3 4

USER ATTEMPTS TO LOG IN TO A

WEBSITE

USER IS REDIRECTED TO IDENTITY PROVIDER

IDENTITY PROVIDER REQUESTS

AUTHENTICATION OR (IF USER IS LOGGED

IN) RETURNS CREDENTIALS

USER IS REDIRECTED

BACK TO ORIGINAL SITE

WITH SAML ASSERTION ATTACHED

STEPS

Page 29: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SAML EXAMPLE

29

1 2 3 4 5

USER ATTEMPTS TO LOG IN TO A

WEBSITE

USER IS REDIRECTED TO IDENTITY PROVIDER

IDENTITY PROVIDER REQUESTS

AUTHENTICATION OR (IF USER IS LOGGED

IN) RETURNS CREDENTIALS

USER IS REDIRECTED

BACK TO ORIGINAL SITE

WITH SAML ASSERTION ATTACHED

ORIGINAL SITE USES ITS SAML

SERVICE PROVIDER TO CONFIRM SAML

ASSERTION AND GRANT ACCESS

STEPS

Page 30: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

DEFINITIONS

IdP - Identity Provider (SSO)

ADFS (Active Directory Federation Services in Windows 2008 and Windows 2012)

SAML 2.0 only

can be combined with SPNEGO

Enhances Integrated Windows Authentication (IWA)

TFIM (Tivoli Federated Identity Manager)

SAML 1.1 and 2.0

Page 31: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

DEFINITIONS

SP - Service Provider

IBM Domino (web federated login)

IBM WebSphere

IBM Notes (requires ID Vault) (notes federated login)

Page 32: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

MORE DEFINITIONS

IdP (Identity Providers) use HTTP or SOAP to communicate to SP (Service Providers) via XML based assertions

Assertions have three roles

Authentication

Authorisation

Retrieving Attributes

Page 33: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

AN IDP CAN SERVICE MANY SERVICE PROVIDERS

A SP can be connected to several

IdPs

An IdP can use a variety of authentication

methods including multi factor

Page 34: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

SETTING UP SAML

Choose your IdP if you don’t already have one

which fits best in your business

Build the IdP

Configure the SP

!

Sounds easy doesn’t it?

It’s really not easy by any means but it is worth the investment in time

Page 35: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

WHY NOT SAML

Not everything supports it

Traveler doesn’t

Sametime doesn’t

ID Vault is a requirement so IDs that can’t be vaulted can’t be used

multiple passwords, smartcards etc

Page 36: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

OAUTH

Page 37: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

NOT EVERYTHING BELONGS TO YOU

OAuth is an authentication standard supported by most major cloud providers

Page 38: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

THE USER & THE CONSUMER

Let’s say you want Facebook to post on your Connections Activity Stream.

!We need OAuth for that..

You are the User

Facebook is the Consumer

Page 39: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

THE SERVICE PROVIDER & ITS SECRETSThe consumer (Facebook) wanders over to the Service Provider (IBM Connections) and

asks for permission to post on the Activity Stream

The Service Provider issues a Secret to go with every URL request from the user

which authorises access

Page 40: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

OAUTH SIMPLIFIED EXAMPLE

40

1

USER ASKS FACEBOOK (THE CONSUMER) TO POST ON THEIR

ACTIVITY STREAM

STEPS

Page 41: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

OAUTH SIMPLIFIED EXAMPLE

41

1 2

USER ASKS FACEBOOK (THE CONSUMER) TO POST ON THEIR

ACTIVITY STREAM

FACEBOOK GOES TO

CONNECTIONS (THE SERVICE

PROVIDER) AND ASKS FOR

PERMISSION TO POST

STEPS

Page 42: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

OAUTH SIMPLIFIED EXAMPLE

42

1 2 3

USER ASKS FACEBOOK (THE CONSUMER) TO POST ON THEIR

ACTIVITY STREAM

FACEBOOK GOES TO

CONNECTIONS (THE SERVICE

PROVIDER) AND ASKS FOR

PERMISSION TO POST

THE SERVICE PROVIDER GIVES THE CONSUMER A SECRET KEY TO GIVE TO THE

USER AND A URL FOR THE USER TO CLICK

ON

STEPS

Page 43: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

OAUTH SIMPLIFIED EXAMPLE

43

1 2 3 4

USER ASKS FACEBOOK (THE CONSUMER) TO POST ON THEIR

ACTIVITY STREAM

FACEBOOK GOES TO

CONNECTIONS (THE SERVICE

PROVIDER) AND ASKS FOR

PERMISSION TO POST

THE SERVICE PROVIDER GIVES THE CONSUMER A SECRET KEY TO GIVE TO THE

USER AND A URL FOR THE USER TO CLICK

ON

THE USER CLICKS ON THE URL AND AUTHENTICATES

WITH THE SERVICE PROVIDER

STEPS

Page 44: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

OAUTH SIMPLIFIED EXAMPLE

44

1 2 3 4 5

USER ASKS FACEBOOK (THE CONSUMER) TO POST ON THEIR

ACTIVITY STREAM

FACEBOOK GOES TO

CONNECTIONS (THE SERVICE

PROVIDER) AND ASKS FOR

PERMISSION TO POST

THE SERVICE PROVIDER GIVES THE CONSUMER A SECRET KEY TO GIVE TO THE

USER AND A URL FOR THE USER TO CLICK

ON

THE USER CLICKS ON THE URL AND AUTHENTICATES

WITH THE SERVICE PROVIDER

THE SERVICE PROVIDER ,

SATISFIED THE SECRET KEY IS

GOOD, WILL NOW ALLOW THE CONSUMER

ACCESS TO ITS SERVICES

STEPS

Page 45: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

THAT WAS REALLY SIMPLIFIED

There are other steps and other secrets to ensure traffic is not intercepted once authorisation is granted

There are checks to ensure the Service Provider is who it claims to be

You don’t want to accidentally authorise a phishing site

There are also lots of timeouts on the authorisation

!

Make sure you understand the security of both the Consumer and the Service Provider as well as what access you are granting the Consumer on your behalf

Page 46: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

IN SUMMARY

Think about what your problem actually is, there are plenty of technologies to make the user experience seamless but they become ever more complex to build and maintain

What are your priorities. Single password? No password? No authentication with a particular service

Many solutions require specific operating systems, software and client versions

Make sure you meet all requirements before building a plan you can’t deliver on

Some things are very easy (Single password, SPNEGO)

Some things are very hard (SAML, OAuth)

There is no one solution, you need to choose the combination that delivers for you

Page 47: THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML … · THE THREE S’ - SINGLE SIGN-ON, SPNEGO & SAML Gabriella Davis! gabriella@turtlepartnership.com! The Turtle Partnership

HOW TO FIND METwitter, blogs, Instagram, Facebook and more

[email protected] GabriellaDavis (skype) http://turtleblog.info

gabturtle on twitter and elsewhere