Sicurezza II A.A. 2011-2012 OpenID Speaker: André Panisson, PhD student Università degli Studi di Torino, Computer Science Department Corso Svizzera, 185 – 10149, Torino, Italy [email protected] Sicurezza II, A.A. 2011/2012 Obiettivo del laboratorio o Sviluppare un sito web minimale che effettui un controllo degli accessi tramite OpenID, anziché con username e password • Integrazione con un OpenID consumer • Interazione con un OpenID provider • Uso della OpenID delegation Sicurezza II, A.A. 2011/2012 Preparazione del laboratorio o Server Apache 2.2.13 sotto la cartella $HOME/apache o PHP 5.3.6 o Identity Provider: phpMyID o Relying Part: LightOpenID Sicurezza II, A.A. 2011/2012 Configurazione phpMyID o Per attivare logging su phpMyID: Decommentare le righe sul file MyID.config.php: Debug Config - Please see README before setting these 'debug' => false, 'logfile' => '/tmp/phpMyID.debug.log', Sicurezza II, A.A. 2011/2012 Esercizio o Iniziare il server Apache ~/apache/bin/apachectl start o Controllare il log di phpMyID tail -f /tmp/phpMyID.debug.log o Accedere alla pagina del Identity Provider phpMyID http://localhost:8080/phpMyID-0.9/MyID.config.php • Controllare che il source code della pagina contenga I parametri giusti: <link rel="openid.server" href="http://localhost:8080/phpMyID-0.9/MyID.config.php" /> <link rel="openid.delegate" href="http://localhost:8080/phpMyID-0.9/MyID.config.php" /> Se I parametri non sono giusti, aggiustare lo script MyID.php // Determine the requested URL - DO NOT OVERRIDE $profile['req_url'] = sprintf("%s://%s%s%s", $proto, // $_SERVER['HTTP_HOST'], $_SERVER['SERVER_NAME'], $port, $_SERVER["REQUEST_URI"]); Sicurezza II, A.A. 2011/2012 Esercizio o Accedere alla pagina del Relying Part LightOpenID http://localhost:8080/lightopenid/example.php • Nel campo OpenID, utilizzare la url dell’ Identity Provider http://localhost:8080/phpMyID-0.9/MyID.config.php ?openid.mode=login o Login utlizzando l’Identity Provider o Controllare il logging di phpMyID • Fare un rapporto di tutti i passi del protocollo e fare la correlazione con i passi dello slide “Architettura e protocollo” (si può cambiare gli script phpMyID utilizzando la funzione debug per capire bene quali sono i passi, quando finisce uno e quando inizia l’altro) Sicurezza II, A.A. 2011/2012 Delegation o Può essere comodo rendere indipendente il proprio identificatore dal particolare Identity provider in uso o Si sceglie come identificatore l’URL del sito web personale o Nella pagina dell’URL, si aggiungono le direttive openid.server e openid.delegate <html> <head> <title>Wolfwood's Blog</title> <link rel="openid.server“ href=“http://www.myopenid.com/server”> <link rel="openid.delegate" href=“http://wolfwood.myopenid.com”> </head> <body> V: That cross is awfully heavy! N: That's because it's filled with mercy… </body> </html> Sicurezza II, A.A. 2011/2012 OpenID e HTTPS o Provare a utilizzare https affinché la password inviata all’OpenID provider sia cifrata con una chiave di sessione • Semplice configurazione di Apache… Sicurezza II, A.A. 2011/2012 Sicurezza II A.A. 2010-2011 OpenID Grazie per l’attenzione! Speaker: André Panisson, PhD student Università degli Studi di Torino, Computer Science Department Corso Svizzera, 185 – 10149, Torino, Italy [email protected] 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