Web Single Sign- On: OpenID, Shibboleth, and friends COSC412



Similar documents
Web Based Single Sign-On and Access Control

SAML-Based SSO Solution

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

Step-by-Step guide for SSO from MS Sharepoint 2010 to SAP EP 7.0x

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

OpenSSO: Cross Domain Single Sign On

The Password Problem Will Only Get Worse

SAML-Based SSO Solution

Authentication Methods

Massey University Wireless Network Client Configuration Mac OS X

Copyright: WhosOnLocation Limited

Computer Systems Security 2013/2014. Single Sign-On. Bruno Maia Pedro Borges

Lecture Notes for Advanced Web Security 2015

How To Use Saml 2.0 Single Sign On With Qualysguard

CA Performance Center

Flexible Identity Federation

AVG Business SSO Partner Getting Started Guide

Lets get a federated identity. Intro to Federated Identity. Feide OpenIdP. Enter your address. Do you have access to your ?

Connecting Web and Kerberos Single Sign On

SAP Cloud Identity Service Document Version: SAP Cloud Identity Service

Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3

SAP NetWeaver AS Java

How-to: Single Sign-On

SAML Single-Sign-On (SSO)

Recommended Browser Setting for MySBU Portal

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

Design and Implementation of Web Forward Proxy with

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

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

Salesforce1 Mobile Security Guide

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

Instructions for Configuring Your Browser Settings and Online Security FAQ s. ios8 Settings for iphone and ipad app

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

Securely Yours LLC We secure your information world. www. SecurelyYoursllc.com

OpenLogin: PTA, SAML, and OAuth/OpenID

INF3510 Information Security University of Oslo Spring Lecture 8 Identity and Access Management. Audun Jøsang

Title: A Client Middleware for Token-Based Unified Single Sign On to edugain

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

Configuring EPM System for SAML2-based Federation Services SSO

OpenID and identity management in consumer services on the Internet

Single Sign-On for the UQ Web

Trend of Federated Identity Management for Web Services

Perceptive Experience Single Sign-On Solutions

SAML Security Option White Paper

HP Software as a Service. Federated SSO Guide

EXTENDING SINGLE SIGN-ON TO AMAZON WEB SERVICES

Leveraging SAML for Federated Single Sign-on:

Reviewer Guide Core Functionality

An Anti-Phishing mechanism for Single Sign-On based on QR-Code

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

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

Configuring SAML2 for Single Sign On to Smartsheet (Enterprise Only)

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

Vodafone Secure Device Manager Administration User Guide

SAP Single Sign-On 2.0 Overview Presentation

Implementation Guide SAP NetWeaver Identity Management Identity Provider

SAML 2.0 Configurations at SAP NetWeaver AS ABAP and Microsoft ADFS

Cloud Portal for imagerunner ADVANCE

User Identity and Authentication

Mobile Security. Policies, Standards, Frameworks, Guidelines

DEPLOYMENT GUIDE. SAML 2.0 Single Sign-on (SSO) Deployment Guide with Ping Identity

Single Sign-On: Reviewing the Field

Setting up Channel-21 Secure RSS CEP on

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

IceWarp Server - SSO (Single Sign-On)

Reading an sent with Voltage Secur . Using the Voltage Secur Zero Download Messenger (ZDM)

Install and End User Reference Guide for Direct Access to Citrix Applications

Flexible Identity Federation

SSO Plugin. Case study: Integrating with Ping Federate. J System Solutions. Version 4.0

Version 3.2 Release Note. V3.2 Release Note

Djigzo S/MIME setup guide

Federated Identity Management Solutions

Toward campus portal with shibboleth middleware

Federated Identity Management and Shibboleth. Noreen Hogan Asst. Director Enterprise Admin. Applications

VMware Identity Manager Administration

ios How to Back Up from icloud

This section includes troubleshooting topics about single sign-on (SSO) issues.

External and Federated Identities on the Web

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

UP L18 Enhanced MDM and Updated Protection Hands-On Lab

Logout Support on SP and Application

Getting the most from Apple Mail

OneLogin Integration User Guide

Configuring Single Sign-on for WebVPN

OIOSAML 2.0 Toolkits Test results May 2009

How to wipe personal data and from a lost or stolen mobile device

HOTPin Integration Guide: Salesforce SSO with Active Directory Federated Services

Mac OS X Security Checklist:

Manual. Netumo NETUMO HELP MANUAL Copyright Netumo 2014 All Rights Reserved

Only LDAP-synchronized users can access SAML SSO-enabled web applications. Local end users and applications users cannot access them.

