Identity management Aalto University, autumn 2013.

Slides:



Advertisements
Similar presentations
Strong Mobile Authentication in Finland (MPKI, WPKI) Special Discussion Topic Kantara Initiative Telco Identity Working Group Prepared by: Keith Uber Ubisecure.
Advertisements

Step Up Authentication in SAML (and XACML) Hal Lockhart February 6, 2014.
Saml-v2_0-intro-dec051 Security Assertion Markup Language An Introduction to SAML 2.0 Tom Scavo NCSA.
1 Security Assertion Markup Language (SAML). 2 SAML Goals Create trusted security statements –Example: Bill’s address is and he was authenticated.
Online Banking Fraud Prevention Recommendations and Best Practices This document provides you with fraud prevention best practices that every employee.
1 Issues in federated identity management Sandy Shaw EDINA IASSIST May 2005, Edinburgh.
Web Services and the Semantic Web: Open Discussion Session Diana Geangalau Ryan Layfield.
Dorian Grid Identity Management and Federation Dialogue Workshop II Edinburgh, Scotland February 9-10, 2006 Stephen Langella Department.
T Network Application Frameworks and XML Service Federation Sasu Tarkoma.
Beispielbild Shibboleth, a potential security framework for EDIT Lutz Suhrbier AG Netzbasierte Informationssysteme (
1 eAuthentication in Higher Education Tim Bornholtz Session #47.
December 19, 2006 Solving Web Single Sign-on with Standards and Open Source Solutions Trey Drake AssetWorld 2007 Albuquerque, New Mexico November 2007.
 Key exchange o Kerberos o Digital certificates  Certificate authority structure o PGP, hierarchical model  Recovery from exposed keys o Revocation.
Electronic Transaction Security (E-Commerce)
Carl A. Foster.  What is SAML?  Security Assertion and Markup Language is an XML-based standard for exchanging authentication and authorization between.
Shibboleth access management: a replacement for Athens and more? Mark Norman and Christian Fernau OUCS 21 June 2007.
Computer Science Public Key Management Lecture 5.
Shibboleth-intro-dec051 Shibboleth A Technical Overview Tom Scavo NCSA.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
May 28, 2002Mårten Trolin1 Protocols for e-commerce Traditional credit cards SET SPA/UCAF 3D-Secure Temporary card numbers Direct Payments.
Catalyst 2002 SAML InterOp July 15, 2002 Prateek Mishra San Francisco Netegrity.
SWITCHaai Team Introduction to Shibboleth.
Identity Management Report By Jean Carreon and Marlon Gonzales.
Saml-intro-dec051 Security Assertion Markup Language A Brief Introduction to SAML Tom Scavo NCSA.
1 Addressing security challenges on a global scaleGeneva, 6-7 December 2010.
Lecture 23 Internet Authentication Applications modified from slides of Lawrie Brown.
WS-Security: SOAP Message Security Web-enhanced Information Management (WHIM) Justin R. Wang Professor Kaiser.
1 Using EMV cards for Single Sign-On 26 th June st European PKI Workshop Andreas Pashalidis and Chris J. Mitchell.
Serving society Stimulating innovation Supporting legislation Danny Vandenbroucke & Ann Crabbé KU Leuven (SADL) AAA-architecture for.
SAML 2.0: Federation Models, Use-Cases and Standards Roadmap
An XML based Security Assertion Markup Language
Shibboleth Akylbek Zhumabayev September Agenda Introduction Related Standards: SAML, WS-Trust, WS-Federation Overview: Shibboleth, GSI, GridShib.
SAML: An XML Framework for Exchanging Authentication and Authorization Information + SPML, XCBF Prateek Mishra August 2002.
Shibboleth: An Introduction
Technical Break-out group What are the biggest issues form past projects – need for education about standards and technologies to get everyone on the same.
Claims-Based Identity Solution Architect Briefing zoli.herczeg.ro Taken from David Chappel’s work at TechEd Berlin 2009.
Attribute Aggregation in Federated Identity Management David Chadwick, George Inman, Stijn Lievens University of Kent.
Transforming Government Federal e-Authentication Initiative David Temoshok Director, Identity Policy and Management GSA Office of Governmentwide Policy.
Security Assertion Markup Language (SAML) Interoperability Demonstration.
Fidelity Feedback on SAML 1.X and ID-FF 1.X Patrick Harding Enterprise Architecture Fidelity Investments.
Workshop on Security for Web Services. Amsterdam, April 2010 Applying SAML to Identity Data Exchange.
Security Assertion Markup Language, v2.0 Chad La Joie Georgetown University / Internet2.
Secure HTTP (HTTPS) Pat Morin COMP 2405.
Access Policy - Federation March 23, 2016
Using Your Own Authentication System with ArcGIS Online
Single Sign-On Led by Terrice McClain, Jen Paulin, & Leighton Wingerd
Analyn Policarpio Andrew Jazon Gupaal
Federation made simple
Cryptography and Network Security
PAYMENT GATEWAY Presented by SHUJA ASHRAF SHAH ENROLL: 4471
HMA Identity Management Status
Identity Federations - Overview
Data and Applications Security Developments and Directions
Introduction How to combine and use services in different security domains? How to take into account privacy aspects? How to enable single sign on (SSO)
THE STEPS TO MANAGE THE GRID
Installation & User Guide
Using SSL – Secure Socket Layer
Cryptography and Network Security
What is Cookie? Cookie is small information stored in text file on user’s hard drive by web server. This information is later used by web browser to retrieve.
The main cause for that are the famous phishing attacks, in which the attacker directs users to a fake web page identical to another one and steals the.
Installation & User Guide
Appropriate Access InCommon Identity Assurance Profiles
InfiNET Solutions 5/21/
Cryptography and Network Security
Presentation transcript:

Identity management Aalto University, autumn 2013

Outline Single sign-on SAML and Shibboleth OpenId (Corporate IAM) Strong identity

Single sign-on (SSO) Users have too many user accounts Cannot remember the passwords Service access slow and inconvenient Forgotten, unmanaged accounts are a security risk  Need for an SSO solution SSO types: Pseudo-SSO: separate authentication to each service; client software manages the credentials and hides the login from user Proxy-based SSO: pseudo-SSO implemented in a proxy; proxy in the network manages user credentials and hides the login details from the client True SSO: user authenticates to a separate authentication service, which asserts user identity to other services Federated SSO: authentication between administrative domains Main problem with SSO systems: there’re so many of them

SAML and Shibboleth

SAML 2.0 architecture Security assertion markup language (SAML 2.0) OASIS standard (combines ideas from SAML 1.1, Liberty Alliance identity-federation framework 1.2, and Shibboleth 1.3) Service provider (SP) and identity provider (IdP) establish a trust relation by exchanging metadata Principal (= user, subject) registers with the IdP Principal authenticates to IdP and then to SP

SAML SAML is a complex family of protocols: Assertions are statements by IdP about a principal, written in XML Protocols define message flows for requesting assertions Bindings define how protocol messages are transported over HTTP, SOAP etc. Profiles define useful combinations of assertions, protocols and bindings Metadata defines trust relations SAML is based on contractual relations Metadata must be first exchanged between IdP and SP Federation may set rules for its member IdPs and SPs User cannot decide which id to use where Typical profile: SAML web browser SSO profile

SAML web browser SSO profile IdP-initiated or SP-initiated SSO: User first logs into the IdP, or first connects to SP Bindings to HTTP messages Redirect: message from SP to IdP is sent in GET URL via browser, with help of HTTP redirection POST: message between SP and IdP is sent in HTTP form via browser, submitted by user click or script Artifact: reference to message is sent in GET URL via browser, with the help of HTTP redirection, and the actual message is retrieved directly from the sender SOAP binding is not used in this profile

SAML web browser SSO profile Protocol for SP-initiated SSO: AuthnRequest and Response How to send these messages over HTTP?  Need to choose bindings; 6 different combinations

SAML web browser SSO profile Example: redirect-artifact binding: SP sends <AuthnRequest> to IdP in GET URL with HTTP redirect IdP sends an artifact to SP in GET URL with HTTP redirect SP retrieves <Response> from IdP with artifact resolution protocol

SAML security Response must be signed by IdP TSL needed for all connections: Protects password; protects secrecy of user attributes; prevents redirections to wrong site; protects the created session and resource access Attributes in the Response are signed by the IdP SP gets the IdP public key from the federation metadata Response contains the request id

Shibboleth 2 Open-source implementation of SAML 2.0 for web SSO (wiki) Developed by the Internet 2 project Used mainly in research and educational institutions; many other commercial and open-source SAML implementation exist If SP supports multiple IdPs, SP-initiated authentication goes via the where are you from (WAYF) page One more step of redirection for the AuthnRequest Federation is a group of IdPs and SPs that share metadata in one signed file agree on an attribute schema agree on CA for TLS have a service agreement that sets out rules for the federation e.g. Haka federation

SAML attributes In addition to user identity, <Response> from IdP to SP contains user attributes Attributes sent to each SP are selected based on attribute filters in metadata Example: CN=Aura Tuomas eduPersonAffiliation = employee;member;faculty Try https://rr.funet.fi/haka/ User attributes are personal data For legal reasons, IdP needs user confirmation before transferring attributes to SP  the annoying check box after IdP login

Sessions in Shibboleth Shibboleth implements two kinds of sessions: IdP session between browser and the IdP (IdP cookies)  user only needs to type in password once SP session between browser and each SP (SP cookies) Additional application sessions: Web middleware incl. PHP, JSP and ASP.NET implements sessions using cookies, URL or web form) Applications may set their own cookies No single logout Logging out of SP does not usually log the user out of the IdP  can log back to SP without password Logging out of IdP does not log the user out of SPs Logging out of one SO does not log the user out of other SPs Application sessions complicate the situation further  Shibboleth logout behavior is hard to understand

