SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
OAuth	
  2.0	
  の概要とセキュリティ	
2013/12/27
OAuth	
  2.0	
  概要
OAuthとは	
•  あるサービス(SP:Service	
  Provider)が提供するAPIへのアクセ
ス権を、他のサービス(Consumer)に与えるためのプロトコル	
  
•  アクセス権限の付与のためのプロトコルであって、認証のた
めのプロトコルではない	
  
•  アイデンティティ関連の各種技術が依って立つプロトコル
(OAuth	
  2.0)	
  
–  OpenID	
  Connect:認証、フェデレーション	
  
–  SCIM:プロビジョニング	
  
–  UMA:アクセス権制御	
  

※	
  SCIM:	
  System	
  for	
  Cross-­‐domain	
  IdenGty	
  Management	
  
※	
  UMA:	
  User	
  Managed	
  Access
OAuthとは	
•  OAuth	
  2.0	
  は 2012年10月にRFCに	
  

–  RFC	
  6749	
  -­‐	
  The	
  OAuth	
  2.0	
  AuthorizaGon	
  Framework	
  
–  RFC	
  6750	
  -­‐	
  The	
  OAuth	
  2.0	
  AuthorizaGon	
  Framework:	
  Bearer	
  Token	
  Usage	
  
–  RFC	
  6819	
  -­‐	
  The	
  OAuth	
  2.0	
  Threat	
  Model	
  and	
  Security	
  ConsideraGons	
  

•  数々のメジャーなサービスで実装されている(2013年7月時点)	
  
–  OAuth	
  2.0	
  
• 
• 
• 
• 

Facebook	
  
Google	
  
GitHub	
  
LinkedIn	
  

–  OAuth	
  1.0	
  
•  TwiZer	
  
登場人物	
リソースを登録(サービスを利用)	

Resource	
  Owner	

サービスを利用	

SP:	
  Service	
  Provider	
  
(Resource	
  Server	
  +	
  
	
  	
  Authoriza5on	
  Server)	

APIを利用	
  
(リソースの取得など)	

Consumer	
  
Consumerに、SPのAPIへの	
  
(OAuth	
  Client)	
アクセス権を与えたい	
  
(セキュアな方法で)	
  
UX	

Consumerにログイン	

SPを選択
UX	

SPにログイン	
  

同意画面で、	
  
ConsumerにSPへのアク	
  
セス権限を与える	
  

この例では別の機能に	
  
関する同意画面も出る
OAuth	
  2.0のフロー	
•  AuthorizaGon	
  Code	
  Grant(認可コードグラント)	
  

–  client_secretを秘密にできる(=リバースエンジニアリングされる
危険がない)Consumerの場合に利用する	
  
•  つまりWebアプリケーションのこと	

•  Implicit	
  Grant(インプリシットグラント)	
  

–  client_secretを秘密にできないクライアント(=リバースエンジニア
リングの危険がある)Consumerの場合に利用する	
  
•  ブラウザ上で実行される(JavaScript、Flash...)アプリケーション	
  
•  モバイルアプリ	
  

–  SCIMの文脈では、Consumerがファイアウォール内に存在する場
合にも利用される
AuthorizaGon	
  Code	
  Grant	
  
(認可コードグラント)
AuthorizaGon	
  Code	
  Grant	
  
(認可コードグラント)
AuthorizaGon	
  Code	
  Grant	
  
(認可コードグラント)
Implicit	
  Grant	
  
(インプリシットグラント)
Implicit	
  Grant	
  
(インプリシットグラント)
Implicit	
  Grant	
  
(インプリシットグラント)
OAuth	
  2.0	
  セキュリティ上の考慮事項
攻撃例(1)	
  Consumerの偽装	
•  攻撃手法	
  
–  Consumerの検証の不備があるSPを狙う	
  
–  攻撃用のConsumerを立てて、正当なConsumerとしてSPに認可
トークンを発行させる	
  

•  対策	
  
–  AuthorizaGon	
  Code	
  Grantの場合	
  

•  事前にConsumerに対しクレデンシャル(Client	
  Secret)を発行し、アクセス
トークン発行前にConsumerを認証する	
  

–  Implicit	
  Grantの場合	
  
•  アクセストークンリクエストで使用するredirect_uriを事前にSPに登録して
おき、アクセストークン発行前にredirect_uriが正当であることを確認す
る(MUST)	
  
