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
Scarica

Sicurezza II AA 2011-2012