OpenId

OpenId architecture Standard for SSO to web sites http://openid.net/developers/specs/ End user creates an OpenId (=identity) at some OpenId provider (OP) End user registers the OpenId at various relaying parties (RP) i.e. web sites End user authenticates to RP with the help of OP The end user needs a web browser i.e. user agent (UA)

OpenId 2.0 protocol Identifier is an HTTP URL (or XRI): gives the OP address e.g. username.myopenid.com, https://me.yahoo.com/username Direct messages use HTTP POST Indirect messages use HTTP GET and Redirect Data fields sent as URL parameters via the browser Method of user authentication not specified; typically a password

OpenId 2.0 security Approval /failure message from OP to RP is authenticated with a MAC and timestamp RP can either establish a MAC key with Diffie-Hellman (step 3) or ask OP to verify the MAC for it (step 7) TLS is not required by OpenId spec but needed for real security: RP must authenticate OP in the Diffie-Hellman or direct verification step UA must authenticate OP before user types in the password TLS can be used between UA and RP to protect service access (Q: does it matter?) User must pay attention: Check https and the OP name in the browser address bar before typing in the password Check RP name on OP login page before approving login

OpenId notes What does “open” mean? In practice, not always so open: Anyone can become an identity provider User can choose any identity provider Services accept the identity chosen by the user Works on any web browser without proprietary software In practice, not always so open: RP policy may determine which OPs are accepted OP policy may determine which RPs are accepted For privacy, user-provided id may just point to OP without user id e.g. https://www.google.com/accounts/o8/id OpenId specification is poorly written Assumes the reader knows previous versions Uses XRI, Yadis and XRDS: very complex and incomplete specifications Security not obvious from the specification: Focus on implementation, not on secure protocol design Vague security claims especially when used without TLS