•  Resource	
  OwnerによるConsumerの確認を行うなどのステップを設けて
も良い	
  
攻撃例(2)	
  redirect_uriの改ざん	
•  攻撃手法	
  
–  対象の環境	
  
•  redirect_uriの事前登録は行わない(認可リクエスト中のredirect_uriパラメータ
をつかって、redirect_uriを渡す)	
  
•  ↑	
  つまり、フローはAuthorizaGon	
  Code	
  Grant	
  
	
  	
  	
  	
  (Implicit	
  Grantでは、redirect_uriの事前登録は必須)	
  

–  手順	
  
1) 
2) 
3) 
4) 
5) 

攻撃者は、正当なConsumerを使って認可リクエストを発行し、そのURIを取得
する	
  
1)のURIのredirect_uriパラメータを罠サイトのURIに差し替えたものを用意す
る	
  
1)のURIのredirect_uriパラメータを保存しておく	
  
攻撃者は、被害者を騙して	
  2)のURIのリンクをクリックさせる	
  
→被害者はSPと認証、認可操作を行い、罠サイトにリダイレクトされる	
  
罠サイトは、3)で保持した正規のredirect_uriを使って、アクセストークンリクエ
ストを発行する	
  
→罠サイトに対してアクセストークンが発行される	
  
攻撃例(2)	
  redirect_uriの改ざん
攻撃例(2)	
  redirect_uriの改ざん	
•  対策	
  
–  SPで、認可リクエスト中のredirect_uriと、アクセストー
クンリクエスト中のredirect_uriが一致することを検証
する(MUST)	
  
–  redirect_uriがSPに事前登録される場合(SHOULD)、各
リクエスト中のredirect_uriと、登録されたredirect_uri
の一致を確認することも有効	
  

•  RFC上の該当記述	
  
–  10.6.	
  AuthorizaGon	
  Code	
  RedirecGon	
  URI	
  ManipulaGon
攻撃例(3)	
  CSRF	
•  攻撃手法	
  
–  手順	
  
1)  攻撃者は、通常の手順で、SPでの認可までを行う	
  
2)  認可後のリダイレクト先のURLを取得して、被害者にアク
セスさせる	
  

→ 	
  攻撃者の認可トークンを被害者に使わせた状態で、
Consumerにアクセスさせる	
  
→	
  Consumerを操作すると、攻撃者としてSPのAPIが実
行される
攻撃例(3)	
  CSRF
攻撃例(3)	
  CSRF	
•  対策	
  
–  “state”パラメータにより、認可リクエストとアクセストー
クンリクエストが同じセッションで行われていることを
チェックする	
  

•  RFC上の該当記述	
  
–  10.12.	
  Cross-­‐Site	
  Request	
  Forgery	
  

•  参考	
  
–  「OAuthのセキュリティ強化を目的とする拡張仕様を導
入しました」hZp://alpha.mixi.co.jp/2013/12020/	
  
攻撃例(4)	
  オープンリダイレクタ	
•  攻撃手法	
  
–  対象の環境	
  
•  Consumerの検証をredirect_uriの事前登録に依存している	
  
•  redirect_uriの登録をURIの一部のみで許可している	
  

–  手順	
  
1)  攻撃者は、redirect_uriの一部を、正当なConsumerと共有する
(正当性のチェックを通過できる)ようなConsumerを作成する	
  
2)  redirect_uriを攻撃用のConsumerのURIに差し替えた、認可リク
エストURIを作成する	
  
3)  攻撃者は、被害者を騙して	
  2)のURIのリンクをクリックさせる	
  
4)  被害者は認証、認可操作を行う	
  
→ 認可コード or	
  アクセストークンが攻撃用のConsumerに送信され
る	
  
攻撃例(4)	
  オープンリダイレクタ
攻撃例(4)	
  オープンリダイレクタ	
•  対策	
  
–  AuthorizaGon	
  Code	
  Grantの場合	
  
•  client_id	
  /	
  client_secretを用いた認証など、redirect_uri
に依存しないConsumer検証を行う	
  

–  Implicit	
  Grantの場合	
  
•  事前登録するredirect_uriとして、URI全体を用いる	
  

•  RFC上の該当記述	
  
–  10.15.	
  	
  オープンリダイレクタ
攻撃例(5)	
  
Implicit	
  Grantにおけるトークン不正利用	
