SlideShare a Scribd company logo
François Marier – @fmarier
The problem with
passwords on the web
and what to do about it
passwords
problem #1:
passwords are hard to secure
The problem with passwords on the web and what to do about it
The problem with passwords on the web and what to do about it
The problem with passwords on the web and what to do about it
The problem with passwords on the web and what to do about it
The problem with passwords on the web and what to do about it
The problem with passwords on the web and what to do about it
The problem with passwords on the web and what to do about it
The problem with passwords on the web and what to do about it
The problem with passwords on the web and what to do about it
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
bcrypt / scrypt / pbkdf2
per-user salt
site secret
password & lockout policies
secure recovery
bcrypt / scrypt / pbkdf2
per-user salt
site secret
password & lockout policies
secure recovery
bcrypt / scrypt / pbkdf2
per-user salt
site secret
password & lockout policies
secure recovery
bcrypt / scrypt / pbkdf2
per-user salt
site secret
password & lockout policies
secure recovery
bcrypt / scrypt / pbkdf2
per-user salt
site secret
password & lockout policies
secure recovery
2013
2013
password
password
guidelines
guidelines
passwords are hard to secure
they are a liability
ALTER TABLE user
DROP COLUMN password;
problem #2:
passwords are hard to remember
The problem with passwords on the web and what to do about it
The problem with passwords on the web and what to do about it
pick an easy password
pick an easy password
use it everywhere
passwords are hard to remember
they need to be reset
The problem with passwords on the web and what to do about it
control
email
account
control
all
accounts
=
social login
“People want a little
dating before marriage.”
Eric Vishria – Rockmelt
The problem with passwords on the web and what to do about it
decentralized
myid.com/u/francois
The problem with passwords on the web and what to do about it
The problem with passwords on the web and what to do about it
privacy®
existing login systems
are not good enough
ideal web-wide identity system
●
decentralized
●
simple
●
cross-browser
ideal web-wide identity system
●
decentralized
●
simple
●
cross-browser
ideal web-wide identity system
●
decentralized
●
simple
●
cross-browser
ideal web-wide identity system
●
decentralized
●
simple
●
cross-browser
how does it work?
fmarier@gmail.com
demo #1:
http://crossword.thetimes.co.uk/
fmariertest@eyedee.me
Persona is already a
decentralized system
decentralization is the answer, but it's not
a product adoption strategy
we can't wait for all domains
to adopt Persona
we can't wait for all domains
to adopt Persona
solution: a temporary
centralized fallback
demo #2:
http://sloblog.io/
fmariertest@gmail.com
Persona already works
with all email domains
identity bridging
demo #3:
http://www.reasonwell.com/
fmariertest@yahoo.com
The problem with passwords on the web and what to do about it
The problem with passwords on the web and what to do about it
The problem with passwords on the web and what to do about it
Persona supports
all modern browsers
>= 8
Persona is decentralized,
simple and cross-browser
it's simple for users, but is it also
simple for developers?
1. load javascript library
1. load javascript library
2. setup login & logout callbacks
1. load javascript library
2. setup login & logout callbacks
3. add login and logout buttons
1. load javascript library
2. setup login & logout callbacks
3. add login and logout buttons
4. verify proof of ownership
you can add support for
Persona in four easy steps
one simple request
The problem with passwords on the web and what to do about it
building a new site:
default to Persona
working on an existing site/app:
add support for Persona
Friday office hours
we need
your help
to eliminate
site-specific
passwords
To learn more about Persona:
https://login.persona.org/
http://identity.mozilla.com/
https://developer.mozilla.org/docs/Persona/Why_Persona
https://developer.mozilla.org/docs/Persona/Quick_Setup
https://github.com/mozilla/browserid-cookbook
https://developer.mozilla.org/docs/Persona/Libraries_and_plugins
http://123done.org/
https://wiki.mozilla.org/Identity#Get_Involved
@fmarier http://fmarier.org
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"
}
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
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
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
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
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
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
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
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
© 2013 François Marier <francois@mozilla.com>
This work is licensed under a
Creative 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:

More Related Content

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