際際滷
Submit Search
OAuth 2.0の古勣とセキュリティ
?
47 likes
?
18,888 views
Hiroshi Hayakawa
Follow
OAuth 2.0の古勣とセキュリティについて。 繁議に茶した坪否をまとめたものですが、これをベ`スに氏芙の茶氏も_岸したり。
Read less
Read more
1 of 35
Download now
Downloaded 216 times
More Related Content
OAuth 2.0の古勣とセキュリティ
1.
OAuth ?2.0 ?の古勣とセキュリティ 2013/12/27
2.
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) アクセス悗鰉襪┐燭 ? ┘札ュアな圭隈で ?
6.
UX Consumerにログイン SPをxk
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辛コ`ドグラント
12.
Implicit ?Grant ? ┘ぅ鵐廛螢轡奪肇哀薀鵐硲
13.
Implicit ?Grant ? ┘ぅ鵐廛螢轡奪肇哀薀鵐硲
14.
Implicit ?Grant ? ┘ぅ鵐廛螢轡奪肇哀薀鵐硲
15.
OAuth ?2.0 ?セキュリティ貧の深]並
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佩される ?
18.
好沈(2) ?redirect_uriの個ざん
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 佩される
21.
好沈(3) ?CSRF
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に僕佚され る ?
24.
好沈(4) ?オ`プンリダイレクタ
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にログインする
27.
好沈(5) ? Implicit ?Grantにおけるト`クン音屎旋喘
28.
好沈(5) ? Implicit ?Grantにおけるト`クン音屎旋喘
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碧の譴魍え、さらなるセキュ ? ? ?リティ貧の篇朕を戻幣
31.
歌深彿創匯E
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/ ?
Download