•  攻撃手法	
  
–  対象の環境	
  
•  Implicit	
  Grantを利用しているConsumerで、OAuth	
  2.0のアクセストークン
をリソースオーナーの認証に使用しているもの	
  

–  手順	
  

1)  攻撃者は、攻撃対象のConsumerと同じSPを利用するConsumer(不正
Consumer)を作成する	
  
2)  被害者が不正Consumerにアクセスし、これに対するアクセストークン
を発行する	
  
3)  攻撃者は、2)のアクセストークンを取得する	
  
4)  攻撃者は、攻撃対象のConsumerにアクセスし、SPでの認証・認可操
作を行う	
  
5)  攻撃対象のConsumerにリダイレクトされる際に、リクエスト中のアクセ
ストークンを2)で取得したものに差し替える	
  
→ 攻撃者は、被害者として、攻撃対象のConsumerにログインする
攻撃例(5)	
  
Implicit	
  Grantにおけるトークン不正利用
攻撃例(5)	
  
Implicit	
  Grantにおけるトークン不正利用
攻撃例(5)	
  
Implicit	
  Grantにおけるトークン不正利用	
•  対策	
  
–  OAuth	
  2.0のアクセストークンを、認証に使わない	
  
→	
  OAuthは認可のプロトコル。認証にはOpenIDを使用する	
  

•  RFC上の該当記述	
  

–  10.16.	
  	
  インプリシットフローにおけるリソースオーナーなり
すましのためのアクセストークン不正利用	
  

•  参考	
  
–  「単なる OAuth	
  2.0	
  を認証に使うと、車が通れるほどのど
でかいセキュリティー・ホールができる」
hZp://www.sakimura.org/2012/02/1487/	
  
他	
•  ここまでに示したもの以外にも、セキュリティ上の考
慮事項は大小多岐にわたる	
  
•  実装者はRFCを参照すべし	
  
–  「The	
  OAuth	
  2.0	
  AuthorizaGon	
  Protocol	
  -­‐	
  RFC	
  6749	
  10.	
  	
  
Security	
  ConsideraGons」	
  
	
  	
  →	
  Oauth	
  2.0仕様が定める考慮事項	
  
–  「OAuth	
  2.0	
  Threat	
  Model	
  and	
  Security	
  ConsideraGons	
  -­‐	
  
RFC	
  6819」	
  
	
  	
  → 	
  Oauth	
  2.0仕様の範囲を超え、さらなるセキュ	
  
	
   	
  リティ上の検討項目を提示
参考資料一覧
OAuth	
  2.0	
  参考資料	
•  入門編	
  
–  @IT	
  「デジタル・アイデンティティ技術最新動向」シ
リーズ	
  
•  「第1回 「OAuth」の基本動作を知る」	
  
hZp://www.atmarkit.co.jp/fsecurity/rensai/
digid01/01.html	
  
•  「第2回 RFCとなった「OAuth	
  2.0」――その要点は?」	
  
hZp://www.atmarkit.co.jp/ait/arGcles/1209/10/
news105.html	
  
OAuth	
  2.0	
  参考資料	
•  発展編①	
  
–  OAuth	
  2.0	
  のRFCの日本語翻訳	
  

•  「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	
  

–  書籍	
  
•  「Gehng	
  Started	
  With	
  OAuth	
  2.0	
  /	
  Ryan	
  Boyd(著)」	
  
hZp://www.amazon.co.jp/dp/1449311601/	
  
OAuth	
  2.0	
  参考資料	
•  発展編②	
  
–  主要サービスの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	
•  マニアック編	
  
–  仕様策定や、実装に関わっている人たちのブログ	
•  「OpenID	
  ファウンデーション・ジャパン」(OpenID	
  ファウ
ンデーション・ジャパンの公式ブログ)	
  
hZp://blog.openid.or.jp/	
  
•  「r-­‐weblife」(mixiのエンジニア)	
  
hZp://d.hatena.ne.jp/ritou/	
  
•  「.Nat	
  Zone」(米国OpenID	
  FoundaGon理事長)
hZp://www.sakimura.org/	
  

Weitere ähnliche Inhalte

Was ist angesagt?

PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点 PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点 zaki4649
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsTatsuo Kudo
 
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナーNGINX, Inc.
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門Hiroyuki Wada
 
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -Naoki Nagazumi
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報Takuya Iwatsuka
 
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのかabend_cve_9999_0001
 
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Foundation Japan
 
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)Tatsuo Kudo
 
