The problem with passwords on the web and what to do about it

82
François Marier – @fmarier The problem with passwords on the web and what to do about it

description

Handling user passwords safely is hard, but replacing passwords on the web in a reasonable way is even harder. Really, this should have been in the browser all along. This is where Persona comes in.

Transcript of The problem with passwords on the web and what to do about it

Page 1: The problem with passwords on the web and what to do about it

François Marier – @fmarier

The problem with passwords on the weband what to do about it

Page 2: The problem with passwords on the web and what to do about it

passwords

Page 3: The problem with passwords on the web and what to do about it

problem #1:

passwords are hard to secure

Page 4: The problem with passwords on the web and what to do about it
Page 5: The problem with passwords on the web and what to do about it
Page 6: The problem with passwords on the web and what to do about it
Page 7: The problem with passwords on the web and what to do about it
Page 8: The problem with passwords on the web and what to do about it
Page 9: The problem with passwords on the web and what to do about it
Page 10: The problem with passwords on the web and what to do about it
Page 11: The problem with passwords on the web and what to do about it
Page 12: The problem with passwords on the web and what to do about it
Page 13: The problem with passwords on the web and what to do about it
Page 14: The problem with passwords on the web and what to do about it

bcrypt / scrypt / pbkdf2

per-user salt

site secret

password & lockout policies

secure recovery

Page 15: The problem with passwords on the web and what to do about it

bcrypt / scrypt / pbkdf2

per-user salt

site secret

password & lockout policies

secure recovery

Page 16: The problem with passwords on the web and what to do about it

bcrypt / scrypt / pbkdf2

per-user salt

site secret

password & lockout policies

secure recovery

Page 17: The problem with passwords on the web and what to do about it

bcrypt / scrypt / pbkdf2

per-user salt

site secret

password & lockout policies

secure recovery

Page 18: The problem with passwords on the web and what to do about it

bcrypt / scrypt / pbkdf2

per-user salt

site secret

password & lockout policies

secure recovery

Page 19: The problem with passwords on the web and what to do about it

bcrypt / scrypt / pbkdf2

per-user salt

site secret

password & lockout policies

secure recovery

20132013

passwordpassword

guidelines

guidelines

Page 20: The problem with passwords on the web and what to do about it

passwords are hard to secure

they are a liability

Page 21: The problem with passwords on the web and what to do about it

ALTER TABLE userDROP COLUMN password;

Page 22: The problem with passwords on the web and what to do about it

problem #2:

passwords are hard to remember

Page 23: The problem with passwords on the web and what to do about it
Page 24: The problem with passwords on the web and what to do about it
Page 25: The problem with passwords on the web and what to do about it

pick an easy password

Page 26: The problem with passwords on the web and what to do about it

pick an easy password

use it everywhere

Page 27: The problem with passwords on the web and what to do about it

passwords are hard to remember

they need to be reset

Page 28: The problem with passwords on the web and what to do about it
Page 29: The problem with passwords on the web and what to do about it

controlemail

account

controlall

accounts=

Page 30: The problem with passwords on the web and what to do about it

social login

Page 31: The problem with passwords on the web and what to do about it

“People want a littledating before marriage.”

Eric Vishria – Rockmelt

Page 32: The problem with passwords on the web and what to do about it
Page 33: The problem with passwords on the web and what to do about it

decentralized

Page 34: The problem with passwords on the web and what to do about it

myid.com/u/francois

Page 35: The problem with passwords on the web and what to do about it
Page 36: The problem with passwords on the web and what to do about it
Page 37: The problem with passwords on the web and what to do about it

privacy®

Page 38: The problem with passwords on the web and what to do about it

existing login systemsare not good enough

Page 39: The problem with passwords on the web and what to do about it

ideal web-wide identity system

Page 40: The problem with passwords on the web and what to do about it

● decentralized● simple● cross-browser

ideal web-wide identity system

Page 41: The problem with passwords on the web and what to do about it

● decentralized● simple● cross-browser

ideal web-wide identity system

Page 42: The problem with passwords on the web and what to do about it

● decentralized● simple● cross-browser

ideal web-wide identity system

Page 43: The problem with passwords on the web and what to do about it

● decentralized● simple● cross-browser

Page 44: The problem with passwords on the web and what to do about it

how does it work?

Page 46: The problem with passwords on the web and what to do about it

demo #1:

http://crossword.thetimes.co.uk/

[email protected]

Page 47: The problem with passwords on the web and what to do about it

Persona is already adecentralized system

Page 48: The problem with passwords on the web and what to do about it

decentralization is the answer, but it's not

a product adoption strategy

Page 49: The problem with passwords on the web and what to do about it

we can't wait for all domainsto adopt Persona

Page 50: The problem with passwords on the web and what to do about it

we can't wait for all domainsto adopt Persona

solution: a temporarycentralized fallback

Page 51: The problem with passwords on the web and what to do about it

demo #2:

http://sloblog.io/

[email protected]

Page 52: The problem with passwords on the web and what to do about it

Persona already workswith all email domains

Page 53: The problem with passwords on the web and what to do about it

identity bridging

Page 54: The problem with passwords on the web and what to do about it

