際際滷

際際滷Share a Scribd company logo
OAuth	
 ?2.0	
 ?の古勣とセキュリティ	
2013/12/27
OAuth	
 ?2.0	
 ?古勣
OAuthとは	
?? あるサ`ビス(SPService	
 ?Provider)が戻工するAPIへのアクセ
ス悗髻∨のサ`ビス(Consumer)に嚥えるためのプロトコル	
 ?
?? アクセス慙泙慮錦襪里燭瓩離廛蹈肇灰襪任△辰董J^のた
めのプロトコルではない	
 ?
?? アイデンティティvBの光N室gが卆って羨つプロトコル
(OAuth	
 ?2.0)	
 ?
C? OpenID	
 ?Connect砕J^、フェデレ`ション	
 ?
C? SCIM坤廛蹈咼献腑縫鵐	
 ?
C? UMA坤▲セス慟酉	
 ?

☆	
 ?SCIM:	
 ?System	
 ?for	
 ?Cross-?\domain	
 ?IdenGty	
 ?Management	
 ?
☆	
 ?UMA:	
 ?User	
 ?Managed	
 ?Access
OAuthとは	
?? OAuth	
 ?2.0	
 ?は 2012定10埖にRFCに	
 ?

C? RFC	
 ?6749	
 ?-?\	
 ?The	
 ?OAuth	
 ?2.0	
 ?AuthorizaGon	
 ?Framework	
 ?
C? RFC	
 ?6750	
 ?-?\	
 ?The	
 ?OAuth	
 ?2.0	
 ?AuthorizaGon	
 ?Framework:	
 ?Bearer	
 ?Token	
 ?Usage	
 ?
C? RFC	
 ?6819	
 ?-?\	
 ?The	
 ?OAuth	
 ?2.0	
 ?Threat	
 ?Model	
 ?and	
 ?Security	
 ?ConsideraGons	
 ?

?? 方?のメジャ`なサ`ビスでg廾されている2013定7埖r泣	
 ?
C? OAuth	
 ?2.0	
 ?
??
??
??
??

Facebook	
 ?
Google	
 ?
GitHub	
 ?
LinkedIn	
 ?

C? OAuth	
 ?1.0	
 ?
?? TwiZer	
 ?
鞠繁麗	
リソ`スを鞠h┘稀`ビスを旋喘	

Resource	
 ?Owner	

サ`ビスを旋喘	

SP:	
 ?Service	
 ?Provider	
 ?
Resource	
 ?Server	
 ?+	
 ?
	
 ?	
 ?Authoriza5on	
 ?Server)	

APIを旋喘	
 ?
┘螢秋`スの函誼など	

Consumer	
 ?
Consumerに、SPのAPIへの	
 ?
(OAuth	
 ?Client)	
アクセス悗鰉襪┐燭	
 ?
┘札ュアな圭隈で	
 ?
UX	

Consumerにログイン	

SPをxk
UX	

SPにログイン	
 ?

揖吭鮫中で、	
 ?
ConsumerにSPへのアク	
 ?
セス慙泙鰉襪┐	
 ?

この箭ではeのC嬬に	
 ?
vする揖吭鮫中も竃る
OAuth	
 ?2.0のフロ`	
?? AuthorizaGon	
 ?Code	
 ?GrantJ辛コ`ドグラント	
 ?

C? client_secretを蜘畜にできる┌愁螢乂`スエンジニアリングされる
裡がないConsumerの栽に旋喘する	
 ?
?? つまりWebアプリケ`ションのこと	

?? Implicit	
 ?Grant┘ぅ鵐廛螢轡奪肇哀薀鵐硲	
 ?

C? client_secretを蜘畜にできないクライアント┌愁螢乂`スエンジニア
リングの裡があるConsumerの栽に旋喘する	
 ?