今更聞けないOAuth2.0
今更聞けないOAuth2.0今更聞けないOAuth2.0
今更聞けないOAuth2.0Takahiro Sato
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Takeshi Fukuhara
 
Fido認証概要説明
Fido認証概要説明Fido認証概要説明
Fido認証概要説明FIDO Alliance
 

Was ist angesagt? (20)

Rest ful api設計入門
Rest ful api設計入門Rest ful api設計入門
Rest ful api設計入門
 
PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点 PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
 
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門
 
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
Keycloakの最近のトピック
Keycloakの最近のトピックKeycloakの最近のトピック
Keycloakの最近のトピック
 
Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報
 
AWSからのメール送信
AWSからのメール送信AWSからのメール送信
AWSからのメール送信
 
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
 
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
 
今更聞けないOAuth2.0
今更聞けないOAuth2.0今更聞けないOAuth2.0
今更聞けないOAuth2.0
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
 
Fido認証概要説明
Fido認証概要説明Fido認証概要説明
Fido認証概要説明
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
 

Ähnlich wie OAuth 2.0の概要とセキュリティ

FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...Tatsuo Kudo
 
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #apiTatsuo Kudo
 
Azure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみるAzure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみるNaohiro Fujie
 
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションOAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションTatsuo Kudo
 
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理fisuda
 
LINEログインの最新アップデートとアプリ連携ウォークスルー
LINEログインの最新アップデートとアプリ連携ウォークスルーLINEログインの最新アップデートとアプリ連携ウォークスルー
LINEログインの最新アップデートとアプリ連携ウォークスルーNaohiro Fujie
 
OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護Naohiro Fujie
 
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~decode2016
 
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
Authentication, Authorization, OAuth, OpenID Connect and PyramidAuthentication, Authorization, OAuth, OpenID Connect and Pyramid
Authentication, Authorization, OAuth, OpenID Connect and PyramidMoriyoshi Koizumi
 
100121 Scis2010 Itoh
100121 Scis2010 Itoh100121 Scis2010 Itoh
100121 Scis2010 ItohHiroki Itoh
 
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)Yoko TAMADA
 
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いなんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いRyo Ito
 
The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9Ryo Ito
 
0905xx Hybrid Memo
0905xx Hybrid Memo0905xx Hybrid Memo
0905xx Hybrid MemoRyo Ito
 
クラウドセキュリティ 誤解と事実の壁
クラウドセキュリティ 誤解と事実の壁クラウドセキュリティ 誤解と事実の壁
クラウドセキュリティ 誤解と事実の壁KVH Co. Ltd.
 

Ähnlich wie OAuth 2.0の概要とセキュリティ (20)

FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
 
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
 
Azure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみるAzure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみる
 
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションOAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理
 
LINEログインの最新アップデートとアプリ連携ウォークスルー
LINEログインの最新アップデートとアプリ連携ウォークスルーLINEログインの最新アップデートとアプリ連携ウォークスルー
LINEログインの最新アップデートとアプリ連携ウォークスルー
 
OAuth2.0について
OAuth2.0についてOAuth2.0について
OAuth2.0について
 
OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護
 
How FIDO Works
How FIDO WorksHow FIDO Works
How FIDO Works
 
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
 
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
Authentication, Authorization, OAuth, OpenID Connect and PyramidAuthentication, Authorization, OAuth, OpenID Connect and Pyramid
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
 
OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可
 
O Auth
O AuthO Auth
O Auth
 
100121 Scis2010 Itoh
100121 Scis2010 Itoh100121 Scis2010 Itoh
100121 Scis2010 Itoh
 
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
 
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いなんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来い
 
The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9
 
0905xx Hybrid Memo
0905xx Hybrid Memo0905xx Hybrid Memo
0905xx Hybrid Memo
 
クラウドセキュリティ 誤解と事実の壁
クラウドセキュリティ 誤解と事実の壁クラウドセキュリティ 誤解と事実の壁
クラウドセキュリティ 誤解と事実の壁
 

Mehr von Hiroshi Hayakawa

Kubernetes × 可用性 -- cndjp第3回勉強会
Kubernetes × 可用性 -- cndjp第3回勉強会Kubernetes × 可用性 -- cndjp第3回勉強会
Kubernetes × 可用性 -- cndjp第3回勉強会Hiroshi Hayakawa
 
