0
Persona                un système didentité                pour le WebFrançois Marier – @fmarier
un système ouvert   et fédéré pour lauthentification  des utilisateurs
une solution au problème desmots de passe sur le Web
pourquoi ?
difficiles    àretenir
cest tropfacile de les réutiliser
alternatives
décentralisé
moi.com/u/francois
vie privée®
comment ça marche ?
fmarier@gmail.com
<signatures numériques 101>
privée   publique
publique
Je mappelleFrançois Marieret mon adressede courriel esttrop longuepour cette note.
Je mappelle         François Marier         et mon adresse         de courriel est         trop longue         pour cette ...
Je mappelleFrançois Marieret mon adressede courriel esttrop longuepour cette note.                   publique
signer   vérifier
</signatures numériques 101>
fmarier@gmail.com
authentification?
authentification? clé publique
authentification?   clé publiqueclé publique signée
assertion        wikipedia.orgValide pour : 2 minutes
assertion        wikipedia.orgValide pour : 2 minutesvérifier laudience
assertion        wikipedia.orgValide pour : 2 minutesvérifier laudiencevérifier lexpiration
assertion        wikipedia.orgValide pour : 2 minutesvérifier laudiencevérifier lexpirationvérifier la signature
assertion  clé publique                            wikipedia.org                 Valide pour :    2 minutes
assertion                       wikipedia.org            Valide pour :    2 minutes
assertion cookie
cest pour quand ?
serveurs de courriel    navigateurs
fmarier@gmail.com
fmarier@gmail.com
serveurs de courriel
navigator.id.*
navigateurs modernes       >= 8
navigateurs modernes       >= 8
vous pouvez utiliser Personadès aujourdhui
comment lutiliser  sur votre site ?
<script src=”https://login.persona.org/include.js”></script></body></html>
navigator.id.watch({    loggedInEmail: “francois@mozilla.com”,    onlogin: function (assertion) {        $.post(/login,   ...
navigator.id.watch({    loggedInUser: “francois@mozilla.com”,    onlogin: function (assertion) {        $.post(/login,    ...
navigator.id.watch({    loggedInUser: null,    onlogin: function (assertion) {        $.post(/login,            {assertion...
navigator.id.watch({    loggedInUser: null,    onlogin: function (assertion) {        $.post(/login,            {assertion...
navigator.id.watch({    loggedInUser: null,    onlogin: function (assertion) {        $.post(/login,            {assertion...
navigator.id.request()
navigator.id.watch({    loggedInUser: null,    onlogin: function (assertion) {        $.post(/login,            {assertion...
navigator.id.watch({    loggedInUser: null,    onlogin: function (assertion) {        $.post(/login,            {assertion...
$ curl -d "assertion=<ASSERTION>&           audience=http://123done.org" https://verifier.login.persona.org/verify
$ curl -d "assertion=<ASSERTION>&           audience=http://123done.org" https://verifier.login.persona.org/verify
{    status: “okay”,    audience: “http://123done.org”,    expires: 1344849682560,    email: “francois@mozilla.com”,    is...
{    status: “failed”,    reason: “assertion has expired”}
navigator.id.logout()
navigator.id.watch({    loggedInUser: null,    onlogin: function (assertion) {        $.post(/login,            {assertion...
1. charger bibliothèque JavaScript
1. charger bibliothèque JavaScript2. écrire onlogin & onlogout
1. charger bibliothèque JavaScript2. écrire onlogin & onlogout3. ajouter boutons (dé)connexion
1. charger bibliothèque JavaScript2. écrire onlogin & onlogout3. ajouter boutons (dé)connexion4. vérifier lassertion
pour nous aider ...
utilisez Persona   sur votre sitedites-nous ce que  vous en penser   demandez lesupport Persona
utilisez Persona   sur votre sitedites-nous ce que  vous en penser   demandez lesupport Persona
utilisez Persona   sur votre sitedites-nous ce que  vous en penser   demandez lesupport Persona
Pour en savoir plus :https://login.persona.org/http://identity.mozilla.com/https://developer.mozilla.org/docs/Persona/Why_...
document de supporthttps://eyedee.me/.well-known/browserid:{    "public-key": {       "algorithm":"RS",       "n":"8606......
Sources des photos :Top 500 des mots de passe: http://xato.net/passwords/more-top-worst-passwords/Parchemin: https://secur...
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Persona: un système d'identité pour le Web
Upcoming SlideShare
Loading in...5
×

Persona: un système d'identité pour le Web

546

Published on

Persona est un système d'identité fédéré qui met l'emphase sur la protection de la vie privée et la convivialité tout en facilitant le travail des développeurs Web. Cette présentation a pour but d'introduire ce système et les éléments de cryptographies sur lesquels il repose ainsi que de donner un exemple concret de son utilisation dans une application Web.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
546
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Persona: un système d'identité pour le Web"

  1. 1. Persona un système didentité pour le WebFrançois Marier – @fmarier
  2. 2. un système ouvert et fédéré pour lauthentification des utilisateurs
  3. 3. une solution au problème desmots de passe sur le Web
  4. 4. pourquoi ?
  5. 5. difficiles àretenir
  6. 6. cest tropfacile de les réutiliser
  7. 7. alternatives
  8. 8. décentralisé
  9. 9. moi.com/u/francois
  10. 10. vie privée®
  11. 11. comment ça marche ?
  12. 12. fmarier@gmail.com
  13. 13. <signatures numériques 101>
  14. 14. privée publique
  15. 15. publique
  16. 16. Je mappelleFrançois Marieret mon adressede courriel esttrop longuepour cette note.
  17. 17. Je mappelle François Marier et mon adresse de courriel est trop longue pour cette note.privée
  18. 18. Je mappelleFrançois Marieret mon adressede courriel esttrop longuepour cette note. publique
  19. 19. signer vérifier
  20. 20. </signatures numériques 101>
  21. 21. fmarier@gmail.com
  22. 22. authentification?
  23. 23. authentification? clé publique
  24. 24. authentification? clé publiqueclé publique signée
  25. 25. assertion wikipedia.orgValide pour : 2 minutes
  26. 26. assertion wikipedia.orgValide pour : 2 minutesvérifier laudience
  27. 27. assertion wikipedia.orgValide pour : 2 minutesvérifier laudiencevérifier lexpiration
  28. 28. assertion wikipedia.orgValide pour : 2 minutesvérifier laudiencevérifier lexpirationvérifier la signature
  29. 29. assertion clé publique wikipedia.org Valide pour : 2 minutes
  30. 30. assertion wikipedia.org Valide pour : 2 minutes
  31. 31. assertion cookie
  32. 32. cest pour quand ?
  33. 33. serveurs de courriel navigateurs
  34. 34. fmarier@gmail.com
  35. 35. fmarier@gmail.com
  36. 36. serveurs de courriel
  37. 37. navigator.id.*
  38. 38. navigateurs modernes >= 8
  39. 39. navigateurs modernes >= 8
  40. 40. vous pouvez utiliser Personadès aujourdhui
  41. 41. comment lutiliser sur votre site ?
  42. 42. <script src=”https://login.persona.org/include.js”></script></body></html>
  43. 43. navigator.id.watch({ loggedInEmail: “francois@mozilla.com”, onlogin: function (assertion) { $.post(/login, {assertion: assertion}, function (data) { // do something } ); }, onlogout: function () { window.location = /logout; }});
  44. 44. navigator.id.watch({ loggedInUser: “francois@mozilla.com”, onlogin: function (assertion) { $.post(/login, {assertion: assertion}, function (data) { // do something } ); }, onlogout: function () { window.location = /logout; }});
  45. 45. navigator.id.watch({ loggedInUser: null, onlogin: function (assertion) { $.post(/login, {assertion: assertion}, function (data) { // do something } ); }, onlogout: function () { window.location = /logout; }});
  46. 46. navigator.id.watch({ loggedInUser: null, onlogin: function (assertion) { $.post(/login, {assertion: assertion}, function (data) { // do something } ); }, onlogout: function () { window.location = /logout; }});
  47. 47. navigator.id.watch({ loggedInUser: null, onlogin: function (assertion) { $.post(/login, {assertion: assertion}, function (data) { window.location = /; } ); }, onlogout: function () { window.location = /logout; }});
  48. 48. navigator.id.request()
  49. 49. navigator.id.watch({ loggedInUser: null, onlogin: function (assertion) { $.post(/login, {assertion: assertion}, function (data) { window.location = /; } ); }, onlogout: function () { window.location = /logout; }});
  50. 50. navigator.id.watch({ loggedInUser: null, onlogin: function (assertion) { $.post(/login, {assertion: assertion}, function (data) { window.location = /home; } ); }, onlogout: function () { window.location = /logout; }});
  51. 51. $ curl -d "assertion=<ASSERTION>& audience=http://123done.org" https://verifier.login.persona.org/verify
  52. 52. $ curl -d "assertion=<ASSERTION>& audience=http://123done.org" https://verifier.login.persona.org/verify
  53. 53. { status: “okay”, audience: “http://123done.org”, expires: 1344849682560, email: “francois@mozilla.com”, issuer: “login.persona.org”}
  54. 54. { status: “failed”, reason: “assertion has expired”}
  55. 55. navigator.id.logout()
  56. 56. navigator.id.watch({ loggedInUser: null, onlogin: function (assertion) { $.post(/login, {assertion: assertion}, function (data) { window.location = /home; } ); }, onlogout: function () { window.location = /logout; }});
  57. 57. 1. charger bibliothèque JavaScript
  58. 58. 1. charger bibliothèque JavaScript2. écrire onlogin & onlogout
  59. 59. 1. charger bibliothèque JavaScript2. écrire onlogin & onlogout3. ajouter boutons (dé)connexion
  60. 60. 1. charger bibliothèque JavaScript2. écrire onlogin & onlogout3. ajouter boutons (dé)connexion4. vérifier lassertion
  61. 61. pour nous aider ...
  62. 62. utilisez Persona sur votre sitedites-nous ce que vous en penser demandez lesupport Persona
  63. 63. utilisez Persona sur votre sitedites-nous ce que vous en penser demandez lesupport Persona
  64. 64. utilisez Persona sur votre sitedites-nous ce que vous en penser demandez lesupport Persona
  65. 65. Pour en savoir plus :https://login.persona.org/http://identity.mozilla.com/https://developer.mozilla.org/docs/Persona/Why_Personahttps://developer.mozilla.org/docs/Persona/Quick_Setuphttps://github.com/mozilla/browserid-cookbookhttps://developer.mozilla.org/docs/Persona/Libraries_and_pluginshttp://123done.org/https://wiki.mozilla.org/Identity#Get_Involved@fmarier http://fmarier.org
  66. 66. document de supporthttps://eyedee.me/.well-known/browserid:{ "public-key": { "algorithm":"RS", "n":"8606...", "e":"65537" }, "authentication": "/browserid/sign_in.html", "provisioning": "/browserid/provision.html"}
  67. 67. Sources des photos :Top 500 des mots de passe: http://xato.net/passwords/more-top-worst-passwords/Parchemin: https://secure.flickr.com/photos/27613359@N03/6750396225/Biscuits: https://secure.flickr.com/photos/jamisonjudd/4810986199/Uncle Sam: https://secure.flickr.com/photos/donkeyhotey/5666065982/Passeport canadien: https://secure.flickr.com/photos/rustyangel/5839428526/ © 2013 François Marier <francois@mozilla.com> Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 3.0 Nouvelle-Zélande.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×