Hannes Tschofenig MIT CFP Privacy & Security Working Group Feb. 2 nd 2011.

Slides:



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

AAI for Apps Using AAI with your Smartphone Daniel Latzer Zürich, April 2013
FI-WARE Testbed Access Control temporary solution.
OAuth 2.0 By “PJ” (JP on meetup.com) iOS and PHP developer, and occasional lawyer Contact me via:
Hannes Tschofenig, Blaine Cook (IETF#79, Beijing).
Hannes Tschofenig (IETF#79, SAAG, Beijing). Acknowledgements I would like to thank to Pasi Eronen. I am re- using some of his slides in this presentation.
By: Ansuya Chauhan.
Mashing Up with User-Centric Identity America Online LLC John Panzer, Praveen Alavilli.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Building Secure Applications.
Google App Engine Google APIs OAuth Facebook Graph API
OAuth/UMA for ACE 24 th March 2015 draft-maler-ace-oauth-uma-00.txt Eve Maler, Erik Wahlström, Samuel Erdtman, Hannes Tschofenig.
Hosted Exchange The purpose of this Startup Guide is to familiarize you with ExchangeDefender's Exchange and SharePoint Hosting. ExchangeDefender.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Remotely authenticating against the Service Framework.
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Design Extensions to Google+ CS6204 Privacy and Security.
Forms Authentication, Users, Roles, Membership Svetlin Nakov Telerik Corporation
Identity Management Report By Jean Carreon and Marlon Gonzales.
SIP OAuth Rifaat Shekh-Yusef IETF 90, SIPCore WG, Toronto, Canada July 21,
FIspace SPT Seyhun Futaci. Technology behind FIspace Authentication and Authorization IDM service of Fispace provides SSO solution for web apps, mobile.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Module 5 Configuring Authentication. Module Overview Lesson 1: Understanding Classic SharePoint Authentication Providers Lesson 2: Understanding Federated.
SPAM Settings. The ExchangeDefender Admin Site is a powerful tool that gives you access to all of the benefits ExchangeDefender has to offer, from the.
IFORM ACCOUNT MAINTENANCE ICT4D SESSION 4. IFORMBUILDER WEBSITE REQUIREMENTS To access the iFormBuilder website, you need the following items: -Reliable.
Identity Management Hannes Tschofenig. Motivation OAuth was created to allow secure and privacy friendly sharing of data. OAuth is not an authentication.
Microsoft ® Official Course Module 13 Implementing Windows Azure Active Directory.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
Windows Role-Based Access Control Longhorn Update
SSO Case Study Suchin Rengan Principal Technical Architect Salesforce.com.
THE DEVIL IS IN THE (IMPLEMENTATION) DETAILS: AN EMPIRICAL ANALYSIS OF OAUTH SSO SYSTEMS SAN-TSAI SUN & KONSTANTIN BEZNOSOV PRESENTED BY: NAZISH KHAN COMPSCI.
MEMBERSHIP AND IDENTITY Active server pages (ASP.NET) 1 Chapter-4.
CSC350: Learning Management Systems COMSATS Institute of Information Technology (Virtual Campus)
Access Management 2.0: UMA for the #UMAam20 for questions 20 March 2014 tinyurl.com/umawg for slides, recording, and more 1.
Facebook is a social utility that connects you with the people around you. Use Facebook to…  Keep up with friends and family  Share photos and videos.
FriendFinder Location-aware social networking on mobile phones.
Module 9 User Profiles and Social Networking. Module Overview Configuring User Profiles Implementing SharePoint 2010 Social Networking Features.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
FriendFinder Location-aware social networking on mobile phones.
Database Access Control IST2101. Why Implementing User Authentication? Remove a lot of redundancies in duplicate inputs of database information – Your.
Esri UC 2014 | Demo Theater | Using ArcGIS Online App Logins in Node.js James Tedrick.
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 1 © 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential.
Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Fundamentals of Web DevelopmentRandy.
FriendFinder Location-aware social networking on mobile phones.
Experiences Deploying OpenID for a Broad User Base Security and Usability Considerations Breno de Medeiros Identity Management 2009, September
Security Hannes Tschofenig. Goal for this Meeting Use the next 2 hours to determine what the security consideration section of the OAuth draft(s) should.
Scheduler CSE 403 Project SDS Presentation. What is our project? We are building a web application to manage user’s time online User comes to our webpage.
Upay User Guide WELCOME TO UPAY This guide is aimed to help you to use the Upay website. To launch Upay you will need to navigate to
Virtual techdays INDIA │ November 2010 Integrating Social Networks with ASP.NET Krishna Chaitanya T │ Future Web Research Lab, SETLabs, Infosys WE.
Secure Mobile Development with NetIQ Access Manager
#SummitNow Consuming OAuth Services in Alfresco Share Alfresco Summit 2013 Will Abson
(Part 2). From Part 1 We …  Signed up to be facebook developers Verified our facebook account. Added facebook developer app.  Setup a Heroku facebook.
Web Authorization Protocol WG Hannes Tschofenig, Derek Atkins.
Ask the Experts – Building Login-Based Sites in AEM
4/18/2018 1:15 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Consuming OAuth Services in Alfresco Share
Phil Hunt, Hannes Tschofenig
D.Y.O. Web The new and easy way to create and maintain your own professional dynamic website.
Migrating SharePoint Add-ins from Azure ACS to Azure AD
Data and Applications Security Developments and Directions
Data Virtualization Tutorial… OAuth Example using Google Sheets
Basic User Site Access Training & Producing Reports
Social Networks Integration in Android
Scraping Facebook via API in R
Task Management System (TMS)
CSE 403 Project SDS Presentation
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.
SharePoint Online Authentication Patterns
Technical Integration Guide
Data Portability It’s Mine, Mine, Mine!
D Guidance 26-Jun: Would like to see a refresh of this title slide
Cross Site Request Forgery (CSRF)
Presentation transcript:

Hannes Tschofenig MIT CFP Privacy & Security Working Group Feb. 2 nd 2011

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 2 Presentation Scope Based on real-world examples for using OAuth and Web 2.0 mashups I will explain identity management, and privacy challenges. I will use Facebook to illustrate how Web application programmers experience OAuth. The subsequent slides have a simple scenario setup: 1.I want to outsource identity management for my own site to Facebook. 2.I want to retrieve information from user’s FB account (to push data to user’s account)

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 3 Simple Data Sharing: FB “Like” Button

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 4 ‘like’ Button: iFrame Version <iframe src=" href= scrolling="no" frameborder="0” style="border:none; width:450px;height:80px"> More details about the two possible implementations using the XFBML and the IFrame can be found here: – The XFBML version (next slide) uses the JavaScript SDK and allows websites more flexible control using the OpenGraph API (including posting content to the user’s website): –

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 5 ‘like’ Button: XFBML Version Easy to produce:

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 6 A Privacy Problem? When you load a page that contains the ‘like’ button then the iFrame actually loads the code from the Facebook webpage. Allows Facebook to know where you are browsing even if you do not click the button. –Uses existing cookie; it works because you are via the iFrame literally “browsing” to Facebook. In case you click on it you automatically add information to your profile. This, however, requires you to log-in. –Different authorization model than “normal” Facebook applications (unless you are logged-in already) –Revoking permissions also works differently than with “normal” FB apps. Getting the incentives right: –Facebook gets to see what users are doing on the Web. –Companies are excited about deploying Web technologies and they get “rewards” if their product is “liked”. –Users are happy that they can share with their friends what they like.

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 7 Outsourcing Identity Management Task: –I want to allow users to log on using their Facebook credentials. –I want this to be integrated into my existing environment. I am using a Wordpress blogging/content management system. –I don’t want to write code.

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 8 Facebook Application Needed In many cases you cannot just deploy OAuth between two sides without going through a registration step. Consequence: Using OAuth on two random web sites does not work (today) Not a technology limitation but a deployment choice! Next, we need to go through the Facebook registration pages to obtain application credentials. Facebook also requires additional information from “application developer”, such as mobile phone number and credit card information.

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 9

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 10 Obtaining the client id & key

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 11 Moving to the “Client”: A Wordpress Widget on my Webpage

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 12 Configuring the placement of the Login Page

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 13 Added Facebook Login

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 14 The NASCAR Problem The NASCAR problem To simplify user interactions websites put the logos of identity providers on their page. More identity providers  more logos More logos  users get confused Website providers only put the top IdP’s on their page  ossification

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 15 Login: Authentication and Authorization Login button re-directs to Facebook (if not yet logged in already) Then, there is an authorization step (see above).

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 16 Separate FB Application Instead of using an existing plug-in you can also write your own Web page. Example code available in a number of programming languages. My example uses PHP and retrieves user information (next slide)

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 17

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 18 PHP Example Code (shortened) // create application instance $facebook = new Facebook(array( 'appId' => ' ', 'secret' => 'afa0f33f69f78fb8d3875c252b45ffad', 'cookie' => true, )); // fetch session if ($session!=null) { // session state exists try { $uid = $facebook->getUser(); $me = $facebook->api('/me'); $logoutUrl = $facebook->getLogoutUrl(); } catch (FacebookApiException $e) { error_log($e); } } else { $loginUrl = $facebook->getLoginUrl(); } // fetch public data $naitik = $facebook->api('/naitik'); ">

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 19 Asking for more data

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 20 Extended Permissions OAuth allows applications to indicate their permissions via a scope attribute. Content of scope attribute is not defined but rather left application specific. Facebook provides examples for such extended permissions to access data beyond basic information: –Examples: “ ”, ”user_photos” Details can be obtained from: –

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 21 Viewing Access Rights

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 22 FB’s Privacy Dashboard: Access Log

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 23 OAuth 2.0 and Identity Management sayshttp://tools.ietf.org/html/draft-hansen-privacy-terminology –An identity is any subset of attribute values of an individual person which sufficiently identifies this individual person within any set of persons. So usually there is no such thing as "the identity", but several of them. –An identity of an individual person may comprise many partial identities of which each represents the person in a specific context or role. –Identity management means managing various partial identities of an individual person, i.e., administration of identity attributes including the development and choice of the partial identity and pseudonym to be (re-)used in a specific context or role.

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 24 OAuth 2.0 and Identity Management, cont. OAuth 2.0 does not mandate –a specific user identifier format, –any authentication mechanism, –a specific credential type, –specific type of data to be stored at the resource server, –management features for creating, modifying, and deleting data

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 25 OAuth 2.0 and Identity Management, cont. Facebook, deploying OAuth 2.0, defines –a specific user identifier format (for logon), –Password-based authentication using a browser interface, –Data to be stored, –management features for creating, modifying, and deleting data (and access permissions) using a Web browser. OAuth provides the functionality of OpenID but in a different style. OpenID’s initial design did not envision any relationship between the relying party and the identity provider. In practice, this turned out to be a no-go. From a standardization point of view, OAuth and OpenID started at different places. –For example, OpenID has standardized APIs for exchange of data while OAuth does not have such APIs. See exchange-1_0.html and exchange-1_0.htmlhttp:// –Next slide shows the OAuth standardization status.

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 26 OAuth Profiles Token Request Standardization Status of the OAuth Framework User Agent Authorization Server Resource Server Resource Consumer Access Request (incl. Token) Authorization Request User Interface Token Format And Content Authz Server Interaction Data ExchangeAuthentication Request Security Token Request/ Response Exchange User Legend: - Red box: Currently covered by OAuth WG

Feb, 2nd 2011MIT CFP Privacy & Security Working Group 27 Summary Open Web Authentication (OAuth) is developed in the IETF OAuth working group: – Code available (see and deployment going fine. Working group is trying hard to finish OAuth 2.0: Security and privacy turns out to be challenging. –Largely a deployment challenge! –See WG rechartering process ongoing to standardize other parts of the OAuth framework.