Episode 25 - FoaF+SSL
Der Open Web Podcast - A podcast by Sebastian Küpers, Matthias Pfefferle, Christian Scholz

Categories:
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 MP3News Google Buzz Liste der offenen Standards Salmon-Protokoll PubSubHubbubShownotes(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 TrustUse 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