?? ブラウザ貧でg佩されるJavaScript、Flash...アプリケ`ション	
 ?
?? モバイルアプリ	
 ?

C? SCIMの猟}では、Consumerがファイアウォ`ル坪に贋壓する
栽にも旋喘される
AuthorizaGon	
 ?Code	
 ?Grant	
 ?
J辛コ`ドグラント
AuthorizaGon	
 ?Code	
 ?Grant	
 ?
J辛コ`ドグラント
AuthorizaGon	
 ?Code	
 ?Grant	
 ?
J辛コ`ドグラント
Implicit	
 ?Grant	
 ?
┘ぅ鵐廛螢轡奪肇哀薀鵐硲
Implicit	
 ?Grant	
 ?
┘ぅ鵐廛螢轡奪肇哀薀鵐硲
Implicit	
 ?Grant	
 ?
┘ぅ鵐廛螢轡奪肇哀薀鵐硲
OAuth	
 ?2.0	
 ?セキュリティ貧の深]並
好沈(1)	
 ?Consumerの臨	
?? 好鎚峽	
 ?
C? Consumerの編^の音笋あるSPを粧う	
 ?
C? 好柘辰Consumerを羨てて、屎輝なConsumerとしてSPにJ辛
ト`クンをk佩させる	
 ?

?? 貨	
 ?
C? AuthorizaGon	
 ?Code	
 ?Grantの栽	
 ?

?? 並念にConsumerにしクレデンシャルClient	
 ?Secret)をk佩し、アクセス
ト`クンk佩念にConsumerをJ^する	
 ?

C? Implicit	
 ?Grantの栽	
 ?
?? アクセスト`クンリクエストで聞喘するredirect_uriを並念にSPに鞠hして
おき、アクセスト`クンk佩念にredirect_uriが屎輝であることを_Jす
る(MUST)	
 ?
?? Resource	
 ?OwnerによるConsumerの_Jを佩うなどのステップをOけて
も措い	
 ?
好沈(2)	
 ?redirect_uriの個ざん	
?? 好鎚峽	
 ?
C? 鵑劉h廠	
 ?
?? redirect_uriの並念鞠hは佩わないJ辛リクエスト嶄のredirect_uriパラメ`タ
をつかって、redirect_uriを局す	
 ?
?? ●	
 ?つまり、フロ`はAuthorizaGon	
 ?Code	
 ?Grant	
 ?
	
 ?	
 ?	
 ?	
 ?Implicit	
 ?Grantでは、redirect_uriの並念鞠hは駅	
 ?

C? 返	
 ?
1)?
2)?
3)?
4)?
5)?

好蔦澆蓮屎輝なConsumerを聞ってJ辛リクエストをk佩し、そのURIを函誼
する	
 ?
1)のURIのredirect_uriパラメ`タをFサイトのURIに餓し紋えたものを喘吭す
る	
 ?
1)のURIのredirect_uriパラメ`タを隠贋しておく	
 ?
好蔦澆蓮瓜墾宀を_して	
 ?2)のURIのリンクをクリックさせる	
 ?
★瓜墾宀はSPとJ^、J辛荷恬を佩い、Fサイトにリダイレクトされる	
 ?
Fサイトは、3)で隠隔した屎、redirect_uriを聞って、アクセスト`クンリクエ
ストをk佩する	
 ?
★Fサイトにしてアクセスト`クンがk佩される	
 ?
好沈(2)	
 ?redirect_uriの個ざん
好沈(2)	
 ?redirect_uriの個ざん	
?? 貨	
 ?
C? SPで、J辛リクエスト嶄のredirect_uriと、アクセスト`
クンリクエスト嶄のredirect_uriが匯崑することを編^
する(MUST)	
 ?
C? redirect_uriがSPに並念鞠hされる栽(SHOULD)、光
リクエスト嶄のredirect_uriと、鞠hされたredirect_uri
の匯崑を_Jすることも嗤	
 ?

?? RFC貧の輝峰	
 ?
C? 10.6.	
 ?AuthorizaGon	
 ?Code	
 ?RedirecGon	
 ?URI	
 ?ManipulaGon