Single-sign-on between MWS custom portlets and IS services

SAML single sign-on configuration overview

Crawl Proxy Installation and Configuration Guide

How to generate an APNs Certificate to use the Apple MDM protocol via the portal

INUVIKA OPEN VIRTUAL DESKTOP ENTERPRISE

Office 365 deploym. ployment checklists. Chapter 27

Negotiating Trust in Identity Metasystem

Lenovo Partner Access - Overview

Installing Oracle 12c Enterprise on Windows 7 64-Bit

Transcription:

Web Single Sign- On: OpenID, Shibboleth, and friends COSC412

Learning objectives Understand how web-based single sign on (SSO) systems use cryptography Describe the different participants in web SSO systems and how they interact Contrast the different features of SSO systems Discuss the limitations of SSO systems 2

Motivation for Web- based SSO Avoid users authenticating multiple times (Similar in motivation to Kerberos) both within and across services Contrast to Kerberos: independent organisations User convenience and security are coupled A need for multiple passwords tends to lead to shared passwords or poor password choices 3

Passwords in the wild: Adobe- fail Rank Count Plaintext Ciphertext 1 1911938 123456 EQ7fIpT7i/Q= 2 446162 123456789 j9p+hwtwwt86amjgzflzyg== 3 345834 password L8qbAD3jl3jioxG6CatHBw== 4 211659 adobe123 BB4e6X+b2xLioxG6CatHBw== 5 201580 12345678 j9p+hwtwwt/ioxg6cathbw== 6 130832 qwerty 5djv7ZCI2ws= 7 124253 1234567 dqi0aswpyvq= 8 113884 111111 7LqYzKVeq8I= 9 83411 photoshop PMDTbP0LZxu03SwrFUvYGA== 10 82694 123123 e6mpxq5g6a8= 11 76910 1234567890 j9p+hwtwwt8/hezn+3oicq== 12 76186 000000 diq+ie23vaa= 13 70791 abc123 kccuscmonea= 14 61453 1234 ukxzecxu6pw= 15 56744 adobe1 5wEAInH22i4= 16 54651 macromedia WqflwJFYW3+PszVFZo1Ggg== 17 48850 azerty hjaysdua4+k= 18 47142 iloveyou rpkvf+ozzqvioxg6cathbw== 19 44281 aaaaaa xz6piegzr6g= COSC412 Lecture 8, 2014 Source: http://stricture-group.com/files/adobe-top100.txt 4

So what went wrong at Adobe? Well, everything, really 130,324,429 passwords in one leaked database symmetric key crypto used instead of hashing ECB mode used CTR would have worked nicely! same key for every password Users password hints were stored in plaintext That s bad if the password hint is the password! ( needless to say, that s a terrible hint) 5

Security in practice with passwords Password changing policies: often hopeless Requirements for changing passwords over time Requirements for password content Requiring regular password change has risks: Users more likely to parameterise their passwords Users choose easier to remember passwords Silly rules about what must/can t be included Key point is actually the password entropy 6

XKCD #936 sums it up perfectly 7

Password managers Why is using a password manager good? Secure passwords can be used Users don t even need to chose them! Can use independent passwords per account Can go back to a single master password However there are some downsides: You re not remembering the password yourself Synchronisation across devices? 8

Cryptography in MacOS Keychain While OS-specific, Apple got this one right Has been included since MacOS 8.6! Fairly recently gained icloud Keychain Although it s effectively what MobileMe used to do Keychain provides single DB for secrets Is used for Mac user login Browsers: Safari, Chrome Wi-Fi passwords Apps such as svn, alpine, certificates, etc. 9

MacOS Keychain Access 10

MacOS multiple Keychains Previous screenshot shows multiple keychains Collect passwords of different sensitivity Different lock after inactivity / sleep settings 11

MacOS icloud Keychain icloud keychain: magical sync ios/macos Actually some of the magic is explained in detail: http://images.apple.com/iphone/business/docs/ios_security_feb14.pdf Keychain sync involves a circle of trust with asymmetric crypto initiated from first device icloud gets to see the public key only Streams pw update on demand to other devices Apple does not get to decrypt the passwords Keychain backup is different 12

Under the hood: MacOS Keychains MacOS provides the security command security will pop up GUI elements if it needs to oucs1324! ~ security find-generic-password -l 'Dummy item' -w dme-srg.keychain not a good password 13

