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 BuzzListe der offenen StandardsSalmon-ProtokollPubSubHubbubShownotes
(Vielen Dank an Mario, der die Shownotes zusammengestellt hat)
dezentralisiertes AuthentifizierungsprotokollOne-Click-SignOn (kein Username, kein Passwort)WebID: Ein URI als ID für deine Person (LinkedData)100% Standardbasiert: REST, RDF, LinkedData, SSL, X509Alle Vorteile von Semantic Web Technologies: strikte Semantik, Erweiterbarkeit (Namespaces), Reasoning (OWL)Web of TrustUse Cases
neben einfachem LoginWeb site personalizationProfil (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 ControlZugang nur einer bestimmten foaf:Group gewährenRule 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änktDistributed Social Networksauch hier komplexe Rollen und Zugangsbeschränkungen möglichDetails
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 authentifizierenjetzt: Browser besitzt self-signed Zertifikat und authentifiziert sich gegenüber dem ServerX509-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 seinProtokollUser klickt auf Login-ButtonServer eröffnet SSL Handshake und verlangt Zertifikat vom UserServer 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 IEzur Not Serverseitig, allerdings Security Risk weil der Server dann den Private Key kenntGibt es bereits Server-Implementierungen?Ja, einige, z.B. für PHP, Python, Java, Apache ModulBrowser-Support:Firefox und FennecOperaSafari, iPhone (mit bugs)ChromeInternet Explorer >= 6Links
Hauptseite Wiki: http://esw.w3.org/topic/foaf+sslMailing-List http://lists.foaf-project.org/mailman/listinfo/foaf-protocolsPaper: FOAF+SSL: RESTful Authentication for the Social Web - http://dig.csail.mit.edu/2009/Papers/SPOT/foaf-ssl-spot2009.pdfVergleich OpenID vs. FOAF+SSL http://blogs.sun.com/bblfish/entry/what_does_foaf_ssl_giveDas ganze funktioniert sogar mit dem iPhone: http://blogs.sun.com/bblfish/entry/one_click_global_sign_onxfn 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_photoFOAF & SSL: creating a global decentralised authentication protocol: http://blogs.sun.com/bblfish/entry/foaf_ssl_creating_a_globalfoaf+ssl: adding security to open distributed social networks: http://blogs.sun.com/bblfish/entry/foaf_ssl_adding_security_to