Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

P3P e la gestione della privacy in un sito Web

Una panoramica su P3P, il linguaggio del W3C per gestire le informazioni sulla privacy e sapere cosa fare con i dati personali
Una panoramica su P3P, il linguaggio del W3C per gestire le informazioni sulla privacy e sapere cosa fare con i dati personali
Link copiato negli appunti

Oltre ad un adempimento di legge, la gestione trasparente dei dati personali è un fatto di correttezza e professionalità. Questo vale anche per i dati acquisiti tramite un sito Web.

La maggior parte dei siti Web professionali presenta una nota che riepiloga le politiche di gestione dei dati adottata. Ma quanti di noi hanno mai letto con attenzione le clausole riportate all'interno di una form? Se qualcuno lo ha fatto, dubito che lo faccia ad ogni occasione! Eppure le politiche di gestione dei dati personali potrebbero differire da un sito Web all'altro in base alle politiche aziendali, alle leggi locali e ad altri fattori.

È nel nostro interesse leggere attentamente le modalità di gestione dei nostri dati per decidere se fornirli o meno. Purtroppo le dichiarazioni delle modalità di gestione della privacy spesso sono molto lunghe e non sempre di immediata comprensione.

Per cercare di ovviare a questi problemi, il W3C ha definito uno standard tecnico per la definizione formale delle politiche di gestione dei dati personali. Questo standard, basato su XML, è chiamato Platform for Privacy Preferences Project, o più brevemente P3P.

Come funziona P3P?

L'idea che sta dietro al P3P è abbastanza semplice: definito un linguaggio formale per la definizione delle politiche di gestione dei dati personali, è possibile interpretarle in maniera automatica e confrontarle con le preferenze dell'utente riguardo alla gestione dei propri dati.

Supponiamo, ad esempio, che un utente utilizzi un browser abilitato al P3P e che lo abbia configurato in modo da essere avvisato quando un sito che richiede i dati anagrafici dichiara che li utilizzerà anche per inviare materiale commerciale.

Il nostro utente, quindi, nel momento in cui si troverà sulla form di un sito di e-commerce che dichiara che utilizzerà i dati per la sola transazione che si sta effettuando non avrà alcun avviso, dal momento che non viola le proprie impostazioni di privacy. Se invece il sito dichiara che i dati inseriti verranno utilizzati per inviare materiale commerciale, il browser visualizza una finestra che avvisa l'utente del fatto che la politica di gestione dei dati personali adottata dal sito è in conflitto con le proprie impostazioni.

Naturalmente questo meccanismo non garantisce che effettivamente i dati vengono gestiti secondo le dichiarazioni fornite. P3P si limita a semplificare l'attività di lettura delle dichiarazioni fornite da un sito Web.

I componenti di P3P

Non ci resta a questo punto che tradurre in P3P le due politiche di gestione individuate. Tradurre le politiche di gestione dei dati personali in P3P significa essenzialmente pubblicare una serie di file XML che le descrivono.

Si tratta di due tipi di file: un Policy Reference file e tanti Policy file quante sono le politiche di gestione adottate. Il primo file descrive le politiche adottate ed assegna tali politiche a ciascuna area del sito, mentre gli altri file contengono la descrizione XML di ciascuna politica.

Nel nostro caso, il contenuto del Policy Reference file sarà analogo al seguente:

Listato 1. Esempio di Policy Reference file

