Der Open Web Podcast
Der Open Web Podcast
Sebastian Küpers, Matthias Pfefferle, Christian Scholz
Episode 25 - FoaF+SSL
1 seconds Posted Feb 12, 2010 at 12:15 am.
h (47.5 MB), Download MP3
0:00
0:01
Download MP3
Show notes
Nach einer kleinen Abstinenz haben wir diesmal, wie versprochen, wieder ein Thema. Mario Volke (Webholics) hat uns das Thema FoaF+SSL vorgeschlagen, vorbereitet und erklärt uns in der aktuellen Folge wie es funktioniert :)
Vielen Dank auch an Henry Story, dem geistigen Schöpfer von FoaF+SSL, der uns im IRC-Chat mit Rat und Tat zur Seite stand.
Ihr Browser unterstützt diesen Audio-Player nicht.
Länge:
0:55h (47.5 MB), Download MP3
News
Google Buzz
Liste der offenen Standards
Salmon-Protokoll
PubSubHubbub
Shownotes
(Vielen Dank an Mario, der die Shownotes zusammengestellt hat)
dezentralisiertes Authentifizierungsprotokoll
One-Click-SignOn (kein Username, kein Passwort)
WebID: Ein URI als ID für deine Person (LinkedData)
100% Standardbasiert: REST, RDF, LinkedData, SSL, X509
Alle Vorteile von Semantic Web Technologies: strikte Semantik, Erweiterbarkeit (Namespaces), Reasoning (OWL)
Web of Trust
Use Cases
neben einfachem Login
Web site personalization
Profil (FOAF) portabel und unter Kontrolle des Users, import mit nur einem Klick (FOAF+SSL Login)
Einfaches Kommentieren (keine Eingabe von persönlichen Daten mehr notwendig)
Distributed Access Control
Zugang nur einer bestimmten foaf:Group gewähren
Rule Based Access Control: Komplexe Policies möglich (bsp. nur Freunde von bereits vorhandenen Usern erhalten Zugang, dies macht jeglichen Invitation-Mechanismus obsolet)
Komplexität der Policies lediglich durch Aussagekraft von RDF/OWL beschränkt
Distributed Social Networks
auch hier komplexe Rollen und Zugangsbeschränkungen möglich
Details
Was braucht ein User um sich einzuloggen?
X509-Zertifikat (normalerweise direkt im Browser installiert)
FOAF-File (öffentlich auf einem bel. Server, LinkedData)
SSL (RSA)
Zertifikate häufig nur, um Server gegenüber Client zu authentifizieren
jetzt: Browser besitzt self-signed Zertifikat und authentifiziert sich gegenüber dem Server
X509-Zertifikat enthält Link zur WebID (und damit zum FOAF-File) (im Feld “X509v3 Subject Alternative Name”)
Der Public-Key des Zertifikats muss mit dem im FOAF-Profil identisch sein
Protokoll
User klickt auf Login-Button
Server eröffnet SSL Handshake und verlangt Zertifikat vom User
Server holt sich das FOAF-Profil des Users (überprüft den Public-Key auf Gleichheit)
nun sind weitere beliebige Autorisierungsschritte anhand des FOAF-Profils möglich (Web of Trust)
Wie erstelle ich mir ein Zertifikat?
z.B. HTML5 -Tag (Firefox, Opera, Safari, Chrome) (http://test.foafssl.org/cert/)
mit ActiveX für IE
zur Not Serverseitig, allerdings Security Risk weil der Server dann den Private Key kennt
Gibt es bereits Server-Implementierungen?
Ja, einige, z.B. für PHP, Python, Java, Apache Modul
Browser-Support:
Firefox und Fennec
Opera
Safari, iPhone (mit bugs)
Chrome
Internet Explorer >= 6
Links
Hauptseite Wiki: http://esw.w3.org/topic/foaf+ssl
Mailing-List http://lists.foaf-project.org/mailman/listinfo/foaf-protocols
Paper: FOAF+SSL: RESTful Authentication for the Social Web - http://dig.csail.mit.edu/2009/Papers/SPOT/foaf-ssl-spot2009.pdf
Vergleich OpenID vs. FOAF+SSL http://blogs.sun.com/bblfish/entry/what_does_foaf_ssl_give
Das ganze funktioniert sogar mit dem iPhone: http://blogs.sun.com/bblfish/entry/one_click_global_sign_on
xfn ontology: http://vocab.sindice.com/xfn#
vcard ontology: http://www.w3.org/Submission/2010/SUBM-vcard-rdf-20100120/
foaf+ssl als Alternative zu OAuth: http://blogs.sun.com/bblfish/entry/sketch_of_a_restful_photo
FOAF & SSL: creating a global decentralised authentication protocol: http://blogs.sun.com/bblfish/entry/foaf_ssl_creating_a_global
foaf+ssl: adding security to open distributed social networks: http://blogs.sun.com/bblfish/entry/foaf_ssl_adding_security_to