Contenu connexe
Similaire à #idcon 14 Multiple Personae, One "Persona"
Similaire à #idcon 14 Multiple Personae, One "Persona" (20)
#idcon 14 Multiple Personae, One "Persona"
- 1. Multiple Personae,
One “Persona”
#idcon 14
@bkihara
https://lepidum.co.jp/ 2012 Lepidum Co. Ltd.
- 3. PERSONA
http://www.hitachi.co.jp/New/cnews/9904/0405.html より引用
- 14. BrowserID の API が呼ばれて
• navigator.id.watch({
onlogin: function(assertion) {
// send assertion
}
:
}
function onClickSignin(function() {
navigator.id.request();
}
- 16. コールバックに assertion が渡り
• navigator.id.watch({
onlogin: function(assertion) {
// send assertion
}
:
}
function onClickSignin(function() {
navigator.id.request();
}
- 27. eyJ (1)
{“alg”:”RS256”}
.
{“public-key”: {“algorithm”:”DS”, ”y”:”...”},
“principal”: {“email”:”bkihara.l@gmail.com”},
Browser key pair
“iat”:…, “exp”:…, “iss”:”mail.example.com”}
pubkey
.
<JWSの署名(メールプロバイダからもらう)>
- 28. eyJ (1) IdP key pair
pubkey
{“alg”:”RS256”}
.
{“public-key”: {“algorithm”:”DS”, ”y”:”...”},
“principal”: {“email”:”bkihara.l@gmail.com”},
Browser key pair
“iat”:…, “exp”:…, “iss”:”mail.example.com”}
pubkey
.
<JWSの署名(メールプロバイダからもらう)>
- 30. eyJ (2)
{“alg”:”DS128”}
.
{“exp”:…, “aud”:”http://current.openphoto.me”}
.
<JWSの署名(ブラウザが生成する)>
Browser key pair
pubkey
- 32. 検証
IdP
pubkey
/.well-known/browserid
Assertion
- 33. 検証
IdP
pubkey
Assertion
- 34. 全体像
RP IdP
IdP
pubkey
Assertion Sig.
Browser
Sig. pubkey
Browser
- 35. 従来のログイン
SP Email
Onetime URL
example.com/?a=eyJ...
HTTP GET Onetime URL
example.com/?a=eyJ...
GET /?a=eyJlbWF…
Host: example.com
…
Mailer
- 40. Fallback IdP
• persona.org が代わりに
ユーザの公開鍵を署名 IdP key pair
pubkey
Signed
{“public-key”: {“algorithm”:”DS”, ”y”:”...”},
“principal”: {“email”:”bkihara.l@gmail.com”},
“iat”:…, “exp”:…, “iss”:”login.persona.org”}.
- 41. Fallback IdP
RP Email
IdP
pubkey Onetime URL
example.com/?a=eyJ...
Assertion
persona.org
Sig.
Browser
pubkey
Mailer
Browser
- 42. Fallback API
• JavaScript が代わりに
navigator.id.* を提供
Persona key pair
pubkey
Signed
{“exp”:…, “aud”:”http://current.openphoto.me”}.
- 43. Fallback API
RP IdP
IdP
pubkey
persona.org
Assertion
Sig.
Persona
Sig. pubkey
Browser
- 45. Fallback * Fallback
persona.org
RP Email
IdP
pubkey Onetime URL
example.com/?a=eyJ...
Sig.
Assertion
Persona
pubkey
Browser
Mailer
- 46. あれっ?
RP IdP
IdP
pubkey
Assertion Sig.
Browser
Sig. pubkey
Browser
- 47. BrowserID – Browser – Email = ?
persona.org
RP Email
IdP
pubkey Onetime URL
example.com/?a=eyJ...
Sig.
Assertion
Persona
pubkey
Browser
Mailer
Decentralized?
- 48. これじゃだめ?
OpenID Connect OP
RP
IdP
pubkey
ID Token
Sig.
Browser
- 50. ネイティブ実装
• Firefox 向け実装は作業中
– https://wiki.mozilla.org/Identity
• B2G (Firefox OS) にも実装される予定
– https://wiki.mozilla.org/Identity/WeeklyMeeting/
2012-09-24
– 課金とか?
- 55. メールでのログイン
SP Email
Onetime URL
example.com/?a=eyJ...
HTTP GET Onetime URL
example.com/?a=eyJ...
GET /?a=eyJlbWF…
Host: example.com
…
Mailer
- 56. メールでのログイン
• メールプロバイダはIdPなのか?
– ユーザのメールアドレス所持を(一応)保証
– パスワード再発行 (refresh token?) の依代
– Assertionは? Tokenは?
– Identifier Provider か?
ぼくID厨じゃないんでわかんないです
• 何にせよ乗っ取られると多大な被害
- 57. 乗っ取られると
今はOpenIDなどセキュリティを
外付けにすることが多いが、これは
危ない。特にツイッターやFacebookは
外部アプリが多いので、変なのが
まぎれこんでもわからない。
セキュリティだけは内部でやってほしい。
• ID連携は悪らしい
- 61. 結論
• パスワードはサービスごとに変えましょう
• パスワードは減らしましょう
• ID連携がパスワードを減らします
• メールだいじ!おおごと!