Sicurezza II, A.A. 2011/2012 OAuth Speaker: André Panisson, PhD student Università degli Studi di Torino, Computer Science Department Corso Svizzera, 185.

Slides:



Advertisements
Presentazioni simili
Sperimentazioni di Sicurezza, A.A. 2009/2010
Advertisements

Primary Italian Saying How You Are.
Consumare Web Service Andrea Saltarello
Struttura dellinterfaccia SBN2 Mauro Narbone Udine 20 Aprile 2006.
Each student will be able to ask an adult or stranger: What do you like to do? and What dont you like to …?
Università La Sapienza Web programming e programmazione multimediale 1 Web Programming e comunicazione multimediale Lezione 10: PHP.
Biometry to enhance smart card security (MOC using TOC protocol)
BRISCOLA GO ON AVANTI. Storia I giochi di carte hanno le origini più disparate e vengono collocati in differenti epoche, la Briscola risale al La.
Adattamento dal testo Build your English di M. Gotti – ATLAS 1984 Click to continue Questo lavoro è rilasciato sotto i termini della licenza Creative Commons.
Corso di PHP.
Le pubblicazioni ufficiali dalla carta al web Il caso italiano Official publications from paper to web: the Italian case Official publications and Government.
Accesso a DynaMed su iPhone, iPod touch e iPad Tutorial
La sicurezza può essere fornita in ciascuno degli strati: applicazione, trasporto, rete. Quando la sicurezza è fornita per uno specifico protocollo dello.
TUTORIAL PER L’APPLICAZIONE AURASMA
Secure Socket Layer (SSL) Transport Layer Security (TLS)
Come nella stampa tradizionale, un giornale online può essere di informazione informazione o un periodico dedicato a una disciplina specifica.
Printserver2.pg.infn.it (VM Xen in esecuzione su redhat cluster)
Elaborazioni server-side: dalle CGI al PHP
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 21th, 2011.
Project Review byNight byNight December 21th, 2011.
28 laboratori scientifici complessi dotati di sistemi informatici per il controllo e la acquisiz.izione dei dati Sistemi operativi e tipi di dati estremamente.
Distributed System ( )7 TCP/IP four-layer model.
Vannucci Roberto (5BM), De Nardin Axel (5AM)
Google Auth Mechanism Emanuel Di Nardo m.
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill.
Imagine.
Project Review byNight byNight December 21th, 2011.
I giorni della settimana
PINK FLOYD DOGS You gotta be crazy, you gotta have a real need. You gotta sleep on your toes. And when you're on the street. You gotta be able to pick.
Extreme Cluster Administration Toolkit Alberto Crescente, INFN Sez. Padova.
Ontologia AA F. Orilia. Lez. 16 Discussione dell'approccio controfattualista di lewis condotta da Antonio De Grandis.
4/20/20151 Metodi formali dello sviluppo software a.a.2013/2014 Prof. Anna Labella.
Love, Love, Love. Love, Love, Love. Love, Love, Love. There's nothing you can do that can't be done. Nothing you can sing that can't be sung. Nothing.
Sicurezza II, A.A. 2011/2012 OpenID Speaker: André Panisson, PhD student Università degli Studi di Torino, Computer Science Department Corso Svizzera,
( Art. 14 ) 1. Ogni bambino ha diritto all’istruzione senza distinzioni razziali. 1. Every child has the right to be brought up without.
MyEconLab_Univerità degli studi di Milano, corso Prof.ssa Valentina Raimondi How to Access MyEconLab 1.
Extension pack per IIS7 Piergiorgio Malusardi IT Pro Evangelist
Accoppiamento scalare
Printing: Your printer might not print the same way our printers do, so make sure to try a couple of test prints. If things aren’t aligning quite right,
SUMMARY Time domain and frequency domain RIEPILOGO Dominio del tempo e della frequenza RIEPILOGO Dominio del tempo e della frequenza.
Viruses.
Each student will be able to ask an adult or stranger: What do you like to do? and What don’t you like to …?
Mobilità tra i Paesi del Programma KA103 A.A. 2014/2015 (KA103) Mobility Tool+ e il Rapporto Finale Claudia Peritore Roma luglio 2015.
MyEconLab_Univerità degli studi di Milano, corso Prof.ssa Valentina Raimondi How to Access MyEconLab 1.
John Winston Ono Lennon was an English musician. From 1962 to 1970 he was a composer and singer (soloist) of the musical group the Beatles. Along with.
L A R OUTINE D EL M ATTINO Ellie B.. Io mi sono svegliata alle cinque del mattino.
Passato prossimo dei verbi riflessivi con Essere
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Workers’ General Training
Linux, Android e Internet of Things ITIS G.Galilei - San Secondo (PR)
Fare Adesso - La Salute (page 9)La Salute Cosa hai? – Look at the picture and write the illness that each person is feeling on the handout provided. Oggi.
Anno: 2009/10 Prof. Roberto Beraldi Autore: Giorgio Federici.
Simple Sentences in Italian
Titolo evento Luogo, data Seminario INSPIRE Bologna, luglio 2012 INSPIRE NETWORK SERVICES obblighi normativi e metodologie per valorizzare il patrimonio.
Language of Algebra.
Language of Algebra. Basic concepts Key words Practice exercises Basic concepts Key words Practice exercises.
LE PREPOSIZIONI. Le Preposizioni semplici (Simple prepositions) A preposition describes a relationship between other words in a sentence. In itself, a.
Lezione n° 14 Università degli Studi Roma Tre – Dipartimento di Ingegneria Corso di Teoria e Progetto di Ponti – A/A Dott. Ing. Fabrizio Paolacci.
Ripasso (review). 222 TUTTE LE STRADE PORTANO A ROMA ALL ROADS LEAD TO ROME lezione finale.
A.A CORSO INTEGRATO DI INFORMATICA E BIOINFORMATICA per il CLT in BIOLOGIA MOLECOLARE Scuola di Scienze, Università di Padova Docenti: Proff.
Da fare ora: 1.Compagno della mappa d’italia 2.Leggete le descrizioni insieme 3.Scrivete le descrizioni e gli aggettivi Gli studenti saranno in grado di.
MSc in Communication Sciences Program in Technologies for Human Communication Davide Eynard Facoltà di scienze della comunicazione Università della.
Do You Want To Pass Actual Exam in 1 st Attempt?.
Riunione INFN – Bologna, 17 January 2013
WRITING – EXERCISE TYPES
PhD Theses Institutional Archive Unitn-eprints PhD Upload, mandatory deposit and copyright issues at Unitn Highlights DRSBA. Ufficio Anagrafe della ricerca,
AusTel by taha.a.
Cyber Safety.
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
Transcript della presentazione:

Sicurezza II, A.A. 2011/2012 OAuth Speaker: André Panisson, PhD student Università degli Studi di Torino, Computer Science Department Corso Svizzera, 185 – 10149, Torino, Italy Sicurezza II A.A

What is OAuth? o OAuth (Open Authentication) is an open standard for authorization Allows sharing user’s resources (photos, videos, contact lists) between different websites The user credentials (username and password) are not shared Websites share tokens instead of credentials Each token grants access to a specific website for specific resources for a defined duration OAuth is a service that is complementary to, but distinct from, OpenID. Sicurezza II, A.A. 2011/2012

OAuth vs OpenID o They both live in the general domain of security, identity, and authorization o They are open web standards o They both celebrate decentralization o They both involve browser redirects from the website you’re trying to use o But they’re different: they let you do different things Sicurezza II, A.A. 2011/2012

OAuth vs OpenID o Open ID gives you one login for multiple sites »OAuth lets you authorize one website – the consumer – to access your data from another website – the provider o With Open ID, there is no suggestion of two webapps sharing your data »With OAuth, any information you hold on any website can be shared with another website o With OAuth, you still need to log into the provider Sicurezza II, A.A. 2011/2012

OAuth Protocol Sicurezza II, A.A. 2011/2012

Example Provider: Twitter o Twitter (twitter.com) shut off completely Basic Auth on August 30th o If you have a Twitter account, you can become a Twitter developer: Go to dev.twitter.com Click “Your apps” Register a new application Choose Application Name, Description, Website Application Type: Browser … Register Application Sicurezza II, A.A. 2011/2012

Example Provider: Twitter o Registered parameters: API key Consumer key Consumer secret Request token URL: Access token URL: Authorize URL: o Twitter supports hmac-sha1 signatures, does not support the plaintext signature method Sicurezza II, A.A. 2011/2012

Obiettivo del laboratorio o Sviluppare un sito web minimale che effettui un controllo degli accessi tramite OAuth Integrazione con un OAuth consumer Interazione con un OAuth provider Sicurezza II, A.A. 2011/2012

Preparazione del laboratorio o Server Apache sotto la cartella $HOME/apache + PHP Sicurezza II, A.A. 2011/2012

