SlideShare a Scribd company logo
1 of 45
Secure Distributed Open  Social  Networks ,[object Object],[object Object],[object Object],[object Object],[object Object],photo by prakharevich
Overview ,[object Object],[object Object],[object Object],[object Object],[object Object]
Too many Social Networks? ...are there too many web servers?
The Problem: data silos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scoble gets thrown off Facebook! In early January 2008 Scoble, the developer who got blogging going at Microsoft, got thrown off Facebook for extracting information too agressively from his social network on Facebook. This is the Facebook who asked users for their gmail password to extract all their contacts from their email! see  his video
An (evolving) Social Graph ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Two social Networks how can Tim and Henry link up ?
Solution 1: minimal naïve approach but within each SN queries are very limited: e.g.: in Network A, nobody can query for Tim's address
Solution 2: copy some information ,[object Object],[object Object],[object Object]
Solution 3: copy all ,[object Object],[object Object],[object Object],[object Object]
The pull to one network Due to  Metcalf's law : the larger the network the more valuable it becomes. But why does it have to be in one database?  Because each database has its own LOCAL POINTER mechanism, just like every Java virtual Machine has a local pointer mechanism. You cannot easily point from one JVM/DB into another. What if we had one big world wide database? we would need universal names for things. URIs?
The Solution: linking across social networks requires a global namespace
The Solution: a closer look ,[object Object],[object Object],[object Object]
A hyperdata Address Book
1. first launch of jnlp
2. drag and drop a foaf file url
3. click on the first name in the first column
4. explore the second column
5. press the space bar on the keyboard...
6. positioning with NASA's World Wind
7.  Sun Intranet Foaf experiment
Foaf: Friend of a Friend
Advantages  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Two foaf files on the internet
Well, what we really have is
Well, what we really have is in graph view
The graphs inside the Beatnik Database
Networked graphs: A merged view
SPARQL: semantic query lang ,[object Object],[object Object],[object Object],[object Object],[object Object]
SPARQL construct query PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> CONSTRUCT { ?subject  ?relation ?object . } WHERE { GRAPH ?g {  ?subject  ?relation ?object . } ?g :fetched-at ?date . FILTER { ?date < “2008-03-30”^^xsd:date } }  This CONSTRUCT query can be used to construct a graph that is a union of all graphs that were fetched after march 2008.
Networked Graphs: SPARQL Rules PREFIX owl: < http://www.w3.org/2002/07/owl #> CONSTRUCT { ?b owl:sameAs ?a . }  WHERE {  ?a owl:sameAs ?b .  FILTER ( ! SAMETERM(?a , ?b) )  }  CONSTRUCT queries can also be thought of as rules. Here is the well known rule of symmetry of identity. Simon Schenk's  Networked Graphs  can have a number of rules expressed as SPARQL CONSTRUCT queries, which works nicely with the Sesame semantic engine.
merging identities PREFIX owl: < http://www.w3.org/2002/07/owl #> PREFIX foaf: < http://xmlns.com/foaf/0.1/ > CONSTRUCT { ?a owl:sameAs ?b .  }  WHERE {  ?a foaf:homepage ?pg . ?b foaf:homepage ?pg . FILTER ( ! SAMETERM (?a , ?b))  }  The rule that if we have two names for people that have the same homepage, then the two names refer to the same person. There are more general ways of stating this btw.
Security: 3 approaches ,[object Object],[object Object],[object Object]
Firewall protection
Protecting resources with OpenId
Protected Resources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OpenId continued
foaf+ssl: even simpler
Protected Resources ,[object Object],[object Object],[object Object],[object Object]
foaf+ssl: even simpler
X509 certificate Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: dsaWithSHA1 Issuer: O=OpenPGP to X.509 Bridge, OU=RDFauth Test, CN=Henry Story <henry.story@bblfish.net> Validity Not Before: Dec 12 21:49:50 2007 GMT Not After : Dec  6 21:49:50 2008 GMT Subject: O=OpenPGP to X.509 Bridge, OU=RDFauth Test, CN=Henry Story <henry.story@bblfish.net> Subject Public Key Info: Public Key Algorithm: dsaEncryption DSA Public Key: pub:  33:41:...
X509 certificate with id X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Digital Signature, Non Repudiation, Key Encipherment, Key Agreement, Certificate Sign Netscape Cert Type:  SSL Client, S/MIME X509v3 Subject Key Identifier:  45:DC:F9:10:33:C0:45:28:EA:90:6E:83:73:06:6F:51:21:89:13:DD X509v3 Authority Key Identifier:  keyid:45:DC:F9:10:33:C0:45:28:EA:90:6E:83:73:06:6F:51:21:89:13:DD X509v3 Subject Alternative Name:  URI:http://bblfish.net/people/henry/card#me Signature Algorithm: dsaWithSHA1 30:2c:02:14:78:69:1e:4f:7d:37:36:a5:8f:37:30:58:18:5a: f6:10:e9:13:a4:ec:02:14:03:93:42:3b:c0:d4:33:63:ae:2f: eb:8c:11:08:1c:aa:93:7d:71:01
Very Simple Authentication
The Semantic Desktop
some references ,[object Object],[object Object]