Kubernetes in プロダクション! -- cndjp第2回
Kubernetes in プロダクション! -- cndjp第2回Kubernetes in プロダクション! -- cndjp第2回
Kubernetes in プロダクション! -- cndjp第2回Hiroshi Hayakawa
 
Kubernetes ときどき Serverless -- cndjp第1回勉強会
Kubernetes ときどき Serverless -- cndjp第1回勉強会Kubernetes ときどき Serverless -- cndjp第1回勉強会
Kubernetes ときどき Serverless -- cndjp第1回勉強会Hiroshi Hayakawa
 
はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)Hiroshi Hayakawa
 
Apiのことはすべてシーマンが教えてくれた
Apiのことはすべてシーマンが教えてくれたApiのことはすべてシーマンが教えてくれた
Apiのことはすべてシーマンが教えてくれたHiroshi Hayakawa
 
Oracleがnode.jsをやり始めたというのだが!
Oracleがnode.jsをやり始めたというのだが!Oracleがnode.jsをやり始めたというのだが!
Oracleがnode.jsをやり始めたというのだが!Hiroshi Hayakawa
 

Mehr von Hiroshi Hayakawa (8)

Kubernetes × 可用性 -- cndjp第3回勉強会
Kubernetes × 可用性 -- cndjp第3回勉強会Kubernetes × 可用性 -- cndjp第3回勉強会
Kubernetes × 可用性 -- cndjp第3回勉強会
 
Kubernetes in プロダクション! -- cndjp第2回
Kubernetes in プロダクション! -- cndjp第2回Kubernetes in プロダクション! -- cndjp第2回
Kubernetes in プロダクション! -- cndjp第2回
 
Kubernetes ときどき Serverless -- cndjp第1回勉強会
Kubernetes ときどき Serverless -- cndjp第1回勉強会Kubernetes ときどき Serverless -- cndjp第1回勉強会
Kubernetes ときどき Serverless -- cndjp第1回勉強会
 
はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)
 
Fn project爆誕
Fn project爆誕Fn project爆誕
Fn project爆誕
 
Apiのことはすべてシーマンが教えてくれた
Apiのことはすべてシーマンが教えてくれたApiのことはすべてシーマンが教えてくれた
Apiのことはすべてシーマンが教えてくれた
 
Api gatewayの話
Api gatewayの話Api gatewayの話
Api gatewayの話
 
Oracleがnode.jsをやり始めたというのだが!
Oracleがnode.jsをやり始めたというのだが!Oracleがnode.jsをやり始めたというのだが!
Oracleがnode.jsをやり始めたというのだが!
 

Kürzlich hochgeladen

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 

Kürzlich hochgeladen (11)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