OAuth Libraries o Sito ufficiale: o Installeremo un provider interno implementato in PHP Source code per diversi linguaggi: Disponibile in pachetto su Scaricare ed estrarre il file oauth-code.tar.gz: tar -xvzf oauth-code.tar.gz Coppiare tutta la cartella php nella document root cp code/php $HOME/apache/htdocs/oauth -R Accedere ai esempi: Sicurezza II, A.A. 2011/2012

OAuth Test Server o Leggere le istruzioni e provare: Getting a Request Token Getting an Access Token Making Authenticated Calls o Provare con diversi tipi di firme : HMAC-SHA1 PLAINTEXT RSA-SHA1 Sicurezza II, A.A. 2011/2012

OAuth Test Client o Leggere le istruzioni e provare a fare delle chiamate al provider: Request Token Authorize Access Token o Provare con diverse firme : HMAC-SHA1 PLAINTEXT RSA-SHA1 Sicurezza II, A.A. 2011/2012

OAuth Test Client o Provare con i parametri di Twitter: API key Consumer key Consumer secret Request token URL: Access token URL: Authorize URL: Sicurezza II, A.A. 2011/2012

Oauth - Exercise o Utilizzare la pagina Oauth Test Client con Twitter per: Creare request_token e request_token_secret Authorize Creare access_token e access_token_secret Sicurezza II, A.A. 2011/2012

Oauth - Exercise o Utilizzare i token creati per fare una request a un servizio Twitter: Creare un script php sulla stessa cartella dei esempi OAuth con il contenuto di questi due slide. Sicurezza II, A.A. 2011/2012 <?php require_once("common.inc.php"); // Classe per accedere a una URL utilizzando PHP class OAuthCurl { public function __construct() { } public static function fetchData($url) { $options = array( CURLOPT_RETURNTRANSFER => true, // return web page CURLOPT_HEADER => false, // don't return headers CURLOPT_FOLLOWLOCATION => true, // follow redirects CURLOPT_PROXY =>" //proxy address CURLOPT_PROXYPORT => 3128, // proxy port ); $ch = curl_init($url); curl_setopt_array($ch, $options); $content = curl_exec($ch); $err = curl_errno($ch); $errmsg = curl_error($ch); $header = curl_getinfo($ch); curl_close($ch); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; }

Oauth – Exercise (cont.) Sicurezza II, A.A. 2011/2012 $consumer_key = “key"; // put your key here $consumer_secret = “secret"; // put your secret here $access_token = “token"; // put the generated token here $access_token_secret = “token_secret"; // put the generated token secret here // the service URL; see dev.twitter.com $service = " $sig_method = new OAuthSignatureMethod_HMAC_SHA1(); $consumer = new OAuthConsumer($consumer_key, $consumer_secret, $callback_url); $token = new OAuthToken($access_token, $access_token_secret); $request = OAuthRequest::from_consumer_and_token($consumer, $token, "GET", $service); $request->sign_request($sig_method, $consumer, $token); $oc = new OAuthCurl(); $reqData = $oc->fetchData($request->to_url()); $timeline = json_decode($reqData['content']); foreach ($timeline as $status) { print $status->text.' '; } ?>

OAuth 2.0 o OAuth 2.0: o Not backward compatible with OAuth 1.0 o Facebook's Graph API only supports OAuth 2.0 and is its largest implementation o As of 2011, Google added OAuth 2.0 experimental support to its APIs Sicurezza II, A.A. 2011/2012

OAuth: Altre implementazioni o Provare con l’implementazione in python sh export PYTHONPATH=$HOME/code/python python $HOME/code/python/oauth/example/server.py python $HOME/code/python/oauth/example/client.py Sicurezza II, A.A. 2011/2012

Esercizi o Google OAuth Playground: Creare un documento (rapporto) con tutti i passi per accedere ai servizi Google utilizzando OAuth in questa pagina Fare la correlazione con i passi dello slide “ OAuth Protocol ” Elencare il contenuto della HTTP Request/Response per ogni passo Da consegnare (in formato doc o pdf) dopo la lezione teorica su OAuth Sicurezza II, A.A. 2011/2012

OAuth Speaker: André Panisson, PhD student Università degli Studi di Torino, Computer Science Department Corso Svizzera, 185 – 10149, Torino, Italy Sicurezza II A.A Grazie per l’attenzione! Sicurezza II, A.A. 2011/2012

© 2009 by André Panisson. Permission to make digital or hard copies of part or all of this material is currently granted without fee provided that copies are made only for personal or classroom use, are not distributed for profit or commercial advantage, and that new copies bear this notice and the full citation. Sicurezza II, A.A. 2011/2012