openid and decentralised social networks

122
Simon Willison Webstock 15th February 2008 and decentralised social networks

Upload: simon-willison

Post on 27-Jan-2015

120 views

Category:

Technology


0 download

DESCRIPTION

Presented at Webstock '08 on February 15th in Wellington, New Zealand. Social networks are an unavoidable part of life on the Web today, but most exist as walled gardens with interactions and identities trapped in a silo. OpenID is one of a number of initiatives that are trying to break down these walls and enable new social applications to bootstrap off each other.

TRANSCRIPT

Page 1: OpenID and decentralised social networks

Simon Willison Webstock15th February 2008

and decentralisedsocial networks

Page 2: OpenID and decentralised social networks

One year ago...

Page 3: OpenID and decentralised social networks

AOL Supports OpenIDSymantec Unveils Consumer

Identity Strategy

OpenID Gets a Boost

From Microsoft

Page 4: OpenID and decentralised social networks

The last few weeks...

Page 5: OpenID and decentralised social networks

OpenID announces powerhouse

board: MSFT, GOOG, IBM, others

Yahoo! backs! OpenID!

OpenID Foundation Co-opts

Google, Microsoft And Yahoo

Page 6: OpenID and decentralised social networks

http://www.flickr.com/photos/87846746@N00/2235550137/

?

or

who will save us from

Decentralised social networks

Page 7: OpenID and decentralised social networks

The username and password problem

Page 8: OpenID and decentralised social networks
Page 9: OpenID and decentralised social networks

What’s my password again?

What’s myusername again?

Page 10: OpenID and decentralised social networks

The Web needsSingle Sign On

Page 11: OpenID and decentralised social networks

?

Page 12: OpenID and decentralised social networks

?Windows Live ID

Page 13: OpenID and decentralised social networks

SSO with a single controlling authoritybetrays the principles

of the Web

Page 14: OpenID and decentralised social networks

OpenID is a decentralised mechanism

for Single Sign On

Page 15: OpenID and decentralised social networks

It’s like e-mail - no one company controls it, but users with different e-mail providers can still

talk to each other

Page 16: OpenID and decentralised social networks

An OpenID is a URL(an identifier)

Page 17: OpenID and decentralised social networks

http://swillison.livejournal.com/

Page 18: OpenID and decentralised social networks

http://simonw.myopenid.com/

Page 19: OpenID and decentralised social networks

http://simonwillison.net/

Page 21: OpenID and decentralised social networks

URLs are globally unique

Page 22: OpenID and decentralised social networks

The OpenID protocol lets you prove that you

own a specific URL

Page 23: OpenID and decentralised social networks

Which means an OpenID can be used as an

authentication credential

Page 24: OpenID and decentralised social networks

“Who are you?”

Page 25: OpenID and decentralised social networks

“I’m simonwillison.net”

Page 26: OpenID and decentralised social networks

“prove it!”

Page 27: OpenID and decentralised social networks

(magic happens)

Page 28: OpenID and decentralised social networks

“OK, you’re in!”

Page 29: OpenID and decentralised social networks

Picking an OpenID is like picking an e-mail provider - you find a

company that you trust

Page 30: OpenID and decentralised social networks

Or if you have the ability to run your own server software, you can do it

for yourself

Page 31: OpenID and decentralised social networks

(mobile phones can run web servers now)

Page 32: OpenID and decentralised social networks

How to use OpenID

Page 33: OpenID and decentralised social networks
Page 34: OpenID and decentralised social networks
Page 35: OpenID and decentralised social networks
Page 36: OpenID and decentralised social networks
Page 37: OpenID and decentralised social networks

?What happens tomy organisation’s

user account database?

Page 38: OpenID and decentralised social networks

OpenID augments existing account

mechanisms; it does not replace them

Page 39: OpenID and decentralised social networks

The first time you see a specific OpenID, you create

an account for that user

Page 40: OpenID and decentralised social networks

OpenID can even help userscreate their initial profile

Page 41: OpenID and decentralised social networks
Page 42: OpenID and decentralised social networks
Page 43: OpenID and decentralised social networks

OpenID 1.1: Simple Registration

OpenID 2.0: Attribute Exchange

Page 44: OpenID and decentralised social networks

?So how does OpenIDactually work?

Page 45: OpenID and decentralised social networks
Page 46: OpenID and decentralised social networks
Page 47: OpenID and decentralised social networks

<link rel="openid.server" href="http://www.myopenid.com/server" />

Page 48: OpenID and decentralised social networks

“I’m simonwillison.myopenid.com”

Page 49: OpenID and decentralised social networks

Site fetches HTML,discovers identity provider

Page 50: OpenID and decentralised social networks

Establishes shared secretwith identity provider

(Using Diffie-Hellman key exchange)

Page 51: OpenID and decentralised social networks

Redirects you to the identity provider

Page 52: OpenID and decentralised social networks

If you’re logged in there, you get redirected back

Page 53: OpenID and decentralised social networks

(Discovery in OpenID 2.0 is more complicated, but the concept is much the same)

Page 54: OpenID and decentralised social networks

?How does my identityprovider know who I am?

Page 55: OpenID and decentralised social networks

OpenID deliberately doesn’t specify

Page 56: OpenID and decentralised social networks

username/passwordis the most common

Page 57: OpenID and decentralised social networks

But providers can use other methods if

they want to

Page 58: OpenID and decentralised social networks

Client SSL certificates

Page 59: OpenID and decentralised social networks