We can explore Keychain items Retrieve attributes other than the password: oucs1324! ~ security find-generic-password -l 'Dummy item' dme-srg.keychain keychain: "/Users/dme/Library/Keychains/dme-srg.keychain" class: "genp" attributes: 0x00000007 <blob>="dummy item" 0x00000008 <blob>=<null> "acct"<blob>="dme" "cdat"<timedate>=0x32303134303832383031343634315a00 "20140828014641Z\000" "mdat"<timedate>=0x32303134303832383031343634315a00 "20140828014641Z\000" "nega"<sint32>=<null> "prot"<blob>=<null> "scrp"<sint32>=<null> "svce"<blob>="dummy item" "type"<uint32>=<null> Encryption? MacOS: DES3? ios: AES-256 14

Other password managers Integrated into browsers: Chrome / Firefox Java has java.security.keystore Like Keychain, this stores certificates, etc., too Helped Java provide consistent operation in the bad-days of USA encryption export restrictions Projects such as LastPass, 1Password, etc. but let s return to not using passwords! 15

OpenID First appeared around 2005 First functional on LiveJournal as Yadis Yet Another Distributed Identity System given Brad Fitzpatrick was developer of both Idea is that your FOAF description would indicate your chosen identity server (Friend of a friend social network graphs) Identity server can digitally sign that you are who you say you are 16

OpenID focus OpenID is very much user-driven Individuals are able to change their ID server Also very netizen -focused Who you are might be entirely blog-based it s important that you own your blog posts, but doesn t matter who you are in the real world Provides features for users who own domains 17

How OpenID works Another case of "triangular" authentication Key parties involved: OP: OpenID Provider RP: Relying Party User agent: operated by an end user User agent 3. Give me a note for RP about who I am 5. Request4. Here s your note for RP OP (e.g. Google) 1. Request 2. Who are you? Get your OP to tell me RP (the service you want to access) May establish shared secret 18