Strong identity

Strong authentication Goal: authentication equivalent to verifying national identity card or passport Why is it needed? Initial id check when registering new users, e.g. students enrolling to university Required by law for access to government services and personal information Increasing trust in commercial online transactions — but this has long since been solved in other ways Why not use OpenId or SAML? OpenId allows user to choose identifier  no secure link to a real person SAML works internally in organizations and between organizations that have a contract  not for new, open online services

Finnish electronic identity card Finnish identity cards (HST-kortti) have a smartcard chip with three key pairs Signature, encryption and authentication keys http://www.fineid.fi/ Keys are certified by the national population register (VRK) Has not gained popularity; few people have an id card; even fewer ever use it for electronic authentication Why?

Tupas authentication Tupas uses bank accounts for strong authentication Defined by Federation of Finnish Financial Services http://www.fkl.fi/teemasivut/sahkoinen_asiointi/tupas/ Developed from online the payment system (commonly used in Finland for online purchases) User authentication with one-time passwords Advantage: everyone has a bank account, and banks are required to know the identity of their customers  no cost for identity proofing Example: https://password.aalto.fi/

Tupas authentication Three-corner authentication model: user, user’s bank, online service  Each service must set up a shared key with each bank Smaller banks are not supported by all online services

Mobile signature Mobile phone operators install a signature key on the SIM ETSI standard, developed from earlier “business SIM” No direct access from phone to signature key; signatures are requested via the operator’s mobile signature service provider (MSSP) Advantages: everyone has a SIM card, and operators have 24/7 service for revocation Four-corner authentication model: Mobile operators have contracts with each other Each service and user only needs to have a contract with one operator Deployment and adoption has been slow Requires identity proofing i.e. checking if the subject identity before issuing the certificate (now done with Tupas in Finland) Operators want a fee for every transaction  low number of transactions  may not be a viable business

Reading material Online: OpenId 2.0, http://openid.net/developers/specs/ SAML 2.0 Technical Overview, http://www.oasis-open.org/committees/download.php/27819/sstc-saml-tech-overview-2.0-cd-02.pdf

Exercises How much security does OpenId exactly give if TLS is not used? Learn about XRI name space and XRI discovery. If XRI is used as the user identifier in OpenId, how is the user supposed to authenticate the OP before typing in the password? How much difference does it make to security and privacy if the user-provided id points to the OP without identifying the user, and the user identity is entered only at the OP site? Look at the Haka federation metadata for Shibboleth 2. How does this create trust between an IdP and SP? What ways are there to limit the trust? Can you capture the AuthnRequest and Response messages when logging into Noppa? Which bindings are used? Why exactly is TLS needed at each stage in SAML/Shibboleth authentication, or is it? Compare the logout (and re-login) behavior of Noppa, Oodi and nelliportaali.fi. Which sessions get deleted, when and how? Despite similarities in the protocols, OpenId, SAML and Tupas have different goals and make different assumptions about the relations between entities. What differences are there?