More Related Content

Similar to Building Secure Open & Distributed Social Networks

Introduction to Semantic Web for GIS Practitioners
Introduction to Semantic Web for GIS PractitionersIntroduction to Semantic Web for GIS Practitioners
Introduction to Semantic Web for GIS Practitioners
Emanuele Della Valle
 
Spivack Blogtalk 2008
Spivack Blogtalk 2008Spivack Blogtalk 2008
Spivack Blogtalk 2008
Blogtalk 2008
 
2011 05-02 linked data intro
2011 05-02 linked data intro2011 05-02 linked data intro
2011 05-02 linked data intro
vafopoulos
 
2011 05-01 linked data
2011 05-01 linked data2011 05-01 linked data
2011 05-01 linked data
vafopoulos
 
Implementing Semantic Queries in Online Social Networks
Implementing Semantic Queries in Online Social NetworksImplementing Semantic Queries in Online Social Networks
Implementing Semantic Queries in Online Social Networks
Otávio Calaça Xavier
 
Data.dcs: Converting Legacy Data into Linked Data
Data.dcs: Converting Legacy Data into Linked DataData.dcs: Converting Legacy Data into Linked Data
Data.dcs: Converting Legacy Data into Linked Data
Matthew Rowe
 
Basics of tcp ip
Basics of tcp ipBasics of tcp ip
Basics of tcp ip
Kumar
 

Similar to Building Secure Open & Distributed Social Networks (20)

Data Portability with SIOC and FOAF
Data Portability with SIOC and FOAFData Portability with SIOC and FOAF
Data Portability with SIOC and FOAF
 
Linked opendata parisemantique.fr - 24062011
Linked opendata   parisemantique.fr - 24062011Linked opendata   parisemantique.fr - 24062011
Linked opendata parisemantique.fr - 24062011
 
Sem tech 2011 v8
Sem tech 2011 v8Sem tech 2011 v8
Sem tech 2011 v8
 
Introduction to Semantic Web for GIS Practitioners
Introduction to Semantic Web for GIS PractitionersIntroduction to Semantic Web for GIS Practitioners
Introduction to Semantic Web for GIS Practitioners
 
Spivack Blogtalk 2008
Spivack Blogtalk 2008Spivack Blogtalk 2008
Spivack Blogtalk 2008
 
SocialOverlay : P2P Infrastructure for social Networks
SocialOverlay : P2P Infrastructure for social NetworksSocialOverlay : P2P Infrastructure for social Networks
SocialOverlay : P2P Infrastructure for social Networks
 
2011 05-02 linked data intro
2011 05-02 linked data intro2011 05-02 linked data intro
2011 05-02 linked data intro
 
20100614 ISWSA Keynote
20100614 ISWSA Keynote20100614 ISWSA Keynote
20100614 ISWSA Keynote
 
2011 05-01 linked data
2011 05-01 linked data2011 05-01 linked data
2011 05-01 linked data
 
Semantic Web 2.0: Creating Social Semantic Information Spaces
Semantic Web 2.0: Creating Social Semantic Information SpacesSemantic Web 2.0: Creating Social Semantic Information Spaces
Semantic Web 2.0: Creating Social Semantic Information Spaces
 
Sup documentation
Sup documentationSup documentation
Sup documentation
 
Linked Data
Linked DataLinked Data
Linked Data
 
Knowledge Sharing over social networking systems
Knowledge Sharing over social networking systemsKnowledge Sharing over social networking systems
Knowledge Sharing over social networking systems
 
Implementing Semantic Queries in Online Social Networks
Implementing Semantic Queries in Online Social NetworksImplementing Semantic Queries in Online Social Networks
Implementing Semantic Queries in Online Social Networks
 
Data.dcs: Converting Legacy Data into Linked Data
Data.dcs: Converting Legacy Data into Linked DataData.dcs: Converting Legacy Data into Linked Data
Data.dcs: Converting Legacy Data into Linked Data
 
Patterns of Semantic Integration
Patterns of Semantic IntegrationPatterns of Semantic Integration
Patterns of Semantic Integration
 
Hadoop and Pig at Twitter__HadoopSummit2010
Hadoop and Pig at Twitter__HadoopSummit2010Hadoop and Pig at Twitter__HadoopSummit2010
Hadoop and Pig at Twitter__HadoopSummit2010
 
Roelof Temmingh FIRST07 slides
Roelof Temmingh FIRST07 slidesRoelof Temmingh FIRST07 slides
Roelof Temmingh FIRST07 slides
 
Routing_Article
Routing_ArticleRouting_Article
Routing_Article
 
Basics of tcp ip
Basics of tcp ipBasics of tcp ip
Basics of tcp ip
 

Recently uploaded

Recently uploaded (20)

A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