OpenID 2.0: authenticating to a site User navigates to protected resource Identity URL requested mod_auth_openid is generating this page on our Apache server User enters their ID URL e.g. dme26.pip.verisignlabs.com (or https://www.google.com/accounts/o8/id) : ~$; /vagrant/setup-apache.sh : ~$; /vagrant/setup-openid.sh 19

OpenID module redirects to OP (1) Client's user agent can establish a secure connection to the OP OP can authenticate the user... or continue an existing session Crucial: OP checks that user is satisfied the RP should receive that user s details Not just authentication Attributes can be passed to the RP 20

OpenID module redirects to OP (2) 21

RP OpenID code sent login info (1) RP s OpenID software has state or is stateless Implementation with state: A shared secret already negotiated with OP The pip.verisignlabs.com interaction has state: see openid.assoc_handle within OP/RP interaction Stateless implementation: An additional confirmation interaction is required with the OP in order to verify the OP s statement 22

RP OpenID code sent login info (2) 23

What'ʹs happening on the network? : ~$; /vagrant/tcpflow-web.sh I submitted my ID URL to the VM s Apache: GET /4-OpenId-auth/?openid_identifier=dme26.pip.verisignlabs.com HTTP/1.1 Host: localhost:8080 Our RP (mod_auth_openid) talks to the OP Gets XRDS document leading to OP URLs (extensible Resource Descriptor Sequence) GET / HTTP/1.1 User-Agent: libopkele/2.0.4 Host: dme26.pip.verisignlabs.com which replies: X-Frame-Options: SAMEORIGIN X-XRDS-Location: http://pip.verisignlabs.com/user/dme26/yadisxrds Content-Type: text/html;charset=utf-8 Set-Cookie: JSESSIONID=DD63AAD33CC6EF06A1E791A23F23FF1B.pip3; Path=/ 24

xrds+xml not that nice to look at <?xml version="1.0" encoding="utf-8"?> <xrds:xrds xmlns:xrds="xri://$xrds" xmlns:openid="http://openid.net/xmlns/1.0" xmlns="xri://$xrd*($v*2.0)"> <XRD> <Service priority="0"> <Type>http://specs.openid.net/auth/2.0/signon</Type> <URI>http://pip.verisignlabs.com/server</URI> <LocalID>http://dme26.pip.verisignlabs.com/</LocalID> </Service> <Service priority="1"> <Type>http://openid.net/signon/1.1</Type> <Type>http://openid.net/sreg/1.0</Type> <Type>http://openid.net/extensions/sreg/1.1</Type> <URI>http://pip.verisignlabs.com/server</URI> <openid:delegate>http://dme26.pip.verisignlabs.com/</openid:delegate> </Service> </XRD> COSC412 </xrds:xrds> Lecture 8, 2015 25

Google'ʹs XRDS page is shorter... but it is not generating content for ID URLs Also, it s not offering separate OpenID services for version 1.0 and version 2.0 <?xml version="1.0" encoding="utf-8"?> <xrds:xrds xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)"> <XRD> <Service priority="0"> <Type>http://specs.openid.net/auth/2.0/server</Type> <Type>http://openid.net/srv/ax/1.0</Type> <Type>http://specs.openid.net/extensions/ui/1.0/mode/popup</Type> <Type>http://specs.openid.net/extensions/ui/1.0/icon</Type> <Type>http://specs.openid.net/extensions/pape/1.0</Type> <URI>https://www.google.com/accounts/o8/ud</URI> </Service> </XRD> </xrds:xrds> 26

Interactions with verisignlabs.com # my browser s form submission GET /4-OpenId-auth/?openid_identifier=dme26.pip.verisignlabs.com HTTP/1.1 # RP s OpenID module's request to OP GET / HTTP/1.1 Host: dme26.pip.verisignlabs.com # Response from OP with yadisxrds URL HTTP/1.1 200 OK # request from RP to OP GET /user/dme26/yadisxrds HTTP/1.1 Host: pip.verisignlabs.com # response from OP is 200 OK # response from OP to UA: redirect to auth HTTP/1.1 302 Found # my browser is redirected here by OP GET /4-OpenId-auth/?&modauthopenid.nonce=77kfnrWbdU&openid.assoc_handle=f4bf3320-2e75 # request from RP to OP # response from OP to RP # request from RP to OP GET /user/dme26/yadisxrds HTTP/1.1 # response from OP to RP is 200 OK # response to my client: sets cookie in user agent and redirects # my browser makes another request with the cookie set GET /4-OpenId-auth/?openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape # data from server 27

Another web- SSO Shibboleth: web-based SSO based on SAML (Security Assertion Markup Language) Compared to OpenID, more institutional You don t get to move your ID provider Very popular across academic organisations They require sign-on to external services (library) Often more loosely coupled than corporates 28

How Shibboleth works This looks familiar quite similar to OpenID WAYF: Where Are You From service SP: Service Provider IdP: Identity Provider User agent User agent 3. I need to find my IdP 4. Look over there 5. Give me a note for SP 7. Request6. Here s your note for SP WAYF (e.g. Tuakiri) IdP (e.g. Otago) 1. Request 2. Who are you? Get your IdP to tell me SP (the service you want to access) 7b. SP may ask IdP for user attributes 29

Tuakiri: NZ Access Federation Facilities at any member s site can be set up to be accessed by any other member s users Universities Auckland University of Technology Lincoln University Massey University The University of Auckland University of Canterbury University of Otago University of Waikato Victoria University of Wellington CRIs AgResearch Environmental Science & Research GNS Science Landcare Research New Zealand Plant and Food Research NIWA SCION 30

WAYF: Where Are You From? Tuakiri: heavily involved setting up federation Beyond accessing others hosted services, need federation for shared services e.g., New Zealand escience Infrastructure (NeSI) Technically, Tuakiri provides the WAYF service As shown earlier, switches user through to IdP 31

Example: accessing a web service I want to retrieve some research data Stored on a NeSI (prototype) service: http://df.bestgrid.org/bestgrid/home/s3dr/ datasets/20130816-dunedin/gpslog.txt The above data is protected but front page isn t: 32

Tuakiri WAYF Note: Can set up a default IdP (home organisation) WAYF will then redirect without user input 33

Otago IdP Note: IdP is a server running at Otago for us Have control over attribute release 34

User agent returns to SP If all is well, original request will be honoured There is usually a requirement for time sync. Various sessions can be established: SP will likely initiate some type of web session Shibboleth may refresh SP session without auth. IdP may allow Shibboleth to refresh without auth. Compared to OpenID, Shibboleth links to your real world identity more directly 35

But who am I? Shibboleth's institutional focus may not reflect reality effectively in corner cases Principals may have multiple affiliations, e.g., Primarily, I'm eyeda59p@otago.ac.nz However I'm also deye490@auckland.ac.nz Further afield, I m dme26@cam.ac.uk too So I end up with three Shibboleth IdPs (!) and they don t know that I m the same person 36

In summary If stuck with passwords, use a key-store Web Single Sign On systems offer increased convenience and security for web users Typically have a similar distributed structure As an overgeneralisation: OpenID focuses on users online identities Shibboleth focus: users roles in organisations 37