OAuth 2.0の概要とセキュリティ

  • 3. OAuthとは •  あるサービス(SP:Service  Provider)が提供するAPIへのアクセ ス権を、他のサービス(Consumer)に与えるためのプロトコル   •  アクセス権限の付与のためのプロトコルであって、認証のた めのプロトコルではない   •  アイデンティティ関連の各種技術が依って立つプロトコル (OAuth  2.0)   –  OpenID  Connect:認証、フェデレーション   –  SCIM:プロビジョニング   –  UMA:アクセス権制御   ※  SCIM:  System  for  Cross-­‐domain  IdenGty  Management   ※  UMA:  User  Managed  Access
  • 4. OAuthとは •  OAuth  2.0  は 2012年10月にRFCに   –  RFC  6749  -­‐  The  OAuth  2.0  AuthorizaGon  Framework   –  RFC  6750  -­‐  The  OAuth  2.0  AuthorizaGon  Framework:  Bearer  Token  Usage   –  RFC  6819  -­‐  The  OAuth  2.0  Threat  Model  and  Security  ConsideraGons   •  数々のメジャーなサービスで実装されている(2013年7月時点)   –  OAuth  2.0   •  •  •  •  Facebook   Google   GitHub   LinkedIn   –  OAuth  1.0   •  TwiZer  
  • 5. 登場人物 リソースを登録(サービスを利用) Resource  Owner サービスを利用 SP:  Service  Provider   (Resource  Server  +      Authoriza5on  Server) APIを利用   (リソースの取得など) Consumer   Consumerに、SPのAPIへの   (OAuth  Client) アクセス権を与えたい   (セキュアな方法で)  
  • 7. UX SPにログイン   同意画面で、   ConsumerにSPへのアク   セス権限を与える   この例では別の機能に   関する同意画面も出る
  • 8. OAuth  2.0のフロー •  AuthorizaGon  Code  Grant(認可コードグラント)   –  client_secretを秘密にできる(=リバースエンジニアリングされる 危険がない)Consumerの場合に利用する   •  つまりWebアプリケーションのこと •  Implicit  Grant(インプリシットグラント)   –  client_secretを秘密にできないクライアント(=リバースエンジニア リングの危険がある)Consumerの場合に利用する   •  ブラウザ上で実行される(JavaScript、Flash...)アプリケーション   •  モバイルアプリ   –  SCIMの文脈では、Consumerがファイアウォール内に存在する場 合にも利用される
  • 9. AuthorizaGon  Code  Grant   (認可コードグラント)
  • 10. AuthorizaGon  Code  Grant   (認可コードグラント)
  • 11. AuthorizaGon  Code  Grant   (認可コードグラント)
  • 16. 攻撃例(1)  Consumerの偽装 •  攻撃手法   –  Consumerの検証の不備があるSPを狙う   –  攻撃用のConsumerを立てて、正当なConsumerとしてSPに認可 トークンを発行させる   •  対策   –  AuthorizaGon  Code  Grantの場合   •  事前にConsumerに対しクレデンシャル(Client  Secret)を発行し、アクセス トークン発行前にConsumerを認証する   –  Implicit  Grantの場合   •  アクセストークンリクエストで使用するredirect_uriを事前にSPに登録して おき、アクセストークン発行前にredirect_uriが正当であることを確認す る(MUST)   •  Resource  OwnerによるConsumerの確認を行うなどのステップを設けて も良い  
  • 17. 攻撃例(2)  redirect_uriの改ざん •  攻撃手法   –  対象の環境   •  redirect_uriの事前登録は行わない(認可リクエスト中のredirect_uriパラメータ をつかって、redirect_uriを渡す)   •  ↑  つまり、フローはAuthorizaGon  Code  Grant          (Implicit  Grantでは、redirect_uriの事前登録は必須)   –  手順   1)  2)  3)  4)  5)  攻撃者は、正当なConsumerを使って認可リクエストを発行し、そのURIを取得 する   1)のURIのredirect_uriパラメータを罠サイトのURIに差し替えたものを用意す る   1)のURIのredirect_uriパラメータを保存しておく   攻撃者は、被害者を騙して  2)のURIのリンクをクリックさせる   →被害者はSPと認証、認可操作を行い、罠サイトにリダイレクトされる   罠サイトは、3)で保持した正規のredirect_uriを使って、アクセストークンリクエ ストを発行する   →罠サイトに対してアクセストークンが発行される  
  • 19. 攻撃例(2)  redirect_uriの改ざん •  対策   –  SPで、認可リクエスト中のredirect_uriと、アクセストー クンリクエスト中のredirect_uriが一致することを検証 する(MUST)   –  redirect_uriがSPに事前登録される場合(SHOULD)、各 リクエスト中のredirect_uriと、登録されたredirect_uri の一致を確認することも有効   •  RFC上の該当記述   –  10.6.  AuthorizaGon  Code  RedirecGon  URI  ManipulaGon
  • 20. 攻撃例(3)  CSRF •  攻撃手法   –  手順   1)  攻撃者は、通常の手順で、SPでの認可までを行う   2)  認可後のリダイレクト先のURLを取得して、被害者にアク セスさせる   →  攻撃者の認可トークンを被害者に使わせた状態で、 Consumerにアクセスさせる   →  Consumerを操作すると、攻撃者としてSPのAPIが実 行される
  • 22. 攻撃例(3)  CSRF •  対策   –  “state”パラメータにより、認可リクエストとアクセストー クンリクエストが同じセッションで行われていることを チェックする   •  RFC上の該当記述   –  10.12.  Cross-­‐Site  Request  Forgery   •  参考   –  「OAuthのセキュリティ強化を目的とする拡張仕様を導 入しました」hZp://alpha.mixi.co.jp/2013/12020/  
  • 23. 攻撃例(4)  オープンリダイレクタ •  攻撃手法   –  対象の環境   •  Consumerの検証をredirect_uriの事前登録に依存している   •  redirect_uriの登録をURIの一部のみで許可している   –  手順   1)  攻撃者は、redirect_uriの一部を、正当なConsumerと共有する (正当性のチェックを通過できる)ようなConsumerを作成する   2)  redirect_uriを攻撃用のConsumerのURIに差し替えた、認可リク エストURIを作成する   3)  攻撃者は、被害者を騙して  2)のURIのリンクをクリックさせる   4)  被害者は認証、認可操作を行う   → 認可コード or  アクセストークンが攻撃用のConsumerに送信され る  
  • 25. 攻撃例(4)  オープンリダイレクタ •  対策   –  AuthorizaGon  Code  Grantの場合   •  client_id  /  client_secretを用いた認証など、redirect_uri に依存しないConsumer検証を行う   –  Implicit  Grantの場合   •  事前登録するredirect_uriとして、URI全体を用いる   •  RFC上の該当記述   –  10.15.    オープンリダイレクタ
  • 26. 攻撃例(5)   Implicit  Grantにおけるトークン不正利用 •  攻撃手法   –  対象の環境   •  Implicit  Grantを利用しているConsumerで、OAuth  2.0のアクセストークン をリソースオーナーの認証に使用しているもの   –  手順   1)  攻撃者は、攻撃対象のConsumerと同じSPを利用するConsumer(不正 Consumer)を作成する   2)  被害者が不正Consumerにアクセスし、これに対するアクセストークン を発行する   3)  攻撃者は、2)のアクセストークンを取得する   4)  攻撃者は、攻撃対象のConsumerにアクセスし、SPでの認証・認可操 作を行う   5)  攻撃対象のConsumerにリダイレクトされる際に、リクエスト中のアクセ ストークンを2)で取得したものに差し替える   → 攻撃者は、被害者として、攻撃対象のConsumerにログインする
  • 29. 攻撃例(5)   Implicit  Grantにおけるトークン不正利用 •  対策   –  OAuth  2.0のアクセストークンを、認証に使わない   →  OAuthは認可のプロトコル。認証にはOpenIDを使用する   •  RFC上の該当記述   –  10.16.    インプリシットフローにおけるリソースオーナーなり すましのためのアクセストークン不正利用   •  参考   –  「単なる OAuth  2.0  を認証に使うと、車が通れるほどのど でかいセキュリティー・ホールができる」 hZp://www.sakimura.org/2012/02/1487/  
  • 30. 他 •  ここまでに示したもの以外にも、セキュリティ上の考 慮事項は大小多岐にわたる   •  実装者はRFCを参照すべし   –  「The  OAuth  2.0  AuthorizaGon  Protocol  -­‐  RFC  6749  10.     Security  ConsideraGons」      →  Oauth  2.0仕様が定める考慮事項   –  「OAuth  2.0  Threat  Model  and  Security  ConsideraGons  -­‐   RFC  6819」      →  Oauth  2.0仕様の範囲を超え、さらなるセキュ      リティ上の検討項目を提示
  • 32. OAuth  2.0  参考資料 •  入門編   –  @IT  「デジタル・アイデンティティ技術最新動向」シ リーズ   •  「第1回 「OAuth」の基本動作を知る」   hZp://www.atmarkit.co.jp/fsecurity/rensai/ digid01/01.html   •  「第2回 RFCとなった「OAuth  2.0」――その要点は?」   hZp://www.atmarkit.co.jp/ait/arGcles/1209/10/ news105.html  
  • 33. OAuth  2.0  参考資料 •  発展編①   –  OAuth  2.0  のRFCの日本語翻訳   •  「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   –  書籍   •  「Gehng  Started  With  OAuth  2.0  /  Ryan  Boyd(著)」   hZp://www.amazon.co.jp/dp/1449311601/  
  • 34. OAuth  2.0  参考資料 •  発展編②   –  主要サービスの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 •  マニアック編   –  仕様策定や、実装に関わっている人たちのブログ •  「OpenID  ファウンデーション・ジャパン」(OpenID  ファウ ンデーション・ジャパンの公式ブログ)   hZp://blog.openid.or.jp/   •  「r-­‐weblife」(mixiのエンジニア)   hZp://d.hatena.ne.jp/ritou/   •  「.Nat  Zone」(米国OpenID  FoundaGon理事長) hZp://www.sakimura.org/