好沈(3)	
 ?CSRF	
?? 好鎚峽	
 ?
C? 返	
 ?
1)? 好蔦澆蓮⇒┳の返で、SPでのJ辛までを佩う	
 ?
2)? J辛瘁のリダイレクト枠のURLを函誼して、瓜墾宀にアク
セスさせる	
 ?

★ 	
 ?好蔦澆燐J辛ト`クンを瓜墾宀に聞わせた彜Bで、
Consumerにアクセスさせる	
 ?
★	
 ?Consumerを荷恬すると、好蔦澆箸靴SPのAPIがg
佩される
好沈(3)	
 ?CSRF
好沈(3)	
 ?CSRF	
?? 貨	
 ?
C? ^state ̄パラメ`タにより、J辛リクエストとアクセスト`
クンリクエストが揖じセッションで佩われていることを
チェックする	
 ?

?? RFC貧の輝峰	
 ?
C? 10.12.	
 ?Cross-?\Site	
 ?Request	
 ?Forgery	
 ?

?? 歌深	
 ?
C? 仝OAuthのセキュリティ晒を朕議とする碧を
秘しました々hZp://alpha.mixi.co.jp/2013/12020/	
 ?
好沈(4)	
 ?オ`プンリダイレクタ	
?? 好鎚峽	
 ?
C? 鵑劉h廠	
 ?
?? Consumerの編^をredirect_uriの並念鞠hに卆贋している	
 ?
?? redirect_uriの鞠hをURIの匯何のみでS辛している	
 ?

C? 返	
 ?
1)? 好蔦澆蓮redirect_uriの匯何を、屎輝なConsumerと慌嗤する
屎輝來のチェックを宥^できるようなConsumerを恬撹する	
 ?
2)? redirect_uriを好柘辰ConsumerのURIに餓し紋えた、J辛リク
エストURIを恬撹する	
 ?
3)? 好蔦澆蓮瓜墾宀を_して	
 ?2)のURIのリンクをクリックさせる	
 ?
4)? 瓜墾宀はJ^、J辛荷恬を佩う	
 ?
★ J辛コ`ド or	
 ?アクセスト`クンが好柘辰Consumerに僕佚され
る	
 ?
好沈(4)	
 ?オ`プンリダイレクタ
好沈(4)	
 ?オ`プンリダイレクタ	
?? 貨	
 ?
C? AuthorizaGon	
 ?Code	
 ?Grantの栽	
 ?
?? client_id	
 ?/	
 ?client_secretを喘いたJ^など、redirect_uri
に卆贋しないConsumer編^を佩う	
 ?

C? Implicit	
 ?Grantの栽	
 ?
?? 並念鞠hするredirect_uriとして、URI畠悶を喘いる	
 ?

?? RFC貧の輝峰	
 ?
C? 10.15.	
 ?	
 ?オ`プンリダイレクタ
好沈(5)	
 ?
Implicit	
 ?Grantにおけるト`クン音屎旋喘	
?? 好鎚峽	
 ?
C? 鵑劉h廠	
 ?
?? Implicit	
 ?Grantを旋喘しているConsumerで、OAuth	
 ?2.0のアクセスト`クン
をリソ`スオ`ナ`のJ^に聞喘しているもの	
 ?

C? 返	
 ?

1)? 好蔦澆蓮好鵑Consumerと揖じSPを旋喘するConsumer┣師
Consumerを恬撹する	
 ?
2)? 瓜墾宀が音屎Consumerにアクセスし、これにするアクセスト`クン
をk佩する	
 ?
3)? 好蔦澆蓮2)のアクセスト`クンを函誼する	
 ?
4)? 好蔦澆蓮好鵑Consumerにアクセスし、SPでのJ^?J辛荷
恬を佩う	
 ?
