INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 16 Prof. Crista Lopes.

Slides:



Advertisements
Similar presentations
Yahoo! OpenID and OAuth 1 Allen Tom Yahoo! Membership Architect OpenID Foundation Board
Advertisements

The How of OAuth OAuth Hackathon – Six Apart
22 May 2008IVOA Trieste: Grid & Web Services1 Alternate security mechanisms Matthew J. Graham (Caltech, NVO) T HE US N ATIONAL V IRTUAL O BSERVATORY.
OAuth Phil Wilson, University of Bath, what the? "OAuth provides a way to grant access to your data on some website to a third website, without.
OpenID & Information Card Profiles for ICAM John Bradley
Authentication Simon Cross Partner Engineer facebook.com/sicross An Overview.
OAuth 2.0 By “PJ” (JP on meetup.com) iOS and PHP developer, and occasional lawyer Contact me via:
By: Ansuya Chauhan.
And YADIS David Recordon Six Apart, Ltd. / LiveJournal.com / Danga Interactive, Inc. Parts of presentation stolen from Brad Fitzpatrick.
A Third Party Service for Providing Trust on the Internet Work done in 2001 at HP Labs by Michael VanHilst and Ski Ilnicki.
Experimental OpenID Service for DOEGrids Summer Student Program 2008 Jan Durand ESnet 08/06/08.
The Widgets Shall Inherit the Web Widget Summit 4 November 2008.
Mashing Up with User-Centric Identity America Online LLC John Panzer, Praveen Alavilli.
Workflow OpenID Scenario Users get OpenID from provider Andy is given access to service, and then to workflow server. Andy installs workflow Workflow gets.
In a world with lots of socially-aware sites… …and lots of “open social web” building blocks…
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 19 Prof. Crista Lopes.
The Design and Implementation of an OpenID-Enabled PKI Kevin Bauer University of Colorado Supervisor: Dhiva Muruganantham.
An Authorization Service using.NET Passport ™ as underlying Authentication Scheme Bar-Hen Ron Hochberger Daniel Winter 2002 Technion – Israel Institute.
OpenID And the Future of Digital Identity Alicia Bozyk April 1, 2008.
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 17 Prof. Crista Lopes.
GRDevDay March 21, 2015 Cloud-based Identity for Applications.
Single Sign-on Writ Large. What is OpenID?  Open, Decentralized single sign on standard  Allows users to use a single digital identity across multiple.
User signs in to WindowsUser is signed in to your app 12.
Using OpenID/OAuth to access Federated Data Services M. Benno Blumenthal IRI of Columbia University GO-ESSP May 2011.
IDENTITY MANAGEMENT Hoang Huu Hanh (PhD), OST – Hue University hanh-at-hueuni.edu.vn.
NASA NEX & OpenID -- Observations -- Andreas Matheus Secure Dimensions.
Remotely authenticating against the Service Framework.
Identity Management in Education. Welcome Scott Johnson, NetProf, Inc. Creator of OmnID Identity Management for Education
Operating Systems & Information Services CERN IT Department CH-1211 Geneva 23 Switzerland t OIS CERN Single Sign-On Summer 2012 Updates Emmanuel.
Identity Management Report By Jean Carreon and Marlon Gonzales.
SIP OAuth Rifaat Shekh-Yusef IETF 90, SIPCore WG, Toronto, Canada July 21,
Shib-Grid Integrated Authorization (Shintau) George Inman (University of Kent) TF-EMC2 Meeting Prague, 5 th September 2007.
External user invited This creates invitation in Access Request List Invitation sent to guest with invitation URL Guest clicks URL. Verification.
Openid Connect
Authority of Information Technology Application National Center of Digital Signature Authentication Ninh Binh, June 25, 2010.
The Social Web: An Implementer's Guide Google I/O May 2009 Google Moderator:
1 Robust Defenses for Cross-Site Request Forgery Adam Barth, Collin Jackson, John C. Mitchell Stanford University 15th ACM CCS.
Cloud Identity & Access Control Services Cloud Computing Soup to Nuts Mike Benkovich Microsoft Corporation btlod-74.
Pertemuan #10 Secure HTTP (HTTPS) Kuliah Pengaman Jaringan.
Web2.0 Secure Development Practice Bruce Xia
Adxstudio Portals Training
Securing Angular Apps Brian Noyes
Esri UC 2014 | Demo Theater | Using ArcGIS Online App Logins in Node.js James Tedrick.
In a world with lots of socially-aware sites… …and lots of “open social web” building blocks…
Using PIV Cards with NIH Login Chris Leggett NIH Login Technical Lead CIT/NIH.
LOGIN FORMS.
Secure Mobile Development with NetIQ Access Manager
05/03/2011Pomcor 1 Meeting the Privacy Goals of NSTIC in the Short Term Presentation at the 2011 Internet Identity Workshop Francisco Corella and Karen.
OpenID Connect: An Overview Pat Patterson Developer Evangelist Architect
Web Application Security + OpenID NWEN 304: Advanced Network Applications.
Application Authentication using Azure AD
Access Policy - Federation March 23, 2016
Creating a new Central Data Exchange (CDX) Account (to access NetDMR)
Federation made simple
Migrating SharePoint Add-ins from Azure ACS to Azure AD
Windows Azure AppFabric
Addressing the Beast: Single Sign-On II
SSOScan: Automated Testing of Web Applications for Single Sign-On Vulnerabilities Yuchen Zhou, and David Evans 23rd USENIX Security Symposium, August,
Creating a new Central Data Exchange (CDX) Account (to access NetDMR)
Multifactor Authentication & First Time Login
OpenID Connect Working Group
What is OAuth and Why?.
A few recent days in the news…
Agenda OAuth Concepts Programming OAuth.
The Social Web: An Implementer's Guide
Office 365 Development.
Mary Montoya, CIO Bogi Malecki, Project Manager
Authorization Made Simple….Sort of
D Guidance 26-Jun: Would like to see a refresh of this title slide
Presentation transcript:

INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 16 Prof. Crista Lopes

Objectives  Understanding the difference between Authentication and Authorization  Understanding OpenID and OAuth

Auth vs Auth  Authentication: who is this user?  Authorization: can this user do that?

Identity on the Web  Millions of Web sites, each with their own users  Each user needs to remember N usernames+passwords  …why not interoperate identity?  …why not interoperate more data?

Decentralized Identity OpenID

OpenID in Action  “OpenID is a decentralized authentication protocol that makes it easy for people to sign up and access web accounts.” 

How it works

How it works, in 11 steps Relying party OpenID Provider End Point

Steps 1, 2 – Post Identifier

How it works – Discovery Relying party OpenID Provider End Point

Steps 3, 4 – Normalization & Discovery  Yadis Protocol Content-Type: application/xrds+xml when performing an HTTP GET on the identity URL

Step 3 – XRDS response <xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)" xmlns:openid="

Steps 3, 4 – Normalization & Discovery  Plain HTTP  Returned document must contain a element:

How it works – Redirect 1 Relying party OpenID Provider End Point

Step 5 – First redirect  Relying party parses XDSR or and retrieves the OpenID provider end point.  Then redirects (302, 303 or 307) user agent to it with query params appended to the URL: HTTP/ See Other Location: openid.ns= openid.mode=checkid_setup& openid.claimed_id=e_mumble& openid.return_to=

How it works – Login Relying party OpenID Provider End Point

Steps 6, 7, 8, 9 – Login  Undefined in the Spec  Usually regular login form with POST  May include further verification with user  This is a vulnerable point in the process  more later

How it works – Final Redirect Relying party OpenID Provider End Point

Step 10 – Final Redirect  OpenID Provider End Point redirects user agent back to the “return_to” URL. HTTP/ See Other Location: openid.ns= openid.op_endpoint= openid.return_to= openid.identity=e_mumble& openid.response_nonce= T17:11:51ZUN6TY9& openid.sig=MACsignature

Step 10  Relying party must verify a few things before deciding that the user is authenticated  return_to matches  identifier matches  nonce is unique  signature is valid

How it works – Finally! Relying party OpenID Provider End Point

Step 11  Relying party returns the page that user was on 

Final Remarks  The whole point of OpenID is to authenticate users  your web app wants to verify that user yahoo.com really is john.smith at yahoo.com  OpenID knows nothing about authorization  after establishing identity, your application must deciding which resources this user is allowed to access authentication ≠ authorization

OpenID is Phishing Heaven  idtheft.fun.de  OpenID’s adoption by major sites is a mystery to me!

Authorization – but not for *your* resources OAuth

 The goal of OAuth is to acquire an access token from a 3 rd party (like Google, Facebook, etc.), which can then be used to exchange user-specific data between your application and that 3 rd party service (such as calendar information or friends list) Facebook/Google user data Your app access user data

OpenID+OAuth  Lets arbitrary apps (like yours) access your Twitter/Facebook/Google/etc account without having to have your password

OAuth 4 main steps  Your app asks for a “request” token from the 3 rd party  Your app asks the 3 rd party for the token to be authorized  3 rd party requests user approval  Your app exchanges the “request” token for an “access” token  Your app uses the “access” token to access the data