Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Fonte: http://en.wikipedia.org/wiki/Image:Web_2.0_Map.svg
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Indice
1 Introduzione
2 Web 2.0
Introduzione
Personalizzazione e privacy
Libertà di parola e accountability
Condivisione di contenuti e controllo degli accessi
3 Semantic Web
4 Semantic Web e Web 2.0
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Indice
1 Introduzione
2 Web 2.0
Introduzione
Personalizzazione e privacy
Libertà di parola e accountability
Condivisione di contenuti e controllo degli accessi
3 Semantic Web
4 Semantic Web e Web 2.0
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Tre aspetti rilevanti del Web 2.0
Le informazioni fornite, implicitamente o esplicitamente, dagliutenti sono impiegate per personalizzare i servizi offerti
Gli utenti sono in grado di creare contenuti con estrema facilità
Gli utenti sono in grado di condividere contenuti con estremafacilità
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Implicazioni
Privacy I servizi del Web 2.0 hanno a disposizione una massaenorme di informazioni personali degli utenti, chepossono essere usate per scopi diversi da quelli per cuigli utenti le hanno fornite
Accountability L’estrema semplicità con cui chiunque, senzacontrollo, può creare contenuti, rende difficileimpedire un uso improprio di questi servizi (ad es.,blog e social network spamming)
Access control Sebbene i servizi Web 2.0 rendano estremamentefacile condividere contenuti tra utenti, non fornisconostrumenti che permettano ai proprietari di talicontenuti di regolarne l’accesso in manierasufficientemente flessibile
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Cosa vedremo
Le caratteristiche dei servizi che offrono le funzionalità indicate
Come questi servizi sono declinati all’interno delle reti sociali
Possibili soluzioni per affrontare le implicazioni relative aprivacy, accountability e controllo degli accessi
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Indice
1 Introduzione
2 Web 2.0
Introduzione
Personalizzazione e privacy
Libertà di parola e accountability
Condivisione di contenuti e controllo degli accessi
3 Semantic Web
4 Semantic Web e Web 2.0
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Tipologia dei servizi
Lo scopo primario è offrire agli utenti degli strumenti perpotersi orientare in maniera efficace tra le risorse che vengonomesse loro a dispozione, che si tratti di artefatti fisici o digitali
Le informazioni raccolte dal servizio sono usate per filtrare lerisorse che possano essere di interesse per gli utenti
Tali servizi sono conosciuti in letteratura come collaborativefiltering system
Alcuni tra i servizi che rientrano in questa categoria:alcuni siti di online trading (ad es., Amazon, eBay)alcune comunità virtuali e reti sociali (ad es., Slashdot, Digg,Last.fm)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Tipologie di collaborative filtering system
Recommender system Usano informazioni fornite dagli utenti perrestituire risorse di interesse. Ad es., Amazon
Reputation system Usano informazioni fornite dagli utenti perdeterminare l’affidabilità di un’entità (sia essa unutente e o una risorsa). Ad es., eBay
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Recommender system
Tre metodologie principali:Content-based recommendation Le risorse di interesse sono
determinate in base alle risorse per le quali unutente ha dimostrato interesse in passato
Collaborative recommendation Le risorse di interesse sonodeterminate in base alle risorse per le quali utenticon un simile profilo hanno dimostrato interessein passato
Approcci misti Combinazione dei precedenti. La maggior partedei recommender system adottano questasoluzione
In tutti questi casi, il sistema calcola un profilo dell’utente, chedetermina le sue preferenze, e quindi individua le risorse diinteresse attraverso il principio del nearest neighbour
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Content-based recommendation
Si basa sull’analisi delle risorse, con lo scopo di determinarne lecaratteristiche specificheVengono impiegate tecniche tradizionalmente usatenell’Information Retrieval e nell’Information Filtering perl’analisi di documentiI profili degli utenti vengono creati in base alle caratteristichedelle risorse per cui hanno dimostrato interesse. Inoltre gliutenti possono specificare esplicitamente preferenze e associarerating alle risorseLe risorse di interesse sono determinate in base allacorrelazione tra le loro caratteristiche e quelle per cui l’utenteha dimostrato interesse in passatoIn questi sistemi è necessario avere un certa quantità diinformazioni prima di poter determinare il profilo dell’utente
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Collaborative recommendation
Si basa sull’analisi dei rating specificati dagli utenti sullerisorse, con lo scopo di determinare gli utenti con un profilosimile
Il principio è che utenti con simili profili, avranno similipreferenze
Due utenti hanno un profilo simile se hanno specificato ratingsimili per le stesse risorse
Anche in questi sistemi è necessario avere un certa quantità diinformazioni prima di poter determinare il profilo dell’utente
Allo stesso modo, è difficile determinare la rilevanza di unarisorsa con un numero basso di rating
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Reputation system I
I reputation system sono utilizzati per determinareindirettamente l’affidabilità di una risorsa/servizio
Una risorsa/servizio è affidabile se è affidabile l’entità la/looffre
L’affidabilità di un’entità è determinata dai rating specificati suessa dalle altre entità nel sistema
I rating possono essere binari (positivi/negativi) o scalari(discreti o continui)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Reputation system II
Esistono vari metodi per il calcolo dell’affidabilità (ad es.:rating positivi − rating negativi, media, metodi bayesiani)
Il comportamento di un’entità può essere utilizzato comeparametro aggiuntivo
Vale lo stesso vincolo indicato per i recommender system: nonè possibile fornire una stima accurata della reputazione diun’entità in assenza di un numero sufficiente di rating
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Trust e reputation I
I reputation system offrono una misura oggettiva (o assoluta)dell’affidabilità di un’entità
I.e.: l’affidabilità di un’entità è basata sull’opinione collettivache hanno di essa le altre entità nel sistema
Quindi tutte le entità nel sistema sono ugualmente autorevoli,e le loro opinioni hanno tutte lo stesso peso
Non sempre questo è ciò che si vorrebbe, soprattutto se i gustie le preferenze personali possono influire sui rating specificati.In tal caso, i rating hanno peso diverso in base all’entità che liha specificati
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Trust e reputation II
La nozione di trust viene spesso utilizzata in contrapposizionea quella di reputation per indicare una misura soggettiva (orelativa) dell’affidabilità di un’entità
I reputation system sono stati utilizzati con successo in variambiti, come, ad es., ambienti di Public Key Infrastructure ePeer-to-Peer, dove l’affidabilità di un nodo della rete èdeterminata da precisi parametri
In contesti dove non è possibile definire i criteri oggettivi diaffidabilità, la sola reputation può non essere utile o sufficiente
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Collaborative filtering nel Web 2.0
Il Web 2.0 fornisce una nuova prospettiva per i sistemi dicollaborative filtering
L’incremento nell’uso dell’online trading, delle comunitàvirtuali e delle reti sociali permette di raccogliere un’elevataquantità di informazioni utili per la personalizzazione dei servizi
D’altra parte l’esistenza di servizi che raccolgono una talequantità di informazioni legate ai gusti, preferenze, opinioni,etc. degli utenti determina un aumento drastico dei rischilegati al loro utilizzo improprio
Il problema fondamentale è che gli utenti non sono in grado dicontrollare come effettivamente le informazioni da loro fornite,implicitamente o esplicitamente, sono utilizzate
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Privacy e reti sociali I
I siti di online trading più utilizzati che supportano ilcollaborative filtering (quali Amazon e eBay) forniscono unesempio della quantità di informazioni personali che vengonoraccolte
Il problema è di ordine ancora maggiore nel caso delle retisociali, non solo relativamente alla quantità delle informazioniraccolte, ma pure alla loro qualità
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Privacy e reti sociali II
Le reti sociali possono supportare servizi di collaborativefiltering, ma il loro scopo primario è fornire agli utenti unambiente in cui creare e condividere risorse, istituire relazionicon altri utenti che condividono gli stessi interessi e/o gusti,scambiare opinioni
Inoltre, dato che la maggior parte delle reti sociali si proponecome ambiente ricreativo e informale, gli utenti tendono aesprimersi e fornire informazioni più liberamente
Per tutti questi motivi, le informazioni raccolte dalle reti socialisono più sensibili dal punto di vista della privacy, ed leconseguenze del loro uso improprio possono essere più gravi
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Cosa sono le Web-based social network
Nel Web, le reti sociali sono un particolare tipo di comunitàvirtuali che, in quanto tali, offrono agli utenti un ambiente percreare e condividere risorse e dove è possibile interagire conaltri membri della comunità
Quello che le distingue è il fatto che gli utenti possono creareesplicitamente relazioni con altri membri della rete
Attualmente esistono più di 300 reti sociali, che contano,complessivamente, più di 400 milioni di iscritti1
1Fonte: Wikipedia
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Distribuzione di utenti e reti sociali per categoria
0 10 20 30 40 50 60 70 80
77.92Social
47.95
77.90Entertainment
46.58
15.78Dating 13.70
1.71Business
11.64
0.31Religious 6.16
0.76Photos
5.48
0.06Pets
4.79
3.65Blogging 3.42
Reti sociali (%)
Utenti (%)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Rapporto utenti / reti sociali per categoria
0 500 1000 1500 2000 2500 3000 3500
3053Social
3142Entertainment
2164Dating
276Business
95Religious
261Photos
24Pets
2005Blogging
(Migliaia di) Utenti
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Quali sono i rischi per la privacy I
Esistono due tipologie di accessi alle informazioni raccolte nellereti sociali che possono implicare rischi per privacy:
accesso all’intero set di informazioni della rete sociale, o a unsuo sottoinsieme, da parte di strumenti di data mining
accessi effettuati dai membri della rete sociale su informazionidi altri membri
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Quali sono i rischi per la privacy II
In base alla tipologia di accesso, vengono impiegate duediverse strategie:
graph perturbation: il grafo della rete sociale viene“modificato” in modo da eliminare l’associazione trainformazioni e membri; tali modifiche devono però garantireche, analizzato statisticamente, il grafo non fornisca risultatitroppo differenti da quelli che si otterrebbero sul grafo nonperturbatorestrizioni sulle informazioni della rete sociale accessibili dai suimembri (le vedremo poi nel dettaglio)
Perché queste tecniche siano efficaci, è necessario che tenganoin considerazione la particolare natura delle reti sociali
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come modellare una rete sociale
Le reti sociali possono essere modellate come grafi, in cui inodi corrispondono ai membri della rete, mentre gli archidenotano le relazioni che ogni membro ha istituito con altrimembri della reteLe caratteristiche degli archi dipendono dal tipo di relazioneche essi denotano:
se non sono orientati, denotano una relazione simmetrica (ades., “A conosce B”), mentre se sono orientati, denotano unarelazione antisimmetrica (ad es., “A è il genitore di B”)sono etichettati nel caso in cui la rete sociale supporta diversitipi di relazione; in caso contrario, gli archi non necessitano dietichette
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Una rete sociale con un unico tipo di relazione, simmetrica
A
B
C
D
E
F
G
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Una rete sociale con più tipi di relazione, simmetriche e
antisimmetriche
A
B
C
D
E
F
G
amico di
collega di
amico di
collega di
collega di
genitore di
amico di
amico di
collega di
collega di
amico di
figlio di
figlio di
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Relazioni supportate da alcune reti sociali
Rete sociale Scopo Relazioni
Bebo generico amiciziaFacebook generico amiciziaFriendster generico amiciziaMySpace generico amiciziaMultiply generico varie (> 30)Orkut generico amiciziaFlickr foto amicizia/parentelaLast.fm musica amiciziaXing business genericaLinkedIn business varie (7)RepCheck reputazione generica
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Terminologia di base I
Nella sua definizione base, un grafo è una coppia G = (V ,E ),dove V è l’insieme dei nodi, mentre E ⊆ [V ]2 è l’insieme degliarchi
L’ordine |G | di un grafo G è il numero dei nodi in G (i.e.,|G | = |V |)
Due nodi v , v ′ ∈ V sono adiacenti o vicini (neighbour) se vv ′ èun arco in G
Un grafo G ′ = (V ′,E ′) è un sottografo di G = (V ,E ) seV ′ ⊆ V e E ′ ⊆ E
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Terminologia di base II
Il grado d(v) di un nodo v ∈ V è il numero di archi associati aesso
Il grado medio d(G ) di un grafo G è pari alla media dei gradidei nodi in G , i.e.:
d(G ) =1|V |
∑
v∈V
d(v)
La distanza d(v , v ′) tra due nodi v , v ′ ∈ V è pari allalunghezza del percorso più breve esistente tra loro
Il diametro diamG di un grafo G è pari alla distanza massimaesistente tra i nodi in G
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Alcune considerazioni I
Quante relazioni può avere un membro di una rete sociale?
Nel caso la rete sociale supporta un solo tipo di relazione, puòesistere al massimo un arco tra due membri di una rete; quindiil numero massimo di relazioni possibili è uguale al numero dimembri della rete, meno 1
Nel caso la rete sociale supporta più tipi di relazione, possonoesistere tra due membri di una rete un numero di archi ugualeal numero di relazioni supportate; quindi il numero massimo direlazioni possibili è uguale al prodotto tra il numero di relazionisupportate e il numero di membri della rete, meno 1
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Alcune considerazioni II
Formalmente:Sia |SN | l’ordine di un grafo SN = (VSN , ESN )
Sia RTSN l’insieme di tipi di relazioni che è possibile associareagli archi in SN
∀v ∈ VSN , 0 ≤ d(v) ≤ |RTSN | × (|SN | − 1)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Alcune considerazioni III
Come incrementa l’ordine del sottografo (network) a cui unmembro è connesso, al variare della distanza tra tale membro egli altri membri nel sottografo?
Difficile quantificare: dipende da vari fattori e non è regolare
Nelle reti sociali di grandi dimensioni l’ordine del sottografopuò avere una crescita esponenziale al variare del suo diametro
Un caso reale (LinkedIn):contatti diretti (distanza 1): 37contatti a distanza 2: 1.800 circacontatti a distanza 3: 192.000 circa
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Reti sociali e small world network I
Le reti sociali (non solo quelle online) hanno proprietàtopologiche tipiche degli small world network
Gli small world network sono grafi con le seguenti proprietà:hanno un’elevata connettivitàhanno un diametro ridotto
Ricordiamo che:Un grafo è connesso quando esiste almeno un percorso checollega ogni coppia di nodiLa connettività di un grafo è determinata dal numero di nodi oarchi che è necessario rimuovere per rendere il grafodisconnesso
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Reti sociali e small world network II
L’origine del termine small world network risale all’esperimentocondotto da Stanley Milgram nel 1967, per determinare ladistanza media esistente tra le persone residenti negli StatiUniti [Travers and Milgram, 1969]L’esperimento prevedeva la seguente procedura:
A un certo numero di persone, residenti in due stati del centrodegli Stati Uniti (Nebraska e Kansas), doveva essere recapitatauna lettera in cui si chiedeva di contattare una specificapersona residente a Boston, sulla costa orientaleNel caso non conoscessero direttamente la persona dacontattare, dovevano inoltrare la lettera a un loro conoscenteche poteva avere maggiori probabilità di conoscere tale personaLa procedura doveva essere iterata fino a che la lettera nongiungeva alla persona residente a Boston
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Reti sociali e small world network III
In base al risultato dell’esperimento, Milgram determinò che ladistanza media tra persone residenti negli Stati Uniti variavatra 5,5 e 6
Da qui nasce la frase “sei gradi di separazione” (“six degrees ofseparation”), e l’uso dei termini “1st degree contacts”, “2nddegree contacts”, . . . , “nth degree contacts” per indicare nodidi una rete sociale la cui distanza è pari a 1, 2, . . . , n
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Grafi, reti sociali e protezione dei dati
Si vedrà nel seguito come le considerazioni fatte sullatopologia delle reti sociali, per quanto incomplete, influenzino imeccanismi adottati per la protezione dei dati
Vedremo ora alcuni degli approcci adottati dalla privacypreserving social network analysis, per poi considerare come idati personali degli utenti possono essere protetti dall’accessoda parte di altri membri della rete
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Rischi della social network analysis [Liu et al., 2008]
Identity disclosure Si ottiene accesso all’identità di un membrodella rete
Link disclosure Si ottiene accesso alle relazioni esistenti tra membridella rete
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come risolvere questi problemi I
La necessità di proteggere informazioni sensibili e, allo stessotempo, garantire l’accesso al dataset da analizzare è unproblema già affrontato nell’ambito del privacy-preserving datamining
Le tecniche impiegate adottano varie strategie attraverso cui idati originari vengono modificati per evitare l’accesso ainformazioni sensibili, garantendo comunque l’utilità deldataset restituito rispetto alla sua analisi
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come risolvere questi problemi II
Le stesse tecniche sono state applicate alle reti sociali, ma conrisultati meno soddisfacenti
Perché?la struttura a grafo delle reti sociali può essere utilizzata perottenere indirettamente o inferire informazioni sensibili chesono state nascostemodifiche apportato al grafo possono determinare perdite nonquantificabili di informazioni, rendendo quindi inutile il datasetall’analisi statisticail comportamento “tipico” dei membri di una rete sociale èdifficilmente determinabile
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Quali tecniche sono state proposte
Identity disclosure → node anonymization
Link disclosure → edge perturbation
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Node anonymization
Naïve anonymization Elimina/sostituisce le informazioni chepermettono l’identificazione di un nodo della rete
k-anonymity I dati relativi ai nodi della rete sono modificati inmodo che, per ogni nodo ci siano k candidati tra imembri della rete sociale
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
k-anonymity I
È una tecnica sviluppata originariamente per databaserelazionali [Sweeney, 2002]
Il principio su cui si basa è che, pur sopprimendo attributi chepermettono di identificare univocamente un soggetto, neesistono altri che, in combinazione, possono essere utilizzatiper lo stesso scopo; tali attributi sono denominatiquasi-identifier
Le tecniche di k-anonymity sono quindi volte a modificare ivalori dei quasi-identifier in modo che per ogni entità esistanok possibili candidati
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
k-anonymity II
Tali modifiche sono effettuate secondo due principali strategie:
Generalizzazione I valori degli attributi sono sostituiti convalori più generici finché si ottengono almeno kentità che condividono lo stesso valore perl’attributo
Soppressione Se attraverso la generalizzazione non si riesce asoddisfare il principio della k-anonymity, i valoridegli attributi sono cancellati
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
k-anonymity III
Due esempi di generalizzazione (CAP e nazionalità):
20010 20125
20***
Italiana Francese
Europea
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
k-anonymity IV
Il valore di k è scelto da chi rilascia il dataset:un k troppo grande fornisce maggiori garanzie per laprotezione della privacy ma, allo stesso tempo, puòdeterminare una perdita di informazioni che rende il datasetinutilizzabile per l’analisi statisticaun k troppo piccolo, viceversa
La k-anonymity è una tecnica che ha riscosso molto successo,seppur sia stato dimostrato che è vulnerabile a certi attacchi(ad es., quelli basati sui principi di omogeneità e backgroundknowledge)
A tal scopo sono state sviluppate tecniche a partire dallak-anonymity che cercano di risolvere questi problemi (ad es.,ℓ-diversity [Machanavajjhala et al., 2006], t-closeness[Li et al., 2007])
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Alcune techniche di k-anonymity per reti sociali
Vedremo le seguenti:k-candidate anonymityk-degree anonymityk-neighbourhood anonymity
Ognuna cerca di affrontare un particolare problema relativo acome la struttura a grafo della rete sociale può essere usataper ottenere informazioni utili a identificare un nodo
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
k-candidate anonymity [Hay et al., 2007]
Problema La conoscenza a priori di peculiari caratteristichestrutturali di un nodo permette di identificarlo
Soluzione Devono esistere almeno k nodi aventi le stessecaratteristiche strutturali
Operazioni Cancellazione e inserimento casuale di archi
Svantaggi Non garantisce né che le modifiche effettuategarantiscano la k-anonymity, né che il grafo risultantesia ancora utile all’analisi statistica
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
k-degree anonymity [Liu and Terzi, 2008]
Problema La conoscenza del grado di un insieme di nodi puòessere utilizzata per identificarli
Soluzione Devono esistere almeno k nodi aventi lo stesso grado
Operazioni Cancellazione e inserimento casuale di archiutilizzando criteri che garantiscano la somiglianzastrutturale del grafo risultante con il grafo originario
Vantaggi Garantisce la k-anonymity e l’utilità del grafo perl’analisi statistica
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
k-neighbourhood anonymity [Zhou and Pei, 2008]
Problema La struttura peculiare del vicinato (neighbourhood) diun nodo può essere impiegata per identificarlo
Soluzione Devono esistere almeno k nodi aventi vicinati isomorfi
Operazioni Modifica della struttura del vicinato per renderloisomorfo a quello di k nodi
Vantaggi Garantisce il principio della k-anonymity
Svantaggi Non garantisce che la perdita di informazioni siasufficientemente contenuta perché il grafo possaessere impiegato nell’analisi statistica
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Edge perturbation
Si propone di proteggere l’accesso a informazioni relative allerelazioni esistenti tra utenti
Il principio è che, al pari dell’identità e delle informazionipersonali, le relazioni esistenti possono veicolare informazionisensibili relative a tutti i nodi che partecipano in una datarelazione
La ricerca in quest’area è solo agli inizi
Vedremo brevemente due delle soluzioni proposte
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Evitare la ri-identificazione di archi eliminati
[Zheleva and Getoor, 2007]
Problema L’esistenza delle relazioni eliminate da un grafoperturbato possono essere inferite da quelle esistenti
Soluzione Perturbare il grafo sia a livello di archi che di nodi
Operazioni Vengono proposte diverse strategie, il cui impiegodipende dalle caratteristiche del grafo
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Ricostruzione della struttura del grafo [Korolova et al., 2008]
Problema Avendo accesso a informazioni sul vicinato di nodicompromessi è possibile ricostruire buona parte delgrafo di una rete sociale
Soluzione Limitare la visibilità degli utenti rispetto al loronetwork (i.e., l’insieme di nodi a loro connessi da unpercorso di lunghezza indefinita)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Conclusioni
È stato dimostrato che le tecniche di node anonymization nonsono sufficienti per proteggere l’accesso a dati sensibili
In particolare, in [Backstrom et al., 2007] vengono analizzati ipossibili attacchi, e si argomenta che le tecniche più efficaciper la protezione dei dati sensibili sono quelle interattive
Ciò implica che il grafo non è rilasciato a chi vuole analizzarlo,ma è il gestore stesso della rete sociale che effettua l’analisi inbase ai parametri forniti in una query, e quindi restituisce irisultati, una volta perturbati
Al contrario, la combinazione di tecniche di nodeanonymization ed edge perturbation garantisce un maggiorgrado di sicurezza
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Alcuni risultati interessanti
In [Hay et al., 2007] vengono riportati risultati di esperimentiin base ai quali, per garantire la protezione di informazionisensibili e, allo stesso tempo, mantenere l’utilità del grafo perl’analisi statistica, il tasso di edge perturbation deve variare traun minimo del 5% a un massimo del 10%. Sotto il 5% non cisono sufficienti garanzie di protezione; sopra il 10% la perditadi informazioni aumenta drasticamenteIl lavoro riportato in [Zheleva and Getoor, 2007] sembrasuggerire che grafi con caratteristiche diverse necessitanotecniche di anonimizzazione diverseIn [Korolova et al., 2008] viene dimostrato che, per impedire laricostruzione del grafo della rete sociale, è necessario limitarela visibilità del vicinato di un utente ai nodi a lui connessi conpercorsi di lunghezza non superiore a 2.
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Proteggere i dati dall’“interno” di una rete sociale
Ad eccezione del lavoro di [Korolova et al., 2008], gli approccifinora considerati analizzano il problema della protezione deidati da un punto di vista “esterno” – quella dell’analista chestudia il dataset fornito dal gestore della rete sociale
Guardando il problema dall’interno, la prospettiva cambia
Più precisamente, la possibilità che membri della rete socialeaccedano a dati sensibili è legata alla carenza di meccanismi diprotezione, o all’impiego di strategie che non sonosufficientemente sicure
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Cosa vedremo
Esistono pochi lavori in letteratura che affrontano questoproblema: è una nuova area di ricerca
Nel seguito delle lezioni, metteremo in luce alcuni aspettisignificativi del problema, e quindi illustreremo alcune dellepossibili soluzioni
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Chi sfrutta le vulnerabilità delle reti sociali?
Molto spesso la gravità del problema non è adeguatamentesentita perché si assume che i membri di una rete sociale sianoesclusivamente utenti finali che, anche se si comportanoscorrettamente, non possono causare gravi danni
Tuttavia, nella maggior parte delle reti sociali, chiunque si puòiscrivere; quindi la presenza di vulnerabilità (come quelleindicate in [Korolova et al., 2008]) possono essere impiegateda agenzie governative, società, o anche organizzazioni illegaliper ottenere informazioni altrimenti non accessibili
Tale situazione richiede quindi l’implementazione dimeccanismi in grado di fornire una sicura protezione ai datisensibili
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
La situazione fino a oggi
Le reti sociali mettono a disposizione dei loro membri deisemplici meccanismi di controllo, grazie ai quali si può deciderese una data informazione (o un insieme di informazioni) puòessere pubblica o privata
Nella maggior parte dei casi, viene fornita anche la possibilitàdi indicare se l’informazione può essere accessibile ai propricontattiLa semplicità di tali meccanismi di protezione ha due ragioniprincipali:
rendere il più semplice possibile la specifica di tali criteri diprotezionegarantire l’efficienza del sistema evitando il supporto dipolitiche di sicurezza che richiederebbero un implementazionecostosa dal punto di vista computazionale
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Cosa sta cambiando?
Nonostante questi requisiti influenzino tuttora la scelta deimeccanismi di protezione, le reti sociali stanno iniziando afornire opzioni più flessibili
Ad es., è possibile decidere se garantire l’accesso anche acontatti indiretti (i.e., membri a una distanza maggiore di 1) e,in alcuni casi, si può anche indicare quale tipo di relazionedeve sussistere o indicare esplicitamente le persone autorizzate
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Opzioni di protezione supportate da alcune reti sociali
Reti sociali Pubblica Privata Grado Contatti selezionati Altro
Bebo Sì Sì 1 Sì -Facebook Sì Sì 1-2 Sì -Friendster - Sì 1-2 - membri di continenti
selezionatiMySpace Sì Sì 1 - membri maggiorenniMultiply Sì Sì 1, n Sì contatti di grado 1,
esclusi online contactsOrkut Sì Sì 1-2 - -Flickr Sì Sì 1 (amicizia
o parentela)- -
Last.fm Sì Sì 1 - profile neighboursXing Sì Sì 1-4 - -
LinkedIn Sì Sì 1, . . . , n - -RepCheck - - - - -
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Quali problemi rimangono?
Le tecniche adottate non garantiscono sufficiente flessibilitànella specifica delle politiche di sicurezza
Molto spesso gli utenti non sono in grado di capire leimplicazioni legate all’opzione scelta (ad es., relativamente algrado dei contatti)
Il risultato è che spesso i meccanismi di protezione sonoinefficaci (o perché non sufficientemente flessibili o perchéusati scorrettamente)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come ripensare la questione I
Attualmente le reti sociali sono gestite come sistemicentralizzati, che forniscono un certo numero di servizi agliutenti
Questa impostazione è in contrasto con il paradigma su cui lereti sociali si basano, cioè comunità in cui ogni membrofornisce il suo contributo in termini di risorse, idee, opinioni,giudizi
In tale contesto il proprietario di tali risorse, idee, etc. è ilmembro che ne è autore, e, in quanto tale, dovrebbe essere ingrado di determinare come tali informazioni debbano esserediffuse; tuttavia le reti sociali attuali non forniscono strumentiadeguati
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come ripensare la questione II
Anche in presenza di strumenti adeguati, è necessario risolveredue altri problemi:
politiche di sicurezza flessibili possono determinare un drasticocalo di efficienza del sistema
i dati personali degli utenti sono memorizzati nei databasedelle reti sociali, e quindi i loro proprietari non hanno uneffettivo controllo su come vengono impiegati
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Alcune possibili opzioni
Adottare un’architettura totalmente decentralizzata, analogaalle reti peer-to-peer: in tal caso, non è più necessarioappoggiarsi a un servizio di rete sociale
Adottare un’architettura parzialmente decentralizzata, dove inodi costituiscono una reti di peer, in cui un nodo (la vecchiarete sociale) fornisce un insieme di servizi
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Quali sono i vantaggi di un’architettura decentralizzata
Le informazioni sensibili sono memorizzate e gestite dai nodiche ne sono proprietari
Il carico di lavoro necessario alla gestione della rete sociale èdistribuito tra i nodi, garantendo così l’efficienza del sistema
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Un esempio di applicazione di questa architettura
Le implicazioni delle considerazioni precedenti non si limitanoalla protezione della privacy, ma riguardano anche il controllodegli accessi
Per ora vedremo un esempio di possibile impiego diun’architettura decentralizzata per la protezione delle relazioniesistenti tra membri della rete descritto in[Carminati et al., 2008a]2
2Una versione preliminare era stata proposta in [Carminati et al., 2007].
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Perché proteggere le relazioni
Come visto in precedenza, le relazioni esistenti tra membri diuna rete possono essere impiegate per inferire informazionipersonali
Le relazioni possono di per sé fornire informazioni sensibili (ades., il fatto che io conosco una persona, e che con essa ho unarelazione di un certo tipo)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come proteggere le relazioni
Le reti sociali forniscono opzioni di protezione o tropporestrittive o poco controllabili
Attualmente, le relazioni sono memorizzate dalle reti socialistesse, e quindi il loro uso e distribuzione non è sotto ilcontrollo dei membri interessati
È necessario supportare meccanismi più efficaci per laprotezione delle relazioni, ed evitare, per quanto possibile, chela loro gestione sia affidata a terzi (i.e., la rete sociale)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Caratteristiche del framework proposto in
[Carminati et al., 2008a]
Adozione di un’architettura parzialmente decentralizzata
Uso di crittografia a chiave pubblica e firma digitale pergarantire la privatezza e l’autenticità delle informazioniscambiate nella rete
Definisce un framework per la sicurezza delle reti sociali di cuinoi (per ora) vedremo solo la parte relativa alla protezionedella privacy
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Sommario I
Le informazioni relative alle relazioni esistenti sono codificatein certificati che ne garantiscono l’autenticità
Ogni membro memorizza in locale copia dei certificati dellerelazioni a cui partecipa, più quelli delle relazioni che èautorizzato a conoscere
I certificati di relazione sono distribuiti ai membri autorizzatipropagandoli attraverso la rete
Il servizio di rete sociale svolge la sola funzione di certificaterevocation list (CRL)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Sommario II
In fase di creazione di una relazione, le due parti coinvolteconcordano quali altri membri possono avere accesso a talerelazione attraverso la specifica di regole di distribuzione
Dopo aver creato il certificato di relazione, le due particonivolte nella relazione verificano quali tra i loro vicinisoddisfano le regole di distribuzione associate alla relazione, equindi inviano ad essi il relativo certificato, più la regola didistribuzione
Il passo precedente è iterato dai membri che ricevonocertificato e regole di distribuzione finché tutti i membriautorizzati sono stati contattati
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Perché codificare le relazioni in certificati
In un’architettura in cui non esiste un servizio che si occupadella creazione e gestione delle relazioni tra membri, ènecessario fornire meccanismi in grado di garantire l’autenticitàdelle relazioni esistenti. In caso contrario, la creazione di falserelazioni potrebbe essere usata per fornire false credenziali(“sono il consulente finanziario di Bill Gates”), per danneggiaredegli utenti (ad es., dichiarando l’esistenza di conflitti diinteresse non esistenti), etc.
Le relazioni potrebbero essere utilizzate, come vedremo, perusi sensibili. Ad es., possono essere impiegate per denotareutenti autorizzati a conoscere certe informazioni: in questoscenario, la possibilità di creare false relazioni garantirebbel’accesso a utenti non autorizzati
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Perché è necessaria una CRL?
Per le ragioni prima indicate, è fondamentale poter verificarese una relazione sussiste ancora o è stata revocata
In un’architettura decentralizzata, dove ogni nodo ha unsottoinsieme dei certificati esistenti, la mancata o ritardataricezione di una comunicazione di revoca può determinareaccessi non autorizzati
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il modello di rete sociale adottato
DefinizioneUna rete sociale SN è una ennupla
(VSN , ESN , RTSN , TSN , φSN )
dove:
RTSN è l’insieme di tipi di relazione supportati
VSN e ESN ⊆ VSN × VSN × RTSN sono, rispettivamente i nodi e gliarchi di un grafo orientato ed etichettato (VSN , ESN , RTSN )
TSN = [0, 1] è l’insieme di livelli di fiducia (trust level) supportati
φSN : ESN → TSN è una funzione che assegna a ogni arco in ESN untrust level t ∈ TSN
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Due considerazioni sul modello
L’orientamento degli archi non identica che le relazionesupportate sono solo antisimmetriche, ma chi ha proposto larelazione (il nodo iniziale dell’arco) e chi la ha accettata (ilnodo terminale dell’arco)
Il modello prevede un peso, associato agli archi, che denota illivello di fiducia esistente tra due membri. Parleremo di questoaspetto in seguito (qui è riportato per completezza, ma per oralo possiamo ignorare)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Certificati di relazione
DefinizioneUn certificato di relazione C ha la forma
(m, m′, rt, t, ts)||Sig
dove:
m, m′ ∈ VSN sono, rispettivamente, il membro che ha proposto larelazione e il membro che l’ha accettata
rt ∈ RTSN e t ∈ TSN sono, rispettivamente, il tipo e il livello di fiduciadella relazione
ts è il timestamp dell’istante in cui il certificato è stato generato
Sig è la firma digitale della ennupla (m, m′, rt, t, ts) ad opera di m e m′
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Regole di distribuzione I
Le regole di distribuzione denotano i membri della reteautorizzati a possedere un dato certificato di relazione
Tali utenti sono denotati attraverso vincoli relativi alle relazionia cui partecipano
Ad es., posso stabilire che i membri autorizzati a conoscere larelazione tra A e B sono gli amici di A e/o quelli di B
Oltre al tipo di relazione, è possibile specificare un’ulteriorevincolo, la profondità massima, che denota la distanzamassima esistente tra un dato membro e il membro con cui,secondo la regola di distribuzione, deve esistere una relazionedi un certo tipo
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Regole di distribuzione II
Ogni vincolo su relazioni è espresso, all’interno di una regola,da una condizione di accesso
Perché una regola sia soddisfatta, tutte le condizioni in essacontenute devono essere soddisfatte (i.e., condizioni multiplesono in AND)
Più regole associate allo stesso certificato denotano requisitialternativi (i.e., regole multiple sono in OR)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Condizioni di distribuzione
DefinizioneUna condizione di distribuzione dc è una ennupla (m, rt, dmax) dove:
m ∈ VSN è il membro con cui deve esistere la relazione
rt ∈ RTSN è il tipo della relazione
dmax è la profondità massima della relazione
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Creazione e distribuzione dei certificati di relazione I
A propone a B di istituire una relazione di tipo amico di , conun livello di fiducia pari a 0.8, e associata a una regola didistribuzione:
dr = {(A, amico di , 3)}
B accetta: A e B verificano se, in base ai certificati direlazione in loro possesso, esistono loro vicini che sono amicisia di A che di B
Supponiamo che A scopra che un suo vicino, C , soddisfa lacondizione, in quanto suo amico
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Creazione e distribuzione dei certificati di relazione II
Allora A invierà a C il certificato della nuova relazione,associato a una versione modificata di dr , in cui, in ognicondizione nella regola:
il membro con cui deve sussistere la relazione (i.e., A) è statosostituito con quello che la soddisfa (C )la profondità massima è stata ridotta di un numero di unitàpari alla profondità tra C e il membro indicato nella regola
I.e.:
dr = {(A, amico di , 3)} → dr = {(C, amico di ,2)}
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Creazione e distribuzione dei certificati di relazione III
I membri che ricevono certificato e regola di distribuzioneiterano la stessa procedura
La distribuzione ha termine nel momento in cui un membronon ha vicini che soddisfano la regola e/o la profonditàmassima in almeno una delle condizioni risulta uguale a 0
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Problemi I
Una rete sociale è in continua evoluzione: nodi e archivengono aggiunti e tolti continuamente modificando lastruttura del grafo
Quando una relazione viene aggiornata, cambiando il livello difiducia indicato, come faccio a comunicarlo a tutti i membriche hanno la vecchia versione del relativo certificato?
Quando si verifica una revoca, come faccio a comunicare atutti i membri che hanno il corrispondente certificato direlazione che esso non è più valido?
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Problemi II
Questo implica anche che:Un membro che, in un dato istante ts , non è autorizzato aconoscere una relazione, in un dato istante ts ′ > ts puòdiventarlo a causa dell’inserimento di archi nel grafo (i.e.,creazione di nuove relazioni)
Un membro che, in un dato istante ts , è autorizzato aconoscere una relazione, in un dato istante ts ′ > ts può nonesserlo più a causa dell’eliminazione di archi nel grafo (i.e.,revoca di relazioni esistenti)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Revoca di relazioni I
Non potendo avere la sicurezza che tutti i membri chedetengono un certificato ricevano notifica della sua revoca, lasoluzione adottata è istituire un servizio di gestione della retesociale che svolga il compito di CRL
La revoca di una relazione implica, oltre alla propagazionedella rete del relativo messaggio, una notifica alla CRL
A tal scopo viene inviato alla CRL un messaggio(idC ,ESKm(SigC )), dove idC è un identificatore,corrispondente alla hash del certificato C , SKm è la chiaveprivata del membro m che ha revocato la relazione, mentreSigC è la firma del certificato
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Revoca di relazioni II
È importante notare che, in questo modo, la CRL non hacomunque alcuna informazoine sulla relazione revocata,eccetto che riguardava il membro che ha comunicato la revoca
Quando un membro vuole verificare se uno o più dei suoicertificati sono stati revocati, invia alla CRL una query aventecome parametri i relativi identificatori: se il result set non ènullo, significa che il certificato è stato revocato
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Aggiornamento di relazioni
L’aggiornamento di relazione, ha come si è detto, problemianaloghi a quelli della revoca
Se un certificato aggiornato non raggiunge un membro che nedetiene la versione originaria, ciò significa che tale membro nonè più autorizzato a detenere tale certificato
Ciò però significa anche che il certificato originario non è piùvalido, ed è quindi oppurtuno che sia marcato come revocato
A tal scopo, l’aggiornamento di un certificato, oltre a prevederela propagazione nella rete del nuovo certificato, implica anchel’invio di un messaggio di revoca di quello vecchio alla CRL
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Ri-distribuzione di certificati
Ogni volta che due membri m,m′ stabiliscono una relazione,dopo aver completato il protocollo delineato precedentemente,m (m′) verifica se m′ (m) soddisfa una o più delle regole didistribuzione che m (m′) detiene, e ripete con m′ (m) laprocedura di distribuzione dei certificati
Ogni volta che un membro m revoca una relazione con m′, mverifica se m′ non soddisfa più una o più delle regole didistribuzione che m detiene, relative a certificati che m avevaprecedentemente inviato a m′. Quindi m contatta il membrom′′ che aveva creato il certificato, chiedendogli di rigenerare eripropagare il certificato, che sarà identico al precedente, maavrà un timestamp diverso
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Conclusioni I
Riepilogando le caratteristiche dell’approccio proposto in[Carminati et al., 2008a]:
le informazioni sulle relazioni esistenti sono detenute e gestitedai membri della rete autorizzati ad averle, e non da unservizio centralei membri hanno il completo controllo su come le relazioni sonodistribuiteil carico computazionale è distribuito tra i membri della rete:ognuno si prende carico del lavoro necessario a completare leoperazioni che vuole effettuareil servizio centrale della rete svolge un compito molto specifico,che può essere gestito in modo efficiente applicando tecnologieconsolidate
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Conclusioni II
Come si può applicare alla reti sociali esistenti?Richiederebbe il passaggio da un’architettura client-server auna basata sul paradigma peer-to-peer
Lato utente devono essere disponibili applicazioni in grado diespletare le funzioni relative alla creazione, revoca,aggiornamento, memorizzazione, e gestione delle relazioni
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Conclusioni III
È una soluzione plausibile?Le tecnologie del Web 2.0 mettono già a disposizione strumentiper lo sviluppo di applicazioni Web che operano lato client
L’utilizzo di architetture distribuite, in cui i nodi si prendonocarico delle operazioni che vogliono effettuare, garantirebbel’efficienza delle reti sociali, e il supporto di servizi attualmentepoco costosiArchivi distribuiti, sotto il controllo dei loro proprietari, inveceche centralizzati forniscono una soluzione efficace per ilproblema dell’accesso non controllato a informazioni sensibili
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Letture consigliate
Per le problematiche di privacy legate all’uso delle reti sociali siconsiglia la lettura di [Barnes, 2006]
La voce “Facebook” in Wikipedia fornisce una serie diriferimenti bibliografici sui problemi di sicurezza in questa retesociale
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Bibliografia
Recommender system: [Adomavicius and Tuzhilin, 2005]
Reputation system: [Jøsang et al., 2007]
Privacy-preserving data mining: [Verykios et al., 2004]
Privacy-preserving social network analysis: [Liu et al., 2008]
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Indice
1 Introduzione
2 Web 2.0
Introduzione
Personalizzazione e privacy
Libertà di parola e accountability
Condivisione di contenuti e controllo degli accessi
3 Semantic Web
4 Semantic Web e Web 2.0
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il problema della “qualità” I
Le tecnologie attuali permettono agli utenti finali di impiegareil Web come piattaforma per pubblicare risorse multimediali emetterle a disposizione di altri utenti
Il Web 2.0 estende inoltre gli ambienti collaborativi,permettendo agli utenti finali di contribuire non solo nellacreazione di risorse, ma anche nella valutazione della loro“qualità”
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il problema della “qualità” II
Ad es.: commenti ai blog, rating associati all’utilità e/orilevanza di risorse rispetto a criteri oggettivi e/o soggettivi–quali giudizi su libri e film, utilità/affidabilità delle review di unhotel
Tale situazione rende però più semplice l’utilizzo del Web 2.0per la produzione di spam, funzionale agli usi più diversi
Se non è possibile distinguere ciò che è spam da ciò che non loè, il Web 2.0 diventa totalmente inutilizzabile
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Web 2.0 e spam: due esempi
In ambienti di collaborative rating: modificare artificiosamenteil rating di una risorsa o di un utente
Nei blog: influenzare i motori di ricerca, incrementandoartificiosamente il ranking di risorse Web
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Collaborative rating e spam
L’attacco viene effettuato specificando un elevato numero dirating positivi (o negativi)
Generalmente i sistemi di collaborative rating non permettonola specifica di rating multipli dello stesso utente per la stessarisorsa
È quindi necessario creare un certo numero di account, chevengono poi usati per la specifica di rating
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Blog spam
L’attacco viene effettuato inserendo nei blog un numeroelevato di collegamenti che puntano a una certa risorsa
Nei blog non c’è un vincolo simile a quello usato nei sistemi dicollaborative rating: lo stesso utente può specificare più voltelo stesso collegamento
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come viene controllato lo spam nel Web 2.0?
Con meccanismi automatizzati che intervengono a uno o più deiseguenti livelli:
prevenzione
riconoscimento di spam in base al “comportamento” dell’autore
disabilitazione dell’utilità dello spam
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Prevenzione
Come per gli esempi citati, nella maggior parte dei casi lospam, perché sia efficace, deve essere generato da agentisoftwareSi può quindi impedire la creazione di spam impedendo agliagenti software di accedere ai servizi, utilizzando tecniche di“reverse Turing test”Un esempio di tale tecniche è CAPTCHA (CompletelyAutomated Public Turing test to tell Computers and HumansApart) [von Ahn et al., 2003]). Ecco un esempio:
Altre alternative sono chiedere all’autore di rispondere a unadomanda, a cui un software agent può difficilmente rispondere(ad es., “La capitale della Francia è . . . ”)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Riconoscimento di spam in base al “comportamento”
dell’autore
Ad es., i software agent che producono blog spam creanocommenti multipli a cascata, utilizzano un indirizzo IP percaricare il modulo del blog e un altro per inviarlo, evitano diinserire nello stesso blog più di un collegamento allo stesso sito
Nei sistemi di collaborative rating, il “peso” di un rating puòvariare dipendentemente dal grado di coerenza dei ratingspecificati da un certo utente
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Disabilitazione dell’utilità dello spam
Ad es., per arginare il blog spam, viene indicato ai motori diricerca di non seguire i collegamenti nel blog
Ciò viene fatto attraverso la specifica dell’attributo HTML rel
con valore nofollow, associato a uno specifico collegamento,o a tutta la pagina
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Lo spam manuale
I meccanismi impiegati per prevenire lo spam, oltre a essereefficaci solo per casi specifici, affrontano il problema dellaproduzione automatizzata di spam, ma non sono adatti perarginare il fenomeno dello spam manuale
Ad es., un utente può utilizzare uno o più profili per pubblicarecommenti relativi a un blog per influenzare la validità delleinformazioni contenute
Quando sono gli utenti stessi a produrre spam, risultaestremamente difficile sviluppare meccanismi automatizzati perrilevare comportamenti “scorretti”
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il problema dell’“identità virtuale”
L’uso improprio delle tecnologie del Web 2.0 è legato a unproblema più generale: la mancanza di meccanismi in grado diassociare in modo forte una risorsa al proprio autore
Ad es., ai membri delle reti sociali spesso non è richiesto dispecificare dati che permettano di identificarli
Quando ciò accade, gli utenti possono specificare dati noncorretti, senza che nessun controllo venga effettuato, eccettoche sull’indirizzo email
Per un utente è estremamente semplice creare account multiplinella stessa rete sociale, in modo da poter impersonare membriapparentemente diversi
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il problema dell’identità locale
Un ulteriore problema è che non è possibile identificare lostesso utente in comunità diverse
Per ogni comunità di appartenenza, ogni utente ha una singolaidentità, totalmente distinta dalle altre
Oltre a impedire l’aggregazione di risorse distribuite su sistemidiversi, non è possibile effettuare analisi che permetterebberodi fornire una misura precisa dell’affidabilità di un utente
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
I vantaggi di un’identità verificabile
Garantisce il principio della non repudiation: sel’autore/proprietario di una risorsa è identificabile, deveassumersi la responsabilità di ciò che la risorsa veicola intermini di informazioni
Permette di impiegare efficacemente meccanismi di trustattraverso cui determinare la “qualità” delle risorse di cui unutente è autore/proprietario
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
The Augmented Social Network (ASN)
Queste problematiche sono state rilevate e discusseestesamente in un white paper pubblicato nel 2003: TheAugmented Social Network: Building Identity and Trust intothe Next-generation Internet [Jordan et al., 2003]
Questo studio rilevava un’inadeguatezza del Web di quelperiodo rispetto alla possibilità di sfruttarne appieno lepotenzialità
In particolare, rilevava come la Rete non teneva inconsiderazione le potenzialità delle interazioni sociali tra i suoiutenti, ma piuttosto incentivava la creatività individuale e lacollaborazione tra pochi
La situazione a tutt’oggi non è sostanzialmente cambiata
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
I “quattro elementi” dell’ASN
Il white paper individuava quattro elementi interdipendenti,necessari per determinare una svolta radicale in senso sociale:
persistent online identityinteroperability between communitiesbrokered relationshipspublic interest matching technologies
Il white paper fa notare che tali “elementi” non richiedono losviluppo di nuove tecnologie, ma possono essere implementaticon quelle già esistenti
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Persistent online identity
Enabling individuals online to maintain a persistent identity asthey move between different Internet communities, and tohave personal control over that identity. This identity shouldbe multifarious and ambiguous (as identity is in life itself),capable of reflecting an endless variety of interests, needs,desires, and relationships. It should not be reduced to arecitation of our purchase preferences, since who we are cannot be reduced to what we buy.
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Interoperability between communities
People should be able to cross easily between onlinecommunities under narrowly defined circumstances, just as inlife we can move from one social network to another.Protocols and standards need to be developed and adopted toenable this interoperability. This interoperability should includethe ability to identify and contact others with shared affinitiesor complementary capabilities, and to share digital media withthem, enabling valuable information to pass from one onlinecommunity to the next in an efficient manner. To supportASN-type activity, modularized enhancements to the technicalinfrastructures of separate online communities will need to bedeveloped and adopted.
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Brokered relationships
Using databased information, online brokers (both automatedand “live”) should be able to facilitate the introductionbetween people who share affinities and/or complementarycapabilities and are seeking to make connections. In thismanner, the proverbial “six degrees of separation” can becollapsed to one, two or three degrees – in a way that is botheffective and that respects privacy. Such a system of brokeredrelationships should also enable people to find information ormedia that is of interest to them, through therecommendations of trusted third parties.
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Public interest matching technologies
The Semantic Web (http://www.semanticweb.org) is perhapsthe best known effort to create a global “dictionary” of sharedterms to facilitate finding information online that is of interestto you. Within the ASN, a public interest initiative aroundmatching technologies, including ontologies and taxonomies,will enable you to find other people with whom you shareaffinities – no matter which online communities they belongto. These matching technologies need to be broad and robustenough to include the full range of political discussion aboutissues of public interest. They should not be confined tocommercial or narrowly academic topics; NGOs and otherpublic interest entities need to be represented in the processthat determines these matching technologies.
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Architettura della ASN
I 4 “elementi” dell’ASN costituiscono allo stesso tempo lecomponenti principali dell’architettura del sistema, prospettatecome insieme di servizi integrati
I requisiti di tali componenti vengono discussi dettagliatamente
Come esempio di architettura concettuale,[Jordan et al., 2003] cita il white paper The 12 Principles ofCollaboration [Typaldos et al., 2001], in cui si descrivono iprincipi che devono stare alla base di una sorta di “sistemaoperativo per comunità virtuali”
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Fonte: [Typaldos et al., 2001]
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Identità
Il problema dell’identità è stato finora consideratoprincipalmente in funzione alla possibilità di garantire l’accessoa diversi servizi online utilizzando le stesse chiavi
Il termine Identity 2.0 si applica principalmente a questaaccezione, anche se include la portabilità dei profili utente
Identity Commons (http://www.identitycommons.net) eXSN.org (http://xsn.org) sono due organizzazioni che lavoranoin quest’area
La tecnologia più utilizzata è OpenID (http://openid.net), cheimplementa un protocollo di autenticazione distribuita
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Interoperabilità
L’interoperabilità tra comunità virtuali diverse non esisteancora
È attualmente garantita parzialmente con la pubblicazione diservizi attraverso API standard
Un esempio significativo è Google OpenSocial(http://code.google.com/apis/opensocial)
Inoltre alcune reti sociali permettono di esplicitare l’esistenzadi un proprio account su altre reti sociali
Si tratta tuttavia di un problema che sta ottenendo crescenteattenzione
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
“Presentazioni” e Semantic Web
Alcune reti sociali offrono servizi primitivi per presentarsi aestranei
L’utilizzo di tecnologie del Semantic Web è limitato all’utilizzodi un formato standard per l’interscambio di dati personali erelazioni [Ding et al., 2005]. Al contrario, le folksonomy hannopreso il posto delle ontologie per la descrizione di risorse
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
FOAFRealm (http://www.foafrealm.org)
Esiste in realtà un sistema sperimentale, chiamatoFOAFRealm/D-FOAF [Kruk et al., 2006], che implementafunzionalità più avanzate di quelle messe a disposizione dallereti sociali esistenti
Si basa su una federazione di servizi (i.e., una rete di peer cheutilizzano l’infrastruttura HyperCuP [Schlosser et al., 2002])che utilizzano un protocollo di autenticazione distribuita eimpiegano FOAF come formato per la codifica e la portabilitàdei profili degli utenti
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Cosa manca?
Le proposte finora viste affrontano il problema di comegarantire per ogni utente un’identità persistente in tutti iservizi Web utilizzati
Un primo problema è: come garantire l’autenticità di unprofilo? come impedire la creazione di identità multiple – i.e.,come verificare l’identità di un utente?
La disponibilità di profili portabili tra sistemi diversi offregrandi vantaggi, ma aumenta i rischi di rilascio di informazionisensibili
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come garantire l’identità e l’autenticità del profilo degli
utenti? I
Esistono tecnologie consolidate a tal scopo, che fanno uso ditecniche crittografiche, quali la firma digitale
Alcuni esempi:L’identità di un utente può essere garantita da certificatifirmati da certification authorityIl profilo può essere ugualmente certificato attraversocredenziali firmate da agenzie che garantiscono la veridicità diquanto viene dichiarato (ad es., la professione di un utente puòessere certificata dalla società in cui è impiegato)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come garantire l’identità e l’autenticità del profilo degli
utenti? II
Lo stesso si può ottenere attraverso un approccio noncentralizzato, ma basato sul paradigma del Web of Trust,come in PGP
Inoltre si può utilizzare FOAF come formato standard, essendopossibile apporre firme digitali su profili FOAF
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come proteggere le informazioni sensibili contenute nei
profili degli utenti?
Anche in questo caso esistono tecnologie consolidate, ma chedevono essere ripensate in funzione del particolare dominioapplicativo. Due possibili ipotesi:Protocolli di negoziazione Il rilascio delle informazioni contenute nel
profilo viene effettuato attraverso una negoziazionegrazie alla quale l’utente decide se un certo servizio oun certo utente fornisce sufficienti garanzie in meritoa come tali informazioni saranno impiegate
Meccanismi di controllo degli accessi In tal caso, l’utente definiscepolitiche di accesso che un servizio o un utente devesoddisfare per poter accedere alle informazionicontenute nel profilo (vedremo questo argomento inseguito)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Trust e reputation
La disponibilità di identità e profili permanenti e verificabilipermette di utilizzare trust e reputation come ulterioregaranzia della qualità delle informazioni
La reputation può essere impiegata in comunità virtuali in cuiesistono criteri “oggettivi” per determinare l’affidabilità di unmembro
Il trust permette invece di modellare affidabilità legata a criteri“soggettivi”
Le due nozioni non sono necessariamente esclusive
Ad es., nella maggior parte dei casi, la reputation di un’entità ècalcolata in base ai trust rating specificati dalle altre entità sudi essa
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come calcolare trust e reputation I
Nel contesto del Web 2.0 il calcolo di trust e reputation ènecessariamente subordinato alla struttura sociale esistente trautenti e tra utenti e servizi
Esistono meccanismi per il calcolo di trust e reputation chepossono essere applicati a tale contesto, in particolare, quelliadottati nelle reti P2P per il calcolo della reputation
Negli ultimi anni sono stati sviluppati algoritmi specificamenteper il calcolo del trust nelle reti sociali
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come modellare il trust I
Il trust può essere modellato attraverso relazioni di fiducia(trust relationship)
Un relazione di fiducia può essere rappresentata come un arcoorientato, che connette due entità A e B , ed etichettato coninformazioni che indicano se, ed eventualmente, quanto Aconsidera B affidabile
L’arco orientato modella una proprietà specifica del trust, cioèla sua natura antisimmetrica (ad es., se A si fida di B , nonsegue necessariamente che B si fidi di A)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come modellare il trust II
Il valore della relazione di fiducia è stato modellatoprincipalmente secondo due metodologie:
La strategia che fornisce forse i risultati più accurati è quellache fa uso del belief calculus, in particulare la logica soggettiva[Jøsang et al., 2006]
Nonostante ciò, l’approccio più diffuso è quello che prevedel’uso di singoli valori, binari o scalari
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Logica soggettiva [Jøsang et al., 2006]
Secondo questo approccio, una opinione soggettiva ωAB di una data
entità A relativamente a un’altra entità B è modellata come unaennupla
(b, d , u, a)
tale per cui b + d + u = 1 e b, d , u, a ∈ [0, 1], e dove b, d e udenotano, rispettivamente, belief, disbelief, and uncertainty, mentrea è un parametro che denota la base rate probability, che determinaquanto l’incertezza influisce nel calcolo del valore atteso di ωA
B , cioè
E(ωAB) = b + ua
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Trust binario e scalare
Il trust scalare fa uso di valori continui o discreti che denotanoquanto una data entità si fida di un’altra
Il trust binario denota semplicemente la presenza/assenza difiducia
In quanto tale, può essere considerato come un casoparticolare di trust scalare, che contempla solo i valori minimoe massimo, ed è impiegato in sistemi (ad es., reti P2P o PKI)dove esistono requisiti particolarmente restrittivi perdeterminare se un’entità è affidabile o meno
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Perché la logica soggettiva ha avuto poco successo
I sistemi che adottano trust binario prevedono specifici requisitiper determinare l’affidabilità di un’entità. In tali sistemi nonc’è spazio per l’incertezza: un’entità o è totalmente affidabileoppure è totalmente inaffidabile
Il trust scalare è una semplificazione dell’approccio basato sullalogica soggettiva, scelto nella maggior parte dei casi persemplificare la specifica del trust da parte delle entitàinteressate
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come il trust viene specificato
Esistono due metodologie principali
La prima prevede che il valore di una relazione di fiducia tradue entità A e B sia determinata implicitamente dai ratingspecificati nel corso del tempo da A relativamente alcomportamento di B . Questo è l’approccio tradizionale,adottato diffusamente nelle reti P2P, ma in anche da alcunecomunità online e reti sociali, e fa tesoro delle tecnichesviluppate nell’ambito dei reputation system
La seconda prevede la specifica esplicita del livello di fiduciaesistente tra due entità A e B . Questa modalità si è affermataprincipalmente nell’ambito delle reti sociali, anche se non vieneadottata da tutte
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Alcune alternative
I recommender system possono fornire un diverso approccio, inbase al quale il valore della relazione di fiducia esistente tradue entità è direttamente proporzionale al grado di somiglianzatra i loro profili
In alternativa alla specifica di relazioni di fiducia esplicite, sipuò pensare all’uso di politiche di fiducia (trust policy), in cuisi denotano le entità di cui ci si fida, ed eventualmente quantoci si fida di esse, in base alle loro caratteristiche, e non solo alleloro identità
In tali politiche, le relazioni di fiducia possono essere espresse,ad es., in base ai tipi di relazioni esistenti, alla distanza tra duenodi della rete, a un insieme di specifiche competenze
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il trust atteso I
Finora abbiamo considerato il trust solo relativamente amembri che hanno o hanno avuto contatti diretti, e che sonostati in grado, in un modo o nell’altro, di misurare l’affidabilitàdella controparte
Tuttavia in network di dimensioni vaste è estremamente utilepoter calcolare il trust atteso tra due entità che non hanno maiavuto contatti tra loro
Questo permetterebbe a due entità che non si conoscono diavere un valore di riferimento per potere decidere comecomportarsi nel momento in cui si verifica un’interazione
Una soluzione possibile è utilizzare i valori di trust esistenti percalcolare la reputazione di un’entità
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il trust atteso II
Tuttavia, per quanto utile, non necessariamente la reputazioneè un’informazione sufficiente: ad es., può essere giudicata piùutile l’opinione di una persona che si conosce piuttosto chel’opinione collettiva di una comunità
A tal scopo si possono utilizzare i percorsi creati all’internodella rete dalle relazioni di fiducia esistenti (i cosiddetti trustpath) per determinare quale potrebbe essere il livello di trustche io assegnerei a una persona che non conosco
Questo principio viene denotato dal termine trust transitivity
Il trust non è per natura transitivo (ad es., se A si fida di B , eB di C , non segue necessariamente che A si fida di C )
Tuttavia è possibile utilizzare questo principio per predire ilvalore di trust tra due entità non connesse direttamente
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Algoritmi per il calcolo del trust I
Esistono diversi algoritmi che possono essere impiegati per ilcalcolo del trust atteso, sviluppati in vari domini applicativi –ad es., reti P2P, PKI e reti sociali (pochi)
In tali algoritmi, uno dei problemi principali è decidere qualitrust path devono essere tenuti in considerazione nel calcolodel trust atteso
Generalmente tali algoritmi non considerano tutti i percorsiesistenti, ma pongono dei vincoli per sceglierne solo alcuni fraessi
Tali vincoli riguardano il valore e/o la lunghezza dei trust pathconsiderati
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Algoritmi per il calcolo del trust II
Molti degli algoritmi sviluppati per reti sociali utilizzanoentrambi tali vincoli
In particolare:L’algoritmo usato in FOAFRealm/D-FOAF [Kruk et al., 2006]considera solo il trust path più corto con il massimo trustattesoTidalTrust [Golbeck, 2005] e MoleTrust [Avesani et al., 2005]considerano solo i percorsi più brevi e introducono la nozionedi soglia di fiducia (trust threshold)Infine MoleTrust pone vincoli sulla lunghezza massima deipercorsi più brevi
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Calcolo del trust in FOAFRealm/D-FOAF [Kruk et al., 2006]
In D-FOAF la funzione del trust è legata alla specifica dipolitiche di controllo dell’accesso (le vedremo in seguito)
Questo sistema prevede che alle relazioni personali esistenti trautenti sia associato un valore scalare che determina il “grado diamicizia”, chiamato trust level o friendship level
Per predire la fiducia esistente tra due membri di una rete, sicalcolano prima i percorsi più brevi esistenti tra i due membri
I calcola quindi il trust level di ognuno di tali percorsi,corrispondente al prodotto dei trust level associati agli archi
Il trust level esistente tra i due membri corrisponde a quello delpercorso con il trust level maggiore
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Qual è il trust atteso tAH tra A e H?
A
B
C
D
E
F
G H
1.0
0.9
0.8
0.9
0.9
0.8
1.0
1.0
0.6
0.80.5
0.7
0.9
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Trust path più corti e loro valori
A
B
C
D
E
F
G H
1.0
0.9
0.8
0.9
0.9
0.8
1.0
1.0
0.6
0.80.5
0.7
0.9
tABEH = 0.54, tACFH = 0.648, tACEH = 0.432, tADFH = 0.64, tADEH = 0.48
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Trust path determinante il trust atteso
A
B
C
D
E
F
G H
1.0
0.9
0.8
0.9
0.9
0.8
1.0
1.0
0.6
0.80.5
0.7
0.9
tAH = tACFH = 0.648
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Accuratezza del trust atteso in FOAFRealm/D-FOAF
Gli autori non chiariscono le motivazioni alla base delle sceltefatte: perché considerare un solo percorso? perché quello conil valore massimo di trust atteso?
Questo approccio contrasta con quelli esistenti in letteraturadove risultano evidenti i benefici di considerare più percorsi perun calcolo accurato del trust atteso (significa, in sostanza,raccogliere il numero più alto di opinioni rilevanti, invece diaffidarsi solo a quella più favorevole)
In [Choi et al., 2006] gli autori hanno discusso possibilivariazioni del loro approccio per ottenere valori più accurati ditrust atteso, ad es. attraverso l’uso di tecniche fuzzy
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
TidalTrust [Golbeck, 2005] I
Questo algoritmo è stato sviluppato per reti sociali chesupportano il collaborative rating, e in cui è previsto che imembri specifichino esplicitamente relazioni di fiducia, distinteda quelle personali
Esistono varie versioni di TidalTrust in base al tipo di trustvalue utilizzati (binari o scalari) e al grado di accuratezza delcalcolo del trust
Noi vedremo la versione che permette di ottenere la massimaaccuratezza, e che utilizza valori scalari
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
TidalTrust [Golbeck, 2005] II
Dati due membri i , k , vengono calcolati i percorsi più breviesistenti tra loro
Per ognuno di tali percorsi viene calcolata la forza (strength),corrispondente al trust level più basso tra quelli associati agliarchi di cui un percorso è costituito, senza però considerarel’ultimo arco (i.e., quello che entra in k)
Il percorso con la strength più alta determina la soglia difiducia (trust threshold) max
Il calcolo del trust viene effettuato considerando solo i percorsicon una strength maggiore o uguale alla soglia di fiducia
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
TidalTrust [Golbeck, 2005] III
Il trust level esistente tra i e k è calcolato iterando la formulaseguente finché s = k :
tis =
∑j∈adj(i)|tij≥max tijtjs
∑j∈adj(i)|tij≥max tij
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Qual è il trust atteso tAH tra A e H?
A
B
C
D
E
F
G H
1.0
0.9
0.8
0.9
0.9
0.8
1.0
1.0
0.6
0.80.5
0.7
0.9
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Trust path più corti e loro strength
A
B
C
D
E
F
G H
1.0
0.9
0.8
0.9
0.9
0.8
1.0
1.0
0.6
0.80.5
0.7
0.9
sABEH = 0.9, sACFH = 0.9, sACEH = 0.8, sADFH = 0.8, sADEH = 0.8
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Trust path per il calcolo del trust atteso
A
B
C
D
E
F
G H
1.0
0.9
0.8
0.9
0.9
0.8
1.0
1.0
0.6
0.80.5
0.7
0.9
max = sABEH = sACFH = 0.9
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Calcolo del trust atteso tra A e H
tAE =tABtBE
tAB
=1.0 × 0.9
1.0= 0.9
tAF =tAC tCF
tAC
=0.9 × 0.9
0.9= 0.9
tAH =tAE tEH + tAF tFH
tAE + tAF
=0.9 × 0.6 + 0.9 × 0.8
0.9 + 0.9= 0.7
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Accuratezza di TidalTrust I
Risultati sperimentali hanno dimostrato che TidalTrustpermette di ottenere un’elevata accuratezza nel calcolo deltrust atteso
Bisogna comunque notare che TidalTrust è progettatospecificamente per calcolare il trust atteso considerando piùpercorsi
Quando il percorso è solo uno, il trust atteso corrisponde altrust level associato all’ultimo arco
Più recentemente è stato proposto un nuovo algoritmo,denominato SUNNY [Kuter and Golbeck, 2007], che impiegamodelli probabilistici di fiducia (confidence) per ottenereun’accuratezza maggiore di quella di TidalTrust
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Accuratezza di TidalTrust II
In sostanza, SUNNY introduce un nuovo parametro che misuraquanto io mi fido delle correttezza delle opinioni espresse da undato membro della rete sociale
Il confidence model può essere acquisito attraverso la specificaesplicita da parte di esperti di dominio, oppure calcolando ilgrado di correlazione tra i profili dei membri (come in unrecommender system)
Il confidence level ottenuto serve per associare un peso lerelazioni di fiducia esistenti
Il trust atteso è calcolato con la stessa formula di TidalTrust
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Letture consigliate
Per le problematiche legate a trust e identità in ambiente Web,si consiglia la lettura di [Jordan et al., 2003]
Sui requisiti delle comunità online, si consiglia la lettura di[Typaldos et al., 2001]
Sulle metodologie adottate per il calcolo di trust e reputationsi consiglia la lettura di [Jøsang et al., 2006]
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Riferimenti utili
The reCAPTCHA Project: http://recaptcha.net
The Friend of a Friend (FOAF) project:http://www.foaf-project.org
FOAFRealm, D-FOAF: http://www.foafrealm.org
Google OpenSocial:http://code.google.com/apis/opensocial
Identity Commons: http://www.identitycommons.net
OpenID: http://openid.net
XSN.org: http://xsn.org
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Indice
1 Introduzione
2 Web 2.0
Introduzione
Personalizzazione e privacy
Libertà di parola e accountability
Condivisione di contenuti e controllo degli accessi
3 Semantic Web
4 Semantic Web e Web 2.0
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il problema I
Come più volte detto, le tecnologie del Web 2.0 rendonoestremamente semplice la creazione e condivisione di risorse daparte degli utenti finali, ma non permettono agli stessi lapossibilità di controllarne la distribuzione
Sebbene i servizi del Web 2.0 propongano una visione in cuil’utente finale sembra svolgere il ruolo di attore primario, inrealtà limitano in maniera rilevante al sua “libertà dimovimento”
Nel nostro caso particolare, agli utenti finali non vienericonosciuto lo status di proprietario dei diritti intellettualirelativi alle risorse che ha creato
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il problema II
Tale situazione emerge implicitamente dalle potere decisionalelimitato dell’utente finale nel decidere quali siano i diritti diaccesso alle risorse di cui è autore
Lo stesso principio si applica ai dati personali, che possonoessere considerati a pieno titolo risorse di proprietà dell’utentefinale
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Reti sociali e controllo degli accessi
I meccanismi di controllo degli accessi sono una tecnologiaconsolidata, che è stata impiegata in vari contesti applicativi,compresi ambienti distribuiti (e una rete sociale ha un’analogiacon quest’ultimi)Esistono inoltre diversi modelli di controllo degli accessi (ades., discrezionali, mandatori, a ruoli) che forniscono variepossibilità di sceltaÈ possibile quindi utilizzare efficacemente tali tecnologie pergarantire agli utenti finali la possibilità di specificare politichesufficientemente flessibili per regolare l’accesso alle proprierisorse e ai proprie risorsePer far questo è tuttavia necessario identificare quali sono irequisiti specifici che un meccanismo di controllo degli accessideve soddisfare per essere efficace nel contesto delle reti sociali
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Requisiti relativi al modello di controllo degli accessi I
In primo luogo è necessario identificare quali siano i parametrida impiegare nella specifica delle politiche di controllodell’accesso
L’approccio tradizionale prevede che una autorizzazione siadenotata da una tripla 〈s, p, o〉, dove s denota il soggetto cheè autorizzato a esercitare il privilegio p sull’oggetto o
Tale approccio può essere impiegato anche all’interno delle retisociali, ma ha lo svantaggio di richiedere, per ogni risorsa, laspecifica di un’autorizzazione per ognuno dei soggettiautorizzati
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Requisiti relativi al modello di controllo degli accessi II
Data la dimensione di una rete sociale e il fatto che le risorsepotrebbero essere condivise, secondo i desideri del loroproprietario, da un elevato numero di membri, tale strategianon è perseguibile, se non come opzione addizionale
Il problema è quindi: nel momento in cui decido di pubblicare econdividere una risorsa, a chi intendo metterla a disposizione?
Data la natura di una rete sociale (i.e., un ambiente in cuiistituire relazioni con persone che condividono interessi e/ocompetenze analoghi), la comunità a cui mi rivolgo è quella dipersone che hanno con me una data relazione, che sia essaesplicita (ad es., una relazione di amicizia) o implicita (ad es.,persone che hanno profili analoghi al mio)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Requisiti relativi al modello di controllo degli accessi III
Un altro aspetto da considerare è che un utente può decideredi mettere a disposizione una risorsa anche a persone che nonconosce, a patto che soddisfano certi requisiti
Un esempio è dato da coloro che sono miei vicini dal punto divista del profilo: non è detto infatti che io li conosca
Un altro esempio può riguardare membri che hanno come meuna relazione indiretta (cioè collegati a me da un percorso dilunghezza superiore a 1: “gli amici dei miei amici”)
In questo caso, il grafo della rete sociale può essere impiegatoper porre vincoli sulla propagazione dei diritti di accesso fino auna certa distanza massima
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Requisiti relativi al modello di controllo degli accessi IV
Tuttavia, in mancanza di una relazione diretta, sarebbeopportuno avere un’indicazione di quanto posso essere sicuroche un dato membro, a me non conosciuto, non faccia usoimproprio delle mie risorse
Per il controllo degli accessi nelle reti sociali è quindiauspicabile supportare una nozione di trust che possa essereanaloga a quella di security level impiegata nei modellimandatori per il controllo degli accessi[Ferrari and Thuraisingham, 2000]
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Requisiti relativi all’enforcement I
I meccanismi di controllo degli accessi adottanotradizionalmente un approccio centralizzato in cui è onere delproprietario della risorsa (o di chi ne fa le veci) verificare se unutente è autorizzato a meno ad accedere a essa
In un contesto tradizionale, questo significa che è il contentprovider a dover offrire tale servizio
Questo approccio sembra quindi simile a quello usato dalle retisociali esistenti per applicare le semplici restrizioni di accessoche vengono supportate
In realtà, non è proprio così: il proprietario della risorsa non èla rete sociale, ma l’utente che l’ha pubblicata
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Requisiti relativi all’enforcement II
Il problema è quindi capire se sia utile delegare alla rete socialeil compito di effettuare l’enforcement del meccanismo dicontrollo degli accessi
Ci sono due motivi che lo sconsigliano:Ciò presupporrebbe fornire totale accesso alle risorse degliutenti, essendo allo stesso tempo sicuri che il sistemaeffettuerà l’enforcement correttamente: il problema è chel’utente non ha nessun modo di verificare che ciò sia fattoData la dimensione delle reti sociali, è plausibile che vengainviato un elevato numero di richieste di accesso al serviziocentrale, che diventerebbe inevitabilmente un collo di bottiglia:questa è una delle ragioni per cui le attuali reti socialiforniscono restrizioni di accesso molto semplificate
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Requisiti relativi all’enforcement III
Una soluzione plausibile: le risorse, la specifica e l’enforcementdelle politiche vengono gestite direttamente dagli utenti finali
Questo configurerebbe un’architettura di tipo P2P, in cui ogniutenti finale possiede un software agent in grado di svolgeretali compiti
Un ultimo punto importante: se le relazioni e il trust esistentitra utenti sono la base su cui le politiche di accesso vengonospecificate, è necessario garantire l’autenticità di taliinformazioni
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Due esempi di controllo degli accessi in reti sociali
La progettazione di meccanismi per il controllo degli accessi inreti sociali è un’area di ricerca che è solo agli inizi, e neesistono pochi esempi
Vedremo due di essi, più precisamente quello usato in D-FOAFe un meccanismo di controllo degli accessi a regole proposto in[Carminati et al., 2008b]3
3Una versione preliminare era stata proposta in [Carminati et al., 2006].
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Controllo degli accessi in D-FOAF I
D-FOAF [Kruk et al., 2006] è in primo luogo un sistemadistribuito per la gestione dell’identità per reti sociali
Questo framework è tuttavia impiegato come base su cuicostruire altri servizi, in particolare, il supporto per diritti diaccesso e delega del trust
Il modello di rete sociale di D-FOAF prevede l’esistenza direlazioni di un solo tipo, corrispondente a quella modellatadalla proprietà RDF knows, definita nel vocabolario FOAF
A ogni relazione è associato un trust level (anche chiamatofriendship level), che denota il livello di amicizia (o familiarità,intimità) esistente tra i membri
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Controllo degli accessi in D-FOAF II
La motivazione addotta per questa scelta è che, in tal modo, sifornisce una soluzione unificata per modellare relazioni (qualihaven’t met e good friend) supportate da alcune reti sociali,quali Orkut (http://www.orkut.com/)
Le relazioni esistenti sono impiegate nei diritti di accesso perdenotare gli utenti autorizzati in base a due vincoli, uno sultrust level minimo della relazione, uno sulla lunghezza massimadel percorso corrispondente alla relazione considerata
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come D-FOAF modella una rete sociale
Definizione
Una rete sociale SN è denotata da una ennupla
(MSN ,ESN , φSN)
dove MSN e ESN = [MSN ]2 sono, rispettivamente, i nodi e gli archidi un grafo (i.e., i membri e le relazioni dirette esistenti tra loro),mentre φSN : ESN → [0, 1] è una funzione che associa a ogni arcoin ESN un trust level in [0, 1]
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
La nozione di access control list in D-FOAF
Definizione
Una access control list ACLSN su una rete socialeSN = (MSN ,ESN , φSN) è un insieme
{(r ,m, dmax , flmmin)|r ∈ R ,m ∈ MSN , dmax ∈ N, flmmin ∈ [0, 1]}
dove r è la risorsa su cui il diritto di accesso è specificato, m è ilmembro della rete con cui deve esistere una relazione, dmax denotail vincolo sulla lunghezza massima del percorso per raggiungere m,mentre flmmin denota il minimo livello di amicizia (minimalfriendship metric) esistente con m
In base a questa definizione, un membro può ottenere accesso a rsolo se soddisfa i vincoli relativi.
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Limitazioni di D-FOAF I
La nozione di friendship level non si adatta perfettamenteall’uso del trust nel contesto del controllo degli accessi
L’algoritmo per calcolare il trust atteso adottato da D-FOAF(e descritto precedentemente) ha gravi problemi di accuratezza
Non è chiaro come vengono gestite politiche multiple sullastessa risorsa (plausibilmente sono in OR)
Il meccanismo non considera contesti in cui esistano relazionidi tipo diverso. Questo problema è stato menzionato in unaltro articolo relativo a D-FOAF [Choi et al., 2006], ma nonviene spiegato come il modello proposto in [Kruk et al., 2006]deve essere esteso
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Limitazioni di D-FOAF II
L’enforcement viene effettuato dalla rete sociale – o, meglio,da sistema distribuito che in D-FOAF costituisce la rete sociale– dove risiedono anche le risorse degli utenti e le informazionipersonali
Non sono supportati meccanismi per garantire l’autenticitàdelle relazioni esistenti tra membri
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Controllo degli accessi a regole [Carminati et al., 2008b] I
Il meccanismo proposto in [Carminati et al., 2008b] haanalogie con quello di D-FOAF
Le politiche di accesso sono specificate, come in D-FOAF sullabase delle relazioni esistenti con altri utenti, vincolate rispettoalla distanza e al trust esistenteEsistono però differenze significative. Eccone alcune:
In primo luogo, le politiche in [Carminati et al., 2008b]considerano anche il tipo di relazione come vincolo rilevanteper denotare gli utenti autorizzatiLe politiche possono essere combinate con gli operatoribooleani ∧ e ∨, estendendo la semantica e la flessibilità dellepoliticheL’enforcement delle politiche è effettuato dai membriproprietari delle risorse
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Controllo degli accessi a regole [Carminati et al., 2008b] II
Le relazioni sono codificate in certificati, analoghi a quellidescritti in [Carminati et al., 2008a]
Un’altra caratteristica rilevante è l’uso di un modello dicontrollo degli accessi a regole, in base al quale è onere delrichiedente dimostrare al proprietario di essere autorizzato adaccedere a una risorsa
Infine, come in D-FOAF, il trust level può variaredipendentemente dal tipo di relazione. Tuttavia vieneimpiegata una nozione di trust specificamente funzionale alcontrollo degli accessi, analoga alla nozione di security level
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il modello di rete sociale adottato (vd.
[Carminati et al., 2008a])
DefinizioneUna rete sociale SN è una ennupla
(VSN , ESN , RTSN , TSN , φSN )
dove:
RTSN è l’insieme di tipi di relazione supportati
VSN e ESN ⊆ VSN × VSN × RTSN sono, rispettivamente i nodi e gliarchi di un grafo orientato ed etichettato (VSN , ESN , RTSN )
TSN = [0, 1] è l’insieme di livelli di fiducia (trust level) supportati
φSN : ESN → TSN è una funzione che assegna a ogni arco in ESN untrust level t ∈ TSN
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il modello di controllo degli accessi I
Il modello di controllo degli accessi adottato in[Carminati et al., 2008b] prevede che gli utenti autorizzati adaccedere a una risorsa sia denotati da regole di accesso
Ogni regola è costituita da una o più condizioni di accesso, cheindicano i vincoli da soddisfare per poter accedere a una risorsaPiù precisamente, una condizione di accesso denota unarelazione indicando:
Il membro m con cui il richiedente deve avere la relazioneIl tipo di relazione rtla profondità massima della relazione, dove la profondità diuna relazione corrisponde alla lunghezza del percorso più brevetra il richiedente e m, costituito solo da archi etichettati con lostesso tipo di relazioneil livello di fiducia minimo della relazione
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il modello di controllo degli accessi II
Il sistema è independente dal tipo di algoritmo impiegato per ilcalcolo del trust atteso, ma nella versione descritta in[Carminati et al., 2008b] viene impiegato TidalTrust
Un regola è soddisfatta solo se il richiedente soddisfa tutte lecondizioni di accesso nella regola
Politiche di accesso alternative sono specificate attraversoregole multiple relative alla stessa risorsa
Quindi: le condizioni in una regola sono in AND; le regoleassociate a una risorsa sono in OR
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Condizioni di accesso
DefinizioneUna condizione di accesso ac è una ennupla (m, rt, dmax, tmin) dove:
m ∈ VSN è il membro con cui deve esistere la relazione
rt ∈ RTSN è il tipo della relazione
dmax è la profondità massima della relazione
tmin è il livello di fiducia minimo della relazione
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Architettura
L’architettura prevede l’esistenza di un certificate server (CS),in cui sono memorizzati i certificati di relazione esistenti tramembri
Le risorse e i dati personali degli utenti sono gestiti daisoftware agent degli utenti finali
Anche i compiti legati all’enforcement del controllo degliaccessi sono distribuite tra queste due componenti
Più precisamente, i software agent degli utenti si occupanoanche di effettuare l’enforcement delle politiche di controllodegli accessi, mentre il CS è in grado di calcolare i percorsiesistenti nella rete, in base ai certificati disponibili
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il paradigma a regole I
Il controllo degli accessi a regole è un paradigma che impiegatecniche analoghe alla programmazione logica per la specificadi politiche di controllo dell’accesso
In sostanza, ogni politica è espressa attraverso un formalismoanalogo a quello delle clausole di Horn, dove l’antecedentedenota le condizioni che devono essere soddisfatte perché siavero il conseguente (quindi, perché un utente sia autorizzatoad accedere a una risorsa)
Il paradigma a regole è stato proposto in[Weitzner et al., 2006] come il più adatto per l’enforcementdel controllo degli accessi in ambiente Web
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il paradigma a regole II
I motivi addotti per tale tesi sono legati all’estrema flessibilitàdelle regole, al fatto che possono essere processate da motoriinferenziali esistenti, alla possibilità di impiegare tecnologie delSemantic Web per fornire una codifica standard
Ne esiste però un altro, grazie al quale è possibile ribaltarel’approccio tradizionale adottato nel controllo degli accessi
L’idea è che deve essere il richiedente a prendersi l’onere didimostrare di essere autorizzato ad accedere a una risorsa
Questa soluzione ha il vantaggio di ridurre in maniera rilevanteil carico di lavoro di chi regola l’accesso alle risorse, diminuendoallo stesso tempo i rischi di attacchi di denial of service
Perché ciò sia possibile, è tuttavia necessario che il proprietariodella risorsa sia certo di ciò che il richiedente sostiene
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Il paradigma a regole III
Il paradigma a regole risolve questo problema, in quanto ilrichiedente può utilizzare un motore inferenziale per generareuna prova della regola, che è allo stesso tempo verificabile dalproprietario della risorsa
Questa proposta è stata adottata in [Carminati et al., 2008b],in quanto le reti sociali sono particolarmente adatte a questoparadigma
In particolare, in uno scenario in cui è il software agent delproprietario di una risorsa a regolarne l’accesso, èfondamentale ridurre il più possibile il carico di lavoro di taleagente, che tipicamente ha le stesse risorse computazionali diun personal computer
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Protocollo di controllo degli accessi
Un membro R vuole accedere a una risorsa rsc, di proprietà diun altro membro O
R manda a O la relativa richiesta di accesso
O risponde inviando a R le regole che devono esseresoddisfatte per poter accedere a rsc
R invia al CS, una per volta, le regole ottenute
Il CS verifica se esistono uno o più percorsi che soddisfano laregola, e restituisce i relativi certificati di relazione a R
R utilizza i certificati per generare la prova della regola che èstata soddisfatta, e quindi invia a O sia la prova che icertificati ottenuti dal CS
O dopo aver verificato la validità della prova, invia a R larisorsa richiesta
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Un’estensione dell’approccio in [Carminati et al., 2008b]
Entrambi gli approcci descritti presuppongono che le relazionitra utenti siano disponibili pubblicamente (o, più precisamente,che il controllo degli accessi sia effettuato solo considerandorelazioni pubbliche)
Tuttavia, come è già stato detto, le relazioni contengonoinformazioni sensibili, e quindi devono essere protette,possibilmente attraverso politiche il più possibile flessibili, especificate dalle parti coinvolte nelle relazioni
L’approccio proposto in [Carminati et al., 2008a], che abbiamogià introdotto, fornisce un framework che permette allo stessotempo di proteggere le relazioni ed effettuare il controllo degliaccessi
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Controllo degli accessi in [Carminati et al., 2008a] I
Il principio adottato in [Carminati et al., 2008a] è,semplicemente, che solo i certificati di relazione in possesso siadal richiedente che dal proprietario della risorsa possono essereutilizzati per il controllo degli accessi
Sorgono però due problemi: se non si adottano strategieappropriate c’è il rischio che si ottenga accesso a informazioniche il richiedente e il proprietario della risorsa non sonoautorizzati a conoscere
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Controllo degli accessi in [Carminati et al., 2008a] II
Il richiedente non sa a priori quali sono i certificati di relazionedi cui il proprietario della risorsa è in possesso: c’è quindi ilrischio che, nel momento in cui il richiedente invia la prova alproprietario della risorsa, quest’ultimo abbia accesso ainformazioni che non è autorizzato a conoscere
Le regole di accesso possono essere usate dal richiedente perinferire informazioni in merito a relazioni esistenti che non èautorizzato a conoscere. Ad es., se una regola stabilisce che,per avere accesso a una data risorsa, è necessario essere amicidi un dato membro m, è molto probabile che m abbia almenouna relazione di tipo amico di con un altro membro della rete(in caso contrario, la regola non potrebbe mai esseresoddisfatta)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come proteggere i certificati di relazione I
L’idea generale è che i certificati di relazione non vengonoinviati in chiaro dal richiedente al proprietario, ma che sianoleggibili solo se il proprietario ne è già in possesso
Nel momento in cui due membri m,m′ generano un certificatodi relazione C = (m,m′, rt, t, ts)||Sig , a esso vengonoassociati un ID idC – che corrisponde alla hash di(m,m′, rt, t, ts) – e un numero casuale rnC
Quindi m e m′ propagano per la rete C ,idC e rnC , in base alleregole di distribuzione concordate
Ciò significa che ogni membro autorizzato a possedere C ,conosce anche idC e rnC
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come proteggere i certificati di relazione II
Nel momento in cui un membro R richiede accesso a unarisorsa, di cui è proprietario un altro membro O, viene seguitala procedura prevista dal protocollo di controllo degli accessi
Rispetto alla versione definita in [Carminati et al., 2008b] taleprotocollo prevede che, nel momento in cui R invia la prova aO, venga fornita una versione cifrata dei certificati, tale per cuiO sarà in grado di leggerli solo se ne è già in possesso
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come proteggere i certificati di relazione III
Più precisamente: dato un certificato C , associato a un ID idC
e a un numero casuale rnC , la versione cifrata di tale certificato(secured certificate) generata da un membro R è data da:
C = (idC , (C ||R) ⊕ rnC )
dove ⊕ denota l’operazione di XOR binario
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come proteggere i certificati di relazione IV
Quando O riceve C = (idC , (C ||R) ⊕ rnC ), verifica se possiedeun certificato associato all’ID idC , e quindi usa ilcorrispondente numero casuale rnC per calcolare il seguenteXOR:
((C ||R) ⊕ rnC ) ⊕ rnC
così da ottenere il certificato C in chiaro, e l’ID R del membroche ha generato C
La presenza dell’ID R del membro che ha generato C serve perimpedire che un membro possa riutilizzare certificati cifrati daaltri membri per ottenere accesso a risorse per cui nonpossiede alcuna autorizzazione
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come proteggere le regole di accesso I
Per le regole di accesso non si può usare la stessa strategia,perché ciò implicherebbe conoscere a priori tutti i membridenotati da una data regola di accesso
Una soluzione è utilizzare le informazioni in possesso deimembri della rete sociale per permettere di leggere lecondizioni contenute nella regola solo a membri chepotrebbero soddisfarle
Dato che una condizione denota, tra le altre cose, il tipo direlazione che deve esistere tra il richiedente e il membrospecificato nella condizione, i membri che potrebberosoddisfare tale condizioni sono coloro che hanno una relazionedi un dato tipo con un dato membro
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Come proteggere le regole di accesso II
Per applicare tale principio, viene utilizzato un approcciobasato sulle chiavi di gruppo
L’idea è che tutti i membri connessi tra loro, direttamente oindirettamente, da archi etichettati con lo stesso tipo direlazione rt, condividono una stessa chiave simmetrica Krt
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Le chiavi di gruppo I
Le chiavi di gruppo sono una tecnica crittografica sviluppataper garantire la privatezza dei messaggi scambiati da entitàappartenenti a un gruppo
Con gruppo si intende una nozione generica, che può riferirsisia a elaboratori in una intranet o a un insieme di persone
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Le chiavi di gruppo II
Dato che i gruppi sono di per sé dinamici, in quanto variano didimensione in base all’acquisizione di nuovi membri e/o alladefezione di vecchi membri, ci sono due problemi da affrontare:
Forward secrecy Dal momento in cui un membro si stacca dalgruppo non deve essere più in grado di leggere imessaggi scambiati tra membri
Backward secrecy Un nuovo membro non deve essere in gradodi leggere messaggi scambiati tra membri delgruppo prima del momento in cui si è unito algruppo
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Le chiavi di gruppo III
In sostanza, il problema è la rigenerazione della chiave(rekeying) e la sua distribuzione nel momento in cui lo statodel gruppo cambia
A tal scopo vengono considerati 4 membership event:
Join Un nuovo membro si unisce al gruppoLeave Un vecchio membro lascia il gruppoMerge Due gruppi si uniscono
Partition Un gruppo di divide in due o più gruppi
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Le chiavi di gruppo IV
In base al protocollo utilizzato per la generazione edistribuzione delle chiavi di gruppo, è possibile distinguere treclassi di sistemi [Rafaeli and Hutchinson, 2003]:
Centralizzati Le chiavi di gruppo sono gestite da una singolaentità (KDC: key distribution center), che ha ilcompito di controllare tutto il gruppo
Decentralizzati Esistono diverse KDC che gestisconospecifiche porzioni del gruppo
Distribuiti Non esiste alcuna KDC, ma sono i membri stessia occuparsi della generazione e distribuzionedelle chiavi
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Le chiavi di gruppo V
Gli approcci adottati per la generazione e distribuzione dellechiavi sono vari, ma possono essere raggruppati in due classi:
quelli che prevedono l’esistenza di una singola chiave
quelli che prevedono una gerarchia di chiavi, in cui la radice èla chiave di gruppo, mentre le foglie sono le chiavi assegnate aimembri del gruppo
Per una panoramica sulle chiavi di gruppo si fa riferimento a[Rafaeli and Hutchinson, 2003]
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Chiavi di gruppo e reti sociali I
Le chiavi di gruppo sono una tecnologia che può esserefacilmente applicata nelle reti sociali
Tuttavia le reti sociali hanno alcune differenze rispetto aigruppi, che richiedono un adattamento specifico dei sistemiesistenti
Se, all’interno della rete sociale, per gruppo si intende tutti imembri della rete sociale, o membri che hanno aderito a ungruppo costituito da altri membri, siamo di fronte a unanozione identica a quella impiegata nei sistemi di chiavi agruppo
Se però denotiamo un gruppo in base alle relazioni esistenti tramembri (ad es., il gruppo dei membri connessi tra loro darelazioni dirette o indirette di amicizia) la situazione cambia
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Chiavi di gruppo e reti sociali II
Infatti, in tal caso, l’adesione o la defezione da un gruppo siverifica indirettamente in base, rispettivamente, alla creazioneo revoca di una relazione
Inoltre questi eventi sono locali (i.e., riguardano due membri) equindi il problema è: come comunicare al gruppo che un nuovomembro è arrivato, o che uno vecchio se ne è andato?
Infine, la creazione e revoca di una relazione non determinanonecessariamente un evento di join e leave, rispettivamente(i.e., posso creare una relazione con un membro che fa giàparte del mio gruppo; dopo la revoca di una relazione, possoaverne altre grazie alle quali faccio ancora parte del gruppo)
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Chiavi di relazione I
In [Carminati et al., 2008a] le chiavi di gruppo sono impiegateper proteggere le informazioni contenute nelle condizioni diaccesso
Vediamo velocemente come questo principio viene applicato
Data una rete sociale SN = (VSN ,ESN ,RT SN ,TSN , φSN ),un gruppo è un sottografo connesso Grt ⊆ SN , costituito daarchi etichettati con il tipo di relazione rt
Ogni membro di un dato gruppo Grt detiene la stessa chiavesimmetrica Krt , detta chiave di relazione, e il corrispondenteidentificatore di chiave idKrt
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Chiavi di relazione II
Data una condizione di accesso ac = (m, rt, dmax, tmin), imembri autorizzati a leggerla sono coloro che fanno parte dellostesso gruppo Gac(rt) di cui fa parte il proprietario della risorsa
Il protocollo definito in [Carminati et al., 2008b] è quindimodificato, prevedendo la cifratura delle condizioni contenutenelle regole di accesso inviate dal proprietario di una risorsa achi richiede di accedervi
Più precisamente, data una condizione di accessoac = (m, rt, dmax, tmin), la sua versione cifrata (secured accesscondition) è data da ac = (idKac(rt)
,EKac(rt)(ac))
Se il richiedente fa parte del gruppo Gac(rt), potrà usareidKac(rt)
per individuare la chiave da usare, in modo dadecifrare ac
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Gestione delle chiavi di relazione
In [Carminati et al., 2008a] viene definito un protocollo per lagenerazione e distribuzione delle chiavi di relazione
La generazione della chiave di relazione viene effettuata daimembri tra cui si crea una nuova relazione o si revoca unarelazione esistente (quindi è un approccio distribuito)
Tali membri propagano chiave e relativo ID ai propri viciniappartenenti al gruppo, questi ai loro vicini, etc.
L’effettiva generazione e distribuzione delle chiavi di relazionedipende dal tipo di evento che si verifica
Oltre ai “tradizionali” eventi di join, merge, leave e partition,vengono anche considerati quelli specifici delle reti sociali, chevengono denominati pseudo-join e pseudo-leave
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Eventi
Join Pseudo-join Merge
Leave Pseudo-leave Partition
A
B
C
D
A
B
C
D
A
B
C
D
A
B
C
D
A
B
C
D
A
B
C
D
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Eventi e generazione delle chiavi di relazione I
Operazione Evento Descrizione Azione
Un membro m crea unarelazione di tipo rt conun altro membro m′.
Join m e/o m′ non ap-partenevano al-lo stesso gruppoGrt .
m e m′ generanouna nuova chiavedi relazione.
Merge m e m′ apparte-nevano a due di-stinti gruppi Grt
e G ′rt .
Pseudo-join Sia m che m′
appartengono al-lo stesso gruppoGrt .
Nessuna azione
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Eventi e generazione delle chiavi di relazione II
Operazione Evento Descrizione Azione
Un membro m revocauna relazione di tipo rt
che ha precedentementecreato con un altromembro m′.
Leave m e/o m′ nonappartengonopiù allo stessogruppo Grt .
m e/o m′ can-cellano la chiavedi relazione. Sem (m′) fa ancoraparte del gruppo,m (m′) calcolauna nuova chiavedi relazione.
Pseudo-leave m e m′ fannoancora parte del-lo stesso gruppoGrt .
m (m′) calcola unanuova chiave direlazione.
Partition m e m′ apparten-gono a due di-stinti gruppi Grt
e G ′rt .
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Eventi e generazione delle chiavi di relazione III
Le chiavi di relazione sono generate per ognuno degli eventiprevisti, tranne quello di pseudo-join
Come misura precauzionale, la chiave è generata anche in casodi pseudo-leave, dato che il membro che appartiene ancora algruppo non ha modo di sapere con certezza se l’altro membrofa ancora parte del gruppo
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
IntroduzionePersonalizzazione e privacyLibertà di parola e accountabilityCondivisione di contenuti e controllo degli accessi
Letture consigliate
Per il controllo degli accessi in ambito Web, si consiglia lalettura di [Weitzner et al., 2006]
Sulle chiavi di gruppo, si consiglia la lettura di[Rafaeli and Hutchinson, 2003]
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
Riferimenti bibliografici I
Adomavicius, G. and Tuzhilin, A. (2005).
Toward the next generation of recommender systems: A survey of the state-of-the-art andpossible extensions.IEEE Trans. on Knowl. and Data Eng., 17(6):734–749.http://dx.doi.org/10.1109/TKDE.2005.99.
Avesani, P., Massa, P., and Tiella, R. (2005).
A trust-enhanced recommender system application: Moleskiing.In 2005 ACM Symposium on Applied Computing (SAC 2005), pages 1589–1593.http://doi.acm.org/10.1145/1066677.1067036.
Backstrom, L., Dwork, C., and Kleinberg, J. (2007).
Wherefore art thou R3579X? Anonymized social networks, hidden patterns, and structuralsteganography.In WWW 2007, pages 181–190.http://doi.acm.org/10.1145/1242572.1242598.
Barnes, S. B. (2006).
A privacy paradox: Social networking in the United States.First Monday, 11(9).http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/1394/1312.
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
Riferimenti bibliografici II
Carminati, B., Ferrari, E., and Perego, A. (2006).
Rule-based access control for social networks.In OTM 2006 Workshops, volume 2 of LNCS 4278, pages 1734–1744. Springer Verlag.http://dx.doi.org/10.1007/11915072_80.
Carminati, B., Ferrari, E., and Perego, A. (2007).
Private relationships in social networks.In ICDE 2007 Workshops, pages 163–171. IEEE CS Press.http://dx.doi.org/10.1109/ICDEW.2007.4400987.
Carminati, B., Ferrari, E., and Perego, A. (2008a).
A decentralized security framework for Web-based social networks.International Journal of Information Security and Privacy, 2(4):22–53.http://www.igi-global.com/articles/details.asp?ID=33329.
Carminati, B., Ferrari, E., and Perego, A. (2008b).
Enforcing access control in Web-based social networks.ACM Trans. Inf. and Syst. Sec.In pubblicazione.
Choi, H.-C., Kruk, S. R., Grzonkowski, S., Stankiewicz, K., Davis, B., and Breslin, J. G. (2006).
Trust models for community-aware identity management.In Identity, Reference, and the Web Workshop (IRW 2006).http://www.ibiblio.org/hhalpin/irw2006/skruk.pdf.
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
Riferimenti bibliografici III
Ding, L., Zhou, L., Finin, T. W., and Joshi, A. (2005).
How the Semantic Web is being used: An analysis of FOAF documents.In HICSS-38 2005, page 113c.http://dx.doi.org/10.1109/HICSS.2005.299.
Ferrari, E. and Thuraisingham, B. (2000).
Secure database systems.In Piattini, M. and Diaz, O., editors, Advanced Database Technology and Design, chapter 11,pages 353–403. Artech House, Inc., Norwood, MA.
Golbeck, J. A. (2005).
Computing and Applying Trust in Web-based Social Networks.PhD thesis, Graduate School of the University of Maryland, College Park.http://trust.mindswap.org/papers/GolbeckDissertation.pdf .
Hay, M., Miklau, G., Jensen, D., Weis, P., and Srivastava, S. (2007).
Anonymizing social networks.Technical Report 07-19, University of Massachusetts Amherst, Computer Science Department.http://www.cs.umass.edu/∼mhay/papers/hay-et-al-tr0719.pdf.
Jordan, K., Hauser, J., and Foster, S. (2003).
The augmented social network: Building identity and trust into the next-generation Internet.First Monday, 8(8).http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/1068/988.
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
Riferimenti bibliografici IV
Jøsang, A., Gray, E., and Kinateder, M. (2006).
Simplification and analysis of transitive trust networks.Web Intelligence and Agent Systems, 4(2):139–161.http://persons.unik.no/josang/papers/JGK2006-WIAS.pdf.
Jøsang, A., Ismail, R., and Boyd, C. (2007).
A survey of trust and reputation systems for online service provision.Decision Support Systems, 43(2):618–644.http://dx.doi.org/10.1016/j.dss.2005.05.019.
Korolova, A., Motwani, R., Nabar, S. U., and Xu, Y. (2008).
Link privacy in social networks.In ICDE 2008, pages 1355–1357.http://dx.doi.org/10.1109/ICDE.2008.4497554.
Kruk, S. R., Grzonkowski, S., Choi, H.-C., Woroniecki, T., and Gzella, A. (2006).
D-FOAF: Distributed identity management with access rights delegation.In ASWC 2006, LNCS 4185, pages 140–154. Springer Verlag.http://dx.doi.org/10.1007/11836025_15.
Kuter, U. and Golbeck, J. (2007).
SUNNY: A new algorithm for trust inference in social networks using probabilistic confidencemodels.In AAAI 2007, pages 1377–1382.http://www.cs.umd.edu/∼golbeck/downloads/Sunny.pdf .
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
Riferimenti bibliografici V
Li, N., Li, T., and Venkatasubramanian, S. (2007).
t-closeness: Privacy beyond k-anonymity and ℓ-diversity.In ICDE 2007, pages 106–115.http://dx.doi.org/10.1109/ICDE.2007.367856.
Liu, K., Das, K., Grandison, T., and Kargupta, H. (2008).
Privacy-preserving data analysis on graphs and social networks.In Kargupta, H., Kumar, V., Motwani, R., Yu, P. S., and Han, J., editors, Next Generation ofData Mining. CRC Press.http://www.almaden.ibm.com/cs/projects/iis/hdb/Publications/papers/ngdmchapter.pdf .
Liu, K. and Terzi, E. (2008).
Towards identity anonymization on graphs.In SIGMOD 2008, pages 93–106.http://doi.acm.org/10.1145/1376616.1376629.
Machanavajjhala, A., Gehrke, J., Kifer, D., and Venkitasubramaniam, M. (2006).
ℓ-diversity: Privacy beyond k-anonymity.In ICDE 2006, page 24.http://doi.ieeecomputersociety.org/10.1109/ICDE.2006.1 .
Rafaeli, S. and Hutchinson, D. (2003).
A survey of key management for secure group communication.ACM Computing Surveys, 35(3):309–329.http://doi.acm.org/10.1145/937503.937506.
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
Riferimenti bibliografici VI
Schlosser, M. T., Sintek, M., Decker, S., and Nejdl, W. (2002).
HyperCuP – Hypercubes, ontologies, and efficient search on peer-to-peer networks.In AP2PC 2002, LNCS 2530, pages 112–124. Springer Verlag.http://dx.doi.org/10.1007/3-540-45074-2_11.
Sweeney, L. (2002).
k-anonymity: A model for protecting privacy.International Journal on Uncertainty, Fuzziness and Knowledge-based Systems, 10(5):557–570.http://privacy.cs.cmu.edu/people/sweeney/kanonymity.pdf.
Travers, J. and Milgram, S. (1969).
An experimental study of the small world problem.Sociometry, 32(4):425–443.http://www.jstor.org/stable/2786545.
Typaldos, C., Burghart, D., Christopher, T., Koch, M., Taylor, J., Typaldos, S., et al. (2001).
The 12 principles of collaboration. Guidelines for designing internet services that support groupcollaboration.White paper, Mongoose Technology.http://www.typaldos.com/word.documents/12principles/12principles.pdf.
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
Riferimenti bibliografici VII
Verykios, V. S., Bertino, E., Fovino, I. N., Provenza, L. P., Saygın, Y., and Theodoridis, Y.
(2004).State-of-the-art in privacy preserving data mining.SIGMOD Record, 33(1):50–57.http://doi.acm.org/10.1145/974121.974131.
von Ahn, L., Blum, M., Hopper, N. J., and Langford, J. (2003).
CAPTCHA: Using hard AI problems for security.In EUROCRYPT 2003, pages 294–311.http://dx.doi.org/10.1007/3-540-39200-9_18.
Weitzner, D. J., Hendler, J., Berners-Lee, T., and Connolly, D. (2006).
Creating a policy-aware Web: Discretionary, rule-based access for the World Wide Web.In Ferrari, E. and Thuraisingham, B., editors, Web & Information Security, pages 1–31. IDEAGroup Publishing, Hershey, PA.http://www.igi-global.com/downloads/excerpts/Ferrari01.pdf.
Zheleva, E. and Getoor, L. (2007).
Preserving the privacy of sensitive relationships in graph data.In PinKDD 2007, pages 153–171.http://dx.doi.org/10.1007/978-3-540-78478-4_9.
Andrea Perego Corso Web 2.0 – Modulo B
IntroduzioneWeb 2.0
Semantic WebSemantic Web e Web 2.0
Riferimenti bibliografici VIII
Zhou, B. and Pei, J. (2008).
Preserving privacy in social networks against neighborhood attacks.In ICDE 2008, pages 506–515.http://dx.doi.org/10.1109/ICDE.2008.4497459.
Andrea Perego Corso Web 2.0 – Modulo B