Out of band authentication via SMS,

e-mail or Jabber

Page 60: OpenID and decentralised social networks

Hardware tokens

Page 61: OpenID and decentralised social networks

Vidoop.com

Page 62: OpenID and decentralised social networks

?Will everyone end upwith one OpenID that

they use for everything?

Page 63: OpenID and decentralised social networks

Almost certainly not

Page 64: OpenID and decentralised social networks

(I have half a dozen OpenIDs already)

Page 65: OpenID and decentralised social networks

People like maintaining multiple online personas

Page 66: OpenID and decentralised social networks

professionalsocialsecret

...

Page 67: OpenID and decentralised social networks

OpenID makes it easier to manage multiple

online personas

Page 68: OpenID and decentralised social networks

Three accounts is much better than three dozen

Page 69: OpenID and decentralised social networks

An OpenID provider can provide more than

just an OpenID

Page 70: OpenID and decentralised social networks

My AOL OpenID incorporates my AIM

screen name

Page 71: OpenID and decentralised social networks

An OpenID from sun.com proves that someone is a current

Sun employee

Page 72: OpenID and decentralised social networks

An OpenID from a university can assert my

staff/student status

Page 73: OpenID and decentralised social networks

Some providers might even provide guarantees that OpenIDs belong to

specific people

Page 74: OpenID and decentralised social networks

Problems with OpenID

Page 75: OpenID and decentralised social networks

Phishing

Page 76: OpenID and decentralised social networks

lolcats ‘r’ us

Sign in with your OpenID for even more lolcats!

OpenID: Sign in

http://www.flickr.com/photos/duygu/115528187/

http://www.flickr.com/photos/earthandeden/395466458/

http://www.flickr.com/photos/endbradley/306280569/

Page 77: OpenID and decentralised social networks

Fake edition

Username and password, please!

Your identity provider

Username:

Password:Log in

Page 78: OpenID and decentralised social networks

Your accountgets stolen

Page 79: OpenID and decentralised social networks

An untrusted site redirects you to your

trusted provider

Page 80: OpenID and decentralised social networks

PayPalGoogle Checkout

Yahoo!, Flickr, Facebook

Page 81: OpenID and decentralised social networks

One solution: don’t let the user log in on the

identity provider “landing page”

Page 82: OpenID and decentralised social networks
Page 83: OpenID and decentralised social networks

Better solutions

Page 84: OpenID and decentralised social networks

Yahoo! sign-in seal

Page 85: OpenID and decentralised social networks

VeriSign SeatBelt (a browser extension)

Page 86: OpenID and decentralised social networks

Windows CardSpace

Page 87: OpenID and decentralised social networks

Competition between providers on security

Page 88: OpenID and decentralised social networks

?Outsourcing the security of your users

to a third party

Page 89: OpenID and decentralised social networks

OpenID is functionally equivalent to a lost password

e-mail mechanism

Page 90: OpenID and decentralised social networks

If e-mail is secure enough for your user’s authentication,

then so is OpenID

Page 91: OpenID and decentralised social networks

In other cases, a whitelist of trusted providers may

make sense

Page 92: OpenID and decentralised social networks

Usability challenges

Page 93: OpenID and decentralised social networks

Many people haveno idea what a URL is

Page 94: OpenID and decentralised social networks

(but they do know wheretheir MySpace page is)

Page 95: OpenID and decentralised social networks

OpenID 2.0 introduces directed identity

Page 96: OpenID and decentralised social networks
Page 97: OpenID and decentralised social networks
Page 98: OpenID and decentralised social networks
Page 99: OpenID and decentralised social networks

Linking identities together

Page 100: OpenID and decentralised social networks
Page 101: OpenID and decentralised social networks

Identity projection

Page 102: OpenID and decentralised social networks

last.fm

Upcoming

Page 103: OpenID and decentralised social networks

XFN rel="me" lets me publicly point to my

accounts on other services

Page 104: OpenID and decentralised social networks

Portable contact lists

Page 105: OpenID and decentralised social networks

I don’t want to have to re-add my friends on every social application I use

Page 106: OpenID and decentralised social networks

But... I don’t want to automatically add my

high school friends to a business network

Page 107: OpenID and decentralised social networks

The correct model is pick-from-import:

show me a list of options and let me decide

Page 108: OpenID and decentralised social networks

The state of the art in contact import is asking for the user’s webmail

password

The contact import anti-pattern

Page 109: OpenID and decentralised social networks

The good way: XFN and FOAFPublic data, already published

Page 110: OpenID and decentralised social networks

The Google Social Graph API

Page 111: OpenID and decentralised social networks

A safe way to import private contacts?

Page 112: OpenID and decentralised social networks
Page 113: OpenID and decentralised social networks

oauth.net

Page 114: OpenID and decentralised social networks

Completing our decentralised social

network

Page 115: OpenID and decentralised social networks

The Facebook news feed

Page 116: OpenID and decentralised social networks

Flickr photos from your contacts

Page 117: OpenID and decentralised social networks

Your Twitter friends

Page 118: OpenID and decentralised social networks

Decentralised news feed?

Page 119: OpenID and decentralised social networks

XMPP(Jabber)

Page 120: OpenID and decentralised social networks

We have the ingredients

• OpenID

• OAuth

• XFN and FOAF

• XMPP

Now we just need to make the pie

Page 121: OpenID and decentralised social networks

People of Webstock!

• Go forth and implement OpenID

• Support these emerging standards

• Set your users free