Building Secure Open & Distributed Social Networks

  • 1.
  • 2.
  • 3. Too many Social Networks? ...are there too many web servers?
  • 4.
  • 5. Scoble gets thrown off Facebook! In early January 2008 Scoble, the developer who got blogging going at Microsoft, got thrown off Facebook for extracting information too agressively from his social network on Facebook. This is the Facebook who asked users for their gmail password to extract all their contacts from their email! see his video
  • 6.
  • 7. Two social Networks how can Tim and Henry link up ?
  • 8. Solution 1: minimal naïve approach but within each SN queries are very limited: e.g.: in Network A, nobody can query for Tim's address
  • 9.
  • 10.
  • 11. The pull to one network Due to Metcalf's law : the larger the network the more valuable it becomes. But why does it have to be in one database? Because each database has its own LOCAL POINTER mechanism, just like every Java virtual Machine has a local pointer mechanism. You cannot easily point from one JVM/DB into another. What if we had one big world wide database? we would need universal names for things. URIs?
  • 12. The Solution: linking across social networks requires a global namespace
  • 13.
  • 15. 1. first launch of jnlp
  • 16. 2. drag and drop a foaf file url
  • 17. 3. click on the first name in the first column
  • 18. 4. explore the second column
  • 19. 5. press the space bar on the keyboard...
  • 20. 6. positioning with NASA's World Wind
  • 21. 7. Sun Intranet Foaf experiment
  • 22. Foaf: Friend of a Friend
  • 23.
  • 24. Two foaf files on the internet
  • 25. Well, what we really have is
  • 26. Well, what we really have is in graph view
  • 27. The graphs inside the Beatnik Database
  • 28. Networked graphs: A merged view
  • 29.
  • 30. SPARQL construct query PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> CONSTRUCT { ?subject ?relation ?object . } WHERE { GRAPH ?g { ?subject ?relation ?object . } ?g :fetched-at ?date . FILTER { ?date < “2008-03-30”^^xsd:date } } This CONSTRUCT query can be used to construct a graph that is a union of all graphs that were fetched after march 2008.
  • 31. Networked Graphs: SPARQL Rules PREFIX owl: < http://www.w3.org/2002/07/owl #> CONSTRUCT { ?b owl:sameAs ?a . } WHERE { ?a owl:sameAs ?b . FILTER ( ! SAMETERM(?a , ?b) ) } CONSTRUCT queries can also be thought of as rules. Here is the well known rule of symmetry of identity. Simon Schenk's Networked Graphs can have a number of rules expressed as SPARQL CONSTRUCT queries, which works nicely with the Sesame semantic engine.
  • 32. merging identities PREFIX owl: < http://www.w3.org/2002/07/owl #> PREFIX foaf: < http://xmlns.com/foaf/0.1/ > CONSTRUCT { ?a owl:sameAs ?b . } WHERE { ?a foaf:homepage ?pg . ?b foaf:homepage ?pg . FILTER ( ! SAMETERM (?a , ?b)) } The rule that if we have two names for people that have the same homepage, then the two names refer to the same person. There are more general ways of stating this btw.
  • 33.
  • 36.
  • 39.
  • 41. X509 certificate Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: dsaWithSHA1 Issuer: O=OpenPGP to X.509 Bridge, OU=RDFauth Test, CN=Henry Story <henry.story@bblfish.net> Validity Not Before: Dec 12 21:49:50 2007 GMT Not After : Dec 6 21:49:50 2008 GMT Subject: O=OpenPGP to X.509 Bridge, OU=RDFauth Test, CN=Henry Story <henry.story@bblfish.net> Subject Public Key Info: Public Key Algorithm: dsaEncryption DSA Public Key: pub: 33:41:...
  • 42. X509 certificate with id X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Digital Signature, Non Repudiation, Key Encipherment, Key Agreement, Certificate Sign Netscape Cert Type: SSL Client, S/MIME X509v3 Subject Key Identifier: 45:DC:F9:10:33:C0:45:28:EA:90:6E:83:73:06:6F:51:21:89:13:DD X509v3 Authority Key Identifier: keyid:45:DC:F9:10:33:C0:45:28:EA:90:6E:83:73:06:6F:51:21:89:13:DD X509v3 Subject Alternative Name: URI:http://bblfish.net/people/henry/card#me Signature Algorithm: dsaWithSHA1 30:2c:02:14:78:69:1e:4f:7d:37:36:a5:8f:37:30:58:18:5a: f6:10:e9:13:a4:ec:02:14:03:93:42:3b:c0:d4:33:63:ae:2f: eb:8c:11:08:1c:aa:93:7d:71:01
  • 45.

Editor's Notes

  1. Hello, my name is Henry Story. I work for Sun Microsystems where I research on the Semantic Web. I am tasked with finding ways to get people excited about what is happening in this space, which at first may seem very abstract. So I have been looking for problems that would affect people directly, have some real immediate business value, clearly demonstrate the power of the semantic web, and that is small enough that I don&apos;t need a big budget to get things done. After all I am in the business of convincing people. Once they are convinced I hope they will help out one way or another. Social Networking is big. It affects everyone in very personal ways. It is useful. It is what we are all about. Here I wish to show how one can build an secure, open, distributed global social network with no center of control. The only way to do this is using the semantic web....