demo #3:

http://www.reasonwell.com/

[email protected]

Page 55: The problem with passwords on the web and what to do about it
Page 56: The problem with passwords on the web and what to do about it
Page 57: The problem with passwords on the web and what to do about it
Page 58: The problem with passwords on the web and what to do about it

Persona supportsall modern browsers

>= 8

Page 59: The problem with passwords on the web and what to do about it

Persona is decentralized,simple and cross-browser

Page 60: The problem with passwords on the web and what to do about it

it's simple for users, but is it also

simple for developers?

Page 61: The problem with passwords on the web and what to do about it

1. load javascript library

Page 62: The problem with passwords on the web and what to do about it

1. load javascript library

2. setup login & logout callbacks

Page 63: The problem with passwords on the web and what to do about it

1. load javascript library

2. setup login & logout callbacks

3. add login and logout buttons

Page 64: The problem with passwords on the web and what to do about it

1. load javascript library

2. setup login & logout callbacks

3. add login and logout buttons

4. verify proof of ownership

Page 65: The problem with passwords on the web and what to do about it

you can add support forPersona in four easy steps

Page 66: The problem with passwords on the web and what to do about it

one simple request

Page 67: The problem with passwords on the web and what to do about it
Page 68: The problem with passwords on the web and what to do about it

building a new site:default to Persona

Page 69: The problem with passwords on the web and what to do about it

working on an existing site/app:add support for Persona

Page 70: The problem with passwords on the web and what to do about it

Friday office hours

Page 71: The problem with passwords on the web and what to do about it

we needyour help

to eliminatesite-specificpasswords

Page 72: The problem with passwords on the web and what to do about it

To learn more about Persona:

https://login.persona.org/http://identity.mozilla.com/

https://developer.mozilla.org/docs/Persona/Why_Personahttps://developer.mozilla.org/docs/Persona/Quick_Setup

https://github.com/mozilla/browserid-cookbookhttps://developer.mozilla.org/docs/Persona/Libraries_and_plugins

http://123done.org/https://wiki.mozilla.org/Identity#Get_Involved

@fmarier http://fmarier.org

Page 73: The problem with passwords on the web and what to do about it

identity provider API

https://eyedee.me/.well-known/browserid:

{ "public-key": { "algorithm":"RS", "n":"8606...", "e":"65537" }, "authentication": "/browserid/sign_in.html", "provisioning": "/browserid/provision.html"}

Page 74: The problem with passwords on the web and what to do about it

https://eyedee.me/.well-known/browserid:

{ "public-key": { "algorithm":"RS", "n":"8606...", "e":"65537" }, "authentication": "/browserid/sign_in.html", "provisioning": "/browserid/provision.html"}

identity provider API

Page 75: The problem with passwords on the web and what to do about it

https://eyedee.me/.well-known/browserid:

{ "public-key": { "algorithm":"RS", "n":"8606...", "e":"65537" }, "authentication": "/browserid/sign_in.html", "provisioning": "/browserid/provision.html"}

identity provider API

Page 76: The problem with passwords on the web and what to do about it

https://eyedee.me/.well-known/browserid:

{ "public-key": { "algorithm":"RS", "n":"8606...", "e":"65537" }, "authentication": "/browserid/sign_in.html", "provisioning": "/browserid/provision.html"}

identity provider API

Page 77: The problem with passwords on the web and what to do about it

https://eyedee.me/.well-known/browserid:

{ "public-key": { "algorithm":"RS", "n":"8606...", "e":"65537" }, "authentication": "/browserid/sign_in.html", "provisioning": "/browserid/provision.html"}

identity provider API

Page 78: The problem with passwords on the web and what to do about it

identity provider API

1. check for your /.well-known/browserid

2. try the provisioning endpoint

3. show the authentication page

4. call the provisioning endpoint again

Page 79: The problem with passwords on the web and what to do about it

identity provider API

1. check for your /.well-known/browserid

2. try the provisioning endpoint

3. show the authentication page

4. call the provisioning endpoint again

Page 80: The problem with passwords on the web and what to do about it

identity provider API

1. check for your /.well-known/browserid

2. try the provisioning endpoint

3. show the authentication page

4. call the provisioning endpoint again

Page 81: The problem with passwords on the web and what to do about it

identity provider API

1. check for your /.well-known/browserid

2. try the provisioning endpoint

3. show the authentication page

4. call the provisioning endpoint again

Page 82: The problem with passwords on the web and what to do about it

© 2013 François Marier <[email protected]>This work is licensed under aCreative Commons Attribution-ShareAlike 3.0 New Zealand License.

Hotel doorman: https://secure.flickr.com/photos/wildlife_encounters/8024166802/

Top 500 passwords: http://xato.net/passwords/more-top-worst-passwords/

Parchment: https://secure.flickr.com/photos/27613359@N03/6750396225/

Uncle Sam: https://secure.flickr.com/photos/donkeyhotey/5666065982/

Restaurant dinner: https://secure.flickr.com/photos/yourdon/3977084094/

Stop sign: https://secure.flickr.com/photos/artbystevejohnson/6673406227/

Photo credits: