38
OpenIDでWebの認証を もっと便利に MATSUOKA Kohei http://www.machu.jp/diary/ twitter: machu 1

OpenID Introduction

Embed Size (px)

Citation preview

Page 1: OpenID Introduction

OpenIDでWebの認証をもっと便利にMATSUOKA Koheihttp://www.machu.jp/diary/

twitter: machu

1

Page 2: OpenID Introduction

2008年はOpenIDの年大手サービスがOpenID発行サイトに参入

1月 … 米Yahoo!, Yahoo! JAPAN

8月 … mixi (マイミク認証, コミュニティ認証も)

10月 … Google Account

10月 … Microsoft (Windows Live ID対応発表)

OpenIDファウンデーション・ジャパンの設立

2

Page 3: OpenID Introduction

11:3011分30秒でわかるOpenID入門

3

Page 4: OpenID Introduction

OpenIDとは「○○のIDでログイン」を実現するための仕組み

http://atnd.org/ より4

Page 5: OpenID Introduction

利用者

Webサイト

Webサイト

Webサイト

従来Webサイトのログイン各Webサイトに登録したIDとパスワードでログイン

5

Page 6: OpenID Introduction

OpenIDでのログイン

利用者(End User)

OpenID発行サイト(OpenID Provider, OP)

OpenID対応サイト(Relying Party, RP)

発行サイトのIDで対応サイトにログインできる

対応サイトにパスワードは送られない

OpenID対応サイト(Relying Party, RP)

mixi, Google, Yahoo! JAPANなど

6

Page 7: OpenID Introduction

OpenIDのメリット(1) 利用者にとって

複数のIDとパスワードを管理しなくていい!

(2) OpenID対応サイト (RP) にとって

利用者のパスワードを管理しなくてよい!

(3) OpenID発行サイト (OP) にとって

保有するアカウントの価値が高まる!

7

Page 8: OpenID Introduction

OpenIDの最大の特徴「○○のIDでログイン」→複数の発行サイトが共存!

普及のために、とても重要なこと。

対応サイト

発行サイトA

発行サイトB 発行サイトD

発行サイトC

mixi

livedoorGoogle

Yahoo! JAPAN

8

Page 9: OpenID Introduction

OpenIDの実現方法「○○のIDでログイン」を実現するために

1. グローバルなID (URL) を用意する

2. ログイン先となる発行サイトを指定する

9

Page 10: OpenID Introduction

グローバルなID (1)

対応サイト

発行サイトA

発行サイトB

id:machu

id:machu

衝突

複数の発行サイトが存在 → IDが衝突すると困る

10

Page 11: OpenID Introduction

グローバルなID (2)

対応サイト

発行サイトA

発行サイトB

URLをIDとして使うことで、グローバルなIDを実現

URLで区別

http://www.hatena.ne.jp/kmachu/

http://profile.livedoor.com/k_machu/

11

Page 12: OpenID Introduction

ログイン先の指定 (1)複数の発行サイトが存在する。

ログイン先の発行サイトを利用者が指定する。

発行サイト対応サイト2. 発行サイトのログイン画面へ誘導

OpenIDでログイン

1. 利用者が発行サイトを指定する

12

Page 13: OpenID Introduction

ログイン先の指定 (2)OpenID 1.1では、ユーザのID (URL) を入力する。

https://id.mixi.jp/1741395

…覚えられません><

OpenID 2.0では、発行サイトのID (URL) でもOK。

mixi.jp

ちょっと短くなった

OpenIDでログイン

13

Page 14: OpenID Introduction

ログイン先の指定 (3)よく使われる発行サイトを事前に用意しておく。

キーボードによる入力が不要になった。

反面、用意されていない発行サイトを使えない。

入力フォームとの併用が現実的な解。

14

Page 15: OpenID Introduction

参考: ログインの流れ (1/2)

利用者 対応サイト

発行サイトhttp://example.jp/

利用者が入力したIDから発行サイトを特定する

15

Page 16: OpenID Introduction

参考: ログインの流れ (1/2)

利用者 対応サイト

発行サイトhttp://example.jp/

利用者が入力したIDから発行サイトを特定する

(1) IDを入力example.jp

15

Page 17: OpenID Introduction

参考: ログインの流れ (1/2)

利用者 対応サイト

発行サイトhttp://example.jp/

(2) IDから発行サイトを発見

利用者が入力したIDから発行サイトを特定する

(1) IDを入力example.jp

15

Page 18: OpenID Introduction

参考: ログインの流れ (2/2)

利用者 対応サイト

発行サイト

発行サイトから対応サイトへ認証結果を通知する

http://example.jp/

16

Page 19: OpenID Introduction

参考: ログインの流れ (2/2)

利用者 対応サイト

発行サイト

発行サイトから対応サイトへ認証結果を通知する

http://example.jp/

(3) 発行サイトにログイン

id:machu

16

Page 20: OpenID Introduction

参考: ログインの流れ (2/2)

利用者 対応サイト

発行サイト

発行サイトから対応サイトへ認証結果を通知する

http://example.jp/

(3) 発行サイトにログイン

id:machu

(4) 認証結果 (ID) を通知

http://example.jp/machu/

16

Page 21: OpenID Introduction

OpenIDの拡張機能 (1)名前やメールアドレスをOpenID対応サイトに通知。

ユーザ登録時の手間を省くために使用する。

対応サイト

発行サイト

17

Page 22: OpenID Introduction

OpenIDの拡張機能 (2)mixiのマイミク認証とコミュニティ認証

mixi内の属性情報をmixi外部で活用できる!

マイミクだけがコメントできるブログ

高専カンファコミュのメンバだけが使えるWiki

…ほしい?https://id.mixi.jp/1741395/friends/

https://id.mixi.jp/community/1651291/18

Page 23: OpenID Introduction

OpenID入門のまとめ

OpenIDは「○○のIDでログイン」を実現するための仕組み。

「利用者」、「発行サイト (OP)」、「対応サイト(RP)」の三者モデル。

複数の発行サイトが共存できる(とても重要)。

19

Page 24: OpenID Introduction

20

Page 25: OpenID Introduction

付録OpenIDを安心して使うために

21

Page 26: OpenID Introduction

よくある質問

OpenIDってセキュリティは大丈夫なの?

22

Page 27: OpenID Introduction

結論

信頼できる発行サイトを選びましょう。

23

Page 28: OpenID Introduction

OpenIDのリスク

フィッシング名寄せIDの再利用発行サイトのサービス停止

24

Page 29: OpenID Introduction

(1) フィッシング悪いOpenID対応サイトが偽のログイン画面へ誘導。

利用者がパスワードを入力 → ウマー

対応サイト

発行サイト 発行サイト(偽)

25

Page 30: OpenID Introduction

フィッシング対策

暗号化 (SSL, TLS) 対応のログイン画面を提供しているOpenID発行サイトを利用する。

秘密情報を入力するときはWebブラウザのアドレスバーを確認する。

Yahoo! JAPANのログインシールを利用する。

26

Page 31: OpenID Introduction

(2) 名寄せOpenIDは複数のWebサイトで同じIDを使う。

IDの名寄せが可能に。

対応サイトA

対応サイトB

対応サイトC

発行サイト

27

Page 32: OpenID Introduction

名寄せ対策セキュリティではなくプライバシーの問題。

Yahoo! JAPANはIDにランダムな文字列。

Yahoo! JAPANのIDは推測できない。

逆に、積極的にIDの同一性を主張したい場合もある

必要に応じて複数のOpenIDアカウントを使い分ける

https://me.yahoo.co.jp/a/Qc51zrFBeYpbtGdGquXK6qonwL0-#316fa

28

Page 33: OpenID Introduction

(3) IDの再利用

OpenID発行サイトからアカウントを消す

→ 他の人が同じアカウントで登録したら?

OpenID対応サイトに勝手にログインされる??

29

Page 34: OpenID Introduction

IDの再利用への対策発行サイトがIDのうしろに識別子をつけておく。

他の人が同じIDを取得しても、この識別子が変われば別IDとして認識される。

まともな発行サイトなら実装しているはず…。

https://me.yahoo.co.jp/a/Qc51zrFBeYpbtGdGquXK6qonwL0-#316fa

https://me.yahoo.co.jp/a/Qc51zrFBeYpbtGdGquXK6qonwL0-#317gs

30

Page 35: OpenID Introduction

(4) サービス停止発行サイトが落ちると対応サイトにログイン不可。

発行サイトが潰れると永遠に…

ドメインが第三者に渡ると悪用の恐れも。

31

Page 36: OpenID Introduction

サービス停止対策

対応サイトによっては、複数のOpenIDアカウントを登録できる。

落ちているときは別の発行サイト経由でログイン。

32

Page 37: OpenID Introduction

結論

信頼できる発行サイトを選びましょう。

33

Page 38: OpenID Introduction

おわりにOpenIDを使うとWebの認証がもっと便利になります。

機会があれば、ぜひOpenIDを使ってみてください。

そして、OpenID対応サイトを作ってみてください。

ご静聴ありがとうございました。

34