5)? 好鵑ConsumerにリダイレクトされるHに、リクエスト嶄のアクセ
スト`クンを2)で函誼したものに餓し紋える	
 ?
★ 好蔦澆蓮瓜墾宀として、好鵑Consumerにログインする
好沈(5)	
 ?
Implicit	
 ?Grantにおけるト`クン音屎旋喘
好沈(5)	
 ?
Implicit	
 ?Grantにおけるト`クン音屎旋喘
好沈(5)	
 ?
Implicit	
 ?Grantにおけるト`クン音屎旋喘	
?? 貨	
 ?
C? OAuth	
 ?2.0のアクセスト`クンを、J^に聞わない	
 ?
★	
 ?OAuthはJ辛のプロトコル。J^にはOpenIDを聞喘する	
 ?

?? RFC貧の輝峰	
 ?

C? 10.16.	
 ?	
 ?インプリシットフロ`におけるリソ`スオ`ナ`なり
すましのためのアクセスト`クン音屎旋喘	
 ?

?? 歌深	
 ?
C? 仝gなる OAuth	
 ?2.0	
 ?をJ^に聞うと、が宥れるほどのど
でかいセキュリティ`?ホ`ルができる々
hZp://www.sakimura.org/2012/02/1487/	
 ?
麿	
?? ここまでに幣したもの參翌にも、セキュリティ貧の深
]並は寄弌謹瓷にわたる	
 ?
?? g廾宀はRFCを歌孚すべし	
 ?
C? 仝The	
 ?OAuth	
 ?2.0	
 ?AuthorizaGon	
 ?Protocol	
 ?-?\	
 ?RFC	
 ?6749	
 ?10.	
 ?	
 ?
Security	
 ?ConsideraGons々	
 ?
	
 ?	
 ?★	
 ?Oauth	
 ?2.0碧が協める深]並	
 ?
C? 仝OAuth	
 ?2.0	
 ?Threat	
 ?Model	
 ?and	
 ?Security	
 ?ConsideraGons	
 ?-?\	
 ?
RFC	
 ?6819々	
 ?
	
 ?	
 ?★ 	
 ?Oauth	
 ?2.0碧の譴魍え、さらなるセキュ	
 ?
	
 ? 	
 ?リティ貧の篇朕を戻幣
歌深彿創匯E
OAuth	
 ?2.0	
 ?歌深Y創	
?? 秘T	
 ?
C? @IT	
 ?仝デジタル?アイデンティティ室g恷仟嗜髻好
リ`ズ	
 ?
?? 仝及1指 仝OAuth々の児云嘛を岑る々	
 ?
hZp://www.atmarkit.co.jp/fsecurity/rensai/
digid01/01.html	
 ?
?? 仝及2指 RFCとなった仝OAuth	
 ?2.0々DDその勣泣は拭	
 ?
hZp://www.atmarkit.co.jp/ait/arGcles/1209/10/
news105.html	
 ?
OAuth	
 ?2.0	
 ?歌深Y創	
?? k婢「	
 ?
C? OAuth	
 ?2.0	
 ?のRFCの晩云Z鍬U	
 ?

?? 仝The	
 ?OAuth	
 ?2.0	
 ?AuthorizaGon	
 ?Protocol	
 ?-?\	
 ?RFC	
 ?6749々	
 ?
hZp://openid-?\foundaGon-?\japan.github.com/rfc6749.ja.html	
 ?
?? 仝The	
 ?OAuth	
 ?2.0	
 ?AuthorizaGon	
 ?Framework:	
 ?Bearer	
 ?Token	
 ?
Usage	
 ?-?\	
 ?RFC	
 ?6750々	
 ?
hZp://openid-?\foundaGon-?\japan.github.com/rfc6750.ja.html	
 ?
?? 仝OAuth	
 ?2.0	
 ?Threat	
 ?Model	
 ?and	
 ?Security	
 ?ConsideraGons	
 ?-?\	
 ?RFC	
 ?
6819々	
 ?
hZp://openid-?\foundaGon-?\japan.github.com/rfc6819.ja.html	
 ?

C? 汐	
 ?
?? 仝Gehng	
 ?Started	
 ?With	
 ?OAuth	
 ?2.0	
 ?/	
 ?Ryan	
 ?Boyd广々	
 ?
hZp://www.amazon.co.jp/dp/1449311601/	
 ?
OAuth	
 ?2.0	
 ?歌深Y創	
?? k婢「	
 ?
C? 麼勣サ`ビスのAPIドキュメント	
 ?