<META xmlns="http://www.w3.org/2002/01/P3Pv1">
<POLICY-REFERENCES>
  <POLICY-REF about="/P3P/UserDataPolicy.xml">
    <INCLUDE>/richInfo.html</INCLUDE>
  </POLICY-REF>

  <POLICY-REF about="/P3P/ BrowserPolicy.xml ">
    <INCLUDE>/*</INCLUDE>
  </POLICY-REF>
</POLICY-REFERENCES>
</META>

Questo file XML contiene l'elenco dei riferimenti alle politiche adottate (<POLICY-REFERENCES>). Ciascun riferimento è individuato dagli elementi <POLICY-REF>.

Il primo riferimento indica che la politica descritta nel file /P3P/UserDataPolicy.xml si applica alla pagina richInfo.html . Il secondo riferimento indica, invece, che la politica descritta dal file /P3P/BrowserPolicy.xml si applica a tutte le pagine del sito.

Per ciascun riferimento è possibile indicare più elementi <INCLUDE>. È inoltre possibile indicare le eventuali pagine o cartelle esplicitamente escluse da una determinata politica tramite l'elemento <EXCLUDE>. È importante sottolineare la rilevanza dell'ordine dei riferimenti. Infatti le politiche vengono analizzate dai browser in base all'ordine di apparizione.

Una politica per i browser...

La politica di gestione generale, cioè quella descritta dal file /P3P/BrowserPolicy.xml, sarà descritta dal seguente codice:

Listato 2. Politica di gestione generale

<POLICIES xmlns="http://www.w3.org/2002/01/P3Pv1">
 <POLICY name="Browser"
  discuri="http://www.dominio.it/BrowserPolicy.html"
  xml:lang="it">
 <ENTITY>
  <DATA-GROUP>
   <DATA ref="#business.name">Nome Azienda</DATA>
   <DATA ref="#business.contact-info.postal.street">Via dell'Azienda, 1</DATA>
   <DATA ref="#business.contact-info.postal.city">Roma</DATA>
   <DATA ref="#business.contact-info.postal.stateprov">RM</DATA>
   <DATA ref="#business.contact-info.postal.postalcode">00100</DATA>
   <DATA ref="#business.contact-info.postal.country">Italia</DATA>
   <DATA ref="#business.contact-info.online.email">privacy@dominio.it</DATA>
   <DATA ref="#business.contact-info.telecom.telephone.intcode">39</DATA>
   <DATA ref="#business.contact-info.telecom.telephone.loccode">06</DATA>
   <DATA ref="#business.contact-info.telecom.telephone.number">123456</DATA>
  </DATA-GROUP>
 </ENTITY>
 <ACCESS><nonident/></ACCESS>
 <DISPUTES-GROUP>
  <DISPUTES resolution-type="independent"
   service="http://www.garanteprivacy.it"
   short-description="Garante della Privacy">
  <IMG src="http://www.garanteprivacy.it/Logo.gif" alt="Logo Garante della Privacy"/>
  <REMEDIES><correct/></REMEDIES>
  </DISPUTES>
 </DISPUTES-GROUP>
 <STATEMENT>
  <PURPOSE><admin/><develop/></PURPOSE>
  <RECIPIENT><ours/></RECIPIENT>
  <RETENTION><stated-purpose/></RETENTION>
  <DATA-GROUP>
   <DATA ref="#dynamic.clickstream"/>
   <DATA ref="#dynamic.http"/>
  </DATA-GROUP>
 </STATEMENT>
 </POLICY>
</POLICIES>

Essenzialmente il codice XML espone la politica denominata "Browser", della quale esiste una versione leggibile dall'utente all'indirizzo specificato tramite l'attributo discuri.

  • L'elemento <ENTITY> fornisce i dati identificativi di chi gestisce i dati ed è responsabile delle politiche di gestione dei dati.
  • Tramite l'elemento <ACCESS> si specifica se l'utente può accedere ai propri dati personali.
  • Nel nostro caso, l'elemento <nonident> indica che non vengono raccolti dati che identificano l'utente, il quale non ha pertanto necessità di accedervi.
  • L'elemento <DISPUTES-GROUP> contiene l'elenco degli organismi che è possibile contattare per risolvere eventuali controversie.
  • L'elemento <STATEMENT> descrive la politica di gestione che viene adottata ai dati specificati tramite l'elemento <DATA-GROUP>.

Nel nostro esempio, viene dichiarato che i dati raccolti servono per scopi di amministrazione del server e per lo sviluppo ed il corretto funzionamento del sito (<PURPOSE>), il destinatario dei dati è lo stesso responsabile dichiarato in precedenza (<RECIPIENT>), i dati vengono memorizzati per il tempo necessario allo svolgimento dello scopo dichiarato (<RETENTION>). Infine, i dati acquisiti sono quelli relativi alla gestione dell'interazione dell'utente con il sito e quelli necessari per la gestione del protocollo HTTP.

... ed una per gli utenti

La politica di gestione dei veri e propri dati personali acquisiti tramite la form di richiesta informazioni è espressa tramite il file /P3P/UserPolicy.xml. Il seguente è un esempio di dichiarazione P3P, limitatamente all'elemento <STATEMENT>, di come verranno utilizzati i dati inviati tramite la form:

Listato 3. Esempio di STATEMENT

...
 <STATEMENT>
  <CONSEQUENCE>
   I dati forniti vengono utilizzati per ricontattarvi
  </CONSEQUENCE>
  <PURPOSE><current/></PURPOSE>
  <RECIPIENT><ours/></RECIPIENT>
  <RETENTION><stated-purpose/></RETENTION>
  <DATA-GROUP>
   <DATA ref="#user.name"/>
   <DATA ref="#user.home-info.postal"/>
   <DATA ref="#user.home-info.online.email"/>
  </DATA-GROUP>
 </STATEMENT>
...

L'elemento <CONSEQUENCE> ha lo scopo di fornire spiegazioni leggibili dall'utente sull'uso dei dati.

L'elemento <current> all'interno di <PURPOSE> indica che i dati vengono utilizzati al solo scopo di soddisfare la richiesta di informazioni inoltrata.

All'interno dell'elemento <DATA-GROUP> vengono specificati i dati oggetto del trattamento: il nome dell'utente, l'indirizzo postale e l'indirizzo di posta elettronica.

Pubblicazione delle politiche P3P

La pubblicazione delle politiche di gestione dei dati consiste semplicemente nel posizionare i file coinvolti nella descrizione P3P all'interno del sito.

Nel nostro esempio, i Policy file vengono messi nella cartella /P3P, mentre le versioni HTML destinate all'utente vengono pubblicate nella root del sito. Rimane da stabilire dove pubblicare il Policy Reference file in modo che sia automaticamente recuperato dai browser.

Esistono tre possibili modalità di pubblicazione del Policy Reference file. La prima consiste nel nominare il Policy Reference file come p3p.xml e metterlo nella root del sito.

La seconda modalità consiste nel fornire al browser la posizione del Policy Reference file tramite un opportuno header HTTP, come mostrato nel seguente esempio:

Listato 4. Fornire al browser la posizione del Polici Reference file

HTTP/1.1 200 OK
P3P: policyref="http://www.dominio.it/P3P/PolicyReference.xml"
Content-type: text/html
...

La terza modalità consiste nello specificare la posizione all'interno di ciascuna pagina tramite il tag HTML <link>, come nel seguente esempio:

Listato 5. Definire la posizione con nel tag <link>

<link rel="P3Pv1" href=" http://www.dominio.it/P3P/PolicyReference.xml ">

Indipendentemente dal metodo utilizzato, i browser che supportano il P3P potranno accedere alla descrizione formale delle politiche di gestione dei dati del nostro sito.

Strumenti per P3P

Come abbiamo avuto modo di vedere in questo articolo, P3P offre un mezzo interessante per rendere trasparente le politiche di gestione dei dati personali. Tuttavia al momento non sono molti i siti che lo adottano, un po' per la scarsa conoscenza di questo standard, un po' per la poca sensibilità verso le problematiche relative alla privacy. A rendere meno evidente il vantaggio dell'uso di P3P ciò si aggiunge il fatto che il supporto da parte dei più comuni browser è limitato alle politiche di gestione dei cookie.

Occorrerebbe tuttavia cominciare a prendere confidenza con questo linguaggio in modo da essere preparati quando il supporto dello standard sarà universale e sarà aumentata la sensibilità verso la gestione della privacy.

Bibliografia

W3C, The Platform for Privacy Preferences 1.0 (P3P1.0) Specification, http://www.w3.org/TR/P3P/

W3C, The Platform for Privacy Preferences 1.0 (P3P1.0) Specification (Working Draft), http://www.w3.org/TR/2004/WD-P3P11-20040720/


Ti consigliamo anche