?? Facebook	
 ?
hZps://developers.facebook.com/docs/authenGcaGon/	
 ?
?? Google	
 ?
hZps://developers.google.com/accounts/docs/OAuth2	
 ?
?? GitHub	
 ?
hZp://developer.github.com/v3/oauth/	
 ?
?? LinedIn	
 ?
hZps://developer.linkedin.com/documents/authenGcaGon	
 ?
?? TwiZer(OAuth	
 ?1.0)	
 ?
hZps://dev.twiZer.com/docs/auth/oauth	
 ?
OAuth	
 ?2.0	
?? マニアック	
 ?
C? 碧貨協や、g廾にvわっている繁たちのブログ	
?? 仝OpenID	
 ?ファウンデ`ション?ジャパン々OpenID	
 ?ファウ
ンデ`ション?ジャパンの巷塀ブログ	
 ?
hZp://blog.openid.or.jp/	
 ?
?? 仝r-?\weblife々(mixiのエンジニア	
 ?
hZp://d.hatena.ne.jp/ritou/	
 ?
?? 仝.Nat	
 ?Zone々致忽OpenID	
 ?FoundaGon尖並L
hZp://www.sakimura.org/	
 ?

More Related Content

OAuth 2.0の古勣とセキュリティ

  • 3. OAuthとは ?? あるサ`ビス(SPService ?Provider)が戻工するAPIへのアクセ ス悗髻∨のサ`ビス(Consumer)に嚥えるためのプロトコル ? ?? アクセス慙泙慮錦襪里燭瓩離廛蹈肇灰襪任△辰董J^のた めのプロトコルではない ? ?? アイデンティティvBの光N室gが卆って羨つプロトコル (OAuth ?2.0) ? C? OpenID ?Connect砕J^、フェデレ`ション ? C? SCIM坤廛蹈咼献腑縫鵐 ? C? UMA坤▲セス慟酉 ? ☆ ?SCIM: ?System ?for ?Cross-?\domain ?IdenGty ?Management ? ☆ ?UMA: ?User ?Managed ?Access
  • 4. OAuthとは ?? OAuth ?2.0 ?は 2012定10埖にRFCに ? C? RFC ?6749 ?-?\ ?The ?OAuth ?2.0 ?AuthorizaGon ?Framework ? C? RFC ?6750 ?-?\ ?The ?OAuth ?2.0 ?AuthorizaGon ?Framework: ?Bearer ?Token ?Usage ? C? RFC ?6819 ?-?\ ?The ?OAuth ?2.0 ?Threat ?Model ?and ?Security ?ConsideraGons ? ?? 方?のメジャ`なサ`ビスでg廾されている2013定7埖r泣 ? C? OAuth ?2.0 ? ?? ?? ?? ?? Facebook ? Google ? GitHub ? LinkedIn ? C? OAuth ?1.0 ? ?? TwiZer ?
  • 5. 鞠繁麗 リソ`スを鞠h┘稀`ビスを旋喘 Resource ?Owner サ`ビスを旋喘 SP: ?Service ?Provider ? Resource ?Server ?+ ? ? ?Authoriza5on ?Server) APIを旋喘 ? ┘螢秋`スの函誼など Consumer ? Consumerに、SPのAPIへの ? (OAuth ?Client) アクセス悗鰉襪┐燭 ? ┘札ュアな圭隈で ?
  • 7. UX SPにログイン ? 揖吭鮫中で、 ? ConsumerにSPへのアク ? セス慙泙鰉襪┐ ? この箭ではeのC嬬に ? vする揖吭鮫中も竃る
  • 8. OAuth ?2.0のフロ` ?? AuthorizaGon ?Code ?GrantJ辛コ`ドグラント ? C? client_secretを蜘畜にできる┌愁螢乂`スエンジニアリングされる 裡がないConsumerの栽に旋喘する ? ?? つまりWebアプリケ`ションのこと ?? Implicit ?Grant┘ぅ鵐廛螢轡奪肇哀薀鵐硲 ? C? client_secretを蜘畜にできないクライアント┌愁螢乂`スエンジニア リングの裡があるConsumerの栽に旋喘する ? ?? ブラウザ貧でg佩されるJavaScript、Flash...アプリケ`ション ? ?? モバイルアプリ ? C? SCIMの猟}では、Consumerがファイアウォ`ル坪に贋壓する 栽にも旋喘される
  • 9. AuthorizaGon ?Code ?Grant ? J辛コ`ドグラント
  • 10. AuthorizaGon ?Code ?Grant ? J辛コ`ドグラント
  • 11. AuthorizaGon ?Code ?Grant ? J辛コ`ドグラント
  • 16. 好沈(1) ?Consumerの臨 ?? 好鎚峽 ? C? Consumerの編^の音笋あるSPを粧う ? C? 好柘辰Consumerを羨てて、屎輝なConsumerとしてSPにJ辛 ト`クンをk佩させる ? ?? 貨 ? C? AuthorizaGon ?Code ?Grantの栽 ? ?? 並念にConsumerにしクレデンシャルClient ?Secret)をk佩し、アクセス ト`クンk佩念にConsumerをJ^する ? C? Implicit ?Grantの栽 ? ?? アクセスト`クンリクエストで聞喘するredirect_uriを並念にSPに鞠hして おき、アクセスト`クンk佩念にredirect_uriが屎輝であることを_Jす る(MUST) ? ?? Resource ?OwnerによるConsumerの_Jを佩うなどのステップをOけて も措い ?
  • 17. 好沈(2) ?redirect_uriの個ざん ?? 好鎚峽 ? C? 鵑劉h廠 ? ?? redirect_uriの並念鞠hは佩わないJ辛リクエスト嶄のredirect_uriパラメ`タ をつかって、redirect_uriを局す ? ?? ● ?つまり、フロ`はAuthorizaGon ?Code ?Grant ? ? ? ? ?Implicit ?Grantでは、redirect_uriの並念鞠hは駅 ? C? 返 ? 1)? 2)? 3)? 4)? 5)? 好蔦澆蓮屎輝なConsumerを聞ってJ辛リクエストをk佩し、そのURIを函誼 する ? 1)のURIのredirect_uriパラメ`タをFサイトのURIに餓し紋えたものを喘吭す る ? 1)のURIのredirect_uriパラメ`タを隠贋しておく ? 好蔦澆蓮瓜墾宀を_して ?2)のURIのリンクをクリックさせる ? ★瓜墾宀はSPとJ^、J辛荷恬を佩い、Fサイトにリダイレクトされる ? Fサイトは、3)で隠隔した屎、redirect_uriを聞って、アクセスト`クンリクエ ストをk佩する ? ★Fサイトにしてアクセスト`クンがk佩される ?
  • 19. 好沈(2) ?redirect_uriの個ざん ?? 貨 ? C? SPで、J辛リクエスト嶄のredirect_uriと、アクセスト` クンリクエスト嶄のredirect_uriが匯崑することを編^ する(MUST) ? C? redirect_uriがSPに並念鞠hされる栽(SHOULD)、光 リクエスト嶄のredirect_uriと、鞠hされたredirect_uri の匯崑を_Jすることも嗤 ? ?? RFC貧の輝峰 ? C? 10.6. ?AuthorizaGon ?Code ?RedirecGon ?URI ?ManipulaGon
  • 20. 好沈(3) ?CSRF ?? 好鎚峽 ? C? 返 ? 1)? 好蔦澆蓮⇒┳の返で、SPでのJ辛までを佩う ? 2)? J辛瘁のリダイレクト枠のURLを函誼して、瓜墾宀にアク セスさせる ? ★ ?好蔦澆燐J辛ト`クンを瓜墾宀に聞わせた彜Bで、 Consumerにアクセスさせる ? ★ ?Consumerを荷恬すると、好蔦澆箸靴SPのAPIがg 佩される
  • 22. 好沈(3) ?CSRF ?? 貨 ? C? ^state ̄パラメ`タにより、J辛リクエストとアクセスト` クンリクエストが揖じセッションで佩われていることを チェックする ? ?? RFC貧の輝峰 ? C? 10.12. ?Cross-?\Site ?Request ?Forgery ? ?? 歌深 ? C? 仝OAuthのセキュリティ晒を朕議とする碧を 秘しました々hZp://alpha.mixi.co.jp/2013/12020/ ?
  • 23. 好沈(4) ?オ`プンリダイレクタ ?? 好鎚峽 ? C? 鵑劉h廠 ? ?? Consumerの編^をredirect_uriの並念鞠hに卆贋している ? ?? redirect_uriの鞠hをURIの匯何のみでS辛している ? C? 返 ? 1)? 好蔦澆蓮redirect_uriの匯何を、屎輝なConsumerと慌嗤する 屎輝來のチェックを宥^できるようなConsumerを恬撹する ? 2)? redirect_uriを好柘辰ConsumerのURIに餓し紋えた、J辛リク エストURIを恬撹する ? 3)? 好蔦澆蓮瓜墾宀を_して ?2)のURIのリンクをクリックさせる ? 4)? 瓜墾宀はJ^、J辛荷恬を佩う ? ★ J辛コ`ド or ?アクセスト`クンが好柘辰Consumerに僕佚され る ?
  • 25. 好沈(4) ?オ`プンリダイレクタ ?? 貨 ? C? AuthorizaGon ?Code ?Grantの栽 ? ?? client_id ?/ ?client_secretを喘いたJ^など、redirect_uri に卆贋しないConsumer編^を佩う ? C? Implicit ?Grantの栽 ? ?? 並念鞠hするredirect_uriとして、URI畠悶を喘いる ? ?? RFC貧の輝峰 ? C? 10.15. ? ?オ`プンリダイレクタ
  • 26. 好沈(5) ? Implicit ?Grantにおけるト`クン音屎旋喘 ?? 好鎚峽 ? C? 鵑劉h廠 ? ?? Implicit ?Grantを旋喘しているConsumerで、OAuth ?2.0のアクセスト`クン をリソ`スオ`ナ`のJ^に聞喘しているもの ? C? 返 ? 1)? 好蔦澆蓮好鵑Consumerと揖じSPを旋喘するConsumer┣師 Consumerを恬撹する ? 2)? 瓜墾宀が音屎Consumerにアクセスし、これにするアクセスト`クン をk佩する ? 3)? 好蔦澆蓮2)のアクセスト`クンを函誼する ? 4)? 好蔦澆蓮好鵑Consumerにアクセスし、SPでのJ^?J辛荷 恬を佩う ? 5)? 好鵑ConsumerにリダイレクトされるHに、リクエスト嶄のアクセ スト`クンを2)で函誼したものに餓し紋える ? ★ 好蔦澆蓮瓜墾宀として、好鵑Consumerにログインする
  • 29. 好沈(5) ? Implicit ?Grantにおけるト`クン音屎旋喘 ?? 貨 ? C? OAuth ?2.0のアクセスト`クンを、J^に聞わない ? ★ ?OAuthはJ辛のプロトコル。J^にはOpenIDを聞喘する ? ?? RFC貧の輝峰 ? C? 10.16. ? ?インプリシットフロ`におけるリソ`スオ`ナ`なり すましのためのアクセスト`クン音屎旋喘 ? ?? 歌深 ? C? 仝gなる OAuth ?2.0 ?をJ^に聞うと、が宥れるほどのど でかいセキュリティ`?ホ`ルができる々 hZp://www.sakimura.org/2012/02/1487/ ?
  • 30. 麿 ?? ここまでに幣したもの參翌にも、セキュリティ貧の深 ]並は寄弌謹瓷にわたる ? ?? g廾宀はRFCを歌孚すべし ? C? 仝The ?OAuth ?2.0 ?AuthorizaGon ?Protocol ?-?\ ?RFC ?6749 ?10. ? ? Security ?ConsideraGons々 ? ? ?★ ?Oauth ?2.0碧が協める深]並 ? C? 仝OAuth ?2.0 ?Threat ?Model ?and ?Security ?ConsideraGons ?-?\ ? RFC ?6819々 ? ? ?★ ?Oauth ?2.0碧の譴魍え、さらなるセキュ ? ? ?リティ貧の篇朕を戻幣
  • 32. OAuth ?2.0 ?歌深Y創 ?? 秘T ? C? @IT ?仝デジタル?アイデンティティ室g恷仟嗜髻好 リ`ズ ? ?? 仝及1指 仝OAuth々の児云嘛を岑る々 ? hZp://www.atmarkit.co.jp/fsecurity/rensai/ digid01/01.html ? ?? 仝及2指 RFCとなった仝OAuth ?2.0々DDその勣泣は拭 ? hZp://www.atmarkit.co.jp/ait/arGcles/1209/10/ news105.html ?
  • 33. OAuth ?2.0 ?歌深Y創 ?? k婢「 ? C? OAuth ?2.0 ?のRFCの晩云Z鍬U ? ?? 仝The ?OAuth ?2.0 ?AuthorizaGon ?Protocol ?-?\ ?RFC ?6749々 ? hZp://openid-?\foundaGon-?\japan.github.com/rfc6749.ja.html ? ?? 仝The ?OAuth ?2.0 ?AuthorizaGon ?Framework: ?Bearer ?Token ? Usage ?-?\ ?RFC ?6750々 ? hZp://openid-?\foundaGon-?\japan.github.com/rfc6750.ja.html ? ?? 仝OAuth ?2.0 ?Threat ?Model ?and ?Security ?ConsideraGons ?-?\ ?RFC ? 6819々 ? hZp://openid-?\foundaGon-?\japan.github.com/rfc6819.ja.html ? C? 汐 ? ?? 仝Gehng ?Started ?With ?OAuth ?2.0 ?/ ?Ryan ?Boyd广々 ? hZp://www.amazon.co.jp/dp/1449311601/ ?
  • 34. OAuth ?2.0 ?歌深Y創 ?? k婢「 ? C? 麼勣サ`ビスのAPIドキュメント ? ?? Facebook ? hZps://developers.facebook.com/docs/authenGcaGon/ ? ?? Google ? hZps://developers.google.com/accounts/docs/OAuth2 ? ?? GitHub ? hZp://developer.github.com/v3/oauth/ ? ?? LinedIn ? hZps://developer.linkedin.com/documents/authenGcaGon ? ?? TwiZer(OAuth ?1.0) ? hZps://dev.twiZer.com/docs/auth/oauth ?
  • 35. OAuth ?2.0 ?? マニアック ? C? 碧貨協や、g廾にvわっている繁たちのブログ ?? 仝OpenID ?ファウンデ`ション?ジャパン々OpenID ?ファウ ンデ`ション?ジャパンの巷塀ブログ ? hZp://blog.openid.or.jp/ ? ?? 仝r-?\weblife々(mixiのエンジニア ? hZp://d.hatena.ne.jp/ritou/ ? ?? 仝.Nat ?Zone々致忽OpenID ?FoundaGon尖並L hZp://www.sakimura.org/ ?